Raised This Month: $51 Target: $400
 12% 

ASM to SMA request


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
mangusta
Junior Member
Join Date: Feb 2012
Old 03-07-2012 , 04:09   ASM to SMA request
Reply With Quote #1

Hy there , when you have time can you convvert or read or what do you do to make this asm a sma file.
Code:
PUBLIC
  


  Punish
    client_command
    plugin_init
    show_messages

.NATIVE
    get_players
    formatex
    random
    server_cmd
    get_pcvar_num
    get_pcvar_string
    get_user_name
    equali
    read_argv
    set_task
    register_cvar
    register_plugin
    is_user_connected
    get_maxplayers
    message_end
    write_string
    write_byte
    message_begin
    get_user_msgid
    get_user_team
    vformat

.DATA
    mul_000 multiarray 4 - 
        variable ( 0x0 )
        string "TERRORIST"
        string "CT"
        string "SPECTATOR"

    str_000 string "SayText"
    arr_000 array 5 fill 0x0
    str_001 string "TeamInfo"
    mul_001 multiarray 4 - 
        string "cl_setautobuy"
        string "cl_autobuy"
        string "cl_setrebuy"
        string "cl_rebuy"

    mul_002 multiarray 4 - 
        string "SetAutoBuy-Detected"
        string "AutoBuy-Detected"
        string "SetReBuy-Detected"
        string "ReBuy-Detected"

    arr_001 array 3 fill 0x0
    str_002 string "Lunetistii-AntiFlood"
    str_003 string "1.0"
    str_004 string "Hns.Lunetistii.Ro"
    str_005 string "congame_tipe"
    str_006 string "0"
    str_007 string "congame_bantime"
    str_008 string "60"
    str_009 string "show_messages"
    str_010 string "b"
    var_000 variable ( 0x0 )
    str_011 string "congame_tag"
    str_012 string "[ANTIFLOOD]"
    arr_002 array 170 
        ( 0x4 , 0x25 , 0x73 , 0x3 , 0x20 , 0x25 , 0x73 , 0x1 , 0x20 , 0x61 , 
        0x20 , 0x66 , 0x6F , 0x73 , 0x74 , 0x20 , 0x64 , 0x65 , 0x74 , 0x65 , 
        0x63 , 0x74 , 0x61 , 0x74 , 0x20 , 0x63 , 0x75 , 0x4 , 0x20 , 0x63 , 
        0x6C , 0x5F , 0x73 , 0x65 , 0x74 , 0x61 , 0x75 , 0x74 , 0x6F , 0x62 , 
        0x75 , 0x79 , 0x20 , 0x21 , 0x0 , 0x4 , 0x25 , 0x73 , 0x3 , 0x20 , 
        0x25 , 0x73 , 0x1 , 0x20 , 0x61 , 0x20 , 0x66 , 0x6F , 0x73 , 0x74 , 
        0x20 , 0x64 , 0x65 , 0x74 , 0x65 , 0x63 , 0x74 , 0x61 , 0x74 , 0x20 , 
        0x63 , 0x75 , 0x4 , 0x20 , 0x63 , 0x6C , 0x5F , 0x61 , 0x75 , 0x74 , 
        0x6F , 0x62 , 0x75 , 0x79 , 0x20 , 0x21 , 0x0 , 0x4 , 0x25 , 0x73 , 
        0x3 , 0x20 , 0x25 , 0x73 , 0x1 , 0x20 , 0x61 , 0x20 , 0x66 , 0x6F , 
        0x73 , 0x74 , 0x20 , 0x64 , 0x65 , 0x74 , 0x65 , 0x63 , 0x74 , 0x61 , 
        0x74 , 0x20 , 0x63 , 0x75 , 0x4 , 0x20 , 0x63 , 0x6C , 0x5F , 0x73 , 
        0x65 , 0x74 , 0x72 , 0x65 , 0x62 , 0x75 , 0x79 , 0x20 , 0x21 , 0x0 , 
        0x4 , 0x25 , 0x73 , 0x3 , 0x20 , 0x25 , 0x73 , 0x1 , 0x20 , 0x61 , 
        0x20 , 0x66 , 0x6F , 0x73 , 0x74 , 0x20 , 0x64 , 0x65 , 0x74 , 0x65 , 
        0x63 , 0x74 , 0x61 , 0x74 , 0x20 , 0x63 , 0x75 , 0x4 , 0x20 , 0x63 , 
        0x6C , 0x5F , 0x72 , 0x65 , 0x62 , 0x75 , 0x79 , 0x20 , 0x21 , 0x0 )
    str_013 string "kick %s "%s""
    str_014 string "amx_ban "%s" %d "%s""
    mul_003 multiarray 2 63 
        array 63 
            ( 0x1 , 0x20 , 0x41 , 0x63 , 0x65 , 0x73 , 0x74 , 0x20 , 0x73 , 0x65 , 
            0x72 , 0x76 , 0x65 , 0x72 , 0x20 , 0x66 , 0x6F , 0x6C , 0x6F , 0x73 , 
            0x65 , 0x73 , 0x74 , 0x65 , 0x4 , 0x20 , 0x43 , 0x4F , 0x4E , 0x47 , 
            0x41 , 0x4D , 0x45 , 0x2D , 0x41 , 0x4E , 0x54 , 0x49 , 0x46 , 0x4C , 
            0x4F , 0x4F , 0x44 , 0x1 , 0x20 , 0x62 , 0x79 , 0x4 , 0x20 , 0x73 , 
            0x53 , 0x2E , 0x70 , 0x69 , 0x6B , 0x61 , 0x63 , 0x49 , 0x75 , 0x31 , 
            0x34 , 0x2D , 0x0 )
        array 63 
            ( 0x1 , 0x20 , 0x41 , 0x63 , 0x65 , 0x73 , 0x74 , 0x20 , 0x73 , 0x65 , 
            0x72 , 0x76 , 0x65 , 0x72 , 0x20 , 0x66 , 0x6F , 0x6C , 0x6F , 0x73 , 
            0x65 , 0x73 , 0x74 , 0x65 , 0x4 , 0x20 , 0x43 , 0x4F , 0x4E , 0x47 , 
            0x41 , 0x4D , 0x45 , 0x2D , 0x41 , 0x4E , 0x54 , 0x49 , 0x46 , 0x4C , 
            0x4F , 0x4F , 0x44 , 0x1 , 0x20 , 0x62 , 0x79 , 0x4 , 0x20 , 0x73 , 
            0x53 , 0x2E , 0x70 , 0x69 , 0x6B , 0x61 , 0x63 , 0x49 , 0x75 , 0x31 , 
            0x34 , 0x2D , 0x0 )

    arr_003 array 6 ( 0x4 , 0x25 , 0x73 , 0x0 , 0x0 , 0x0 )
    str_015 string "SayText"


