Function at 0x40df60
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 [0x615000]
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 0x40dfb3
push str.Target_ip_addr_invalid...
push 0x5fb458
call fcn.0040c050
add esp, 8
jmp 0x40e3c2
mov eax, dword [ebp + 8]
push eax
push str.Tip:_Try_detect_host_ip_S_alive_by_ICMP...
push 0x5fb484
call fcn.0040c050
add esp, 0xc
cmp dword [ebp + 0xc], 0
jbe 0x40dfda
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x614], ecx
jmp 0x40dfe4
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 0x40e026
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_WSAStartup_fail_code_d__out_
push 0x5fb50c
call fcn.0040c050
add esp, 0xc
jmp 0x40e3c2
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 0x40e070
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 0x5fb5d8
call fcn.0040c050
add esp, 0x10
jmp 0x40e3c2
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 0x40e0e6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_WSASocket_fail_code_d__out_
push 0x5fb604
call fcn.0040c050
add esp, 0xc
jmp 0x40e3c2
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 0x40e12b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_setsockopt_SO_RCVTIMEO__fail_code_d__out_
push 0x5fb6dc
call fcn.0040c050
add esp, 0xc
jmp 0x40e3c2
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 0x40e170
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_setsockopt_SO_SNDTIMEO__fail_code_d__out_
push 0x5fb76c
call fcn.0040c050
add esp, 0xc
jmp 0x40e3c2
mov byte [ebp - 0x5ec], 0
push 0x27
push 0
lea ecx, [ebp - 0x5eb]
push ecx
call fcn.00562540
add esp, 0xc
mov byte [ebp - 0x5b0], 0
push 0x3ff
push 0
lea edx, [ebp - 0x5af]
push edx
call fcn.00562540
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.0040ddc0
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 0x40e2af
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_sendto_fail_code_d__out_
push 0x5fb7dc
call fcn.0040c050
add esp, 0xc
jmp 0x40e3c2
mov eax, 1
test eax, eax
je 0x40e3c2
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 0x40e30b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274c
jne 0x40e329
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Err:_recvfrom_fail_code_d__out_
push 0x5fb850
call fcn.0040c050
add esp, 0xc
jmp 0x40e3c2
lea edx, [ebp - 0x5f8]
push edx
mov eax, dword [ebp - 0x5fc]
push eax
lea ecx, [ebp - 0x5b0]
push ecx
call fcn.0040de40
add esp, 0xc
test eax, eax
je 0x40e3ab
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 0x40e376
mov dword [ebp - 0x618], 0x5fb87c
jmp 0x40e380
mov dword [ebp - 0x618], 0x5fb888
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 0x5fb894
call fcn.0040c050
add esp, 0x10
jmp 0x40e3c2
push str.WAR:_DecodeIcmpResponse_fail__continue...
push str.CInternetUtils::DetectTargetHostIsConnected
call fcn.0040c050
add esp, 8
jmp 0x40e2af
cmp dword [ebp - 0x5b4], 0xffffffff
je 0x40e3d8
mov eax, dword [ebp - 0x5b4]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0x1a8], 0
je 0x40e3e7
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0055abea
mov esp, ebp
pop ebp
ret