Function at 0x408190
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get hostname
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc10
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x7e0], 0
mov dword [ebp - 0x7cc], 0
mov dword [ebp - 0x7dc], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x7f8], 0
mov byte [ebp - 0x2a0], 0
mov byte [ebp - 0x7c8], 0
mov dword [ebp - 0x7d8], 0
mov dword [ebp - 4], 0
jmp 0x40821d
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jge 0x408473
push 0x41a580
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408295
push str._remote
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408295
push 0x41a590
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408295
push 0x41a594
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x4082c7
mov edx, dword [ebp - 4]
add edx, 1
cmp dword [ebp + 8], edx
jle 0x4082c7
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x2a0]
push ecx
call fcn.00409de0
add esp, 8
jmp 0x408214
push 0x41a598
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408333
push 0x41a5a0
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408333
push 0x41a5a8
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408333
push 0x41a5ac
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x408338
jmp 0x408214
push 0x41a5b0
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x40836e
push 0x41a5b8
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x4083a0
mov edx, dword [ebp - 4]
add edx, 1
cmp dword [ebp + 8], edx
jle 0x4083a0
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x7c8]
push ecx
call fcn.00409de0
add esp, 8
jmp 0x408214
push 0x41a5c0
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x4083d6
push 0x41a5cc
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x4083e5
mov dword [ebp - 0x2b4], 1
jmp 0x408214
push 0x41a5d8
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x40841b
push 0x41a5e0
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x40843b
cmp dword [0x41b828], 0
jne 0x40843b
push 0x418040
call fcn.00407e60
add esp, 4
mov dword [0x41b828], 2
mov edx, dword [ebp - 0x7d8]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ebp + edx*4 - 0x6c0], eax
mov ecx, dword [ebp - 0x7d8]
add ecx, 1
mov dword [ebp - 0x7d8], ecx
cmp dword [ebp - 0x7d8], 0xff
jl 0x40846e
jmp 0x408473
jmp 0x408214
movsx edx, byte [ebp - 0x2a0]
test edx, edx
jne 0x4084bc
cmp dword [0x41b828], 0
jne 0x408494
push 0x418040
call fcn.00407e60
add esp, 4
mov eax, dword [ebp - 0x6c0]
push eax
push str.Usage:__s__remote_hostname_:port__command_n_n
call fcn.0040b718
add esp, 8
push 0x418040
call fcn.00407f70
add esp, 4
xor eax, eax
jmp 0x409037
push 0x10
push 0
push 0x41b810
call fcn.0040c120
add esp, 0xc
mov word [ebp - 0x7e8], 0x202
lea ecx, [ebp - 0x198]
push ecx
mov dx, word [ebp - 0x7e8]
push edx
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x4084f4
jmp 0x408ffc
movzx eax, word [ebp - 0x198]
and eax, 0xff
movzx ecx, al
cmp ecx, 2
jl 0x40852f
movzx edx, word [ebp - 0x198]
and edx, 0xff
movzx eax, dl
cmp eax, 2
jne 0x40853a
movzx ecx, word [ebp - 0x198]
shr ecx, 8
movzx edx, cl
cmp edx, 2
jge 0x40853a
call dword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x408ffc
mov word [ebp - 0x19c], 0
push 0x3a
lea eax, [ebp - 0x2a0]
push eax
call fcn.0040b570
add esp, 8
mov dword [ebp - 0x7e0], eax
cmp dword [ebp - 0x7e0], 0
je 0x408593
mov ecx, dword [ebp - 0x7e0]
mov byte [ecx], 0
mov edx, dword [ebp - 0x7e0]
add edx, 1
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x7e0]
push eax
call fcn.0040ae83
add esp, 4
mov word [ebp - 0x19c], ax
jmp 0x40859c
mov word [ebp - 0x19c], 0x1f40
movzx ecx, word [ebp - 0x19c]
cmp ecx, 1
jge 0x4085b1
mov word [ebp - 0x19c], 0x1f40
mov dword [ebp - 0x7d0], 0
push str.local
lea edx, [ebp - 0x2a0]
push edx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x40860a
mov dword [ebp - 0x2a4], 1
push 0x100
lea eax, [ebp - 0x2a0]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jge 0x408605
push 0x41a61c
call fcn.0040b718
add esp, 4
jmp 0x408ffc
jmp 0x4086d3
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x7e4], 0
jmp 0x40862f
mov ecx, dword [ebp - 0x7e4]
add ecx, 1
mov dword [ebp - 0x7e4], ecx
lea edx, [ebp - 0x2a0]
push edx
call fcn.0040ada0
add esp, 4
cmp dword [ebp - 0x7e4], eax
jge 0x4086d3
mov eax, dword [ebp - 0x7e4]
movsx ecx, byte [ebp + eax - 0x2a0]
cmp ecx, 0x2e
jne 0x40866e
mov edx, dword [ebp - 0x7d0]
add edx, 1
mov dword [ebp - 0x7d0], edx
jmp 0x4086ce
cmp dword [0x41b2c8], 1
jle 0x408698
push 4
mov eax, dword [ebp - 0x7e4]
movsx ecx, byte [ebp + eax - 0x2a0]
push ecx
call fcn.0040c09d
add esp, 8
mov dword [ebp - 0xc10], eax
jmp 0x4086b9
mov edx, dword [ebp - 0x7e4]
movsx eax, byte [ebp + edx - 0x2a0]
mov ecx, dword [str.________________________________H]
movzx edx, word [ecx + eax*2]
and edx, 4
mov dword [ebp - 0xc10], edx
cmp dword [ebp - 0xc10], 0
jne 0x4086ce
mov dword [ebp - 0x7d0], 0
jmp 0x4086d3
jmp 0x408620
cmp dword [ebp - 0x7d0], 3
jne 0x408723
lea eax, [ebp - 0x2a0]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x2a8], eax
push 2
push 4
lea ecx, [ebp - 0x2a8]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyaddr]
mov dword [ebp - 0x7f4], eax
cmp dword [ebp - 0x7f4], 0
jne 0x408721
push 0x41a63c
call fcn.0040b718
add esp, 4
jmp 0x408ffc
jmp 0x408751
lea edx, [ebp - 0x2a0]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x7f4], eax
cmp dword [ebp - 0x7f4], 0
jne 0x408751
push 0x41a660
call fcn.0040b718
add esp, 4
jmp 0x408ffc
mov eax, dword [ebp - 0x7f4]
movsx ecx, word [eax + 0xa]
push ecx
mov edx, dword [ebp - 0x7f4]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
push 0x41b814
call fcn.0040bd60
add esp, 0xc
mov word [0x41b810], 2
mov dx, word [ebp - 0x19c]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [0x41b812], ax
cmp dword [0x41b828], 0
je 0x4087b0
movzx eax, word [ebp - 0x19c]
push eax
push 0x41a684
call fcn.0040b718
add esp, 8
mov dword [ebp - 0x7ec], 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x41b820], eax
cmp dword [0x41b820], 0
jge 0x4087e6
push 0x41a6ac
call fcn.0040b718
add esp, 4
jmp 0x408ffc
push 0x10
push 0x41b810
mov ecx, dword [0x41b820]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jge 0x40882a
cmp dword [0x41b828], 0
je 0x40881c
movzx edx, word [ebp - 0x19c]
push edx
push 0x41a6cc
call fcn.0040b718
add esp, 8
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408834
mov dword [ebp - 0x7ec], 1
cmp dword [ebp - 0x7ec], 0
je 0x408862
cmp dword [0x41b828], 0
je 0x408862
lea ecx, [ebp - 0x2a0]
push ecx
movzx edx, word [ebp - 0x19c]
push edx
push 0x41a6f4
call fcn.0040b718
add esp, 0xc
cmp dword [ebp - 0x7ec], 0
jne 0x408ba5
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0x2a4], 0
je 0x408a32
cmp dword [0x41b828], 0
je 0x40889e
push str.Message:_Unable_to_connect_to_VX__starting_a_new_instance_n
call fcn.0040b718
add esp, 4
mov dword [ebp - 0x6c4], 0
mov dword [ebp - 0xc0c], 0
jmp 0x4088c3
mov ecx, dword [ebp - 0xc0c]
add ecx, 1
mov dword [ebp - 0xc0c], ecx
mov edx, dword [ebp - 0xc0c]
cmp edx, dword [ebp - 0x7d8]
jge 0x408993
push 0x41a75c
mov eax, dword [ebp - 0xc0c]
mov ecx, dword [ebp + eax*4 - 0x6c0]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408951
push str._cmd
mov edx, dword [ebp - 0xc0c]
mov eax, dword [ebp + edx*4 - 0x6c0]
push eax
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408951
push 0x41a76c
mov ecx, dword [ebp - 0xc0c]
mov edx, dword [ebp + ecx*4 - 0x6c0]
push edx
call fcn.0040b749
add esp, 8
test eax, eax
je 0x408951
push str._macro
mov eax, dword [ebp - 0xc0c]
mov ecx, dword [ebp + eax*4 - 0x6c0]
push ecx
call fcn.0040b749
add esp, 8
test eax, eax
jne 0x408965
mov edx, dword [ebp - 0xc0c]
add edx, 1
mov dword [ebp - 0xc0c], edx
jmp 0x4088b4
mov eax, dword [ebp - 0x6c4]
mov ecx, dword [ebp - 0xc0c]
mov edx, dword [ebp + ecx*4 - 0x6c0]
mov dword [ebp + eax*4 - 0xc08], edx
mov eax, dword [ebp - 0x6c4]
add eax, 1
mov dword [ebp - 0x6c4], eax
jmp 0x4088b4
mov ecx, dword [ebp - 0x6c4]
mov dword [ebp + ecx*4 - 0xc08], str._server
mov edx, dword [ebp - 0x6c4]
add edx, 1
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c4]
mov dword [ebp + eax*4 - 0xc08], 0
mov dword [ebp - 0x7f8], 0
cmp dword [0x41b828], 2
jne 0x4089eb
mov dword [0x41b828], 0
mov dword [ebp - 0x7f8], 1
lea ecx, [ebp - 0xc08]
push ecx
mov edx, dword [ebp - 0x6c4]
push edx
call fcn.00401030
add esp, 8
test eax, eax
je 0x408a1d
cmp dword [ebp - 0x7f8], 0
je 0x408a18
mov dword [0x41b828], 2
jmp 0x408ffc
cmp dword [ebp - 0x7f8], 0
je 0x408a30
mov dword [0x41b828], 2
jmp 0x408a5f
lea eax, [ebp - 0x2a0]
push eax
push str.Message:_Unable_to_connect_to_VX_on__s_n
call fcn.0040b718
add esp, 8
lea ecx, [ebp - 0x2a0]
push ecx
push str._________VX_needs_to_be_running_in_server_mode_on__s_n
call fcn.0040b718
add esp, 8
jmp 0x408ffc
cmp dword [0x41b828], 0
je 0x408a75
push str.Waiting_15_seconds_for_VX_to_start_..._n
call fcn.0040b718
add esp, 4
push 0x3a98
call fcn.0040bc66
add esp, 4
mov dword [ebp - 0x7ec], 0
mov dword [ebp - 0x7d4], 0
cmp dword [ebp - 0x7ec], 0
jne 0x408ba5
mov edx, dword [ebp - 0x7d4]
add edx, 1
mov dword [ebp - 0x7d4], edx
cmp dword [ebp - 0x7d4], 6
jle 0x408ac0
jmp 0x408ba5
cmp dword [0x41b828], 0
je 0x408ad6
push str.Waiting_another_5_seconds_for_VX_to_start_..._n
call fcn.0040b718
add esp, 4
push 0x1388
call fcn.0040bc66
add esp, 4
cmp dword [0x41b828], 0
je 0x408b01
movzx eax, word [ebp - 0x19c]
push eax
push str.Trying_to_connect_to_VX_on_port__d_..._n
call fcn.0040b718
add esp, 8
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x41b820], eax
cmp dword [0x41b820], 0
jge 0x408b2d
push 0x41a864
call fcn.0040b718
add esp, 4
jmp 0x408ffc
push 0x10
push 0x41b810
mov ecx, dword [0x41b820]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jge 0x408b68
movzx edx, word [ebp - 0x19c]
push edx
push str.Unable_to_connect_to_server_on_port__d_n
call fcn.0040b718
add esp, 8
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408b72
mov dword [ebp - 0x7ec], 1
cmp dword [ebp - 0x7ec], 0
je 0x408ba0
cmp dword [0x41b828], 0
je 0x408ba0
lea ecx, [ebp - 0x2a0]
push ecx
movzx edx, word [ebp - 0x19c]
push edx
push str.Message:_Connected_socket_to_port__d_on__s_n
call fcn.0040b718
add esp, 0xc
jmp 0x408a96
mov dword [ebp - 0x7fc], 0
mov dword [ebp - 4], 1
jmp 0x408bc1
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x7d8]
jge 0x408bf1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x6c0]
push eax
call fcn.0040ada0
add esp, 4
mov ecx, dword [ebp - 0x7fc]
lea edx, [ecx + eax + 4]
mov dword [ebp - 0x7fc], edx
jmp 0x408bb8
cmp dword [ebp - 0x7d8], 1
jle 0x408fac
cmp dword [ebp - 0x6bc], 0
je 0x408fac
cmp dword [ebp - 0x7fc], 0
jle 0x408fac
mov eax, dword [ebp - 0x7fc]
push eax
call fcn.0040b094
add esp, 4
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
jne 0x408c48
mov ecx, dword [0x41b820]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408ffc
mov edx, dword [ebp - 0x7fc]
push edx
push 0
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0040c120
add esp, 0xc
mov ecx, dword [ebp - 0x6bc]
push ecx
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.00409de0
add esp, 8
mov dword [ebp - 4], 2
jmp 0x408c88
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x7d8]
jge 0x408cc3
push 0x41a8d8
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.00409df0
add esp, 8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x6c0]
push ecx
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.00409df0
add esp, 8
jmp 0x408c7f
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0040ada0
add esp, 4
mov dword [ebp - 0x2b0], eax
cmp dword [0x41b828], 0
je 0x408cfc
lea ecx, [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
push str.Sending__d_bytes_of_data_to__s_..._n
call fcn.0040b718
add esp, 0xc
cmp dword [0x41b828], 0
je 0x408d19
mov eax, dword [ebp - 0x2ac]
push eax
push 0x41a900
call fcn.0040b718
add esp, 8
push 0
mov ecx, dword [ebp - 0x2b0]
push ecx
mov edx, dword [ebp - 0x2ac]
push edx
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jge 0x408d58
push 0x41a910
call fcn.0040b718
add esp, 4
mov ecx, dword [0x41b820]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408ffc
cmp dword [0x41b828], 0
je 0x408d6e
push 0x41a934
call fcn.0040b718
add esp, 4
mov dword [ebp - 0x7f0], 0x1388
mov edx, dword [ebp - 0x7f0]
push edx
call fcn.0040b094
add esp, 4
mov dword [ebp - 0x7dc], eax
cmp dword [ebp - 0x7dc], 0
jne 0x408da7
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408ffc
mov ecx, dword [ebp - 0x7f0]
push ecx
push 0
mov edx, dword [ebp - 0x7dc]
push edx
call fcn.0040c120
add esp, 0xc
cmp dword [0x41b828], 0
je 0x408dd5
push str.Waiting_for_a_response_..._n
call fcn.0040b718
add esp, 4
push 0
mov eax, dword [ebp - 0x7f0]
push eax
mov ecx, dword [ebp - 0x7dc]
push ecx
mov edx, dword [0x41b820]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x800], eax
mov eax, dword [ebp - 0x800]
cmp eax, dword [ebp - 0x7f0]
jle 0x408e8a
mov ecx, dword [ebp - 0x800]
add ecx, 1
mov dword [ebp - 0x7f0], ecx
mov edx, dword [ebp - 0x7f0]
push edx
mov eax, dword [ebp - 0x7dc]
push eax
call fcn.0040aec0
add esp, 8
mov dword [ebp - 0x7dc], eax
cmp dword [ebp - 0x7dc], 0
jne 0x408e50
mov ecx, dword [0x41b820]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408ffc
mov edx, dword [ebp - 0x7f0]
push edx
push 0
mov eax, dword [ebp - 0x7dc]
push eax
call fcn.0040c120
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x7f0]
push ecx
mov edx, dword [ebp - 0x7dc]
push edx
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x800], eax
cmp dword [0x41b828], 0
je 0x408eae
lea ecx, [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x800]
push edx
push str.Received__d_bytes_of_data_from__s_n
call fcn.0040b718
add esp, 0xc
cmp dword [ebp - 0x800], 0
jg 0x408ec8
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x408ffc
cmp dword [0x41b828], 0
je 0x408ee5
mov ecx, dword [ebp - 0x7dc]
push ecx
push 0x41a97c
call fcn.0040b718
add esp, 8
mov edx, dword [ebp - 0x7dc]
add edx, dword [ebp - 0x800]
mov byte [edx], 0
mov eax, dword [0x41b820]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0x2b4], 0
jne 0x408f33
cmp dword [0x41b828], 0
je 0x408f1f
push str.Response_from_VX:_n
call fcn.0040b718
add esp, 4
mov ecx, dword [ebp - 0x7dc]
push ecx
push 0x41a9a0
call fcn.0040b718
add esp, 8
movsx edx, byte [ebp - 0x7c8]
test edx, edx
je 0x408faa
cmp dword [0x41b828], 0
je 0x408f5b
lea eax, [ebp - 0x7c8]
push eax
push str.Writing_response_to_output_file__s_n
call fcn.0040b718
add esp, 8
push 0x41a9c8
lea ecx, [ebp - 0x7c8]
push ecx
call fcn.0040b705
add esp, 8
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
jne 0x408f80
jmp 0x408ffc
mov edx, dword [ebp - 0x7dc]
push edx
push 0x41a9cc
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.0040b52e
add esp, 0xc
mov ecx, dword [ebp - 0x2b8]
push ecx
call fcn.0040b685
add esp, 4
jmp 0x408fc2
cmp dword [0x41b828], 0
je 0x408fc2
push str.No_data_to_send_to_VX_n
call fcn.0040b718
add esp, 4
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [ebp - 0x7dc], 0
je 0x408fe0
mov edx, dword [ebp - 0x7dc]
push edx
call fcn.0040ae88
add esp, 4
cmp dword [ebp - 0x2ac], 0
je 0x408ff8
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0040ae88
add esp, 4
xor eax, eax
jmp 0x409037
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [ebp - 0x7dc], 0
je 0x40901a
mov ecx, dword [ebp - 0x7dc]
push ecx
call fcn.0040ae88
add esp, 4
cmp dword [ebp - 0x2ac], 0
je 0x409032
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.0040ae88
add esp, 4
mov eax, 1
mov esp, ebp
pop ebp
ret