.CODE
    halt                 0x0

PROC  func_00
    break     
    break     
    stack             -0x400
    zero.pri  
    addr.alt          -0x400
    fill               0x400
    break     
    load.s.pri          0x10
    switch         switch_00
 case_00_00:
    break     
    addr.alt          -0x400
    const.pri            0x1
    stor.i    
    jump           jump_0000
 case_00_01:
    break     
    addr.alt          -0x400
    const.pri            0x4
    stor.i    
    jump           jump_0000
 casetble_00:
    break     
    addr.alt          -0x400
    const.pri            0x3
    stor.i    
    jump           jump_0000
 switch_00:
    casetbl              0x2   casetble_00
     case                0x1    case_00_00
     case                0x2    case_00_01
 jump_0000:
    break     
    push.c               0x4
    push.s              0x14
    push.c              0xFB
    addr.pri          -0x400
    add.c                0x4
    push.pri  
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    break     
    addr.pri          -0x400
    add.c              0x300
    move.alt  
    zero.pri  
    stor.i    
    break     
    push.c               0x0
    push.c               0x0
    push.c               0x0
    push.c               0x0
    break     
    load.s.pri           0xC
    jzer           jump_0003
    break     
    const.pri            0x1
    stor.s.pri        -0x410
    break     
    load.s.pri           0xC
    stor.s.pri        -0x40C
    jump           jump_0004
 jump_0003:
    break     
    push.c               0x0
    call             func_04
    stor.s.pri        -0x40C
    break     
    const.pri            0x2
    stor.s.pri        -0x410
 jump_0004:
    break     
    push.c               0x0
    const.pri           0x70
    heap                 0x4
    movs                 0x4
    push.alt  
    push.s            -0x40C
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    heap                -0x4
    stor.s.pri        -0x404
    break     
    push.s              0x10
    push.s            -0x410
    push.s            -0x40C
    push.c               0xC
    call             func_03
    stor.s.pri        -0x408
    break     
    pushaddr          -0x400
    push.s            -0x410
    push.s            -0x40C
    push.c               0xC
    call             func_01
    break     
    load.s.pri        -0x408
    jzer           jump_0005
    break     
    zero.alt  
    load.s.pri        -0x404
    bounds               0x3
    idxaddr   
    move.alt  
    load.i    
    add       
    push.pri  
    push.s            -0x410
    push.s            -0x40C
    push.c               0xC
    call             func_02
 jump_0005:
    stack              0x410
    zero.pri  
    retn      
