Function at 0x40c320
Capabilities:
Initialize winsock library
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x22c
mov eax, dword [0x438170]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
lea eax, [esp + 0x18]
push eax
push 0xfffffffffffffff5
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 8
mov dword [esp + 0x24], 1
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
mov edi, dword [ebp + 8]
cmp edi, 1
je case.0x40c436.104
call fcn.00409cf0
and eax, 0xffff0000
cmp eax, 0x6000000
jb 0x40c3af
push str.Wow64DisableWow64FsRedirection
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x10], 0
test eax, eax
je 0x40c3af
lea ecx, [esp + 0x10]
push ecx
call eax
lea eax, [esp + 0x20]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x80
push 0
push 0x44a3e0
call fcn.0041e930
add esp, 0xc
push 0x40
push 0
push 0x44a460
call fcn.0041e930
add esp, 0xc
mov dword [0x44a4a0], 0
mov dword [0x44a3dc], 0
cmp edi, 1
jle 0x40c566
sub esp, 0x10
mov edx, ebx
mov ecx, edi
call fcn.0040bb90
add esp, 0x10
cmp al, 0xff
je 0x40c566
jmp 0x40c420
movsx eax, al
add eax, 0xffffffc1
cmp eax, 0x37
ja case.0x40c436.64
movzx eax, byte [eax + 0x40c610]
jmp dword [eax*4 + 0x40c5ec]
push 0x80
lea eax, [esp + 0x1b4]
push 0
push eax
call fcn.0041e930
add esp, 0xc
lea eax, [esp + 0x1b0]
push 0x80
push dword [0x451678]
push eax
call fcn.004154d0
add esp, 0xc
lea eax, [esp + 0x1b0]
push 0x3a
push eax
call fcn.00414f40
add esp, 8
test eax, eax
je 0x40c5b3
mov esi, eax
lea ecx, [esp + 0x1b0]
sub esi, ecx
cmp esi, 0x80
jg 0x40c5b3
lea ebx, [eax + 1]
push ebx
call fcn.0041506b
add esp, 4
test eax, eax
je 0x40c5b3
push esi
lea eax, [esp + 0x1b4]
push eax
push 0x44a3e0
call fcn.004154d0
add esp, 0xc
push ebx
call fcn.0041506b
mov ebx, dword [esp + 0x18]
add esp, 4
mov dword [0x44a4a0], eax
mov dword [0x44a4a4], 6
jmp case.0x40c436.64
mov ecx, dword [0x451678]
mov edx, 0x44a3e0
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x40c4f5
mov dword [0x44a4a4], 1
jmp case.0x40c436.64
push dword [0x451678]
call fcn.0041506b
add esp, 4
mov dword [0x44a4a0], eax
jmp case.0x40c436.64
push 0x40
push dword [0x451678]
push 0x44a460
call fcn.004154d0
add esp, 0xc
jmp case.0x40c436.64
mov dword [0x44a3dc], 1
jmp case.0x40c436.64
mov dword [0x44a1cc], 1
sub esp, 0x10
mov edx, ebx
mov ecx, edi
call fcn.0040bb90
add esp, 0x10
cmp al, 0xff
jne 0x40c420
call fcn.0040bf90
push 1
push 0x40bf40
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
sub esp, 0xc
call fcn.00409700
add esp, 0xc
push str._n_nExit___n_n
call fcn.004156af
mov ecx, dword [esp + 0x238]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004144c7
mov esp, ebp
pop ebp
ret
call fcn.0040c050
push 0
call fcn.00416d4d
lea eax, [esp + 0x1b0]
push eax
push str.Invalid_address__s_n
call fcn.004156af
add esp, 8
push 1
call fcn.00416d4d
movsx eax, byte [0x439018]
push eax
push str.Unknown_option:__c_n
call fcn.004156af
add esp, 8
push 1
call fcn.00416d4d
nop
iretd