Function at 0x470717
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x499131
call fcn.00497cb0
sub esp, 0x9c8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470735
mov eax, dword [eax + 0x2c]
jmp 0x470738
add eax, 0x2c
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edi
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a5450
push str.Security
mov edi, str.GLOBAL
push edi
call esi
mov ebx, dword [sym.imp.MSVCR71.dll__stricmp]
lea eax, [ebp - 0x2c]
push str.FALSE
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707ac
lea eax, [ebp - 0x2c]
push 0x4a7db8
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707ac
lea eax, [ebp - 0x2c]
push 0x4a4924
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707ac
lea eax, [ebp - 0x2c]
push 0x4a4f00
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707ac
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x4707b2
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4707c0
mov eax, dword [eax + 0x2c]
jmp 0x4707c3
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.UseAllCiphers
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470824
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470824
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470824
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470824
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xb], 0
jmp 0x47082b
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xb], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470839
mov eax, dword [eax + 0x2c]
jmp 0x47083c
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a7cfc
push str.MaxNrUsers
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x47087a
mov eax, dword [ebp - 0x10]
test eax, eax
jl 0x47087a
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
jmp 0x470881
mov eax, dword [ebp + 0xc]
or dword [eax + 0x18], 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47088f
mov eax, dword [eax + 0x2c]
jmp 0x470892
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.CheckAnonPass
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4708f3
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4708f3
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4708f3
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4708f3
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], 0
jmp 0x4708fa
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], 1
or dword [eax + 0x48], 0xffffffff
or dword [eax + 0x44], 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470910
mov eax, dword [eax + 0x2c]
jmp 0x470913
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a7cfc
push str.SpeedLimit
push edi
call esi
push 0
push 0
lea eax, [ebp - 0x2c]
push 0x7c
push eax
call fcn.00483d45
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0x1c
cmp eax, 1
jne 0x470962
mov eax, dword [ebp - 0x10]
cmp eax, 0x32
jle 0x470962
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x44], eax
cmp dword [ebp - 0x30], 0
je 0x470994
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x30]
inc eax
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x470994
mov eax, dword [ebp - 0x10]
cmp eax, 0x32
jle 0x470994
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x48], eax
jmp 0x47099d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x44]
mov dword [eax + 0x48], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4709ab
mov eax, dword [eax + 0x2c]
jmp 0x4709ae
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.DeletePartialUploads
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a0f
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a0f
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a0f
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a0f
mov eax, dword [ebp + 0xc]
mov byte [eax + 3], 0
jmp 0x470a16
mov eax, dword [ebp + 0xc]
mov byte [eax + 3], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470a24
mov eax, dword [eax + 0x2c]
jmp 0x470a27
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.BlockFTPBounceAttack
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a88
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a88
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a88
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a88
mov eax, dword [ebp + 0xc]
mov byte [eax + 5], 0
jmp 0x470a8f
mov eax, dword [ebp + 0xc]
mov byte [eax + 5], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470a9d
mov eax, dword [eax + 0x2c]
jmp 0x470aa0
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.BlockAntiTimeOut
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b01
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b01
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b01
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b01
mov eax, dword [ebp + 0xc]
mov byte [eax + 4], 0
jmp 0x470b08
mov eax, dword [ebp + 0xc]
mov byte [eax + 4], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470b16
mov eax, dword [eax + 0x2c]
jmp 0x470b19
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a5450
push str.DirCacheEnable
push edi
call esi
lea eax, [ebp - 0x2c]
push str.FALSE
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b7a
lea eax, [ebp - 0x2c]
push 0x4a7db8
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b7a
lea eax, [ebp - 0x2c]
push 0x4a4924
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b7a
lea eax, [ebp - 0x2c]
push 0x4a4f00
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b7a
mov eax, dword [ebp + 0xc]
mov byte [eax + 6], 1
jmp 0x470b81
mov eax, dword [ebp + 0xc]
mov byte [eax + 6], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470b8f
mov eax, dword [eax + 0x2c]
jmp 0x470b92
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.DirCacheSize
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x470bd0
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470bd0
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x1c], eax
jmp 0x470bda
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], 0x19
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470be8
mov eax, dword [eax + 0x2c]
jmp 0x470beb
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.DirCacheTime
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x470c29
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jle 0x470c29
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x20], ecx
jmp 0x470c33
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x20], 0x258
mov ecx, 0xfa
cmp dword [eax + 0x1c], ecx
jle 0x470c40
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470c4e
mov eax, dword [eax + 0x2c]
jmp 0x470c51
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a7ccc
push str.OpenFilesUploadMode
push edi
call esi
lea eax, [ebp - 0x2c]
push str.Exclusive
push eax
call ebx
test eax, eax
pop ecx
pop ecx
jne 0x470c82
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x24], 1
jmp 0x470c9e
lea eax, [ebp - 0x2c]
push str.Shared
push eax
call ebx
neg eax
sbb eax, eax
and eax, 0xfffffffe
pop ecx
inc eax
pop ecx
mov ecx, dword [ebp + 0xc]
inc eax
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470cac
mov eax, dword [eax + 0x2c]
jmp 0x470caf
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.Shared
push str.OpenFilesDownloadMode
push edi
call esi
lea eax, [ebp - 0x2c]
push str.Exclusive
push eax
call ebx
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470ce9
mov eax, dword [eax + 0x2c]
jmp 0x470cec
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.rw_rw_rw_
push str.DirListMask
push edi
call esi
mov byte [ebp - 0x23], 0
mov dl, 1
xor eax, eax
mov cl, byte [ebp + eax - 0x2c]
cmp cl, 0x72
je 0x470d22
cmp cl, 0x77
je 0x470d22
cmp cl, 0x78
je 0x470d22
cmp cl, 0x2d
je 0x470d22
xor dl, dl
inc eax
cmp eax, 9
jl 0x470d08
mov ecx, dword [ebp + 0xc]
add ecx, 0x74
test dl, dl
mov eax, dword [ecx]
je 0x470d3a
lea edx, [ebp - 0x2c]
push edx
jmp 0x470d3f
push str.rw_rw_rw_
call dword [eax + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470d50
mov eax, dword [eax + 0x2c]
jmp 0x470d53
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.AntiHammer
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470db4
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470db4
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470db4
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470db4
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 0
jmp 0x470dbb
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470dc9
mov eax, dword [eax + 0x2c]
jmp 0x470dcc
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.AntiHammerWindow
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x470e0a
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470e0a
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x2c], eax
jmp 0x470e14
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x2c], 0x1e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470e22
mov eax, dword [eax + 0x2c]
jmp 0x470e25
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.AntiHammerTries
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x470e63
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470e63
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x30], eax
jmp 0x470e6d
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x30], 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470e7b
mov eax, dword [eax + 0x2c]
jmp 0x470e7e
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.AntiHammerBlock
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x470ebc
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470ebc
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x34], eax
jmp 0x470ec6
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x34], 0x12c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470ed4
mov eax, dword [eax + 0x2c]
jmp 0x470ed7
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.SocketInlineOOB
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470f38
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470f38
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470f38
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470f38
mov eax, dword [ebp + 0xc]
mov byte [eax + 8], 0
jmp 0x470f3f
mov eax, dword [ebp + 0xc]
mov byte [eax + 8], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470f4d
mov eax, dword [eax + 0x2c]
jmp 0x470f50
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.SocketKeepAlive
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470fb1
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470fb1
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470fb1
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470fb1
mov eax, dword [ebp + 0xc]
mov byte [eax + 9], 0
jmp 0x470fb8
mov eax, dword [ebp + 0xc]
mov byte [eax + 9], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470fc6
mov eax, dword [eax + 0x2c]
jmp 0x470fc9
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push str.FALSE
push str.SocketNoNagle
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47102a
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47102a
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47102a
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47102a
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa], 0
jmp 0x471031
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47103f
mov eax, dword [eax + 0x2c]
jmp 0x471042
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.SocketRcvBuffer
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x471080
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x471080
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x38], eax
jmp 0x47108a
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x38], 0x8000
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x471098
mov eax, dword [eax + 0x2c]
jmp 0x47109b
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.SocketSndBuffer
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x4710d9
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4710d9
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x3c], eax
jmp 0x4710e3
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x3c], 0x8000
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4710f1
mov eax, dword [eax + 0x2c]
jmp 0x4710f4
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4630
push str.PacketTimeOut
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x471132
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x471132
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x40], eax
jmp 0x47113c
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x40], 0x12c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47114a
mov eax, dword [eax + 0x2c]
jmp 0x47114d
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a5450
push str.PacketTimeOutDynamic
push edi
call esi
lea eax, [ebp - 0x2c]
push 0x4a5450
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4711ae
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4711ae
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4711ae
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4711ae
mov eax, dword [ebp + 0xc]
mov byte [eax + 7], 0
jmp 0x4711b5
mov eax, dword [ebp + 0xc]
mov byte [eax + 7], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4711c3
mov eax, dword [eax + 0x2c]
jmp 0x4711c6
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
mov ebx, 0x4a4630
push ebx
push str.PASVPortStart
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x471205
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x471205
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
jmp 0x47120c
mov eax, dword [ebp + 0xc]
and dword [eax + 0x10], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47121a
mov eax, dword [eax + 0x2c]
jmp 0x47121d
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push ebx
push str.PASVPortRange
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x471257
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x471257
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x14], eax
jmp 0x47125e
mov eax, dword [ebp + 0xc]
and dword [eax + 0x14], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47126c
mov eax, dword [eax + 0x2c]
jmp 0x47126f
add eax, 0x2c
push eax
push 0x19
lea eax, [ebp - 0x2c]
push eax
push 0x4a4924
push str.UseUPnP
push edi
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x4712ac
cmp dword [ebp - 0x10], eax
jne 0x4712ac
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xc], 1
jmp 0x4712b3
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xc], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xa0]
mov ecx, dword [eax + 0x9c]
push edx
push ecx
lea ecx, [ebp - 0x30]
add eax, 0x98
push ecx
mov ecx, eax
call fcn.00402f79
mov dword [ebp - 0x30], 1
push dword [ebp - 0x30]
lea eax, [ebp - 0x74]
push str.ClientCheckDLL
push str._s_d
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, dword [ebp + 8]
add esp, 0x10
cmp dword [eax + 0x40], 0x10
jb 0x471303
mov eax, dword [eax + 0x2c]
jmp 0x471306
add eax, 0x2c
push eax
push 0x800
lea eax, [ebp - 0x9d4]
push eax
push ebx
lea eax, [ebp - 0x74]
push eax
push str.EXTERNAL
call esi
cmp byte [ebp - 0x9d4], 0
je 0x471361
lea eax, [ebp - 0x9d4]
push eax
lea ecx, [ebp - 0x58]
call fcn.00483361
mov ecx, dword [ebp + 0xc]
and dword [ebp - 4], 0
lea eax, [ebp - 0x58]
push eax
add ecx, 0x98
call fcn.00402f39
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004835c3
inc dword [ebp - 0x30]
jmp 0x4712db
mov eax, dword [ebp + 0xc]
or dword [eax + 0x4c], 0xffffffff
lea ecx, [eax + 0x50]
mov eax, dword [ecx]
push ebx
call dword [eax + 8]
mov eax, dword [ebp + 8]
and dword [ebp - 0x34], 0
cmp dword [eax + 0x40], 0x10
jb 0x471383
mov eax, dword [eax + 0x2c]
jmp 0x471386
add eax, 0x2c
push eax
push 0x15e
lea eax, [ebp - 0x1d4]
push eax
push ebx
push str.IPLog
push edi
call esi
test eax, eax
je 0x471405
push 0
push 0
lea eax, [ebp - 0x1d4]
push 0x7c
push eax
call fcn.00483d45
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4713be
mov byte [esi], 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1d4]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x471405
test esi, esi
je 0x4713ed
mov ecx, dword [ebp + 0xc]
add ecx, 0x50
mov eax, dword [ecx]
inc esi
push esi
call dword [eax + 8]
mov ecx, dword [ebp - 0x34]
mov eax, 0x3e7
cmp ecx, eax
jle 0x4713fb
mov ecx, eax
test ecx, ecx
jle 0x471405
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8