ENDP

PROC  func_01
    break     
    break     
    break     
    break     
    load.pri            0x74
    not       
    jzer           jump_0006
    break     
    push.c              0x7C
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    stor.pri            0x78
    break     
    const.pri            0x1
    stor.pri            0x74
 jump_0006:
    break     
    push.s               0xC
    push.c              0x9C
    push                0x78
    push.s              0x10
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    break     
    push.s               0xC
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    break     
    push.s              0x14
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    break     
    push.c               0x0
    sysreq.c    [BAD SYSREQ]
    stack                0x4
    zero.pri  
    retn      
ENDP

PROC  func_02
    break     
    break     
    break     
    break     
    load.pri            0xA8
    not       
    jzer           jump_0007
    break     
    push.c              0xB0
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    stor.pri            0xAC
    break     
    const.pri            0x1
    stor.pri            0xA8
 jump_0007:
    break     
    push.s               0xC
    push.c              0x9C
    push                0xAC
    push.s              0x10
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    break     
    push.s               0xC
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    break     
    push.s              0x14
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    break     
    push.c               0x0
    sysreq.c    [BAD SYSREQ]
    stack                0x4
    break     
    const.pri            0x1
    retn      
ENDP

PROC  func_03
    break     
    break     
    load.s.pri          0x14
    switch         switch_01
 case_01_01:
    break     
    zero.pri  
    add.c                0x4
    move.alt  
    load.i    
    add       
    push.pri  
    push.s              0x10
    push.s               0xC
    push.c               0xC
    call             func_02
    retn      
    jump           jump_0008
 case_01_02:
    break     
    zero.pri  
    add.c                0x8
    move.alt  
    load.i    
    add       
    push.pri  
    push.s              0x10
    push.s               0xC
    push.c               0xC
    call             func_02
    retn      
    jump           jump_0008
 case_01_00:
    break     
    zero.pri  
    move.alt  
    load.i    
    add       
    push.pri  
    push.s              0x10
    push.s               0xC
    push.c               0xC
    call             func_02
    retn      
    jump           jump_0008
 switch_01:
    casetbl              0x3     jump_0008
     case                0x4    case_01_00
     case                0x5    case_01_01
     case                0x6    case_01_02
 jump_0008:
    break     
    zero.pri  
    retn      
ENDP

PROC  func_04
    break     
    break     
    push.c              -0x1
    break     
 jump_0013:
    break     
    load.s.pri          -0x4
    push.pri  
    push.c               0x0
    sysreq.c    [BAD SYSREQ]
    stack                0x4
    pop.alt   
    jsless         jump_0011
    break     
    inc.s               -0x4
    push.s              -0x4
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    jzer           jump_0012
    break     
    load.s.pri          -0x4
    stack                0x4
    retn      
 jump_0012:
    jump           jump_0013
 jump_0011:
    break     
    const.pri           -0x1
    stack                0x4
    retn      
ENDP

PROC  plugin_init
    break     
    break     
    push.c             0x328
    push.c             0x318
    push.c             0x2D0
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    break     
    push.c               0x0
    push.c               0x0
    push.c             0x390
    push.c             0x35C
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    stor.pri           0x2C4
    break     
    push.c               0x0
    push.c               0x0
    push.c             0x3D8
    push.c             0x398
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    stor.pri           0x2C8
    break     
    push.c               0x0
    push.c             0x41C
    push.c               0x0
    push.c             0x424
    push.c               0x0
    push.c             0x3E4
    push.c        0x42700000
    push.c              0x1C
    sysreq.c    [BAD SYSREQ]
    stack               0x20
    break     
    push.c               0x0
    push.c               0x0
    push.c             0x458
    push.c             0x428
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    stor.pri           0x2CC
    zero.pri  
    retn      
ENDP

