Function at 0x402e80
Capabilities:
Read file on windows
Terminate process

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.00401860
push 0x10
call fcn.00401c80
push 0x10
mov dword [0x40fb00], eax
call fcn.00401c80
push 0x2000
mov dword [0x40fb04], eax
call fcn.00401c80
push 0x2000
mov dword [0x40fe24], eax
call fcn.00401c80
push 0x104
mov dword [0x40fe20], eax
call fcn.00401c80
push 0x104
mov dword [0x40fe2c], eax
call fcn.00401c80
push 0x4a
mov dword [0x40fe30], eax
call fcn.00401c80
push 1
mov dword [0x40fb10], eax
call fcn.00403cf1
mov ebx, dword [esp + 0x54]
mov dword [0x40fe28], eax
mov byte [eax], 1
add esp, 0x20
mov dword [0x40fb38], ebp
mov dword [0x40c1ac], 4
mov edi, dword [esp + 0x30]
cmp edi, 1
jne 0x403034
mov esi, dword [ebx]
push 0x200
call fcn.00401c80
mov ebx, eax
push 0x2000
mov dword [esp + 0x3c], ebx
mov dword [ebx], esi
call fcn.00401c80
mov esi, eax
push str.Cmd_line:
push 0x40cde8
mov dword [ebx + 4], esi
call fcn.004038a6
push 0x40cde8
call fcn.00403a55
push 0x2000
push esi
push ebp
call fcn.00408962
add esp, 0x20
cmp eax, ebp
mov dword [0x40faec], eax
ja 0x402f9f
push str.wrong
call fcn.00401c10
mov eax, dword [0x40faec]
add esp, 4
push eax
push esi
call fcn.00401cd0
add esp, 8
cmp eax, ebp
je 0x402fb3
sub dword [0x40faec], eax
mov ecx, dword [0x40faec]
cmp ecx, ebp
je 0x402fd3
mov edi, dword [0x40fe24]
add esi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
push 0xa
push ecx
call fcn.00404210
add esp, 8
cmp eax, ebp
je 0x402fe8
mov byte [eax], 0
mov edx, dword [ebx + 4]
push 0xd
push edx
call fcn.00404210
add esp, 8
cmp eax, ebp
je 0x402ffd
mov byte [eax], 0
mov eax, dword [ebx + 4]
mov esi, 2
inc eax
mov cl, byte [eax]
test cl, cl
je 0x40302e
lea edx, [ebx + 8]
cmp cl, 0x20
jne 0x403019
mov byte [eax], 0
jmp 0x403026
mov cl, byte [eax - 1]
test cl, cl
jne 0x403026
mov dword [edx], eax
inc esi
add edx, 4
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40300f
mov dword [esp + 0x30], esi
mov edi, esi
push str.ade:g:G:hi:lLno:p:rs:tuvw:z
push ebx
push edi
call fcn.00401840
mov ebp, eax
add esp, 0xc
cmp ebp, 0xffffffff
je 0x4032c4
xor esi, esi
lea eax, [ebp - 0x47]
cmp eax, 0x33
ja case.0x403064.88
xor ecx, ecx
mov cl, byte [eax + 0x403780]
jmp dword [ecx*4 + 0x403738]
push str.all_A_records_NIY
call fcn.00401c10
add esp, 4
inc word [0x40fb18]
jmp 0x4032a8
inc word [0x40fb20]
mov dword [esp + 0x24], 1
jmp 0x4032a8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
jmp 0x4032a8
mov edx, dword [0x40fad4]
push edx
call fcn.00403f8b
add esp, 4
cmp eax, esi
je 0x4030c9
mov ecx, eax
and ecx, 0x1c
cmp eax, ecx
jne 0x4030c9
mov dword [0x40c1ac], eax
jmp 0x4032a8
push eax
push str.invalid_hop_pointer__d__must_be_multiple_of_4___28
call fcn.00401c10
add esp, 8
jmp 0x4032a8
cmp dword [0x40fae8], 8
jle 0x4030f2
push str.too_many__g_hops
call fcn.00401c10
add esp, 4
cmp dword [0x40fb08], esi
jne 0x403109
push 0x28
call fcn.00401c80
add esp, 4
mov dword [0x40fb08], eax
mov eax, dword [0x40fad4]
xor edx, edx
mov dx, word [0x40fb22]
push edx
push eax
call fcn.00401d60
add esp, 8
cmp eax, esi
je 0x403134
mov ecx, dword [0x40fae8]
mov edx, dword [0x40fb08]
mov dword [edx + ecx*4], eax
inc dword [0x40fae8]
jmp 0x4032a8
mov dword [0x40fb38], esi
call fcn.004037c0
mov eax, dword [0x40fad4]
push eax
call fcn.00403f8b
and eax, 0xffff
add esp, 4
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 3
mov dword [0x40fb1c], ecx
jne 0x4032a8
mov edx, dword [0x40fad4]
push edx
push str.invalid_interval_time__s
call fcn.00401c10
add esp, 8
jmp 0x4032a8
inc word [0x40fb20]
jmp 0x4032a8
inc word [0x40fb22]
jmp 0x4032a8
mov eax, dword [0x40fad4]
inc word [0x40fb24]
mov dword [0x40fb14], eax
jmp 0x4032a8
mov ecx, dword [0x40fad4]
push esi
push ecx
call fcn.00401fb0
add esp, 8
cmp ax, si
mov dword [esp + 0x10], eax
jne 0x4032a8
mov edx, dword [0x40fad4]
push edx
push str.invalid_local_port__s
call fcn.00401c10
add esp, 8
jmp 0x4032a8
inc word [0x40fb26]
jmp 0x4032a8
mov ecx, dword [0x40fad4]
xor eax, eax
mov ax, word [0x40fb22]
push eax
push ecx
call fcn.00401d60
add esp, 8
add eax, 0x1c0
mov dword [esp + 0x18], eax
jmp 0x4032a8
inc word [0x40fb28]
jmp 0x4032a8
inc word [0x40fb2a]
jmp 0x4032a8
mov edx, dword [0x40fad4]
push edx
call fcn.00403f8b
add esp, 4
cmp eax, esi
mov dword [0x40fb2c], eax
ja 0x403261
mov eax, dword [0x40fad4]
push eax
push str.invalid_wait_time__s
call fcn.00401c10
add esp, 8
push 8
call fcn.00401c80
push 8
mov dword [0x40faf8], eax
call fcn.00401c80
mov edx, dword [0x40faf8]
mov ecx, dword [0x40fb2c]
mov dword [0x40fafc], eax
add esp, 8
mov dword [edx], ecx
jmp 0x4032a8
inc word [0x40fb30]
jmp 0x4032a8
push str.nc__h_for_help
mov dword [0x40fb38], esi
call fcn.00401c10
add esp, 4
push str.ade:g:G:hi:lLno:p:rs:tuvw:z
push ebx
push edi
call fcn.00401840
mov ebp, eax
add esp, 0xc
cmp ebp, 0xffffffff
jne 0x403050
jmp 0x4032c6
xor esi, esi
cmp word [0x40fb26], si
je 0x4032ec
push esi
call fcn.00404121
push eax
call fcn.00403f96
push pe_overlay
call fcn.00401c80
add esp, 0xc
mov dword [esp + 0x20], eax
cmp word [0x40fb24], si
je 0x403339
mov eax, dword [0x40fb14]
push 0x1b4
push 0x301
push eax
call fcn.0040a029
add esp, 0xc
cmp eax, esi
mov dword [0x40fae4], eax
jg 0x40332a
mov ecx, dword [0x40fb14]
push ecx
push str.cant_open__s
call fcn.00401c10
add esp, 8
push 0x64
call fcn.00401c80
add esp, 4
mov dword [0x40fb14], eax
mov edx, dword [0x40fad8]
mov eax, dword [ebx + edx*4]
cmp eax, esi
je 0x40335f
xor ecx, ecx
mov cx, word [0x40fb22]
push ecx
push eax
call fcn.00401d60
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x403363
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x403378
add eax, 0x1c0
cmp eax, esi
je 0x403378
mov edi, eax
mov dword [esp + 0x1c], edi
jmp 0x40337c
mov edi, dword [esp + 0x1c]
cmp edi, esi
je 0x403386
inc dword [0x40fad8]
cmp word [0x40fb20], si
mov dword [0x40fb38], esi
je 0x40344c
mov edx, dword [0x40fad8]
xor esi, esi
mov eax, dword [ebx + edx*4]
test eax, eax
je 0x4033cf
push esi
push eax
call fcn.00401fb0
mov esi, eax
add esp, 8
test si, si
jne 0x4033cf
mov eax, dword [0x40fad8]
mov ecx, dword [ebx + eax*4]
push ecx
push str.invalid_port__s
call fcn.00401c10
add esp, 8
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
and edx, 0xffff
and esi, 0xffff
push edx
push eax
push esi
push edi
call fcn.004023e0
add esp, 0x10
mov dword [0x40c194], eax
test eax, eax
jle 0x40343d
push eax
call fcn.004029b0
mov edi, 1
add esp, 4
cmp word [0x40fb2a], di
mov esi, eax
jbe 0x40342c
mov ecx, dword [0x40faf0]
mov edx, dword [0x40faf4]
push ecx
push edx
push str._sent__d__rcvd__d
call fcn.00401b80
add esp, 0xc
cmp dword [esp + 0x24], edi
jne 0x40371a
xor ebp, ebp
jmp 0x402f2c
push str.no_connection
call fcn.00401c10
add esp, 4
xor esi, esi
cmp edi, esi
jne 0x40345d
push str.no_destination
call fcn.00401c10
add esp, 4
mov eax, dword [0x40fad8]
cmp dword [ebx + eax*4], esi
jne 0x403474
push str.no_port_s__to_connect_to
call fcn.00401c10
add esp, 4
mov eax, dword [0x40fad8]
cmp dword [ebx + eax*4 + 4], esi
je 0x403486
mov word [0x40c1b0], si
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x4036ce
push 0x2d
push eax
xor edi, edi
call fcn.00404210
mov esi, eax
add esp, 8
test esi, esi
je 0x4034cf
mov byte [esi], 0
inc esi
push edi
push esi
call fcn.00401fb0
mov edi, eax
add esp, 8
test di, di
jne 0x4034cf
push esi
push str.invalid_port__s
call fcn.00401c10
add esp, 8
mov edx, dword [0x40fad8]
mov eax, dword [esp + 0x34]
push 0
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00401fb0
mov esi, eax
add esp, 8
test si, si
mov dword [esp + 0x28], esi
jne 0x40350d
mov edx, dword [0x40fad8]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + edx*4]
push ecx
push str.invalid_port__s
call fcn.00401c10
add esp, 8
cmp di, si
jbe 0x40361f
cmp word [0x40fb26], 0
mov word [0x40c1b0], 0
je 0x40354e
and edi, 0xffff
mov edx, esi
push edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
push edx
push edi
call fcn.00402140
push edi
call fcn.004020f0
add esp, 0x10
mov edi, eax
cmp si, di
ja 0x4036b4
cmp word [esp + 0x10], 0
jne 0x40357d
cmp word [0x40fb26], 0
je 0x40357d
call fcn.00403fa0
mov ebx, eax
cmp bx, 0x2000
jae 0x40357d
add ebx, 0x2000
and edi, 0xffff
push edi
push 0
call fcn.00401fb0
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov edi, eax
mov eax, ebx
mov esi, edi
and eax, 0xffff
and esi, 0xffff
push eax
push ecx
push esi
push ebp
call fcn.004021b0
add esp, 0x18
mov dword [0x40c194], eax
test eax, eax
jle 0x403626
cmp word [0x40fb30], 0
je 0x4035dc
cmp word [0x40fb28], 0
je 0x4035dc
push ebp
push eax
call fcn.004027a0
add esp, 8
mov dword [0x40c194], eax
test eax, eax
jle 0x403626
mov eax, dword [esp + 0x14]
mov edx, dword [0x40fb10]
push edx
push esi
lea ecx, [eax + 0x100]
xor ebp, ebp
push ecx
push eax
push str._s___s___d___s__open
call fcn.00401b80
add esp, 0x14
cmp word [0x40fb30], bp
jne 0x40366a
mov edx, dword [0x40c194]
push edx
call fcn.004029b0
add esp, 4
mov ebp, eax
jmp 0x40366a
mov edi, esi
jmp 0x403557
cmp word [0x40c1b0], 0
mov ebp, 1
jne 0x40364a
cmp word [0x40fb2a], bp
ja 0x40364a
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274d
je 0x40366a
mov eax, dword [0x40fb10]
push eax
mov eax, dword [esp + 0x18]
push esi
lea ecx, [eax + 0x100]
push ecx
push eax
push str._s___s___d___s_
call fcn.00401b80
add esp, 0x14
mov edx, dword [0x40c194]
push edx
call sub.WS2_32.dll_closesocket
mov eax, dword [0x40fb1c]
test eax, eax
je 0x403688
push eax
call fcn.00403c64
add esp, 4
cmp word [0x40fb26], 0
je 0x4036a3
mov eax, dword [esp + 0x20]
push eax
call fcn.004020f0
add esp, 4
mov edi, eax
jmp 0x4036a9
add edi, 0xffff
cmp word [esp + 0x28], di
jbe 0x403557
mov eax, dword [0x40fad8]
mov ecx, dword [esp + 0x34]
inc eax
mov dword [0x40fad8], eax
mov eax, dword [ecx + eax*4]
test eax, eax
jne 0x403499
mov esi, 1
mov dword [0x40fb38], 0
cmp word [0x40fb2a], si
jbe 0x403700
mov edx, dword [0x40faf0]
mov eax, dword [0x40faf4]
push edx
push eax
push str.sent__d__rcvd__d
call fcn.00401b80
add esp, 0xc
call sub.WS2_32.dll_WSACleanup
cmp dword [esp + 0x24], esi
jne 0x403720
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
xor ebp, ebp
jmp 0x402f30
push esi
call fcn.00403b8f
cmp word [0x40c1b0], 0
je 0x403730
push ebp
call fcn.00403b8f
push 0
call fcn.00403b8f
nop
mov dword [0x84004030], eax
xor byte [eax], al
imul esi, dword [eax], 0x40
add byte [eax - 603963344], bl
xor byte [eax], al
aas
xor dword [eax], eax
dec edx
xor dword [eax], eax
invalid