Function at 0x40e120
Capabilities:
Create raw socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x618
mov eax, dword [0x61b000]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x5b4], 0xffffffff
cmp dword [ebp + 8], 0
jne 0x40e173
push str.Target_ip_addr_invalid...
push 0x6014d0
call fcn.0040c230
add esp, 8
jmp 0x40e582
mov eax, dword [ebp + 8]
push eax
push str.Tip:_Try_detect_host_ip_S_alive_by_ICMP...
push 0x6014fc
call fcn.0040c230
add esp, 0xc
cmp dword [ebp + 0xc], 0
jbe 0x40e19a
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x614], ecx
jmp 0x40e1a4
mov dword [ebp - 0x614], 0x1f4
mov edx, dword [ebp - 0x614]
mov dword [ebp + 0xc], edx
lea eax, [ebp - 0x198]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40e1e6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_WSAStartup_fail_code_d__out_
push 0x601584
call fcn.0040c230
add esp, 0xc
jmp 0x40e582
mov dword [ebp - 0x1a8], 1
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0xffffffff
jne 0x40e230
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
mov edx, dword [ebp + 8]
push edx
push str.Err:_inet_addr__S__fail_code_d__out_
push 0x601650
call fcn.0040c230
add esp, 0x10
jmp 0x40e582
xor eax, eax
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5b8], eax
mov ecx, 2
mov word [ebp - 0x5c4], cx
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x5c0], edx
push 1
push 0
push 0
push 1
push 3
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0xffffffff
jne 0x40e2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_WSASocket_fail_code_d__out_
push 0x60167c
call fcn.0040c230
add esp, 0xc
jmp 0x40e582
push 4
lea eax, [ebp + 0xc]
push eax
push 0x1006
push 0xffff
mov ecx, dword [ebp - 0x5b4]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x40e2eb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_setsockopt_SO_RCVTIMEO__fail_code_d__out_
push 0x601754
call fcn.0040c230
add esp, 0xc
jmp 0x40e582
push 4
lea edx, [ebp + 0xc]
push edx
push 0x1005
push 0xffff
mov eax, dword [ebp - 0x5b4]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x40e330
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_setsockopt_SO_SNDTIMEO__fail_code_d__out_
push 0x6017e4
call fcn.0040c230
add esp, 0xc
jmp 0x40e582
mov byte [ebp - 0x5ec], 0
push 0x27
push 0
lea ecx, [ebp - 0x5eb]
push ecx
call fcn.00568440
add esp, 0xc
mov byte [ebp - 0x5b0], 0
push 0x3ff
push 0
lea edx, [ebp - 0x5af]
push edx
call fcn.00568440
add esp, 0xc
lea eax, [ebp - 0x5ec]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
mov byte [ecx], 8
mov edx, dword [ebp - 0x1a0]
mov byte [edx + 1], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [ebp - 0x1a0]
mov word [ecx + 4], ax
mov edx, 0x45454545
lea eax, [ebp - 0x5e4]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], edx
mov dword [ebp - 0x1ac], 1
push 4
lea ecx, [ebp - 0x1ac]
push ecx
push 4
push 0
mov edx, dword [ebp - 0x5b4]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
xor eax, eax
mov word [ebp - 0x5ea], ax
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5e6], ax
push 0x28
lea ecx, [ebp - 0x5ec]
push ecx
call fcn.0040df80
add esp, 8
mov word [ebp - 0x5ea], ax
mov dx, word [ebp - 0x5e6]
mov word [ebp - 0x5f8], dx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x5f6], eax
push 0x10
lea eax, [ebp - 0x5c4]
push eax
push 0
push 0x28
lea ecx, [ebp - 0x5ec]
push ecx
mov edx, dword [ebp - 0x5b4]
push edx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x40e46f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_sendto_fail_code_d__out_
push 0x601854
call fcn.0040c230
add esp, 0xc
jmp 0x40e582
mov eax, 1
test eax, eax
je 0x40e582
mov dword [ebp - 0x600], 0x10
lea ecx, [ebp - 0x600]
push ecx
lea edx, [ebp - 0x610]
push edx
push 0
push 0x400
lea eax, [ebp - 0x5b0]
push eax
mov ecx, dword [ebp - 0x5b4]
push ecx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x5fc], eax
cmp dword [ebp - 0x5fc], 0xffffffff
je 0x40e4cb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274c
jne 0x40e4e9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_recvfrom_fail_code_d__out_
push 0x6018c8
call fcn.0040c230
add esp, 0xc
jmp 0x40e582
lea edx, [ebp - 0x5f8]
push edx
mov eax, dword [ebp - 0x5fc]
push eax
lea ecx, [ebp - 0x5b0]
push ecx
call fcn.0040e000
add esp, 0xc
test eax, eax
je 0x40e56b
mov edx, dword [ebp - 0x5f2]
xor eax, eax
cmp edx, dword [ebp - 0x5c0]
sete al
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x40e536
mov dword [ebp - 0x618], 0x6018f4
jmp 0x40e540
mov dword [ebp - 0x618], 0x601900
mov ecx, dword [ebp - 0x618]
push ecx
mov edx, dword [ebp - 0x5f2]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str.Tip:_Decode_icmp_response_ip_S__compare_result_s
push 0x60190c
call fcn.0040c230
add esp, 0x10
jmp 0x40e582
push str.WAR:_DecodeIcmpResponse_fail__continue...
push str.CInternetUtils::DetectTargetHostIsConnected
call fcn.0040c230
add esp, 8
jmp 0x40e46f
cmp dword [ebp - 0x5b4], 0xffffffff
je 0x40e598
mov eax, dword [ebp - 0x5b4]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0x1a8], 0
je 0x40e5a7
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00560c61
mov esp, ebp
pop ebp
ret