PROC  client_command
    break     
    break     
    stack              -0x3C
    zero.pri  
    addr.alt           -0x3C
    fill                0x3C
    push.c               0x0
    break     
    push.c               0x0
    stack              -0x80
    zero.pri  
    addr.alt           -0xC4
    fill                0x80
    break     
    push.c               0xE
    pushaddr           -0x3C
    push.c               0x0
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    move.alt  
    const.pri            0xD
    jsgeq          jump_0014
    break     
    zero.pri  
    stack               0xC4
    retn      
 jump_0014:
    break     
    push.c               0x0
    jump           jump_0015
 jump_0019:
    break     
    inc.s              -0xC8
 jump_0015:
    load.s.pri         -0xC8
    const.alt            0x4
    jsgeq          jump_0016
    break     
    push.c               0x0
    pushaddr           -0x3C
    const.alt           0xD4
    load.s.pri         -0xC8
    bounds               0x3
    idxaddr   
    move.alt  
    load.i    
    add       
    push.pri  
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    jzer           jump_0017
    break     
    load.s.pri         -0xC8
    stor.s.pri         -0x44
    break     
    const.pri            0x1
    stor.s.pri         -0x40
    break     
    jump           jump_0016
 jump_0017:
    jump           jump_0019
 jump_0016:
    stack                0x4
    break     
    load.s.pri         -0x40
    jzer           jump_0020
    break     
    push.c              0x1F
    pushaddr           -0xC4
    push.s               0xC
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    break     
    stack              -0x80
    zero.pri  
    addr.alt          -0x144
    fill                0x80
    break     
    push.c              0x1F
    pushaddr          -0x144
    push               0x2CC
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    break     
    load.s.pri         -0x44
    switch         switch_02
 case_02_00:
    break     
    pushaddr           -0xC4
    pushaddr          -0x144
    push.c             0x488
    push.c               0x5
    push.c               0x0
    push.c              0x14
    call             func_00
    jump           jump_0021
 case_02_01:
    break     
    pushaddr           -0xC4
    pushaddr          -0x144
    push.c             0x53C
    push.c               0x5
    push.c               0x0
    push.c              0x14
    call             func_00
    jump           jump_0021
 case_02_02:
    break     
    pushaddr           -0xC4
    pushaddr          -0x144
    push.c             0x5E4
    push.c               0x5
    push.c               0x0
    push.c              0x14
    call             func_00
    jump           jump_0021
 case_02_03:
    break     
    pushaddr           -0xC4
    pushaddr          -0x144
    push.c             0x690
    push.c               0x5
    push.c               0x0
    push.c              0x14
    call             func_00
    jump           jump_0021
 casetble_02:
    break     
    const.pri            0x1
    stack              0x144
    retn      
    jump           jump_0021
 switch_02:
    casetbl              0x4   casetble_02
     case                0x0    case_02_00
     case                0x1    case_02_01
     case                0x2    case_02_02
     case                0x3    case_02_03
 jump_0021:
    break     
    push.s             -0x44
    pushaddr           -0xC4
    push.s               0xC
    push.c               0xC
    call              Punish
    break     
    const.pri            0x1
    stack              0x144
    retn      
 jump_0020:
    break     
    zero.pri  
    stack               0xC4
    retn      
ENDP

PROC  Punish
    break     
    break     
    push               0x2C4
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    switch         switch_03
 case_03_00:
    break     
    const.alt          0x19C
    load.s.pri          0x14
    bounds               0x3
    idxaddr   
    move.alt  
    load.i    
    add       
    push.pri  
    push.s              0x10
    push.c             0x730
    push.c               0xC
    sysreq.c    [BAD SYSREQ]
    stack               0x10
    jump           jump_0026
 case_03_01:
    break     
    const.alt          0x19C
    load.s.pri          0x14
    bounds               0x3
    idxaddr   
    move.alt  
    load.i    
    add       
    push.pri  
    push               0x2C8
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    heap                 0x4
    stor.i    
    push.alt  
    push.s              0x10
    push.c             0x764
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    heap                -0x4
    jump           jump_0026
 switch_03:
    casetbl              0x2     jump_0026
     case                0x0    case_03_00
     case                0x1    case_03_01
 jump_0026:
    zero.pri  
    retn      
ENDP

