Function at 0x40cf70
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x4311d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
mov edi, ecx
mov dword [esp + 0x1c], edi
call esi
call esi
mov dword [0x441474], eax
mov eax, dword [0x4413dc]
add eax, 0xb2
push eax
push str.DATA:_s
push 0x4414bc
call fcn.00427b91
call fcn.00417d10
mov ecx, dword [0x4413dc]
mov dword [ecx + 0x82], eax
mov edx, dword [0x4413dc]
lea ecx, [esp + 0x2c]
mov eax, dword [edx + 0x82]
push eax
push ecx
call fcn.00417d80
mov eax, dword [0x4413dc]
mov edx, dword [esp + 0x34]
push 0xc
add eax, 0x86
xor ebp, ebp
push edx
push eax
mov dword [esp + 0x54], ebp
call fcn.0041bf00
mov ecx, dword [0x4413dc]
add esp, 0x1c
mov dword [esp + 0x28], esp
lea edx, [ecx + 0x2c364]
mov ecx, esp
push edx
call fcn.00428960
call fcn.00417790
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
mov ecx, edi
call fcn.00408ee0
mov eax, dword [0x4414b8]
push str.0.0.0.0
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
jne 0x40d0a4
mov eax, dword [0x43db14]
mov dword [esp + 0x18], eax
mov ecx, dword [0x4414b4]
mov edx, dword [0x4414b8]
push ecx
push edx
lea eax, [esp + 0x20]
push 0x43cd7c
push eax
mov byte [esp + 0x44], 1
call fcn.00427b91
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00428667
call fcn.00417790
add esp, 4
push 0x2710
call ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], 0
call fcn.004288f2
jmp 0x40d029
mov eax, dword [0x4414b8]
push str.0.0.0.0
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d100
mov eax, dword [0x4414b8]
push 0x441314
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d100
mov eax, dword [0x4414b4]
push 0x441314
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d100
mov eax, dword [0x4414b0]
push 0x441314
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
jne 0x40d125
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x43cd6c
call fcn.00428960
call fcn.00417790
add esp, 4
push 0x2710
call ebx
jmp 0x40d029
mov eax, dword [0x4414b8]
push str.0.0.0.0
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d6b7
mov eax, dword [0x4414b8]
push 0x441314
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d6b7
mov eax, dword [0x4414b4]
push 0x441314
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d6b7
mov eax, dword [0x4414b0]
push 0x441314
push eax
call fcn.0041bda7
add esp, 8
test eax, eax
je 0x40d6b7
mov ecx, edi
mov dword [0x4414ec], ebp
call fcn.00408e80
call esi
mov dword [0x441474], eax
mov eax, dword [0x441468]
cmp eax, ebp
jne 0x40d6d0
cmp dword [0x4414e4], 0x78
jle 0x40d1c4
mov ecx, dword [esp + 0x1c]
call fcn.00408ee0
mov eax, dword [0x43db14]
mov dword [0x4414ec], ebp
mov dword [esp + 0x18], eax
mov ecx, dword [0x4414e4]
mov edx, dword [0x4414bc]
mov eax, dword [0x4414b4]
push ecx
mov ecx, dword [0x4414b8]
push edx
push eax
push ecx
lea edx, [esp + 0x28]
push 0x43cd40
push edx
mov byte [esp + 0x4c], 2
call fcn.00427b91
add esp, 0x14
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00428667
call fcn.00417790
mov ecx, dword [0x4414bc]
mov edx, dword [0x4414b0]
mov eax, dword [0x4414b4]
add esp, 4
push ecx
mov ecx, dword [0x4414b8]
push edx
push eax
push ecx
call sub.PPData.dll_Ordinal_38
call esi
mov edi, eax
mov eax, dword [0x4414ec]
cmp eax, ebp
jne 0x40d261
call esi
sub eax, edi
cmp eax, 0x1388
ja 0x40d2b9
push 0xa
call ebx
cmp dword [0x4414ec], ebp
je 0x40d24a
mov dword [0x4414f0], ebp
mov dword [0x4414e4], ebp
call esi
mov dword [0x441474], eax
call esi
mov ecx, dword [0x4413dc]
mov dword [esp + 0x24], eax
add ecx, 0x7a
push ecx
call fcn.00403c50
mov eax, dword [0x4413dc]
add esp, 4
mov dl, byte [eax + 0x2c35e]
mov byte [eax + 0x469], dl
call esi
mov dword [0x4414e0], eax
mov eax, dword [0x43c418]
cmp eax, 0xffffffff
jne 0x40d5eb
xor eax, eax
jmp 0x40d347
mov edx, dword [0x4414e4]
inc edx
mov dword [0x4414e4], edx
mov edx, dword [0x43db14]
mov dword [esp + 0x10], edx
mov eax, dword [0x4414b4]
mov ecx, dword [0x4414b8]
push eax
push ecx
lea edx, [esp + 0x18]
push 0x43cd2c
push edx
mov byte [esp + 0x44], 3
call fcn.00427b91
add esp, 0xc
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00428667
call fcn.00417790
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x34], 2
call fcn.004288f2
cmp dword [0x4414ec], ebp
jne 0x40d261
push 0x3a98
call ebx
call sub.PPData.dll_Ordinal_39
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], 0
call fcn.004288f2
jmp 0x40d19e
xor ebp, ebp
mov ecx, dword [0x43db14]
mov dword [esp + 0x10], ecx
lea edi, [eax + 1]
lea edx, [esp + 0x10]
push edi
push 0x43cd0c
push edx
mov byte [esp + 0x40], 4
call fcn.00427b91
add esp, 8
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00428667
call fcn.00417790
add esp, 4
mov dword [0x4414d4], ebp
push 2
push ebp
push ebp
push str._SERVER_
call sub.PPData.dll_Ordinal_45
mov dword [0x43c418], eax
call esi
mov ebp, eax
mov eax, dword [0x4414d4]
test eax, eax
jne 0x40d3d3
mov ecx, dword [0x4414f0]
test ecx, ecx
jne 0x40d3d3
call esi
sub eax, ebp
cmp eax, 0x3a98
ja 0x40d3ce
push 0xa
call ebx
mov eax, dword [0x4414d4]
test eax, eax
je 0x40d3aa
jmp 0x40d3d3
mov eax, dword [0x4414d4]
cmp eax, 1
je 0x40d428
push eax
lea ecx, [esp + 0x14]
push 0x43ccfc
push ecx
call fcn.00427b91
add esp, 8
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00428667
call fcn.00417790
mov eax, dword [0x4414f0]
add esp, 4
cmp eax, 1
mov byte [esp + 0x34], 2
lea ecx, [esp + 0x10]
je 0x40d431
call fcn.004288f2
mov eax, edi
cmp eax, 0xa
jl 0x40d345
jmp 0x40d436
mov byte [esp + 0x34], 2
lea ecx, [esp + 0x10]
call fcn.004288f2
cmp dword [0x4414d4], 1
je 0x40d56b
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x43ccdc
call fcn.00428960
call fcn.00417790
add esp, 4
xor eax, eax
mov ecx, dword [0x43db14]
mov dword [0x4414d4], 0
mov dword [esp + 0x14], ecx
lea edi, [eax + 1]
lea edx, [esp + 0x14]
push edi
push 0x43ccb8
push edx
mov byte [esp + 0x40], 5
call fcn.00427b91
add esp, 8
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00428667
call fcn.00417790
add esp, 4
push 2
push 0x1b58
push 1
push str._SERVER_
call sub.PPData.dll_Ordinal_45
mov dword [0x43c418], eax
call esi
mov ebp, eax
mov eax, dword [0x4414d4]
test eax, eax
jne 0x40d4f3
mov ecx, dword [0x4414f0]
test ecx, ecx
jne 0x40d4f3
call esi
sub eax, ebp
cmp eax, 0x3a98
ja 0x40d4ee
push 0xa
call ebx
mov eax, dword [0x4414d4]
test eax, eax
je 0x40d4ca
jmp 0x40d4f3
mov eax, dword [0x4414d4]
cmp eax, 1
je 0x40d548
push eax
lea ecx, [esp + 0x18]
push 0x43cca8
push ecx
call fcn.00427b91
add esp, 8
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00428667
call fcn.00417790
mov eax, dword [0x4414f0]
add esp, 4
cmp eax, 1
mov byte [esp + 0x34], 2
lea ecx, [esp + 0x14]
je 0x40d551
call fcn.004288f2
mov eax, edi
cmp eax, 3
jl 0x40d45e
jmp 0x40d556
mov byte [esp + 0x34], 2
lea ecx, [esp + 0x14]
call fcn.004288f2
cmp dword [0x4414d4], 1
je 0x40d56b
mov dword [0x43c418], 0xffffffff
jmp 0x40d5ab
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x43cc8c
call fcn.00428960
call fcn.00417790
add esp, 4
mov ecx, 0x4414dc
call fcn.0040d700
mov eax, dword [0x4413dc]
cmp byte [eax], 0
je 0x40d5a2
mov ecx, 0x4414dc
call fcn.0040d7a0
cmp dword [0x43c418], 0xffffffff
jne 0x40d5e9
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x43cc7c
call fcn.00428960
call fcn.00417790
mov ecx, dword [esp + 0x20]
add esp, 4
call fcn.00409350
push 0x1388
call ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], 0
call fcn.004288f2
xor ebp, ebp
jmp 0x40d19e
xor ebp, ebp
call esi
sub eax, dword [0x4414e0]
cmp eax, 0x2710
jae 0x40d618
cmp dword [0x4414f0], ebp
jne 0x40d618
push 0x3e8
call ebx
call esi
sub eax, dword [0x4414e0]
cmp eax, 0x2710
jb 0x40d5fa
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.EndLogin....3
call fcn.00428960
call fcn.00417790
mov ecx, dword [esp + 0x20]
add esp, 4
call fcn.00409350
mov eax, dword [0x4413dc]
mov ecx, 0x32
cmp dword [eax + 0x34], ecx
jae 0x40d651
mov dword [eax + 0x34], ecx
mov eax, dword [0x4413dc]
cmp dword [eax + 0x34], 0x12c
jbe 0x40d662
mov dword [eax + 0x34], ecx
mov eax, dword [0x4413dc]
mov eax, dword [eax + 0x34]
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx - 0xa]
test edx, edx
jbe 0x40d5d4
call esi
push 0x64
mov dword [0x441474], eax
call ebx
mov eax, dword [0x4413dc]
mov edi, dword [eax + 0x34]
call esi
mov edx, dword [esp + 0x24]
mov ecx, eax
sub ecx, edx
mov eax, 0x10624dd3
mul ecx
shr edx, 6
lea eax, [edi - 1]
cmp edx, eax
ja 0x40d5d4
lea ecx, [edi + edi*4]
inc ebp
lea edx, [ecx + ecx - 0xa]
cmp ebp, edx
jb 0x40d674
jmp 0x40d5d4
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.server_ip_user_pwd__
call fcn.00428960
call fcn.00417790
add esp, 4
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], 0xffffffff
call fcn.004288f2
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x28
ret