Function at 0x43e4b0
Capabilities:
Create tcp socket
Create udp socket
Get hostname
Get socket status
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x614
mov eax, dword [0x5290f4]
movzx ecx, byte [eax + 0x400]
mov edx, dword [0x5290f4]
mov dword [edx + ecx*4], 0x6c650000
mov eax, dword [0x5290f4]
mov cl, byte [eax + 0x400]
add cl, 1
mov edx, dword [0x5290f4]
mov byte [edx + 0x400], cl
call fcn.00401bd0
push 0x10
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.004bf170
add esp, 0xc
mov word [ebp - 0x18], 2
push 0
call sub.WS2_32.dll_htonl
mov dword [ebp - 0x14], eax
mov cx, word [ebp + 8]
push ecx
call sub.WS2_32.dll_htons
mov word [ebp - 0x16], ax
push 0
push 2
push 2
call sub.WS2_32.dll_socket
mov dword [ebp - 0x84], eax
mov dword [ebp - 8], 1
push 4
lea edx, [ebp - 8]
push edx
push 4
push 0xffff
mov eax, dword [ebp - 0x84]
push eax
call sub.WS2_32.dll_setsockopt
mov dword [ebp - 4], 0
movzx ecx, byte [0x568e8a]
test ecx, ecx
je 0x43e575
cmp dword [0x56b19c], 0
jne 0x43e575
mov dword [0x56b19c], 1
push 0x10
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x84]
push eax
call sub.WS2_32.dll_bind
test eax, eax
je 0x43e5b2
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
call fcn.00484790
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.cannot_bind_UDP_socket_to_port__d___d__s_._n
call fcn.0040cc80
add esp, 0x10
jmp 0x43ea82
cmp dword [ebp + 0x14], 0
je 0x43e6d3
push 8
push 0
lea edx, [ebp - 0x5c8]
push edx
call fcn.004bf170
add esp, 0xc
push 0
call sub.WS2_32.dll_htonl
mov dword [ebp - 0x5c4], eax
push 0x200
lea eax, [ebp - 0x5c0]
push eax
call sub.WS2_32.dll_gethostname
test eax, eax
je 0x43e603
push 0x4d7bb0
call fcn.0040cc80
add esp, 4
jmp 0x43ea82
lea ecx, [ebp - 0x5c0]
push ecx
call sub.WS2_32.dll_gethostbyname
mov dword [ebp - 0x5cc], eax
cmp dword [ebp - 0x5cc], 0
jne 0x43e630
push 0x4d7bc4
call fcn.0040cc80
add esp, 4
jmp 0x43ea82
mov edx, dword [ebp - 0x5cc]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x5d0], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx]
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp + 0x14]
push ecx
call sub.WS2_32.dll_inet_addr
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x3bc], 0
push 8
lea edx, [ebp - 0x5c8]
push edx
push 0xc
push 0
mov eax, dword [ebp - 0x84]
push eax
call sub.WS2_32.dll_setsockopt
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 0
je 0x43e6d3
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
mov ecx, dword [ebp - 0x3bc]
push ecx
push str.cannot_join_multicast:_rc_d__s
call fcn.0040cc80
add esp, 0xc
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x84]
push eax
lea ecx, [ebp - 0x5c0]
push ecx
push str.host_s_sock_d_group_s
call fcn.0040cc80
add esp, 0x10
jmp 0x43ea82
push 0xa
mov edx, dword [ebp - 0x84]
push edx
call sub.WS2_32.dll_listen
cmp dword [0x56b184], 0
jne 0x43e718
cmp dword [ebp + 0x14], 0
je 0x43e707
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push str._waiting_on__s_port__d_for_data.__n
call fcn.0044d350
add esp, 0xc
jmp 0x43e718
mov edx, dword [ebp + 8]
push edx
push str._waiting_on_port__d_for_data.__n
call fcn.0044d350
add esp, 8
mov eax, 1
test eax, eax
je 0x43ea67
mov dword [ebp - 0x3b8], 0
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3b0], 0
cmp dword [ebp - 0x3b0], 0xc8
jae 0x43e771
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x84]
mov dword [ebp + ecx*4 - 0x3ac], edx
mov eax, dword [ebp - 0x3b0]
add eax, 1
mov dword [ebp - 0x3b0], eax
xor ecx, ecx
jne 0x43e743
lea edx, [ebp - 0x3b8]
push edx
push 0
push 0
lea eax, [ebp - 0x3b0]
push eax
mov ecx, dword [ebp - 0x84]
add ecx, 1
push ecx
call sub.WS2_32.dll_select
test eax, eax
jle 0x43ea58
mov dword [ebp - 0x5d8], 0x10
lea edx, [ebp - 0x5d8]
push edx
lea eax, [ebp - 0x5e8]
push eax
push 0
push 0x186a0
push 0x534818
mov ecx, dword [ebp - 0x84]
push ecx
call sub.WS2_32.dll_recvfrom
mov dword [ebp - 0x5d4], eax
push 4
lea edx, [ebp - 0x5e4]
push edx
lea eax, [ebp - 0x5f0]
push eax
call fcn.004bed60
add esp, 0xc
mov ecx, dword [ebp - 0x5f0]
push ecx
call sub.WS2_32.dll_inet_ntoa
mov dword [ebp - 0x5ec], eax
cmp dword [ebp + 0x1c], 0
je 0x43e820
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 0x5ec]
push eax
call fcn.004bfe50
add esp, 8
test eax, eax
jne 0x43e820
jmp 0x43e718
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
movzx edx, byte [0x56b1df]
test edx, edx
je 0x43e8d6
push 0
call fcn.004c1d50
add esp, 4
cdq
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
lea eax, [ebp - 0x600]
push eax
call fcn.004c17f5
add esp, 4
mov dword [ebp - 0x5f4], eax
mov byte [ebp - 0x80], 0
cmp dword [ebp - 0x5f4], 0
je 0x43e88b
mov ecx, dword [ebp - 0x5f4]
push ecx
push 0x4d7c58
push 0x5a
lea edx, [ebp - 0x80]
push edx
call fcn.004c17da
add esp, 0x10
movzx eax, byte [0x56b1e0]
test eax, eax
je 0x43e8a2
mov dword [ebp - 0x614], 0x4d7c6a
jmp 0x43e8ac
mov dword [ebp - 0x614], 0x4d7c6c
mov ecx, dword [ebp - 0x5d4]
push ecx
lea edx, [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x5ec]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x614]
push edx
push str._s_______03d_from__s_at__s___d_bytes________n
call fcn.0044d350
add esp, 0x18
movzx eax, byte [0x56b057]
test eax, eax
jne 0x43e910
cmp dword [0x56b184], 0
jne 0x43e910
movzx ecx, byte [0x56b1df]
test ecx, ecx
jne 0x43e910
mov edx, dword [ebp - 0x5ec]
push edx
mov eax, dword [ebp - 0x5d4]
push eax
push str._received__d_bytes_from__s__n
call fcn.0044d350
add esp, 0xc
movzx ecx, byte [0x56b1ed]
test ecx, ecx
je 0x43e92f
mov edx, dword [ebp - 0x5d4]
push edx
push 0x534818
call fcn.0043e1a0
add esp, 8
mov eax, dword [ebp - 0x5d4]
push eax
push 0x534818
push 0
call fcn.004344d0
add esp, 0xc
movzx ecx, byte [0x568e8a]
test ecx, ecx
jne 0x43e95d
push 0x52ba40
call fcn.004c052b
add esp, 4
movzx edx, byte [ebp + 0x18]
test edx, edx
je 0x43e9ae
movzx eax, byte [0x56b057]
test eax, eax
jne 0x43e986
cmp dword [0x56b184], 0
jne 0x43e986
push str._echoing_back__n
call fcn.0044d350
add esp, 4
mov ecx, dword [ebp - 0x5d8]
push ecx
lea edx, [ebp - 0x5e8]
push edx
push 0
mov eax, dword [ebp - 0x5d4]
push eax
push 0x534818
mov ecx, dword [ebp - 0x84]
push ecx
call sub.WS2_32.dll_sendto
cmp dword [ebp + 0xc], 0
je 0x43ea40
push 0x10
push 0
lea edx, [ebp - 0x610]
push edx
call fcn.004bf170
add esp, 0xc
mov word [ebp - 0x610], 2
mov eax, dword [ebp + 0xc]
push eax
call sub.WS2_32.dll_inet_addr
mov dword [ebp - 0x60c], eax
mov cx, word [ebp + 0x10]
push ecx
call sub.WS2_32.dll_htons
mov word [ebp - 0x60e], ax
movzx edx, byte [0x56b057]
test edx, edx
jne 0x43ea1d
cmp dword [0x56b184], 0
jne 0x43ea1d
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push str._forwarding_to__s:_d__n
call fcn.0044d350
add esp, 0xc
push 0x10
lea edx, [ebp - 0x610]
push edx
push 0
mov eax, dword [ebp - 0x5d4]
push eax
push 0x534818
mov ecx, dword [ebp - 0x84]
push ecx
call sub.WS2_32.dll_sendto
cmp dword [0x56b19c], 0
jle 0x43ea56
mov edx, dword [ebp - 4]
cmp edx, dword [0x56b19c]
jl 0x43ea56
jmp 0x43ea67
jmp 0x43ea62
push 1
call fcn.004026b0
add esp, 4
jmp 0x43e718
push 1
push 1
mov eax, dword [ebp - 0x84]
push eax
call fcn.00401c30
add esp, 0xc
xor ecx, ecx
jne 0x43e575
xor eax, eax
mov esp, ebp
pop ebp
ret