PROC  show_messages
    break     
    break     
    stack             -0x400
    zero.pri  
    addr.alt          -0x400
    fill               0x400
    break     
    const.pri          0x7B8
    push.pri  
    push.c               0x2
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    bounds               0x1
    pop.alt   
    idxaddr   
    move.alt  
    load.i    
    add       
    push.pri  
    push.c             0x9B8
    push.c              0xFF
    pushaddr          -0x400
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    break     
    stack              -0x80
    zero.pri  
    addr.alt          -0x480
    fill                0x80
    push.c               0x0
    push.c               0x0
    break     
    push.c             0x9CC
    push.c             0x9C8
    pushaddr          -0x484
    pushaddr          -0x480
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    break     
    push.c               0x0
    jump           jump_0028
 jump_0030:
    break     
    inc.s             -0x48C
 jump_0028:
    load.s.pri        -0x48C
    load.s.alt        -0x484
    jsgeq          jump_0029
    break     
    addr.alt          -0x480
    load.s.pri        -0x48C
    bounds              0x1F
    lidx      
    stor.s.pri        -0x488
    break     
    push.s            -0x488
    push.c              0x9C
    push.c             0x9D0
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    push.pri  
    push.c               0x1
    push.c              0x10
    sysreq.c    [BAD SYSREQ]
    stack               0x14
    break     
    push.s            -0x488
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    break     
    pushaddr          -0x400
    push.c               0x4
    sysreq.c    [BAD SYSREQ]
    stack                0x8
    break     
    push.c               0x0
    sysreq.c    [BAD SYSREQ]
    stack                0x4
    jump           jump_0030
 jump_0029:
    stack                0x4
    stack              0x488
    zero.pri  
    retn      
ENDP

Last edited by Exolent[jNr]; 03-07-2012 at 09:43. Reason: Added [code] tags.
mangusta is offline
BunnYboiii
Senior Member
Join Date: Jul 2011
Old 03-07-2012 , 04:25   Re: ASM to SMA request
Reply With Quote #2

Post the code in PHP tags. [PHP] and [//PHP]
__________________
School sucks, so much work.

Last edited by BunnYboiii; 03-07-2012 at 04:26.
BunnYboiii is offline
mangusta
Junior Member
Join Date: Feb 2012
Old 03-07-2012 , 14:50   Re: ASM to SMA request
Reply With Quote #3

k and now?) can you please make this a sma file?
mangusta is offline
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 03-07-2012 , 15:02   Re: ASM to SMA request
Reply With Quote #4

It's better to describe what the plugin is supposed to do and have it rewritten.
It looks like it hooks autobuy commands and bans player for them.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!

Last edited by Exolent[jNr]; 03-07-2012 at 15:02.
Exolent[jNr] is offline
mangusta
Junior Member
Join Date: Feb 2012
Old 03-10-2012 , 04:44   Re: ASM to SMA request
Reply With Quote #5

it's an antiflood plugin
mangusta is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 03-10-2012 , 19:08   Re: ASM to SMA request
Reply With Quote #6

Quote:
Originally Posted by mangusta View Post
it's an antiflood plugin
I recommend looking at existing anti-flood plugins. There are some that are quite effectively like Exolent's version in the Approved Plugins section.
__________________
fysiks is offline
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 03-10-2012 , 19:17   Re: ASM to SMA request
Reply With Quote #7

But wait , ASM is an extension that i use to proggram microcontrolators ( PIC - Proggramable Integrated Circuit - ).

Are you sure that extension is ASM and not amxx ?
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 03-10-2012 , 19:28   Re: ASM to SMA request
Reply With Quote #8

Quote:
Originally Posted by lucas_7_94 View Post
But wait , ASM is an extension that i use to proggram microcontrolators ( PIC - Proggramable Integrated Circuit - ).

Are you sure that extension is ASM and not amxx ?
That is a decompiled AMXX file. Unsure of what language that is there, or if it is just a dump.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 03-10-2012 , 19:34   Re: ASM to SMA request
Reply With Quote #9

Quote:
Originally Posted by lucas_7_94 View Post
But wait , ASM is an extension that i use to proggram microcontrolators ( PIC - Proggramable Integrated Circuit - ).

Are you sure that extension is ASM and not amxx ?
ASM refers to the programming language called Assembly. A .amxx file is not human readable.
__________________
fysiks is offline
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 03-10-2012 , 22:16   Re: ASM to SMA request
Reply With Quote #10

Thanks for explanation.
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:02.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode