Function at 0x403c29
Capabilities:
Download and write a file
Get geographical location
Inspect section memory permissions
Receive and write data from server to client
Receive data
Receive data on socket
Reference google public dns server
Send data
Send data on socket
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x50], edx
push 3
pop eax
xor edi, edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ebx
mov esi, 0x479108
mov dword [ebp - 0x44], ebx
inc edi
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x48], 0x10
mov dword [ebp - 0x24], 0x14
push 0x200
push ebx
push esi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x50]
add esp, 0xc
push 0x20000000
push ebx
push ebx
push 0x2000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403cb3
mov eax, dword [0x476148]
test eax, eax
je 0x403cb3
mov eax, dword [eax + 0x128]
and eax, 0x400
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
jne 0x40a75d
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 8
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403ce2
cmp dword [0x4789e8], 0
je 0x407640
push 0x414594
jmp 0x403d6a
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x1000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403d11
cmp dword [0x4789e8], 0
je 0x407652
push 0x4145f0
jmp 0x403d6a
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x80000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403d40
cmp dword [0x4789e8], 0
je 0x407659
push 0x414648
jmp 0x403d6a
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x10
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403d72
cmp dword [0x4789e8], 0
je 0x407660
push 0x4146b0
call fcn.00401006
pop ecx
jmp 0x403d91
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x4000000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a645
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x10
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403dfa
mov eax, dword [0x476148]
test eax, eax
je 0x40a75d
mov eax, dword [eax + 0x128]
and eax, 2
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x40a75d
mov ecx, 0x476358
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403dd6
sub ecx, edx
je 0x40a75d
push 0x476358
push 0x414818
push dword [ebp - 0x34]
call fcn.00401034
add esp, 0xc
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 2
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403e2d
mov eax, dword [0x476148]
mov eax, dword [eax + 0x380]
add eax, 0x84
push eax
push 0x41482c
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x80
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403e63
mov eax, dword [0x476148]
mov eax, dword [eax + 0x380]
add eax, 0x84
push eax
push 0x414840
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 8
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403e85
push 0x414854
jmp 0x406c42
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 4
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403eac
push 0x474c18
push 0x414864
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push edi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403ed2
push 0x474c18
push 0x414818
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x30
call fcn.00401e55
mov ecx, dword [ebp - 0x50]
add esp, 0x10
push 0x10000000
push ebx
push ebx
test eax, eax
je 0x403f19
push 0x10
call fcn.00401e55
test eax, eax
mov edx, 0x414878
mov ecx, 0x414888
cmovne ecx, edx
push ecx
push esi
call fcn.00401034
add esp, 0x18
jmp 0x406c76
push 0x40
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403f42
mov eax, dword [0x476148]
mov eax, dword [eax + 0x380]
add eax, 0x84
push eax
push 0x414898
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x100
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403f67
push 0x4148ac
jmp 0x406c42
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x80000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403f8c
push 0x4148c0
jmp 0x406c42
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x403fb6
push 0x468e98
push 0x4148d0
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x404015
mov edx, 0x479008
mov ecx, 0x4789f0
call fcn.0040316b
movsx eax, byte [0x4789f0]
sub eax, 1
je 0x4076b5
sub eax, 1
je 0x40768a
sub eax, 1
je 0x407683
sub eax, 1
je 0x407667
push 0x4789f0
jmp 0x406c60
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x1000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4040aa
push edi
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x40], 0x478bf8
lea ecx, [ebp - 0x40]
call fcn.00401fe7
mov edx, dword [ebp - 0x4c]
pop ecx
mov ecx, dword [0x476148]
test ecx, ecx
je 0x40409f
mov eax, dword [ecx + 0x4c]
cmp edx, eax
jge 0x40766f
mov eax, dword [ecx + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x40409f
test ecx, ecx
je 0x404094
mov eax, dword [ecx + 0x128]
and eax, 0x20000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x404094
push edx
push 0x4149c8
jmp 0x406c65
push edx
push 0x4149ec
jmp 0x406c65
push edx
push 0x414a0c
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x40000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4040e6
push edi
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x40], 0x479310
lea ecx, [ebp - 0x40]
call fcn.00401fe7
pop ecx
push dword [ebp - 0x2c]
push 0x414a24
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x8000000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406c4c
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x20
push ebx
call fcn.00401e55
mov ecx, dword [ebp - 0x50]
add esp, 0x10
test eax, eax
je 0x4041b5
push 0x20000000
push ebx
push ebx
push 0x4000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x404147
push dword [0x4373b0]
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x8000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40416d
push dword [0x468918]
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x20
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40418d
push dword [0x451168]
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x40
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4041ad
push dword [0x4705e0]
jmp 0x4041f2
push dword [0x425260]
jmp 0x4041f2
push 0x10000000
push ebx
push 0x80
push ebx
call fcn.00401e55
mov ecx, dword [ebp - 0x50]
add esp, 0x10
test eax, eax
je 0x40426b
push 0x20000000
push ebx
push ebx
push 0x10000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4041fa
push dword [0x46cab8]
push dword [ebp - 0x34]
jmp 0x406c65
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x20000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40421d
push dword [0x44cb60]
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x80
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x404240
push dword [0x4705e4]
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x100
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x404263
push dword [0x433000]
jmp 0x4041f2
push dword [0x43af50]
jmp 0x4041f2
push 0x10000000
push ebx
push 0x100
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4042a0
push dword [0x43af50]
push dword [0x425260]
push dword [ebp - 0x34]
push esi
call fcn.00401034
add esp, 0x10
jmp 0x406c76
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x400
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a75d
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x800
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4042e5
push dword [0x46ccf8]
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x1000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40433c
mov ecx, 0x479748
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404308
sub ecx, edx
je 0x40a75d
push 0x479748
push dword [ebp - 0x34]
push esi
call fcn.00401034
add esp, 0xc
push 0x414a34
push 0x414a5c
call fcn.00401006
jmp 0x406c48
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x4000000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406b41
cmp dword [0x4799e8], 0
mov dword [ebp - 0x28], 0x463438
mov dword [ebp - 0x40], ebx
je 0x40443e
mov ecx, 0x476598
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40437a
sub ecx, edx
je 0x4076d2
push 0x414a64
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40439b
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_send]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push 0x200
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
push edi
push ebx
push edi
mov edx, 0x414a80
mov ecx, esi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4076cb
mov cl, byte [eax]
mov edx, eax
jmp 0x404402
cmp cl, 0xd
je 0x404408
cmp cl, 0xa
je 0x404408
add edx, 1
je 0x40440a
mov cl, byte [edx]
test cl, cl
jne 0x4043f1
jmp 0x40440a
mov byte [edx], bl
mov ecx, dword [ebp - 0x1c]
mov eax, 0x476598
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x404432
test dl, dl
je 0x40442e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x404432
add ecx, 2
add eax, 2
test dl, dl
jne 0x404412
mov eax, ebx
jmp 0x404436
sbb eax, eax
or eax, edi
test eax, eax
jne 0x4076c4
push 0x414b78
call fcn.00401006
mov eax, dword [0x463440]
or eax, dword [0x463444]
pop ecx
je 0x406c76
mov edx, dword [ebp - 0x28]
cmp dword [edx], ebx
je 0x4069c7
mov edx, dword [0x4789e8]
mov eax, dword [0x476148]
mov dword [ebp - 0x40], edi
test edx, edx
je 0x4044b6
test eax, eax
je 0x404495
mov eax, dword [eax + 0x128]
and eax, 0x80000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
jne 0x404516
mov eax, dword [0x476148]
test eax, eax
je 0x4044f0
mov eax, dword [eax + 0x128]
and eax, 0x200000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
jne 0x404516
jmp 0x4044f0
test eax, eax
je 0x404516
mov eax, dword [eax + 0x128]
and eax, 0x80000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x404516
mov ecx, dword [0x476148]
test ecx, ecx
je 0x4044f0
mov eax, dword [ecx + 0x12c]
and dword [ecx + 0x128], 0xffdfffff
mov dword [ecx + 0x12c], eax
cmp dword [0x45143c], 4
jne 0x404505
mov dword [0x45143c], 2
jmp 0x404516
cmp dword [0x45143c], 5
jne 0x404516
push 3
pop eax
mov dword [0x45143c], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, ecx
and eax, 0x200000
or eax, ebx
je 0x40453a
cmp dword [0x451740], 0
jne 0x406a6f
and ecx, edi
or ecx, ebx
je 0x40459c
test edx, edx
je 0x40459c
cmp byte [0x4513e0], 0
je 0x40459c
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x404563
push 0x414cc4
call fcn.00401006
mov eax, dword [ebp - 0x28]
pop ecx
push 0x4513e0
add eax, 0x10
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x414cdc
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 2
or eax, ebx
je 0x404634
cmp dword [edx + 0x60], ebx
je 0x4045d6
cmp dword [0x451430], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x414d18
call fcn.00401006
mov edx, dword [ebp - 0x28]
pop ecx
pop ecx
cmp dword [0x451430], 0
lea ecx, [edx + 0x10]
mov edx, 0x414d0c
mov dword [ebp - 0x1c], ecx
mov eax, 0x414d04
cmove eax, edx
push eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
xor eax, eax
cmp dword [0x451430], eax
sete al
push eax
push 0x414d2c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
jmp 0x40463a
lea eax, [edx + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 8]
and eax, 4
or eax, ebx
je 0x404692
cmp dword [edx + 0x60], ebx
je 0x40466a
cmp dword [0x451438], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x414d4c
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x451438], eax
setne al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x800000
or eax, ebx
je 0x404771
cmp dword [edx + 0x60], ebx
je 0x4046b8
push 0x451744
push 0x414d70
call fcn.00401006
pop ecx
pop ecx
push 0x414d90
push 0x451744
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
pop ecx
pop ecx
test eax, eax
jne 0x40472d
mov eax, dword [0x476148]
test eax, eax
je 0x40472d
mov eax, dword [eax + 0x128]
and eax, 0x8000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x40472d
push 0x45179c
push 0x414d94
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x45174c
push 0x414db4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push dword [0x4519dc]
push 0x414dd4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451744
push 0x414df4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 8
or eax, ebx
je 0x405bd8
mov eax, dword [0x45143c]
sub eax, ebx
je 0x405b92
sub eax, 1
je 0x405941
sub eax, 1
je 0x4056a0
sub eax, 1
je 0x40532b
sub eax, 1
je 0x404e6e
sub eax, 1
jne 0x405bd8
mov ecx, dword [0x476148]
push ebx
push 0x200000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
jne 0x404b86
mov ecx, dword [0x476148]
push ebx
push closesocket
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x4047f8
cmp dword [0x4789e8], 0
jne 0x404b86
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x40480b
push 0x41529c
call fcn.00401006
pop ecx
push 0x4152b8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
mov ecx, dword [0x476148]
push ebx
push closesocket
call fcn.00401eb6
add esp, 0x38
test eax, eax
je 0x4048f0
push 0x414fe8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415004
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov eax, 0x415040
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x451448], 0
je 0x404942
push 0x451448
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x451498], 0
je 0x404942
push 0x451498
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4514e8], 0
jne 0x404952
mov ecx, 0x414f10
jmp 0x404974
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x414f2c
mov eax, 0x414f4c
cmove ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
test eax, eax
mov ecx, 0x414f8c
mov eax, 0x414f6c
cmovne ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x451a84
push 0x415064
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x24
mov edx, esi
call fcn.00401bd1
push 0x4152d0
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
cmp byte [0x4514ec], 0
je 0x404a48
push 0x4514ec
push 0x4152f4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x45153c], 0
je 0x404a48
push 0x45153c
push 0x415318
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x45158c], 0
jne 0x404a58
mov ecx, 0x415340
jmp 0x404a7a
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x415368
mov eax, 0x415394
cmove ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
add esp, 0x10
test eax, eax
je 0x404b30
mov eax, 0x4153c0
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4150fc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x45193c
push 0x41511c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x1c
mov edx, esi
call fcn.00401bd1
push 0x45179c
push 0x414d94
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x45174c
push 0x414db4
push esi
call fcn.00401034
add esp, 0xc
jmp 0x404b3d
push 0x4153ec
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x451a94
push 0x415140
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451a94
push 0x451a84
push 0x415418
call fcn.00401006
add esp, 0xc
jmp 0x405bd5
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x404b99
push 0x415440
call fcn.00401006
pop ecx
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4152b8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x451448], 0
je 0x404c36
push 0x451448
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x451498], 0
je 0x404c36
push 0x451498
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4514e8], 0
mov ecx, 0x414f2c
mov eax, 0x414f10
cmovne eax, ecx
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov eax, 0x414f6c
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x45174c
push 0x414db4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x1c
mov edx, esi
call fcn.00401bd1
push 0x451a84
push 0x415064
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x4152d0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
push 0x4151d4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4151f0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x41520c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x41545c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x40
mov edx, esi
call fcn.00401bd1
cmp byte [0x451590], 0
je 0x404dbd
push 0x451590
push 0x4152f4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x4515e0], 0
je 0x404dbd
push 0x4515e0
push 0x415318
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x41547c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4154a8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
cmp dword [0x4519e0], 0
mov ecx, 0x45183c
mov eax, 0x4519e4
cmove eax, ecx
push eax
push 0x41522c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x1c
mov edx, esi
call fcn.00401bd1
push 0x451aa4
push 0x41524c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4519e0], 0
mov eax, 0x41526c
mov ecx, 0x414158
cmove eax, ecx
push eax
push 0x451aa4
push 0x451a84
push 0x4154d4
call fcn.00401006
add esp, 0x10
jmp 0x405bd5
mov ecx, dword [0x476148]
push ebx
push 0x200000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
jne 0x405123
mov ecx, dword [0x476148]
push ebx
push closesocket
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x404ead
cmp dword [0x4789e8], 0
jne 0x405123
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x404ec0
push 0x4150a4
call fcn.00401006
pop ecx
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ec4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
mov ecx, dword [0x476148]
push ebx
push closesocket
call fcn.00401eb6
add esp, 0x38
test eax, eax
je 0x404fa5
push 0x414fe8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415004
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov eax, 0x415040
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x4514ec], 0
je 0x404ff7
push 0x4514ec
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x45153c], 0
je 0x404ff7
push 0x45153c
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x45158c], 0
jne 0x405007
mov ecx, 0x414f10
jmp 0x405029
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x414f2c
mov eax, 0x414f4c
cmove ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414e4c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
add esp, 0x18
test eax, eax
je 0x4050d3
mov eax, 0x4150bc
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4150fc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x45193c
push 0x41511c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x1c
mov edx, esi
call fcn.00401bd1
push 0x45179c
push 0x414d94
push esi
call fcn.00401034
add esp, 0xc
jmp 0x4050e0
push 0x4150dc
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x451a94
push 0x415140
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451a94
push 0x415160
call fcn.00401006
pop ecx
pop ecx
jmp 0x405bd5
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x405136
push 0x41517c
call fcn.00401006
pop ecx
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ec4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x451590], 0
je 0x4051d3
push 0x451590
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x4515e0], 0
je 0x4051d3
push 0x4515e0
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x415194
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4151b4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
push 0x4151d4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4151f0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x41520c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x40
mov edx, esi
call fcn.00401bd1
push 0x4150fc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414e4c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
cmp dword [0x4519e0], 0
mov ecx, 0x45183c
mov eax, 0x4519e4
cmove eax, ecx
push eax
push 0x41522c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x1c
mov edx, esi
call fcn.00401bd1
push 0x451aa4
push 0x41524c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4519e0], 0
mov eax, 0x41526c
mov ecx, 0x414158
cmove eax, ecx
push eax
push 0x451aa4
push 0x41527c
jmp 0x404b79
cmp dword [edx + 0x60], ebx
je 0x40533b
push 0x41529c
call fcn.00401006
pop ecx
push 0x4152b8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x451448], 0
je 0x4053d8
push 0x451448
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x451498], 0
je 0x4053d8
push 0x451498
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4514e8], 0
jne 0x4053e8
mov ecx, 0x414f10
jmp 0x40540a
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x414f2c
mov eax, 0x414f4c
cmove ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
test eax, eax
mov ecx, 0x414f8c
mov eax, 0x414f6c
cmovne ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4152d0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
mov ecx, dword [0x476148]
push ebx
push closesocket
call fcn.00401eb6
add esp, 0x40
test eax, eax
je 0x405516
push 0x414fe8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415004
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
cmp dword [0x4789e8], 0
mov ecx, 0x415040
mov eax, 0x415020
cmove eax, ecx
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x4514ec], 0
je 0x405568
push 0x4514ec
push 0x4152f4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x45153c], 0
je 0x405568
push 0x45153c
push 0x415318
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x45158c], 0
jne 0x405578
mov ecx, 0x415340
jmp 0x40559a
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x415368
mov eax, 0x415394
cmove ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
test eax, eax
mov ecx, 0x4153ec
mov eax, 0x4153c0
cmovne ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x45179c
push 0x414d94
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x24
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x405691
push 0x4150fc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x45193c
push 0x41511c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x14
mov edx, esi
call fcn.00401bd1
push 0x45179c
push 0x414d94
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x45174c
push 0x414db4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451a84
push 0x415064
jmp 0x404b25
cmp dword [edx + 0x60], ebx
je 0x4056b0
push 0x4150a4
call fcn.00401006
pop ecx
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ec4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x4514ec], 0
je 0x40574d
push 0x4514ec
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x45153c], 0
je 0x40574d
push 0x45153c
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x45158c], 0
jne 0x40575d
mov ecx, 0x414f10
jmp 0x40577f
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x414f2c
mov eax, 0x414f4c
cmove ecx, eax
push ecx
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov eax, dword [0x476148]
test eax, eax
je 0x4057af
mov eax, dword [eax + 0x128]
mov ecx, edi
and eax, 0x8000000
or eax, ebx
jne 0x4057b1
mov ecx, ebx
test ecx, ecx
mov eax, 0x4150dc
mov ecx, 0x4150bc
cmovne eax, ecx
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
mov ecx, dword [0x476148]
add esp, 0x20
test ecx, ecx
je 0x405891
mov eax, dword [ecx + 0x128]
and eax, 0x80000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x405891
push 0x414fe8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415004
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
cmp dword [0x4789e8], 0
mov ecx, 0x415040
mov eax, 0x415020
cmove eax, ecx
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x4058fa
push 0x4150fc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x45193c
push 0x41511c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x14
mov edx, esi
call fcn.00401bd1
push 0x45179c
push 0x414d94
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451a94
push 0x415140
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x414e4c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x451a94
push 0x415160
jmp 0x404e61
cmp dword [edx + 0x60], ebx
je 0x405951
push 0x414e70
call fcn.00401006
pop ecx
push 0x414e8c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ea8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414ec4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
cmp byte [0x451448], 0
je 0x4059ee
push 0x451448
push 0x414edc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp byte [0x451498], 0
je 0x4059ee
push 0x451498
push 0x414ef4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4514e8], 0
jne 0x4059fe
mov ecx, 0x414f10
jmp 0x405a20
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
mov ecx, 0x414f2c
mov eax, 0x414f4c
cmove ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
test eax, eax
mov ecx, 0x414f8c
mov eax, 0x414f6c
cmovne ecx, eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fac
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fc0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x414fd4
call fcn.00401a02
mov ecx, dword [0x476148]
push ebx
push closesocket
call fcn.00401eb6
add esp, 0x38
test eax, eax
je 0x405b14
push 0x414fe8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415004
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
cmp dword [0x4789e8], 0
mov ecx, 0x415040
mov eax, 0x415020
cmove eax, ecx
push eax
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x18
mov edx, esi
call fcn.00401bd1
mov ecx, dword [0x476148]
push ebx
push 0x8000000
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x405b4b
push 0x45174c
push 0x414db4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451a84
push 0x415064
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x414e4c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x451a84
push 0x415084
jmp 0x404e61
cmp dword [edx + 0x60], ebx
je 0x405ba2
push 0x414e14
call fcn.00401006
pop ecx
push 0x414e30
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414e4c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x10
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x10
or eax, ebx
je 0x405c30
cmp dword [edx + 0x60], ebx
je 0x405c08
cmp dword [0x451434], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x4154fc
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x451434], eax
sete al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x20
or eax, ebx
je 0x405cdd
mov eax, dword [0x476148]
test eax, eax
je 0x405ccd
mov eax, dword [eax + 0x128]
and eax, 0x20000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x405ccd
mov eax, dword [0x476148]
test eax, eax
je 0x405c80
mov eax, dword [eax + 0x128]
and eax, 0x4000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
jne 0x405ccd
cmp dword [edx + 0x60], ebx
je 0x405ca6
cmp dword [0x451440], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x415514
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x451440], eax
setne al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
jmp 0x405cda
push 0xc
pop edx
mov ecx, 0x415548
call fcn.00402d26
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x40
or eax, ebx
je 0x405d63
mov eax, dword [0x476148]
test eax, eax
je 0x405d53
mov eax, dword [eax + 0x128]
and eax, 0x60000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x405d53
cmp dword [edx + 0x60], ebx
je 0x405d2c
cmp dword [0x451444], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x41558c
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x451444], eax
setne al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
jmp 0x405d60
push 0xc
pop edx
mov ecx, 0x4155b8
call fcn.00402d26
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x80
or eax, ebx
je 0x405ea3
cmp dword [edx + 0x60], ebx
je 0x405d99
cmp dword [0x451634], 0
mov ecx, 0x415604
mov eax, 0x4155fc
cmove eax, ecx
push eax
push 0x41560c
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x451634], 0
mov ecx, 0x415604
mov eax, 0x4155fc
cmove eax, ecx
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x451634], 0
mov edx, dword [ebp - 0x28]
jne 0x405ea3
cmp dword [edx + 0x60], ebx
je 0x405ea3
push 0x451638
push 0x415620
call fcn.00401006
pop ecx
pop ecx
mov ecx, 0x451648
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405df9
sub ecx, edx
je 0x405e15
push 0x451648
push 0x41563c
call fcn.00401006
pop ecx
pop ecx
mov eax, dword [0x476148]
test eax, eax
je 0x405e60
mov eax, dword [eax + 0x128]
and eax, 0x4000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x405e60
push 0x451638
push 0x4156a0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451648
push 0x4156c0
jmp 0x405e8a
push 0x451638
push 0x415658
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x451648
push 0x41567c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x800
or eax, ebx
je 0x405fe9
cmp dword [edx + 0x60], ebx
je 0x405ed9
cmp dword [0x451658], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x4156dc
call fcn.00401006
pop ecx
pop ecx
mov eax, dword [0x476148]
test eax, eax
je 0x405efd
mov eax, dword [eax + 0x128]
mov ecx, 0x415718
and eax, 0x4000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
jne 0x405f02
mov ecx, 0x4156f4
xor eax, eax
cmp dword [0x451658], eax
setne al
push eax
push ecx
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x451658], 0
je 0x405fe6
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x405f5b
push 0x45167c
push 0x415734
call fcn.00401006
push 0x45168c
push 0x415758
call fcn.00401006
add esp, 0x10
mov eax, dword [0x476148]
test eax, eax
je 0x405fa6
mov eax, dword [eax + 0x128]
and eax, 0x4000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x405fa6
push 0x45167c
push 0x4157c4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x45168c
push 0x4157e4
jmp 0x405fd0
push 0x45167c
push 0x41577c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x45168c
push 0x4157a0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x100
or eax, ebx
je 0x40605c
cmp dword [edx + 0x60], ebx
je 0x40601b
push 0x45165c
push 0x415804
call fcn.00401006
push 0x45166c
push 0x415820
call fcn.00401006
add esp, 0x10
push 0x45165c
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x45166c
push 0x415844
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x200
or eax, ebx
je 0x40613b
mov eax, dword [0x476148]
test eax, eax
je 0x40612b
mov eax, dword [eax + 0x128]
and eax, 0x10000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x40612b
cmp dword [edx + 0x60], ebx
je 0x4060d9
cmp dword [0x45169c], 0
mov ecx, 0x414d0c
mov eax, 0x415860
cmove eax, ecx
push eax
push 0x41586c
call fcn.00401006
cmp dword [0x4516a0], 0
mov ecx, 0x414d0c
mov eax, 0x415860
cmove eax, ecx
push eax
push 0x41588c
call fcn.00401006
add esp, 0x10
mov eax, dword [0x45169c]
neg eax
sbb eax, eax
and eax, 0x78
push eax
push 0x4158a8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov eax, dword [0x4516a0]
neg eax
sbb eax, eax
and eax, 0x78
push eax
push 0x4158d4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
jmp 0x406138
push 0xc
pop edx
mov ecx, 0x415900
call fcn.00402d26
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x400
or eax, ebx
je 0x40626f
mov eax, dword [0x476148]
test eax, eax
je 0x4061b1
mov ecx, dword [eax + 0x12c]
mov eax, ebx
and ecx, 0x10
or eax, ecx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x4061b1
mov eax, dword [0x4516a4]
mov ecx, 0x708
cmp eax, ecx
jg 0x406193
je 0x4061b6
test eax, eax
je 0x4061b6
cmp eax, 0x12c
je 0x4061b6
cmp eax, 0x258
je 0x4061b6
cmp eax, 0x384
jmp 0x4061a6
cmp eax, 0x960
je 0x4061b6
cmp eax, 0xbb8
je 0x4061b6
cmp eax, 0xe10
je 0x4061b6
mov eax, ecx
mov dword [0x4516a4], eax
jmp 0x4061b6
mov eax, dword [0x4516a4]
cmp dword [edx + 0x60], ebx
je 0x40622f
test eax, eax
jne 0x4061cc
push 0x415924
call fcn.00401006
pop ecx
jmp 0x4061f0
push 0x3c
pop ecx
cdq
idiv ecx
mov edx, 0x414158
mov ecx, 0x415948
cmp eax, edi
cmovle ecx, edx
push ecx
push eax
push 0x41594c
call fcn.00401006
add esp, 0xc
mov eax, dword [0x4516a8]
test eax, eax
jne 0x406206
push 0x415970
call fcn.00401006
pop ecx
jmp 0x40622a
push 0x3c
pop ecx
cdq
idiv ecx
mov edx, 0x414158
mov ecx, 0x415948
cmp eax, edi
cmovle ecx, edx
push ecx
push eax
push 0x415990
call fcn.00401006
add esp, 0xc
mov eax, dword [0x4516a4]
push eax
push 0x4159b0
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push dword [0x4516a8]
push 0x4159d8
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x1000
or eax, ebx
je 0x406393
mov ecx, dword [0x4516b0]
mov edx, 0x44c270
call fcn.00401a4e
mov eax, dword [0x476148]
test eax, eax
je 0x4062d6
mov eax, dword [eax + 0x128]
and eax, 0x4000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x4062d6
push 0x44c270
push 0x415ae8
call fcn.00401006
push dword [0x4516b0]
push 0x415a9c
push esi
call fcn.00401034
add esp, 0x14
jmp 0x406383
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x406304
cmp dword [0x4516ac], 0
je 0x4062f3
push 0x415a00
call fcn.00401006
jmp 0x406303
push 0x44c270
push 0x415a18
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x4516ac], eax
sete al
push eax
push 0x415a3c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4516ac], 0
jne 0x406390
push dword [0x4516b0]
push 0x415a70
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push dword [0x4516b0]
push 0x415a9c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x415ac0
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x2000
or eax, ebx
je 0x4063e7
cmp dword [edx + 0x60], ebx
je 0x4063bf
cmp dword [0x4516b4], 0
je 0x4063b4
push 0x415b00
jmp 0x4063b9
push 0x415b18
call fcn.00401006
pop ecx
xor eax, eax
cmp dword [0x4516b4], eax
sete al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x100000
or eax, ebx
je 0x406488
cmp dword [edx + 0x60], ebx
je 0x40641d
cmp dword [0x4516ec], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x415b30
call fcn.00401006
pop ecx
pop ecx
push 0x415b4c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
xor eax, eax
cmp dword [0x4516ec], eax
setne al
push eax
push 0x415b70
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x14
mov edx, esi
call fcn.00401bd1
cmp dword [0x4516ec], 0
je 0x406485
push 0x4516f0
push 0x415b94
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x1000000
or eax, ebx
je 0x40650a
cmp dword [edx + 0x60], ebx
je 0x4064ba
cmp dword [0x451ab4], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x415bb4
call fcn.00401006
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x415be0
call fcn.00401a02
mov ecx, dword [0x47879c]
mov edx, esi
push ebx
push 0x415bf4
call fcn.00401a02
xor eax, eax
cmp dword [0x451ab4], eax
setne al
push eax
push 0x415c08
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x1c
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x4000
or eax, ebx
je 0x40664f
mov eax, dword [0x476148]
test eax, eax
je 0x40663f
mov eax, dword [eax + 0x128]
and eax, 0x1000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x40663f
cmp dword [edx + 0x60], ebx
je 0x406567
cmp dword [0x4516b8], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x415c28
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x4516b8], eax
setne al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
cmp dword [0x4516b8], 0
push 0x415c50
push esi
je 0x406605
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415c74
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415c98
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4516bc
push 0x415cbc
push esi
mov byte [0x4516c0], bl
call fcn.00401034
add esp, 0x24
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
jmp 0x40664c
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415cdc
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x415d00
push esi
call fcn.00401034
add esp, 0x18
jmp 0x4065f6
push 0xc
pop edx
mov ecx, 0x415d24
call fcn.00402d26
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x8000
or eax, ebx
je 0x4066f3
cmp dword [edx + 0x60], ebx
je 0x406675
push 0x4516cc
push 0x415d60
call fcn.00401006
pop ecx
pop ecx
push 0x415d7c
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4516cc
push 0x415d9c
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4516cc
push 0x414c80
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x10000
or eax, ebx
je 0x406756
cmp dword [edx + 0x60], ebx
je 0x406734
cmp dword [0x4516dc], 4
mov eax, 0x415dc8
mov edx, 0x415dc4
cmovne edx, eax
cmp dword [0x4516dc], 8
mov eax, 0x415dbc
cmovne eax, edx
push eax
push 0x415dd0
call fcn.00401006
pop ecx
pop ecx
push dword [0x4516dc]
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x20000
or eax, ebx
je 0x4067b0
cmp dword [edx + 0x60], ebx
je 0x406788
cmp dword [0x4516e0], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x415de8
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x4516e0], eax
setne al
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x80000
or eax, ebx
je 0x406849
mov eax, dword [0x476148]
test eax, eax
je 0x406839
mov eax, dword [eax + 0x128]
and eax, 0x800000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x406839
cmp dword [edx + 0x60], ebx
je 0x406805
cmp dword [0x4516e8], 0
mov ecx, 0x414d0c
mov eax, 0x414d04
cmove eax, ecx
push eax
push 0x415df8
call fcn.00401006
pop ecx
pop ecx
xor eax, eax
cmp dword [0x4516e8], eax
sete al
push eax
push 0x415e14
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x406846
push 0xc
pop edx
mov ecx, 0x415e3c
call fcn.00402d26
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
and eax, 0x40000
or eax, ebx
je 0x4068ca
mov eax, dword [0x476148]
test eax, eax
je 0x4068ba
mov eax, dword [eax + 0x128]
and eax, 0x2000000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x4068ba
cmp dword [edx + 0x60], ebx
je 0x406899
cmp dword [0x4516e4], edi
mov ecx, 0x415e7c
mov eax, 0x415e70
cmovne eax, ecx
push eax
push 0x415e88
call fcn.00401006
pop ecx
pop ecx
push dword [0x4516e4]
push dword [ebp - 0x1c]
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0xc
mov edx, esi
call fcn.00401bd1
jmp 0x4068c7
push 0xc
pop edx
mov ecx, 0x415ea8
call fcn.00402d26
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0x400000
jne 0x4069c7
cmp dword [edx + 0xc], ebx
jne 0x4069c7
push 0x415ed8
call fcn.00401006
pop ecx
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x415ef4
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x1c], ebx
push 0x4147c4
call fcn.00401006
mov dword [esp], 0x415f14
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40693c
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_send]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push 0x200
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
push edi
mov edx, 0x415f30
mov ecx, esi
call fcn.00402c88
pop ecx
test eax, eax
jne 0x4069b9
push 0x415ef4
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x12
jl 0x40691e
push 0x415f50
call fcn.00401006
mov edx, dword [ebp - 0x28]
pop ecx
add edx, 0x68
mov dword [ebp - 0x28], edx
je 0x4069e6
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
jne 0x40445d
cmp dword [ebp - 0x40], 0
je 0x406c76
cmp dword [0x47095c], 0
jne 0x406c76
push 0x415f8c
call fcn.00401006
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, 0x1f4
pop ecx
push edi
call ebx
push 0x4121fc
call fcn.00401006
mov dword [esp], 0x415fac
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push edi
call ebx
cmp dword [0x456d08], 0
je 0x40a75d
push 0x41474c
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x479744]
mov edx, esi
call fcn.00401bd1
push 0x32
call ebx
jmp 0x40a75d
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x60], ebx
je 0x406a82
push 0x414ba0
call fcn.00401006
pop ecx
push 0x414bc4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414be4
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414c10
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414c40
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x414c60
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
push 0x4516cc
push 0x414c80
push esi
call fcn.00401034
mov ecx, dword [0x47879c]
add esp, 0x34
mov edx, esi
call fcn.00401bd1
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x414ca4
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, dword [0x47879c]
mov edx, esi
call fcn.00401bd1
jmp 0x4069f0
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push edi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406b62
push 0x478658
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 2
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406bb2
mov eax, dword [0x476148]
test eax, eax
je 0x4076d9
mov eax, dword [eax + 0x128]
and eax, 0x400000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x4076d9
xor eax, eax
cmp dword [0x46ccf0], eax
setne al
push eax
jmp 0x4041f2
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x200
call fcn.00401e55
mov ecx, dword [ebp - 0x50]
add esp, 0x10
push 0x20000000
push ebx
push ebx
test eax, eax
je 0x406c08
push 0x800
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406c01
mov al, byte [0x470a68]
mov ecx, 0x470a68
jmp 0x406bfb
test al, al
je 0x406bff
inc ecx
mov al, byte [ecx]
cmp al, 0x20
jne 0x406bf4
mov byte [ecx], bl
push 0x470a68
jmp 0x406c36
push 0x40000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406c3f
cmp byte [0x470a68], 0
mov ecx, 0x470a68
mov eax, ecx
je 0x406c33
add eax, 1
je 0x406c33
cmp byte [eax], 0
jne 0x406c29
mov byte [eax], bl
push ecx
mov eax, dword [ebp - 0x50]
add eax, 0x18
push eax
jmp 0x406c65
push dword [ebp - 0x34]
push esi
call fcn.00401034
pop ecx
pop ecx
jmp 0x406c76
mov ecx, dword [ebp - 0x34]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c52
sub ecx, edx
je 0x406c70
push dword [ebp - 0x34]
push 0x41440c
push esi
call fcn.00401034
add esp, 0xc
jmp 0x406c76
mov byte [0x479108], bl
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c7b
sub ecx, edx
je 0x406d3e
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x8000000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406d1e
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x10
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406ce9
push 0x414bc4
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406ccf
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_send]
jmp 0x406d3e
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 4
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x4076e0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406d0a
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x47879c]
jmp 0x406d35
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406d23
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push closesocket
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406d77
push 0x416048
call fcn.00401006
mov dword [esp], 0x416074
push 0x41440c
call fcn.00401006
pop ecx
jmp 0x406d98
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push edi
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406d99
push 0x4160a0
call fcn.00401006
pop ecx
cmp dword [ebp - 0x30], 0xffffffff
mov ecx, dword [ebp - 0x50]
je 0x40a604
push 0x20000000
push ebx
push ebx
push 8
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a5ef
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x1000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a5da
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4000
push ebx
push 0x470b68
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x50]
add esp, 0xc
push 0x8000000
push ebx
push ebx
push edi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406f70
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x1c1000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x406e8b
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x8075f
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x406e8b
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push edi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406e7d
push ebx
push 0x4000
push 0x470b68
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
jmp 0x406f20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e82
jmp 0x406ef2
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e90
push ebx
sub ecx, edx
push ecx
push 0x470b68
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x180000
mov dword [ebp - 0x30], eax
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406f0a
mov eax, dword [0x476148]
test eax, eax
je 0x406f0a
mov eax, dword [eax + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x406f0a
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406eeb
push ebx
sub ecx, edx
push ecx
push 0x470b68
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x30], eax
cmp dword [0x476350], 0
je 0x406f20
push esi
push 0x416218
call fcn.00401006
pop ecx
pop ecx
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x400000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406f58
push edi
push edi
push ebx
mov edx, 0x416228
mov ecx, 0x470b68
call fcn.004029d0
add esp, 0xc
test eax, eax
jne 0x40772c
cmp dword [0x476350], 0
je 0x406f70
push dword [ebp - 0x30]
push 0x416254
call fcn.00401006
pop ecx
pop ecx
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4000
push ebx
push 0x470b68
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x50]
add esp, 0xc
push 0x8000000
push ebx
push ebx
push 2
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409fd2
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x80000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x406fe8
mov eax, dword [0x476148]
test eax, eax
je 0x406fe8
mov eax, dword [eax + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x406fe8
mov ecx, 0x416268
jmp 0x407008
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x100000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407010
mov ecx, 0x4162a4
push 0xe
pop edx
call fcn.00402d26
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push edi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407059
push 0x4162e0
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407039
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_send]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x8000000
mov dword [ebp - 0x3c], ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407099
push ebx
push 0x4000
push 0x470b68
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], eax
jmp 0x407151
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x10000
push ebx
mov dword [ebp - 0x40], 2
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4070c3
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push 0x4000
push 0x470b68
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x10000
push ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], eax
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407151
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x30], 0
jne 0x40714e
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
test eax, eax
jle 0x40714e
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push 0x4000
push 0x470b68
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_recv]
push 0x10000000
push ebx
push 0x10000
push ebx
mov ecx, edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], eax
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x4070fe
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x400000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4071d6
push edi
mov eax, 0x470b68
mov edx, 0x4162fc
push edi
push ebx
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.004029d0
add esp, 0xc
test eax, eax
jne 0x407736
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x3c]
call fcn.00402963
mov eax, dword [0x476148]
pop ecx
add eax, 0x368
pop ecx
mov ecx, dword [ebp - 0x3c]
mov edx, eax
mov dword [ebp - 0x40], eax
jmp 0x4071bf
cmp al, 0xa
je 0x4071c5
test al, al
je 0x4071c5
mov byte [edx], al
inc edx
inc ecx
mov al, byte [ecx]
cmp al, 0xd
jne 0x4071b3
push dword [ebp - 0x40]
mov byte [edx], bl
push 0x416348
call fcn.00401006
pop ecx
pop ecx
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x800000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a100
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407267
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x400
mov dword [ebp - 0x1c], 0x470b68
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40723d
push 0x416520
call fcn.00401006
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.004019cc
mov ecx, dword [ebp - 0x1c]
mov edx, 0x43af48
call fcn.0040192f
push dword [ebp - 0x1c]
call fcn.00401006
mov dword [esp], 0x4121fc
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x50]
push 0x20000000
push ebx
push ebx
push 0x40000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407411
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x470b68
call fcn.004019cc
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
sub eax, 0x470b68
mov dword [ebp - 0x40], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4072a5
sub ecx, edx
je 0x407740
push 0x41653c
call fcn.00401006
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x38]
mov dword [esp], 0x43af48
call fcn.004018f4
pop ecx
mov ecx, eax
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x4072e9
mov ecx, dword [ebp - 0x1c]
mov edx, 0x43af48
call fcn.0040192f
jmp 0x4072fa
mov eax, 0x400
sub eax, dword [ebp - 0x40]
cmp dword [ebp - 0x38], eax
cmovl ecx, edi
mov dword [ebp - 0x28], ecx
push dword [ebp - 0x1c]
call fcn.00401006
mov edx, dword [0x470958]
pop ecx
test edx, edx
je 0x40732a
cmp dword [ebp - 0x28], 0
jne 0x40749b
push edx
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
jmp 0x407334
cmp dword [ebp - 0x28], 0
jne 0x407406
push 0xa
mov dword [ebp - 0x1c], 0x470b68
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4000
push ebx
push 0x470b68
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push ebx
push edi
push 0x470b68
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x30], eax
test eax, eax
jle 0x4073ef
push ebx
push 0x3ff
push 0x470b69
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x38]
push 0x43af48
mov dword [ebp - 0x30], eax
call fcn.004018f4
mov dword [ebp - 0x28], eax
pop ecx
test eax, eax
je 0x4072fa
mov ecx, dword [ebp - 0x1c]
mov edx, 0x43af48
call fcn.0040192f
push dword [ebp - 0x1c]
call fcn.00401006
mov edx, dword [0x470958]
pop ecx
test edx, edx
je 0x407406
mov ecx, 0x43af48
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4073d1
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
push edx
push edi
sub eax, ecx
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
mov eax, dword [0x470958]
test eax, eax
je 0x407406
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
mov dword [0x470958], ebx
push 0x4121fc
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x1000000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a089
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 8
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4074fd
push ebx
push edi
mov edx, 0x414410
mov dword [ebp - 0x3c], 0x470b68
lea ecx, [ebp - 0x3c]
call fcn.00402963
mov edx, dword [ebp - 0x3c]
pop ecx
pop ecx
mov ecx, ebx
lea eax, [edx + 0xf]
cmp eax, 0x479418
jb 0x4074c9
cmp edx, 0x479427
ja 0x4074c9
sub edx, 0x479418
mov al, byte [ecx + edx + 0x479418]
mov byte [ecx + 0x479418], al
inc ecx
cmp ecx, 0x10
jl 0x407481
mov edx, dword [ebp - 0x3c]
xor ebx, ebx
jmp 0x4074dc
mov ecx, 0x43af48
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4074a6
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
push edx
push edi
sub eax, ecx
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
jmp 0x407406
mov esi, edx
mov edi, 0x479418
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
mov esi, 0x479108
inc edi
mov ecx, edx
call fcn.00402ed6
mov eax, dword [0x476148]
test eax, eax
je 0x40774a
mov eax, dword [eax + 0x380]
mov dword [eax + 0x50], 2
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x200000
push ebx
call fcn.00401e55
add esp, 0x10
mov dword [ebp - 0x28], 0x43cc70
test eax, eax
jne 0x408f4d
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x1000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408f2e
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x30
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408e55
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 2
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408e2c
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 4
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408e01
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push edi
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408dc8
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x40
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408d2a
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x80
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408cd6
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x200
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40778e
push edi
mov edx, 0x416a0c
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
jne 0x40775d
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
test eax, eax
jg 0x403c66
push 0x416a18
call fcn.00401006
pop ecx
jmp 0x40764a
mov ecx, 0x41457c
call fcn.004018ce
or eax, 0xffffffff
jmp 0x40a75f
mov ecx, 0x4145c8
jmp 0x407645
mov ecx, 0x41462c
jmp 0x407645
mov ecx, 0x414690
jmp 0x407645
mov eax, dword [0x476148]
mov eax, dword [eax + 0x4c]
dec eax
push eax
push 0x414994
push esi
call fcn.00401034
add esp, 0xc
mov ecx, esi
jmp 0x4076ba
mov ecx, 0x414964
jmp 0x4076ba
mov eax, dword [0x476148]
test eax, eax
je 0x4076a2
mov eax, dword [eax + 0x128]
and eax, 0x20000
or eax, ebx
jne 0x4076a4
mov edi, ebx
test edi, edi
mov ecx, 0x414938
mov eax, 0x414908
cmovne ecx, eax
jmp 0x4076ba
mov ecx, 0x4148e8
push 0xc
pop edx
call fcn.00402d26
jmp 0x40764a
mov ecx, 0x414aa0
jmp 0x4076ba
mov ecx, 0x414ae8
jmp 0x4076ba
mov ecx, 0x414b30
jmp 0x4076ba
mov ecx, 0x415fc8
jmp 0x4076ba
push 0x416024
push esi
call fcn.00401034
pop ecx
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4076f2
push ebx
sub ecx, edx
push ecx
push esi
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_send]
push 0x4147c4
call fcn.00401006
mov dword [esp], 0xfa0
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x48], 1
jne 0x40770a
jmp 0x40a51b
push 0x416230
jmp 0x40a757
push 0x416308
jmp 0x40a757
push 0x416558
jmp 0x40a757
push 0x4165dc
call fcn.00401006
pop ecx
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x8000000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40777f
push 0x416a48
jmp 0x407784
push 0x416a78
push 0x414a5c
jmp 0x4078f1
mov esi, dword [ebp - 0x50]
mov ecx, esi
push 0x10000000
push ebx
push 0x1000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4077e5
mov ecx, 0x470b68
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4077b3
sub ecx, edx
je 0x408fc2
push edi
mov edx, 0x416aa8
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x408fc2
push 0x416ab0
jmp 0x407638
push 0x10000000
push ebx
push 0x2000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407906
push edi
push ebx
push edi
mov edx, 0x416b18
mov ecx, 0x470b68
call fcn.004029d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4078fc
cmp dword [0x479004], 0
je 0x40783d
push 0x416b34
call fcn.00401006
pop ecx
mov ecx, esi
call fcn.00402dca
push edi
mov edx, 0x416aa8
mov ecx, esi
call fcn.00402c88
pop ecx
test eax, eax
jne 0x4078fc
push 0x416b98
call fcn.00401006
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407863
sub ecx, edx
cmp ecx, edi
jb 0x407890
mov al, byte [esi + 1]
cmp al, 0xd
je 0x40787b
cmp al, 0xa
jne 0x407890
mov al, byte [esi]
cmp al, 0x30
jne 0x40788b
push 0x416bac
jmp 0x408ccb
movsx eax, al
jmp 0x4078eb
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407895
sub ecx, edx
cmp ecx, edi
jbe 0x4078e8
push 0x416bb8
call fcn.00401006
pop ecx
jmp 0x4078d8
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4078c7
movsx eax, cl
push eax
push 0x416bbc
call fcn.00401006
pop ecx
jmp 0x4078d6
cmp cl, 0x2c
jne 0x4078d7
push 0x416bc0
call fcn.00401006
pop ecx
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x4078af
push 0x416bc4
jmp 0x408ccb
movsx eax, byte [esi]
push eax
push 0x416bb4
call fcn.00401006
pop ecx
jmp 0x408cd0
mov ecx, 0x416b50
jmp 0x4076ba
push 0x10000000
push ebx
push 0x8000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4079b5
push edi
push ebx
push edi
mov edx, 0x416bc8
mov ecx, 0x470b68
call fcn.004029d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x408fc2
push 0x416bdc
call fcn.00401006
pop ecx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407953
sub ecx, edx
cmp ecx, edi
jb 0x407975
mov al, byte [esi + 1]
cmp al, 0xd
je 0x40796b
cmp al, 0xa
jne 0x407975
push 0x41417c
jmp 0x408ccb
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40797a
sub ecx, edx
cmp ecx, edi
jbe 0x408fc2
jmp 0x4079a5
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4079ab
movsx eax, cl
push eax
push 0x416bbc
call fcn.00401006
pop ecx
pop ecx
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x40798d
push 0x4121fc
jmp 0x408ccb
push 0x10000000
push ebx
push ebx
push 0x8000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408fc2
push 0x10000000
push ebx
push ebx
push 0x10000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407a10
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
jne 0x408fc2
mov ecx, 0x416be8
jmp 0x407c4c
push 0x10000000
push ebx
push ebx
push 0x20000000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407a4d
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
jne 0x408fc2
mov ecx, 0x416c40
jmp 0x407c4c
push 0x10000000
push ebx
push ebx
push 0x20000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407ab7
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x407aad
mov eax, dword [esi + 8]
and eax, 0x200000
or eax, ebx
jne 0x408fc2
push 0x416c88
push 0x414a5c
call fcn.00401006
push 0x416cd8
call fcn.00401006
add esp, 0xc
jmp 0x408fc2
mov ecx, 0x416d00
jmp 0x407c4c
push 0x10000000
push ebx
push ebx
push 0x40000000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407b44
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x407b3a
push 0x10000000
push ebx
push ebx
push 0x200000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408fc2
push 0x416c88
push 0x414a5c
call fcn.00401006
cmp dword [0x47095c], 0
mov ecx, 0x416d48
mov eax, 0x4147c4
cmove eax, ecx
push eax
push 0x416d68
call fcn.00401006
add esp, 0x10
jmp 0x408fc2
mov ecx, 0x416db0
jmp 0x407c4c
push 0x10000000
push ebx
push ebx
push 0x100
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407b96
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x407b8c
push 0x416df8
push 0x414a5c
call fcn.00401006
push 0x416e50
jmp 0x407aa0
mov ecx, 0x416e90
jmp 0x407c4c
push 0x10000000
push ebx
push ebx
push 0x80000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407bfa
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x407bf3
push 0x416eb0
push 0x414a5c
call fcn.00401006
cmp dword [0x47095c], 0
mov ecx, 0x416f08
mov eax, 0x4147c4
cmove eax, ecx
push eax
push 0x416f28
jmp 0x407b2d
mov ecx, 0x416f3c
jmp 0x407c4c
push 0x10000000
push ebx
push ebx
push 0x200
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407c59
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x407c47
push 0x416f58
push 0x414a5c
call fcn.00401006
push 0x454988
push 0x416fac
jmp 0x407b2d
mov ecx, 0x416fc4
push 0xc
pop edx
call fcn.00402d26
jmp 0x408fc2
push 0x10000000
push ebx
push ebx
push 0x800
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407cfb
push edi
mov edx, 0x416fe0
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
mov ecx, esi
push 0x10000000
push ebx
push ebx
push 0x200000
test eax, eax
je 0x407ce1
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407cd7
push 0x10000000
push ebx
push 0x4000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x407ccd
cmp dword [0x470a64], 0
jne 0x408fc2
mov ecx, 0x416fec
jmp 0x4076ba
push 0x417028
jmp 0x408ccb
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408fc2
push 0x417048
jmp 0x408ccb
push 0x10000000
push ebx
push 0x10000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408881
mov esi, 0x417068
mov dword [ebp - 0x1c], 0x470b68
lea edi, [ebp - 0x18]
mov eax, 0x43cc70
push 3
pop ecx
movsd dword es:[edi], dword [esi]
push ecx
mov dword [0x474b7c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
mov edi, 0x414128
push edi
push eax
call esi
add esp, 0xc
test eax, eax
je 0x407d72
push 3
pop ebx
mov eax, dword [0x474b7c]
push ebx
add eax, 0x388
push edi
push eax
mov dword [0x474b7c], eax
call esi
add esp, 0xc
test eax, eax
jne 0x407d55
xor ebx, ebx
mov eax, dword [0x476148]
mov ecx, dword [eax + 0x128]
mov edx, dword [eax + 0x12c]
mov eax, dword [0x474b7c]
mov dword [eax + 0x128], ecx
mov dword [eax + 0x12c], edx
mov ecx, dword [ebp - 0x1c]
call fcn.00402ed6
mov ecx, dword [0x474b7c]
mov eax, 0x4141c8
mov esi, eax
push ebx
push 0x80000
lea edi, [ecx + 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ecx + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ecx + 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ecx + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ecx + 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ecx + 0xc8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.00401eb6
pop ecx
test eax, eax
mov edx, 0x419864
mov eax, dword [ebp - 0x1c]
pop ecx
mov ecx, 0x41987c
mov dword [ebp - 0x54], eax
cmovne edx, ecx
xor esi, esi
mov cl, byte [eax]
inc esi
mov dword [ebp - 0x48], edx
cmp cl, 0x20
je 0x407eaf
test cl, cl
je 0x407e3c
push esi
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.0040c8bf
mov eax, dword [ebp - 0x1c]
pop ecx
mov cl, byte [eax]
cmp cl, 0x20
jne 0x407e22
mov dword [ebp - 0x54], eax
jmp 0x407eac
push 0x10
lea eax, [ebp - 0x18]
push edi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
lea ecx, [edi + 0x10]
mov edx, 0x41707c
push esi
push esi
push ebx
call fcn.004029d0
add esp, 0xc
test eax, eax
jne 0x407e7f
push esi
push esi
push ebx
mov edx, 0x417084
lea ecx, [edi + 0x10]
call fcn.004029d0
add esp, 0xc
test eax, eax
je 0x407e83
mov byte [eax + 3], 0x58
mov ecx, dword [0x474b7c]
lea edx, [ebp - 0x18]
lea ecx, [ecx + 0x50]
call fcn.0040a799
push esi
push ebx
push esi
mov edx, 0x414410
mov dword [ebp - 0x1c], edi
mov ecx, edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x48]
push esi
push esi
push esi
push 0xfd
mov ecx, eax
call fcn.00402a90
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x407e41
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], ecx
jmp 0x40803e
push 0x10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], edi
push edi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
lea ecx, [edi + 0x10]
mov edx, 0x41709c
push esi
push esi
push esi
push 0xfe
call fcn.00402a90
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x407fdc
push esi
push esi
push esi
push 0xfe
mov edx, 0x41707c
lea ecx, [edi + 0x10]
call fcn.00402a90
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x407fdc
push esi
push esi
push esi
push 0xfe
mov edx, 0x4170a8
lea ecx, [edi + 0x10]
call fcn.00402a90
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x407f71
push esi
push esi
push esi
push 0xfe
mov edx, 0x4170b4
lea ecx, [edi + 0x10]
call fcn.00402a90
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
je 0x408024
lea ecx, [ebp - 0x34]
call fcn.00401d3c
cmp eax, 0x41
jge 0x407f99
mov edx, eax
lea ecx, [ebp - 0x18]
call fcn.00401f47
mov ecx, dword [0x474b7c]
lea ecx, [ecx + 0x98]
jmp 0x40801c
cmp eax, 0x80
jg 0x407fb9
lea edx, [eax - 0x40]
lea ecx, [ebp - 0x18]
call fcn.00401f47
mov ecx, dword [0x474b7c]
lea ecx, [ecx + 0xb0]
jmp 0x40801c
cmp eax, 0xff
jle 0x408024
lea edx, [eax - 0x100]
lea ecx, [ebp - 0x18]
call fcn.00401f47
mov ecx, dword [0x474b7c]
lea ecx, [ecx + 0xc8]
jmp 0x40801c
lea ecx, [ebp - 0x34]
call fcn.00401d3c
cmp eax, 0x41
jge 0x407ffe
mov edx, eax
lea ecx, [ebp - 0x18]
call fcn.00401f47
mov ecx, dword [0x474b7c]
lea ecx, [ecx + 0x68]
jmp 0x40801c
cmp eax, 0x80
jg 0x408024
lea edx, [eax - 0x40]
lea ecx, [ebp - 0x18]
call fcn.00401f47
mov ecx, dword [0x474b7c]
lea ecx, [ecx + 0x80]
lea edx, [ebp - 0x18]
call fcn.0040a799
push esi
push ebx
push esi
mov edx, 0x414410
mov dword [ebp - 0x1c], edi
mov ecx, edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov ecx, eax
push esi
push ebx
push esi
push 0xfd
mov edx, 0x417090
call fcn.00402a90
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x407ed6
mov esi, dword [0x474b7c]
push 0x200
push ebx
lea edi, [esi + 0x138]
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea edx, [esi + 0x50]
mov ecx, edi
push 0x62
push 0xffffffffffffffeb
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
lea esi, [edx + 0x138]
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408099
sub ecx, edi
jne 0x4080be
push 0x4170bc
push 0x200
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov edx, dword [0x474b7c]
add esp, 0xc
push 0x41413c
lea eax, [edx + 0x138]
push 0x200
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
xor edi, edi
inc edi
push 0x42
push edi
lea edx, [eax + 0x68]
lea ecx, [eax + 0x138]
call fcn.00401c4b
pop ecx
pop ecx
mov ecx, dword [0x474b7c]
lea edx, [ecx + 0x138]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x408102
sub edx, esi
push ebx
push 4
cmp byte [edx + ecx + 0x137], 0x2c
jne 0x4083fb
call fcn.00401eb6
pop ecx
test eax, eax
mov eax, dword [0x474b7c]
pop ecx
jne 0x4083dd
push 0x42
push 0x41
lea edx, [eax + 0x80]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408158
mov eax, dword [0x474b7c]
sub ecx, esi
cmp byte [eax + ecx + 0x137], 0x2c
jne 0x408189
push 0x4170c0
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push 0x6e
pop esi
push esi
push edi
lea edx, [eax + 0x98]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4081b5
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
je 0x4081e7
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x41
lea edx, [eax + 0xb0]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408211
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
je 0x408243
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x101
lea edx, [eax + 0xc8]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
lea eax, [edx + 0x138]
mov ecx, eax
mov dword [ebp - 0x4c], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408273
sub ecx, dword [ebp - 0x2c]
cmp byte [edx + ecx + 0x137], 0x2c
jne 0x4082a3
push 0x4170bc
push 0x200
push dword [ebp - 0x4c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov edx, dword [0x474b7c]
add esp, 0xc
push ebx
push 0x20000
mov ecx, edx
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x4086f8
mov eax, dword [0x474b7c]
push 0x41413c
add eax, 0x138
push 0x200
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov ecx, dword [0x474b7c]
add esp, 0xc
lea eax, [ecx + 0xe0]
lea edx, [ecx + 0x98]
mov dword [ebp - 0x4c], eax
sub eax, edx
mov ecx, eax
mov al, byte [edx]
mov byte [ecx + edx], al
inc edx
test al, al
jne 0x4082f1
mov ecx, dword [0x474b7c]
lea edx, [ecx + 0xb0]
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx + 0xf8], al
inc edx
test al, al
jne 0x408309
mov ecx, dword [0x474b7c]
lea edx, [ecx + 0xc8]
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx + 0x110], al
inc edx
test al, al
jne 0x408325
mov ecx, dword [0x474b7c]
mov edx, dword [ebp - 0x4c]
add ecx, 0x138
push esi
push edi
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40835f
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
je 0x408391
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x41
lea edx, [eax + 0xf8]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4083bb
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
je 0x4086df
jmp 0x4086c6
push 0x4170bc
add eax, 0x138
push 0x200
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
add esp, 0xc
jmp 0x4086f8
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
jne 0x4086f8
mov eax, dword [0x474b7c]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
add eax, 0x138
push 0x414134
push 0x200
push eax
call esi
mov eax, dword [0x474b7c]
add esp, 0xc
push 0x42
push 0x41
lea edx, [eax + 0x80]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov ecx, dword [0x474b7c]
push ebx
push edi
call fcn.00401eb6
add esp, 0x10
test eax, eax
je 0x4086f8
mov eax, dword [0x474b7c]
push 0x41413c
add eax, 0x138
push 0x200
push eax
call esi
mov eax, dword [0x474b7c]
add esp, 0xc
push 0x6e
pop esi
push esi
push edi
lea edx, [eax + 0x98]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4084a7
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
je 0x4084d9
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x41
lea edx, [eax + 0xb0]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408503
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
je 0x408535
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x101
lea edx, [eax + 0xc8]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
lea eax, [edx + 0x138]
mov ecx, eax
mov dword [ebp - 0x4c], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408565
sub ecx, dword [ebp - 0x2c]
cmp byte [edx + ecx + 0x137], 0x2c
jne 0x408595
push 0x4170bc
push 0x200
push dword [ebp - 0x4c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov edx, dword [0x474b7c]
add esp, 0xc
push ebx
push 0x20000
mov ecx, edx
call fcn.00401eb6
pop ecx
pop ecx
test eax, eax
je 0x4086f8
mov eax, dword [0x474b7c]
push 0x41413c
add eax, 0x138
push 0x200
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov ecx, dword [0x474b7c]
add esp, 0xc
lea eax, [ecx + 0xe0]
lea edx, [ecx + 0x98]
mov dword [ebp - 0x4c], eax
sub eax, edx
mov ecx, eax
mov al, byte [edx]
mov byte [ecx + edx], al
inc edx
test al, al
jne 0x4085e3
mov ecx, dword [0x474b7c]
lea edx, [ecx + 0xb0]
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx + 0xf8], al
inc edx
test al, al
jne 0x4085fb
mov ecx, dword [0x474b7c]
lea edx, [ecx + 0xc8]
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx + 0x110], al
inc edx
test al, al
jne 0x408617
mov ecx, dword [0x474b7c]
mov edx, dword [ebp - 0x4c]
add ecx, 0x138
push esi
push edi
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408651
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
jne 0x408683
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x41
lea edx, [eax + 0xf8]
lea ecx, [eax + 0x138]
call fcn.00401c4b
mov edx, dword [0x474b7c]
pop ecx
pop ecx
add edx, 0x138
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4086ad
sub ecx, dword [ebp - 0x2c]
mov eax, dword [0x474b7c]
cmp byte [eax + ecx + 0x137], 0x2c
jne 0x4086df
push 0x414134
push 0x200
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x474b7c]
add esp, 0xc
push esi
push 0x101
lea edx, [eax + 0x110]
lea ecx, [eax + 0x138]
call fcn.00401c4b
pop ecx
pop ecx
mov esi, dword [ebp - 0x50]
mov ecx, esi
push 0x10000000
push ebx
push ebx
push 0x200000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40872b
push 0x4170c4
call fcn.00401006
pop ecx
mov ecx, dword [0x474b7c]
call fcn.00402057
push 0x10000000
push ebx
push 0x20000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408fc2
mov esi, dword [0x474b7c]
mov ecx, dword [0x476148]
add esi, 0x138
mov eax, ecx
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0x138], al
inc esi
test al, al
jne 0x408761
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0x50
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0x50], al
inc esi
test al, al
jne 0x40877e
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0x68
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0x68], al
inc esi
test al, al
jne 0x408798
mov esi, dword [0x474b7c]
mov eax, ecx
sub esi, 0xffffff80
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0x80], al
inc esi
test al, al
jne 0x4087b2
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0x98
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0x98], al
inc esi
test al, al
jne 0x4087d2
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0xb0
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0xb0], al
inc esi
test al, al
jne 0x4087f2
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0xc8
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0xc8], al
inc esi
test al, al
jne 0x408812
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0xe0
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0xe0], al
inc esi
test al, al
jne 0x408832
mov esi, dword [0x474b7c]
mov eax, ecx
add esi, 0xf8
sub eax, esi
mov edx, eax
mov al, byte [esi]
mov byte [edx + esi + 0xf8], al
inc esi
test al, al
jne 0x408852
mov edx, dword [0x474b7c]
add edx, 0x110
sub ecx, edx
mov al, byte [edx]
mov byte [ecx + edx + 0x110], al
inc edx
test al, al
jne 0x40886e
jmp 0x408fc2
push 0x10000000
push ebx
push 0x100000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408ab6
push edi
push edi
push edi
mov esi, 0xfa
mov dword [0x476148], 0x43cc70
push esi
mov edx, 0x4170e0
mov ecx, 0x470b68
call fcn.00402a90
add esp, 0x10
test eax, eax
je 0x4089d3
push 0xd
push eax
push 0x4396e0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
add esp, 0xc
push 3
pop eax
push eax
push 0x414128
push dword [0x476148]
call esi
add esp, 0xc
test eax, eax
je 0x408949
push 3
pop ebx
mov edx, dword [0x476148]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408909
sub ecx, esi
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
push ecx
push edx
push 0x4396e0
call esi
add esp, 0xc
test eax, eax
je 0x408947
mov eax, dword [0x476148]
push ebx
add eax, 0x388
push 0x414128
push eax
mov dword [0x476148], eax
call esi
add esp, 0xc
test eax, eax
jne 0x4088fe
xor ebx, ebx
push 3
pop eax
push eax
push 0x414128
push dword [0x476148]
call esi
add esp, 0xc
test eax, eax
jne 0x40896a
mov eax, ebx
mov dword [0x476148], eax
jmp 0x40896f
mov eax, dword [0x476148]
test eax, eax
je 0x408fc2
push 0x10
lea esi, [eax + 8]
mov edi, 0x474b88
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x474c38]
lea edi, [eax + 0x348]
mov esi, 0x4396e0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
mov byte [eax + 0x355], bl
inc edi
test ecx, ecx
je 0x4089c2
mov dword [eax + 0x130], ecx
mov edx, edi
push ebx
push 0x1c0
mov ecx, eax
call fcn.00401edc
mov eax, dword [0x476148]
pop ecx
pop ecx
push ebx
push 0x40
mov ecx, eax
call fcn.00401eb6
pop ecx
pop ecx
mov esi, 0xfa
cmp dword [0x476148], 0
je 0x408fc2
push edi
push edi
push edi
push esi
mov edx, 0x4170ec
mov ecx, 0x470b68
call fcn.00402a90
add esp, 0x10
test eax, eax
je 0x408a26
push 0xf
push eax
push 0x420018
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [0x476148]
add esp, 0xc
add eax, 0x358
push 0xf
push 0x420018
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
push edi
push edi
push edi
push esi
mov edx, 0x4170f8
mov ecx, 0x470b68
call fcn.00402a90
mov esi, eax
add esp, 0x10
test esi, esi
je 0x408a7c
mov cl, byte [esi]
mov edx, esi
jmp 0x408a59
cmp cl, 0xa
je 0x408a5e
cmp cl, 0x20
je 0x408a5e
test cl, cl
je 0x408a5e
inc edx
mov cl, byte [edx]
cmp cl, 0xd
jne 0x408a48
sub edx, esi
push edx
push esi
push 0x479968
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov ecx, esi
call fcn.00401da5
mov dword [0x47614c], eax
push edi
push edi
push edi
push 0xfa
mov edx, 0x41710c
mov ecx, 0x470b68
call fcn.00402a90
add esp, 0x10
test eax, eax
je 0x408fc2
mov ecx, dword [0x476148]
mov edx, eax
add ecx, 0x338
call fcn.00401c2d
jmp 0x408fc2
push 0x10000000
push ebx
push 0x2000000
push ebx
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408b7b
push edi
push ebx
push edi
mov edx, 0x417120
mov ecx, 0x470b68
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
push edi
test eax, eax
je 0x408b17
push edi
push edi
mov edx, 0x417138
mov ecx, eax
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x40a75d
mov ecx, 0x417144
jmp 0x4076ba
push ebx
push edi
mov edx, 0x41715c
mov ecx, 0x470b68
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x408b4b
lea ecx, [ebp - 0x38]
call fcn.00401d3c
push eax
push 0x417174
call fcn.00401006
pop ecx
jmp 0x40a75c
push edi
push ebx
push edi
mov edx, 0x417190
mov ecx, 0x470b68
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x408fc2
lea ecx, [ebp - 0x38]
call fcn.00401d3c
push eax
push 0x4171b4
jmp 0x408b40
push 0x20000000
push ebx
push ebx
push edi
mov ecx, esi
call fcn.00401e55
add esp, 0x10
push edi
test eax, eax
je 0x408c20
push ebx
mov esi, 0x470b68
mov edx, 0x414a64
push edi
mov ecx, esi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x408bb6
mov dword [ebp - 0x38], esi
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x38]
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
jmp 0x408bd5
cmp al, 0xa
je 0x408bdb
test al, al
je 0x408bdb
inc ecx
mov al, byte [ecx]
cmp al, 0xd
jne 0x408bcc
push 2
mov byte [ecx], bl
mov edx, 0x478658
mov eax, dword [ebp - 0x38]
pop esi
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x408c04
test cl, cl
je 0x408c08
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x408c04
add edx, esi
add eax, esi
test cl, cl
jne 0x408be8
jmp 0x408c08
sbb ebx, ebx
or ebx, edi
test ebx, ebx
jne 0x408c16
push 0x4171d0
jmp 0x40a757
mov ecx, 0x4171f8
jmp 0x4076ba
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
jne 0x408c89
push edi
mov edx, 0x416228
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
jne 0x408cab
mov eax, dword [ebp - 0x44]
push ebx
push 0x4000
lea eax, [eax + 0x470b68]
push eax
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, dword [ebp - 0x44]
mov edx, 0x414434
add ecx, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], ecx
mov ecx, 0x470b68
push edi
call fcn.00402c88
pop ecx
test eax, eax
je 0x408fc2
push 0x10000000
push ebx
push ebx
push 4
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408fc2
push 0x417234
jmp 0x408ccb
push 0x10000000
push ebx
push ebx
push 4
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408fc2
push 0x41723c
call fcn.00401006
pop ecx
jmp 0x408fc2
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x408d20
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x200000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408fc2
push 0x416938
call fcn.00401006
mov dword [esp], 0x416994
jmp 0x407784
mov ecx, 0x4169c8
jmp 0x4076ba
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x408dbe
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x200000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x408fc2
push 0x4168a0
call fcn.00401006
mov dword [esp], 0x4168f0
push 0x414a5c
call fcn.00401006
pop ecx
pop ecx
push 0xf
mov ecx, ebx
mov edx, edi
pop esi
mov al, byte [edx + 0x454987]
mov byte [ecx + 0x468e98], al
inc ecx
test dl, 1
jne 0x408d9c
mov byte [ecx + 0x468e98], 0x2c
inc ecx
inc edx
sub esi, 1
jne 0x408d82
mov byte [ecx + 0x468e98], 0x30
inc ecx
cmp ecx, 0x19
jae 0x40a76e
mov byte [ecx + 0x468e98], bl
jmp 0x408fc2
mov ecx, 0x416920
jmp 0x4076ba
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
push 0x474c18
test eax, eax
je 0x408dec
push 0x416800
jmp 0x4078f1
push 0x416858
push esi
call fcn.00401034
add esp, 0xc
mov ecx, esi
jmp 0x407c4c
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
push 0x474c18
test eax, eax
je 0x408e25
push 0x416760
jmp 0x4078f1
push 0x4167b8
jmp 0x408df1
push edi
mov edx, 0x414434
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
je 0x408e4b
push 0x4166c0
jmp 0x408ccb
mov ecx, 0x416718
jmp 0x407c4c
push ebx
push edi
mov edx, 0x414410
mov dword [ebp - 0x3c], 0x470b68
lea ecx, [ebp - 0x3c]
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3c]
call fcn.00402ed6
mov esi, dword [ebp - 0x3c]
mov edx, 0x479418
mov ecx, ebx
lea eax, [esi + 0xf]
cmp eax, edx
jb 0x408ea7
cmp esi, 0x479427
ja 0x408ea7
sub esi, edx
mov al, byte [ecx + esi + 0x479418]
mov byte [ecx + 0x479418], al
inc ecx
cmp ecx, 0x10
jl 0x408e90
xor ebx, ebx
jmp 0x408eb3
mov edi, 0x479418
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
inc edi
mov esi, dword [ebp - 0x50]
mov ecx, esi
push 0x10000000
push ebx
push ebx
push 0x4000
mov byte [0x479428], bl
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408ee9
cmp dword [0x4789e8], 0
jne 0x408ee9
mov ecx, 0x416654
jmp 0x4076ba
cmp dword [0x476148], 0
je 0x408f24
push 0x10000000
push ebx
push ebx
push 0x10
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
mov eax, dword [0x476148]
mov eax, dword [eax + 0x380]
je 0x408f1c
mov dword [eax + 0x50], edi
jmp 0x408fc2
mov dword [eax + 0x50], ebx
jmp 0x408fc2
push 0x41668c
jmp 0x40774f
push edi
mov edx, 0x41661c
mov ecx, 0x470b68
call fcn.00402c88
pop ecx
test eax, eax
jne 0x408fc2
mov ecx, 0x416624
jmp 0x4076ba
push edi
push ebx
push edi
mov edx, 0x416604
mov ecx, 0x470b68
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
je 0x408fb7
push edi
push edi
push ebx
mov edx, 0x416614
mov ecx, eax
call fcn.004029d0
add esp, 0xc
test eax, eax
jne 0x408fb7
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x48]
call fcn.00402963
mov edx, dword [0x476148]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
add edx, 0x368
jmp 0x408fad
cmp al, 0xa
je 0x408fb3
test al, al
je 0x408fb3
mov byte [edx], al
inc edx
inc ecx
mov al, byte [ecx]
cmp al, 0xd
jne 0x408fa1
mov byte [edx], bl
jmp 0x408fc2
mov eax, dword [0x476148]
mov byte [eax + 0x368], bl
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 4
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x408fde
mov eax, ebx
jmp 0x408fe8
mov ecx, 0x470b68
call fcn.00402e62
cmp dword [0x476350], 0
mov dword [ebp - 0x3c], eax
je 0x40900e
push dword [ebp - 0x30]
push 0x417244
call fcn.00401006
push 0x417258
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x40
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40904c
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push 0x10000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40904c
push 0x41727c
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x20000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409089
mov ecx, dword [ebp - 0x3c]
call fcn.00402ed6
push 0x41729c
call fcn.00401006
mov esi, dword [ebp - 0x44]
mov edx, esi
pop ecx
mov ecx, dword [ebp - 0x3c]
call fcn.00402d51
jmp 0x40908c
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x20100
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409846
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], ebx
call fcn.00402ed6
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok_s]
lea eax, [ebp - 0x38]
push eax
push 0x4144dc
push dword [ebp - 0x3c]
call esi
mov ecx, dword [ebp - 0x50]
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], eax
push 0x8000000
push ebx
push ebx
push 0x100
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409103
push dword [ebp - 0x30]
push 0x41440c
push 0x479a08
call fcn.00401034
add esp, 0xc
lea eax, [ebp - 0x38]
push eax
push 0x4144dc
push ebx
call esi
mov ecx, dword [ebp - 0x50]
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x30], esi
push 0x8000000
push ebx
push ebx
push 0x100
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4091f3
cmp dword [0x46ccf4], 0
jl 0x4091f0
push 0x4172c0
mov dword [ebp - 0x54], ebx
call fcn.00401006
mov dword [esp], 0x479a08
push 0x414414
call fcn.00401006
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30]
call fcn.00402ef4
mov dword [ebp - 0x48], eax
test eax, eax
js 0x4091db
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x30]
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x30]
call fcn.00402dca
mov eax, dword [ebp - 0x48]
cmp eax, dword [0x46ccf4]
jne 0x4091b1
push dword [ebp - 0x30]
mov dword [ebp - 0x54], edi
push 0x41440c
push 0x479640
call fcn.00401034
mov esi, dword [ebp - 0x30]
add esp, 0xc
lea eax, [ebp - 0x38]
push eax
push 0x4144dc
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok_s]
add esp, 0xc
mov dword [ebp - 0x30], eax
mov ecx, eax
call fcn.00402ef4
mov dword [ebp - 0x48], eax
test eax, eax
jns 0x409172
cmp dword [ebp - 0x54], 0
jne 0x4091f0
push dword [0x46ccf4]
mov esi, 0x479108
push 0x4172e0
jmp 0x407676
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp - 0x50]
mov esi, 0x8000000
push esi
push ebx
push ebx
push 0x100
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409224
push dword [ebp - 0x2c]
push 0x414414
push 0x479a08
call fcn.00401034
add esp, 0xc
mov eax, dword [ebp - 0x30]
mov cl, byte [eax]
cmp cl, 0xd
je 0x409233
cmp cl, 0xa
jne 0x409239
inc eax
mov dword [ebp - 0x30], eax
jmp 0x409227
mov ecx, dword [ebp - 0x50]
push esi
push ebx
push ebx
push 0x20000
mov dword [ebp - 0x4c], eax
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409260
push edi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
call fcn.00401fe7
pop ecx
mov eax, dword [ebp - 0x30]
mov ecx, ebx
push 2
pop edx
cmp byte [eax], 0x2c
jne 0x409272
inc ecx
inc eax
mov dword [ebp - 0x30], eax
cmp ecx, edx
jne 0x409281
cmp byte [eax], 0x20
jne 0x409289
inc eax
mov dword [ebp - 0x30], eax
jmp 0x409268
inc eax
mov dword [ebp - 0x30], eax
cmp ecx, edx
jle 0x409268
lea ecx, [ebp - 0x38]
push ecx
push 0x4144c0
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok_s]
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40934f
mov eax, ebx
cmp eax, 8
ja case.default.0x4092ad
jmp dword [eax*4 + 0x40a775]
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
test eax, eax
push ebx
push 2
pop eax
push eax
push eax
push 5
push edi
je 0x409305
mov edx, dword [0x476148]
mov esi, 0x479440
mov ecx, esi
lea edx, [edx + 0x50]
call fcn.00402fde
mov edx, dword [0x476148]
add esp, 0x14
mov ecx, esi
push ebx
push 4
push ebx
push 0xc
push 7
lea edx, [edx + 0x50]
jmp 0x409323
mov edx, esi
mov ecx, 0x479440
call fcn.00402fde
add esp, 0x14
mov ecx, 0x479440
push ebx
push 4
push ebx
push 0xc
push 7
mov edx, esi
call fcn.00402fde
add esp, 0x14
lea eax, [ebp - 0x38]
push eax
push 0x4144c0
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok_s]
mov esi, eax
add esp, 0xc
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
test esi, esi
jne 0x4092a8
mov esi, dword [ebp - 0x50]
mov ecx, esi
push 0x8000000
push ebx
push ebx
push 0x400000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
push 0x8000000
push ebx
push ebx
push 0x100
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x4096b6
push dword [0x46ccf4]
push 0x417308
call fcn.00401006
push 0x479a08
push 0x41440c
call fcn.00401006
push 0x479640
push 0x414414
call fcn.00401006
push dword [0x46ccf4]
push 0x41733c
call fcn.00401006
add esp, 0x20
jmp 0x4096c1
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x476388
push ebx
push 0x10
push ebx
push ebx
push edi
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0x68]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je 0x40942d
mov eax, dword [eax + 0x128]
and eax, 4
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
jne case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x476388
push ebx
push 0x10
push ebx
push ebx
push 0x41
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0x80]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je case.default.0x4092ad
mov eax, dword [eax + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x479768
push edi
push 0x10
push ebx
push ebx
push edi
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0x98]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je case.default.0x4092ad
mov eax, dword [eax + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x479768
push edi
push 0x10
push ebx
push ebx
push 0x41
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0xb0]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je case.default.0x4092ad
mov eax, dword [eax + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x479768
push edi
push 0x10
push ebx
push ebx
push 0x101
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0xc8]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je case.default.0x4092ad
mov eax, dword [eax + 0x128]
and eax, 0x20000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x476150
push edi
push 0x10
push ebx
push ebx
push edi
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0xe0]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je case.default.0x4092ad
mov eax, dword [eax + 0x128]
and eax, 0x20000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x476150
push edi
push 0x10
push ebx
push ebx
push 0x41
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0xf8]
jmp 0x409323
mov eax, dword [0x476148]
test eax, eax
je case.default.0x4092ad
mov eax, dword [eax + 0x128]
and eax, 0x20000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je case.default.0x4092ad
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
mov ecx, 0x476150
push edi
push 0x10
push ebx
push ebx
push 0x101
test eax, eax
je 0x409321
mov edx, dword [0x476148]
lea edx, [edx + 0x110]
jmp 0x409323
push 0x417368
call fcn.00401006
pop ecx
mov edx, 0x476388
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4096c9
sub edx, ecx
mov ecx, 0x479440
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4096dd
test edx, edx
mov eax, 0x476388
mov edx, 0x414154
cmove eax, edx
sub ecx, dword [ebp - 0x2c]
push eax
mov eax, 0x479440
cmove eax, edx
push eax
push 0x417384
call fcn.00401006
mov ecx, dword [0x476148]
add esp, 0xc
test ecx, ecx
je 0x4097c7
mov eax, dword [ecx + 0x128]
and eax, 0x20000
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x409784
mov ecx, 0x479768
mov edx, ecx
lea eax, [edx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x40973e
sub edx, dword [ebp - 0x2c]
mov eax, 0x414154
cmove ecx, eax
push ecx
push 0x4173b0
call fcn.00401006
pop ecx
pop ecx
mov edx, 0x476150
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40976a
sub ecx, dword [ebp - 0x2c]
mov eax, 0x414154
cmove edx, eax
push edx
push 0x4173c8
jmp 0x4097c0
test ecx, ecx
je 0x4097c7
mov eax, dword [ecx + 0x128]
and eax, edi
or eax, ebx
mov eax, edi
cmove eax, ebx
test eax, eax
je 0x4097c7
mov ecx, 0x479768
mov edx, ecx
lea eax, [edx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x4097a8
sub edx, dword [ebp - 0x2c]
mov eax, 0x414154
cmove ecx, eax
push ecx
push 0x4173e0
call fcn.00401006
pop ecx
pop ecx
push 0x8000000
push ebx
push ebx
push 0x20000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409974
push edi
lea edx, [ebp - 0x24]
mov dword [ebp - 0x2c], 0x479310
lea ecx, [ebp - 0x2c]
call fcn.00401fe7
mov dword [esp], 0x10000000
mov ecx, esi
push ebx
push 0x40
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409974
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1c], eax
je 0x409974
push eax
push 0x4173f8
push 0x479108
call fcn.00401034
add esp, 0xc
mov ecx, 0x479108
push 0xc
pop edx
call fcn.00402d26
jmp 0x409974
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 8
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x400
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x4000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x10000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push 0x10000000
push ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409974
mov ecx, dword [ebp - 0x3c]
call fcn.00402ed6
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x2000000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409944
push 0xe
pop edx
mov ecx, 0x417450
call fcn.00402d26
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x80000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40996a
push 0x4121fc
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x3c]
mov edx, esi
call fcn.00402d51
mov ecx, dword [ebp - 0x50]
mov esi, 0x8000000
push esi
push ebx
push ebx
push 0x14000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409d21
mov ecx, dword [ebp - 0x3c]
mov edx, 0x417468
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x409cbd
push ebx
push edi
mov edx, 0x4144c0
lea ecx, [ebp - 0x38]
call fcn.00402963
mov edx, dword [ebp - 0x38]
mov esi, 0x4396e0
pop ecx
pop ecx
mov eax, ebx
sub edx, esi
mov cl, byte [edx + eax + 0x4396e0]
test cl, cl
je 0x4099f0
cmp cl, 0xa
je 0x4099f0
cmp cl, 0xd
je 0x4099f0
mov byte [eax + 0x4396e0], cl
inc eax
cmp eax, 0xd
jl 0x4099cf
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x2000
mov byte [0x4396ed], bl
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409a1e
push esi
push 0x417470
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x478650], 0
mov esi, 0x43cc70
push 3
pop eax
push eax
push 0x414128
push esi
je 0x409bfb
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
call edi
add esp, 0xc
test eax, eax
je 0x409a82
push 3
pop ebx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409a51
sub ecx, edx
push ecx
push esi
push 0x4396e0
call edi
add esp, 0xc
test eax, eax
je 0x409a80
push ebx
add esi, 0x388
push 0x414128
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x409a4c
xor ebx, ebx
push 3
pop eax
push eax
push 0x414128
push esi
call edi
add esp, 0xc
neg eax
sbb eax, eax
and eax, esi
cmp dword [0x476144], 0
mov dword [0x474b7c], eax
jne 0x409ab6
test eax, eax
je 0x409ab6
mov ecx, dword [0x476148]
mov edx, eax
call fcn.00402798
mov edx, dword [0x476148]
cmp dword [0x478650], 0
mov dword [0x476148], edx
je 0x409ae5
test edx, edx
je 0x409ae5
mov eax, dword [edx + 0x12c]
or dword [edx + 0x128], 0x1000
mov dword [edx + 0x12c], eax
cmp dword [0x476144], 0
je 0x409b05
test edx, edx
je 0x409b05
mov eax, dword [edx + 0x12c]
and dword [edx + 0x128], 0xffffffe7
mov dword [edx + 0x12c], eax
mov eax, dword [0x474c38]
lea esi, [edx + 8]
push 0x10
pop ecx
mov edi, 0x474b88
rep movsd dword es:[edi], dword [esi]
mov esi, 0x4396e0
lea edi, [edx + 0x348]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
mov byte [edx + 0x355], bl
test eax, eax
je 0x409b4e
or dword [edx + 0x128], 0x1c0
mov dword [edx + 0x130], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x12c], eax
inc edi
mov ecx, dword [ebp - 0x50]
mov esi, 0x8000000
push esi
push ebx
push ebx
push 0x10000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409d21
cmp dword [0x476148], eax
jne 0x40764a
mov ecx, dword [ebp - 0x38]
mov esi, 0x479108
movsx eax, byte [ecx + 5]
push eax
movsx eax, byte [ecx + 4]
push eax
movsx eax, byte [ecx + 3]
push eax
movsx eax, byte [ecx + 2]
push eax
movsx eax, byte [ecx + 1]
push eax
movsx eax, byte [ecx]
push eax
push 0x417634
push esi
call fcn.00401034
add esp, 0x20
mov ecx, esi
push 0xc
pop edx
call fcn.00402d26
mov ecx, 0x417670
jmp 0x4076ba
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409bc7
sub ecx, edx
push ecx
push esi
push 0x4396e0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x409c68
push 3
pop eax
push eax
add esi, 0x388
push 0x414128
mov dword [ebp - 0x28], esi
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x409bc2
mov eax, ebx
test eax, eax
jne 0x409cb5
mov esi, dword [ebp - 0x50]
mov ecx, esi
push 0x10000000
push ebx
push ebx
push 0x1000000
mov dword [0x476148], ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409b4f
push 0x10000000
push ebx
push ebx
push 0x2000000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409c6c
push 0x4396e0
push 0x417490
call fcn.00401006
pop ecx
jmp 0x409d04
mov eax, edi
jmp 0x409c0a
mov ecx, dword [ebp - 0x38]
movsx eax, byte [ecx + 5]
push eax
movsx eax, byte [ecx + 4]
push eax
movsx eax, byte [ecx + 3]
push eax
movsx eax, byte [ecx + 2]
push eax
movsx eax, byte [ecx + 1]
push eax
movsx eax, byte [ecx]
push eax
push 0x4174c8
push 0x479108
call fcn.00401034
add esp, 0x20
mov ecx, 0x479108
push 0xc
pop edx
call fcn.00402d26
mov ecx, 0x417500
jmp 0x4076ba
mov edx, dword [ebp - 0x28]
jmp 0x409abc
mov ecx, dword [ebp - 0x50]
mov esi, 0x10000000
push esi
push ebx
push ebx
push 0x1000000
mov dword [0x476148], ebx
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409b4f
mov ecx, dword [ebp - 0x50]
push esi
push ebx
push ebx
push 0x2000000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409d0a
push 0x417554
call fcn.00401006
pop ecx
jmp 0x409b4f
push 0xc
pop edx
mov ecx, 0x417590
call fcn.00402d26
mov ecx, 0x4175d0
jmp 0x4076ba
mov ecx, dword [ebp - 0x50]
push esi
push ebx
push ebx
push 8
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409d54
mov ecx, dword [ebp - 0x50]
push 0x10000000
push ebx
push ebx
push 0x400
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409e7e
mov ecx, dword [ebp - 0x3c]
mov edx, 0x4176bc
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x409e73
push ebx
push edi
mov edx, 0x4144c0
lea ecx, [ebp - 0x38]
mov esi, 0x420018
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
jmp 0x409da0
cmp al, 0xa
je 0x409da6
cmp al, 0xd
je 0x409da6
cmp al, 0x20
je 0x409da6
mov byte [esi], al
inc esi
inc ecx
mov dword [ebp - 0x38], ecx
mov al, byte [ecx]
test al, al
jne 0x409d8d
mov edi, dword [ebp - 0x50]
mov ecx, edi
push 0x10000000
push ebx
push ebx
push 0x400
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409de7
push 0x4176c8
call fcn.00401006
mov dword [esp], 0x420018
push 0x41771c
call fcn.00401006
pop ecx
pop ecx
mov esi, 0x8000000
jmp 0x409e4c
mov esi, 0x8000000
mov ecx, edi
push esi
push ebx
push ebx
push 0x4000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409e4c
push esi
push ebx
push ebx
push 0x10000
mov ecx, edi
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x409e4c
push 0x420018
push esi
push ebx
push ebx
push 0x800000
mov ecx, edi
call fcn.00401e55
add esp, 0x10
mov ecx, 0x417730
test eax, eax
mov eax, 0x414158
cmove ecx, eax
push ecx
push 0x41773c
call fcn.00401006
add esp, 0xc
mov eax, dword [0x476148]
test eax, eax
je 0x409e81
mov esi, 0x420018
lea edi, [eax + 0x358]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x367], bl
mov esi, 0x8000000
jmp 0x409e7e
push 0x41774c
call fcn.00401006
pop ecx
mov edi, dword [ebp - 0x50]
push esi
push ebx
push ebx
push 0x14000
mov ecx, edi
call fcn.00401e55
xor edi, edi
add esp, 0x10
inc edi
mov esi, 0x417774
test eax, eax
je 0x409ed4
mov ecx, dword [ebp - 0x3c]
mov edx, esi
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
je 0x409ed4
push ebx
push edi
mov edx, 0x4144c0
lea ecx, [ebp - 0x48]
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
call fcn.00401da5
mov dword [0x47614c], eax
mov ecx, dword [ebp - 0x50]
push 0x8000000
push ebx
push ebx
push 0x200000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x409fbe
mov ecx, dword [ebp - 0x3c]
mov edx, esi
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x409fb3
push ebx
push edi
mov edx, 0x4144c0
lea ecx, [ebp - 0x1c]
mov esi, 0x479968
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
jmp 0x409f3c
cmp al, 0xa
je 0x409f42
cmp al, 0xd
je 0x409f42
cmp al, 0x20
je 0x409f42
mov byte [esi], al
inc esi
inc ecx
mov dword [ebp - 0x1c], ecx
mov al, byte [ecx]
test al, al
jne 0x409f29
push 0x417780
push 0x80
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
add esp, 0xc
lea ecx, [ebp - 0x1c]
mov edx, 0x414410
add esi, 9
push edi
push edi
call fcn.00402963
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
push 2
pop ebx
dec ecx
lea eax, [ebx - 1]
mov dword [ebp - 0x1c], ecx
mov dl, byte [ecx]
cmp dl, 0x20
cmovne eax, ebx
mov ebx, eax
test ebx, ebx
jg 0x409f70
push 0
pop ebx
jmp 0x409f9d
cmp dl, 0xa
je 0x409fa1
cmp dl, 0xd
je 0x409fa1
mov byte [esi], dl
inc esi
inc ecx
mov dword [ebp - 0x1c], ecx
mov dl, byte [ecx]
test dl, dl
jne 0x409f8a
push 0x479968
push 0x41778c
call fcn.00401006
pop ecx
jmp 0x409fbd
push 0x4177a4
call fcn.00401006
pop ecx
cmp dword [0x476350], 0
je 0x409fd2
push 0x4177d0
call fcn.00401006
pop ecx
push 0x2000
push ebx
push 0x4765d8
call sub.VCRUNTIME140.dll_memset
mov esi, dword [ebp - 0x50]
add esp, 0xc
mov ecx, esi
push 0x8000000
push ebx
push ebx
push 4
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40a5ad
push 0x2000
push ebx
push 0x4765d8
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push ebx
push 0x2000
push 0x4765d8
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_recv]
cmp dword [0x476350], 0
mov dword [ebp - 0x44], eax
je 0x40a046
push eax
push 0x4177f4
call fcn.00401006
pop ecx
pop ecx
push 0x8000000
push ebx
push ebx
push 0x412a0
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40a57c
push 0x414434
push 0x4765d8
call dword [sym.imp.VCRUNTIME140.dll_strstr]
pop ecx
pop ecx
test eax, eax
je 0x40a52f
inc dword [0x4787a4]
jmp 0x40a57c
push edi
mov eax, 0x470b68
mov edx, 0x4162fc
push edi
push ebx
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.004029d0
add esp, 0xc
test eax, eax
jne 0x40a0f6
mov ecx, dword [ebp - 0x3c]
mov edx, 0x4165a0
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
je 0x40a0f6
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x48]
call fcn.00402963
lea ecx, [ebp - 0x48]
call fcn.00401d3c
push eax
push 0x4165c0
push esi
call fcn.00401034
add esp, 0x14
mov ecx, esi
push 0xe
pop edx
call fcn.00402d26
jmp 0x40a75d
push 0x416570
jmp 0x40a757
push edi
mov eax, 0x470b68
mov dword [ebp - 0x44], ebx
push edi
push ebx
mov edx, 0x4162fc
mov dword [ebp - 0x30], ebx
mov ecx, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x3c], eax
call fcn.004029d0
add esp, 0xc
test eax, eax
jne 0x40a525
mov ecx, dword [ebp - 0x3c]
mov edx, 0x416384
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x40a41f
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x38]
call fcn.00402963
lea ecx, [ebp - 0x38]
call fcn.00401d3c
mov esi, eax
mov ecx, edx
push 3
mov eax, ecx
mov dword [0x470954], ecx
pop edx
mov ebx, esi
mov dword [0x470950], esi
shld eax, ebx, 1
push 3
mov dword [ebp - 0x2c], eax
add ebx, ebx
mov eax, ecx
mul edx
pop edx
mov dword [ebp - 0x50], eax
mov eax, esi
mul edx
add dword [ebp - 0x50], edx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
push eax
push ecx
push esi
lea ecx, [ebp - 0x44]
call fcn.00403b4c
add esp, 0x1c
push 0x4163a4
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x44]
mov esi, 0x415948
test ecx, ecx
jle 0x40a1e8
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163d8
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jle 0x40a20a
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163e4
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jle 0x40a22c
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163f0
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jle 0x40a24e
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163fc
call fcn.00401006
add esp, 0xc
cmp dword [ebp - 0x1c], edi
mov ecx, 0x414158
mov eax, esi
cmovle eax, ecx
push eax
push dword [ebp - 0x1c]
push 0x41640c
call fcn.00401006
add esp, 0xc
push 0x4121fc
call fcn.00401006
mov dword [esp], 0x41641c
call fcn.00401006
pop ecx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x2c]
lea edx, [ebp - 0x30]
push ebx
lea ecx, [ebp - 0x44]
call fcn.00403b4c
add esp, 0x14
push 0x41645c
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x44]
mov ebx, 0x414158
test ecx, ecx
jle 0x40a2ce
cmp ecx, edi
mov eax, esi
cmovle eax, ebx
push eax
push ecx
push 0x4163d8
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jle 0x40a2eb
cmp ecx, edi
mov eax, esi
cmovle eax, ebx
push eax
push ecx
push 0x4163e4
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jle 0x40a308
cmp ecx, edi
mov eax, esi
cmovle eax, ebx
push eax
push ecx
push 0x4163f0
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jle 0x40a325
cmp ecx, edi
mov eax, esi
cmovle eax, ebx
push eax
push ecx
push 0x4163fc
call fcn.00401006
add esp, 0xc
cmp dword [ebp - 0x1c], edi
mov eax, esi
cmovle eax, ebx
mov ebx, 0x41640c
push eax
push dword [ebp - 0x1c]
push ebx
call fcn.00401006
add esp, 0xc
push 0x4121fc
call fcn.00401006
pop ecx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x50]
lea edx, [ebp - 0x30]
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x44]
call fcn.00403b4c
add esp, 0x14
push 0x416490
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x44]
test ecx, ecx
jle 0x40a397
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163d8
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jle 0x40a3b9
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163e4
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jle 0x40a3db
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163f0
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jle 0x40a3fd
cmp ecx, edi
mov edx, 0x414158
mov eax, esi
cmovle eax, edx
push eax
push ecx
push 0x4163fc
call fcn.00401006
add esp, 0xc
cmp dword [ebp - 0x1c], edi
mov eax, 0x414158
cmovle esi, eax
push esi
push dword [ebp - 0x1c]
push ebx
call fcn.00401006
add esp, 0xc
push 0x4164c4
jmp 0x40a757
mov ecx, dword [ebp - 0x3c]
mov edx, 0x4164c8
push edi
push ebx
push edi
call fcn.004029d0
add esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x40a525
push ebx
push edi
mov edx, 0x414410
lea ecx, [ebp - 0x38]
call fcn.00402963
lea ecx, [ebp - 0x38]
call fcn.00401d3c
lea ecx, [ebp - 0x1c]
mov dword [0x476594], edx
push ecx
lea ecx, [ebp - 0x28]
mov dword [0x476590], eax
push ecx
lea ecx, [ebp - 0x34]
push ecx
push edx
push eax
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x44]
call fcn.00403b4c
add esp, 0x1c
push 0x4164e8
call fcn.00401006
pop ecx
mov ecx, dword [ebp - 0x44]
mov ebx, 0x415948
mov esi, 0x414158
test ecx, ecx
jle 0x40a4ad
cmp ecx, edi
mov eax, ebx
cmovle eax, esi
push eax
push ecx
push 0x4163d8
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jle 0x40a4ca
cmp ecx, edi
mov eax, ebx
cmovle eax, esi
push eax
push ecx
push 0x4163e4
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jle 0x40a4e7
cmp ecx, edi
mov eax, ebx
cmovle eax, esi
push eax
push ecx
push 0x4163f0
call fcn.00401006
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jle 0x40a504
cmp ecx, edi
mov eax, ebx
cmovle eax, esi
push eax
push ecx
push 0x4163fc
call fcn.00401006
add esp, 0xc
cmp dword [ebp - 0x1c], edi
cmovle ebx, esi
push ebx
push dword [ebp - 0x1c]
push 0x41640c
call fcn.00401006
add esp, 0xc
push 0x4121fc
jmp 0x40a757
push 0x416358
jmp 0x40a757
dec dword [0x4787a4]
mov ecx, esi
push 0x8000000
push ebx
push ebx
push 0x1000000
call fcn.00401e55
add esp, 0x10
test eax, eax
jne 0x40a57c
mov eax, dword [0x476148]
test eax, eax
je 0x40a56f
mov eax, dword [eax + 0x128]
mov ecx, 0x417810
and eax, 4
or eax, ebx
cmove edi, ebx
test edi, edi
jne 0x40a574
mov ecx, 0x417868
push 0xc
pop edx
call fcn.00402d26
cmp dword [0x476350], 0
je 0x40a5ad
push 0x4178cc
call fcn.00401006
mov dword [esp], 0x4765d8
push 0x414414
call fcn.00401006
push 0x4177d0
call fcn.00401006
add esp, 0xc
push 0x8000000
push ebx
push ebx
push 0x2000
mov ecx, esi
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40a5d2
push 0x4178f0
call fcn.00401006
pop ecx
mov eax, dword [ebp - 0x44]
jmp 0x40a75f
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4161c8
jmp 0x40a757
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x416178
jmp 0x40a757
push 0x10000000
push ebx
push ebx
push 0x8000000
call fcn.00401e55
add esp, 0x10
test eax, eax
je 0x40a634
or dword [0x425260], 0xffffffff
mov esi, 0x4160f0
or dword [0x43af50], 0xffffffff
jmp 0x40767f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x416138
jmp 0x407676
cmp dword [0x47095c], 0
jne 0x40a75d
mov edx, dword [0x456d08]
test edx, edx
jne 0x40a69d
push ebx
push 0x4000
push 0x470b68
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, dword [ebp - 0x50]
mov esi, 0x414728
push 5
mov edi, 0x479108
mov edx, dword [0x456d08]
mov eax, dword [ecx + 0xc]
or dword [ecx + 8], 0x8000000
mov dword [ecx + 0xc], eax
pop ecx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x40a6e5
mov ecx, dword [0x476148]
test ecx, ecx
je 0x40a6cb
mov ecx, dword [ecx + 0x12c]
mov eax, ebx
and ecx, edi
or eax, ecx
cmove edi, ebx
test edi, edi
je 0x40a6cb
mov esi, 0x414740
mov edi, 0x479108
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x40a6d8
mov esi, 0x41474c
mov edi, 0x479108
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x50]
xor dword [eax + 8], 0x8000000
xor dword [eax + 0xc], ebx
mov esi, 0x479108
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a6ef
sub ecx, edi
push ebx
push ecx
push esi
test edx, edx
jne 0x40a707
push dword [0x47879c]
jmp 0x40a70d
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_send]
mov eax, dword [ebp - 0x34]
push 0x414758
mov byte [eax], bl
mov byte [0x479108], bl
call fcn.00401006
mov dword [esp], 0x4147a4
call fcn.00401006
pop ecx
push 0x4147c4
call fcn.00401006
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x24], 1
jne 0x40a735
push 0x4147c8
call fcn.00401006
pop ecx
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041079d
leave
ret
call fcn.004108cd
nop
mov ah, 0x92
inc eax
add ah, dl
xchg ebx, eax
inc eax
add byte [esp + edx*4], cl
inc eax
add byte [ecx - 0x6c], ch
inc eax
add al, cl
xchg esp, eax
inc eax
add byte [eax], ch
xchg ebp, eax
inc eax
add byte [ebx - 0x12ffbf6b], cl
xchg ebp, eax
inc eax
add byte [eax - 0x6a], dl
inc eax
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp