Function at 0x470108
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x498eb1
call fcn.00497a30
sub esp, 0x9c8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470126
mov eax, dword [eax + 0x2c]
jmp 0x470129
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 0x47019d
lea eax, [ebp - 0x2c]
push 0x4a7db8
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47019d
lea eax, [ebp - 0x2c]
push 0x4a4924
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47019d
lea eax, [ebp - 0x2c]
push 0x4a4f00
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47019d
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x4701a3
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4701b1
mov eax, dword [eax + 0x2c]
jmp 0x4701b4
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 0x470215
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470215
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470215
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470215
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xb], 0
jmp 0x47021c
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xb], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47022a
mov eax, dword [eax + 0x2c]
jmp 0x47022d
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 0x47026b
mov eax, dword [ebp - 0x10]
test eax, eax
jl 0x47026b
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
jmp 0x470272
mov eax, dword [ebp + 0xc]
or dword [eax + 0x18], 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470280
mov eax, dword [eax + 0x2c]
jmp 0x470283
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 0x4702e4
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4702e4
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4702e4
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4702e4
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], 0
jmp 0x4702eb
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 0x470301
mov eax, dword [eax + 0x2c]
jmp 0x470304
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.00483b18
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 0x470353
mov eax, dword [ebp - 0x10]
cmp eax, 0x32
jle 0x470353
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x44], eax
cmp dword [ebp - 0x30], 0
je 0x470385
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 0x470385
mov eax, dword [ebp - 0x10]
cmp eax, 0x32
jle 0x470385
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x48], eax
jmp 0x47038e
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 0x47039c
mov eax, dword [eax + 0x2c]
jmp 0x47039f
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 0x470400
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470400
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470400
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470400
mov eax, dword [ebp + 0xc]
mov byte [eax + 3], 0
jmp 0x470407
mov eax, dword [ebp + 0xc]
mov byte [eax + 3], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470415
mov eax, dword [eax + 0x2c]
jmp 0x470418
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 0x470479
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470479
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470479
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470479
mov eax, dword [ebp + 0xc]
mov byte [eax + 5], 0
jmp 0x470480
mov eax, dword [ebp + 0xc]
mov byte [eax + 5], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47048e
mov eax, dword [eax + 0x2c]
jmp 0x470491
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 0x4704f2
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4704f2
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4704f2
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4704f2
mov eax, dword [ebp + 0xc]
mov byte [eax + 4], 0
jmp 0x4704f9
mov eax, dword [ebp + 0xc]
mov byte [eax + 4], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470507
mov eax, dword [eax + 0x2c]
jmp 0x47050a
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 0x47056b
lea eax, [ebp - 0x2c]
push 0x4a7db8
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47056b
lea eax, [ebp - 0x2c]
push 0x4a4924
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47056b
lea eax, [ebp - 0x2c]
push 0x4a4f00
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x47056b
mov eax, dword [ebp + 0xc]
mov byte [eax + 6], 1
jmp 0x470572
mov eax, dword [ebp + 0xc]
mov byte [eax + 6], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470580
mov eax, dword [eax + 0x2c]
jmp 0x470583
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 0x4705c1
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4705c1
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x1c], eax
jmp 0x4705cb
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], 0x19
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4705d9
mov eax, dword [eax + 0x2c]
jmp 0x4705dc
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 0x47061a
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jle 0x47061a
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x20], ecx
jmp 0x470624
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x20], 0x258
mov ecx, 0xfa
cmp dword [eax + 0x1c], ecx
jle 0x470631
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47063f
mov eax, dword [eax + 0x2c]
jmp 0x470642
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 0x470673
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x24], 1
jmp 0x47068f
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 0x47069d
mov eax, dword [eax + 0x2c]
jmp 0x4706a0
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 0x4706da
mov eax, dword [eax + 0x2c]
jmp 0x4706dd
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 0x470713
cmp cl, 0x77
je 0x470713
cmp cl, 0x78
je 0x470713
cmp cl, 0x2d
je 0x470713
xor dl, dl
inc eax
cmp eax, 9
jl 0x4706f9
mov ecx, dword [ebp + 0xc]
add ecx, 0x74
test dl, dl
mov eax, dword [ecx]
je 0x47072b
lea edx, [ebp - 0x2c]
push edx
jmp 0x470730
push str.rw_rw_rw_
call dword [eax + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470741
mov eax, dword [eax + 0x2c]
jmp 0x470744
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 0x4707a5
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707a5
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707a5
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4707a5
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 0
jmp 0x4707ac
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4707ba
mov eax, dword [eax + 0x2c]
jmp 0x4707bd
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 0x4707fb
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4707fb
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x2c], eax
jmp 0x470805
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x2c], 0x1e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470813
mov eax, dword [eax + 0x2c]
jmp 0x470816
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 0x470854
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470854
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x30], eax
jmp 0x47085e
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x30], 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47086c
mov eax, dword [eax + 0x2c]
jmp 0x47086f
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 0x4708ad
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4708ad
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x34], eax
jmp 0x4708b7
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x34], 0x12c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4708c5
mov eax, dword [eax + 0x2c]
jmp 0x4708c8
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 0x470929
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470929
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470929
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470929
mov eax, dword [ebp + 0xc]
mov byte [eax + 8], 0
jmp 0x470930
mov eax, dword [ebp + 0xc]
mov byte [eax + 8], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47093e
mov eax, dword [eax + 0x2c]
jmp 0x470941
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 0x4709a2
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4709a2
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4709a2
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x4709a2
mov eax, dword [ebp + 0xc]
mov byte [eax + 9], 0
jmp 0x4709a9
mov eax, dword [ebp + 0xc]
mov byte [eax + 9], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4709b7
mov eax, dword [eax + 0x2c]
jmp 0x4709ba
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 0x470a1b
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a1b
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a1b
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470a1b
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa], 0
jmp 0x470a22
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470a30
mov eax, dword [eax + 0x2c]
jmp 0x470a33
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 0x470a71
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470a71
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x38], eax
jmp 0x470a7b
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x38], 0x8000
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470a89
mov eax, dword [eax + 0x2c]
jmp 0x470a8c
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 0x470aca
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470aca
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x3c], eax
jmp 0x470ad4
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x3c], 0x8000
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470ae2
mov eax, dword [eax + 0x2c]
jmp 0x470ae5
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 0x470b23
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470b23
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x40], eax
jmp 0x470b2d
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x40], 0x12c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470b3b
mov eax, dword [eax + 0x2c]
jmp 0x470b3e
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 0x470b9f
lea eax, [ebp - 0x2c]
push 0x4a5908
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b9f
lea eax, [ebp - 0x2c]
push str.1_la
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b9f
lea eax, [ebp - 0x2c]
push 0x4a4f04
push eax
call ebx
test eax, eax
pop ecx
pop ecx
je 0x470b9f
mov eax, dword [ebp + 0xc]
mov byte [eax + 7], 0
jmp 0x470ba6
mov eax, dword [ebp + 0xc]
mov byte [eax + 7], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470bb4
mov eax, dword [eax + 0x2c]
jmp 0x470bb7
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 0x470bf6
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470bf6
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
jmp 0x470bfd
mov eax, dword [ebp + 0xc]
and dword [eax + 0x10], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470c0b
mov eax, dword [eax + 0x2c]
jmp 0x470c0e
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 0x470c48
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x470c48
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x14], eax
jmp 0x470c4f
mov eax, dword [ebp + 0xc]
and dword [eax + 0x14], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x470c5d
mov eax, dword [eax + 0x2c]
jmp 0x470c60
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 0x470c9d
cmp dword [ebp - 0x10], eax
jne 0x470c9d
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xc], 1
jmp 0x470ca4
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.00402f3b
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 0x470cf4
mov eax, dword [eax + 0x2c]
jmp 0x470cf7
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 0x470d52
lea eax, [ebp - 0x9d4]
push eax
lea ecx, [ebp - 0x58]
call fcn.00483141
mov ecx, dword [ebp + 0xc]
and dword [ebp - 4], 0
lea eax, [ebp - 0x58]
push eax
add ecx, 0x98
call fcn.00402efb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004833a3
inc dword [ebp - 0x30]
jmp 0x470ccc
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 0x470d74
mov eax, dword [eax + 0x2c]
jmp 0x470d77
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 0x470df6
push 0
push 0
lea eax, [ebp - 0x1d4]
push 0x7c
push eax
call fcn.00483b18
mov esi, eax
add esp, 0x10
test esi, esi
je 0x470daf
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 0x470df6
test esi, esi
je 0x470dde
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 0x470dec
mov ecx, eax
test ecx, ecx
jle 0x470df6
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