Function at 0x402bb0
Capabilities:
Get local ipv4 addresses
Get socket information
Receive data
Receive data on socket
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x102dc
call fcn.00413ba0
mov eax, dword [0x418a28]
xor eax, esp
mov dword [esp + 0x102d4], eax
mov eax, dword [esp + 0x102e4]
push ebx
push ebp
mov ebp, dword [esp + 0x102fc]
push esi
xor ebx, ebx
push edi
mov edi, dword [sym.imp.WS2_32.dll_recv]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
xor esi, esi
jmp 0x402c00
mov ecx, dword [esp + 0x102f0]
push ebx
mov edx, 0xc
sub edx, esi
push edx
lea eax, [esp + esi + 0x38]
push eax
push ecx
call edi
cmp eax, 0xffffffff
je 0x402ca3
cmp eax, ebx
je 0x402cbc
add esi, eax
cmp esi, 0xc
jne 0x402c00
mov eax, esi
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
je 0x402c9c
mov edx, dword [esp + 0x38]
mov edi, dword [sym.imp.WS2_32.dll_ntohs]
push edx
call edi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
mov word [esp + 0x38], ax
mov eax, dword [esp + 0x34]
push ebp
push eax
call esi
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
push eax
mov ebx, 1
and ecx, ebx
push ecx
push edx
call esi
mov edx, dword [esp + 0x28]
mov ecx, eax
call fcn.00404250
mov ecx, eax
add esp, 0xc
test ecx, ecx
mov dword [esp + 0x20], ecx
jne 0x402ce1
push eax
mov eax, dword [esp + 0x102f4]
push 6
push eax
mov ebx, ebp
call fcn.00405420
add esp, 0xc
xor eax, eax
jmp 0x403161
mov ebx, 0x100
mov esi, ebp
mov edi, str.recv__:
call fcn.00406290
or eax, 0xffffffff
jmp 0x402c32
cmp ebp, ebx
je 0x402cd9
push str.The_other_host_terminated_the_connection.
push 0x100
push ebp
call fcn.0040722a
add esp, 0xc
mov byte [ebp + 0xff], bl
or eax, 0xffffffff
jmp 0x402c32
mov eax, dword [esp + 0x102fc]
movzx edx, byte [eax]
mov eax, dword [eax + 4]
mov dword [ecx + 0x238], edx
mov dword [ecx + 0x23c], eax
test byte [esp + 0x38], 6
jne 0x402d13
cmp dword [esp + 0x102f8], 0
mov dword [esp + 0x1c], 0
je 0x402d17
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x102f0]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x64]
push edx
mov esi, 0x80
push eax
mov dword [esp + 0x24], esi
call dword [sym.imp.WS2_32.dll_getpeername]
cmp eax, 0xffffffff
jne 0x402d53
mov ebx, 0x100
mov esi, ebp
mov edi, str.getpeername__:
call fcn.00406290
jmp 0x403080
mov cl, byte [esp + 0x38]
movsx edx, word [esp + 0x60]
xor eax, eax
and cl, 2
neg cl
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
sbb ecx, ecx
neg ecx
add ecx, ebx
cmp dword [esp + 0x1c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
je 0x402e4b
mov eax, dword [esp + 0x3a]
push eax
call edi
movzx ecx, ax
push ecx
lea edx, [esp + 0xe4]
push 0x4156f8
push edx
call fcn.0040712e
mov ecx, dword [esp + 0x24]
add esp, 0xc
push 2
push 0
push 0
push 0x400
lea eax, [esp + 0x4f0]
push eax
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00401bb0
test eax, eax
je 0x402df7
mov esi, ebp
mov edi, str.getnameinfo__:
mov ebx, 0x100
call fcn.00406290
jmp 0x403080
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x4ec]
push eax
mov eax, ebp
call fcn.004065c0
add esp, 0x10
cmp eax, 0xffffffff
je 0x403080
mov ecx, dword [esp + 0x14]
push 0
push 0
push ecx
mov ecx, ebp
call fcn.004063f0
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x403080
mov ebx, eax
jmp 0x402eef
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x44]
push eax
push 0x41570c
push 0
mov eax, ebp
mov dword [esp + 0x50], ebx
call fcn.004065c0
add esp, 0x10
cmp eax, 0xffffffff
je 0x403080
mov ecx, dword [esp + 0x14]
push ebx
push ebx
push ecx
mov ecx, ebp
call fcn.004063f0
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x403080
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x64]
push eax
push ebx
mov dword [esp + 0x24], esi
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
jne 0x402ec5
mov ebx, 0x100
mov esi, ebp
mov edi, str.getsockname__:
call fcn.00406290
jmp 0x403080
mov edx, dword [esp + 0x18]
push 8
push 0x400
lea ecx, [esp + 0xe8]
push ecx
push 0
push 0
push edx
lea eax, [esp + 0x78]
push eax
call fcn.00401bb0
test eax, eax
jne 0x402de1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00401c00
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x102f0]
lea edx, [esp + 0x10300]
push edx
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x1c], 0
mov dword [eax + 0x228], edi
push eax
mov eax, ebp
call fcn.00403250
add esp, 0xc
test eax, eax
jne 0x403080
push 8
push 0x84
xor ecx, ecx
lea esi, [esp + 0x8e8]
call fcn.00405680
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x8f0], eax
mov dword [esp + 0x8f4], eax
mov eax, dword [edx + 0xb0]
add esp, 8
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov esi, dword [esp + 0x1c]
test esi, esi
mov dword [esp + 0x8e8], eax
jne 0x402f9f
push 0xa
lea ecx, [esp + 0xe4]
push esi
push ecx
call fcn.004075ad
movzx eax, ax
add esp, 0xc
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x8ec], ax
push 0x100
push ebp
mov eax, 0x10
lea ecx, [esp + 0x8e8]
mov edx, edi
call fcn.004066b0
add esp, 8
cmp eax, 0xffffffff
je 0x403080
test esi, esi
jne 0x403019
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x64]
push eax
push ebx
mov dword [esp + 0x24], 0x80
call dword [sym.imp.WS2_32.dll_accept]
mov edi, eax
cmp edi, 0xffffffff
mov esi, ebp
jne 0x402ffe
mov edi, str.accept__:
mov ebx, 0x100
call fcn.00406290
jmp 0x403080
push ebx
mov ebx, 0x100
call fcn.00406580
mov dword [esp + 0x14], edi
mov ebx, edi
mov edi, dword [esp + 0x102f4]
add esp, 4
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
mov dword [esi + 0x22c], ebx
call dword [sym.imp.pthreadVC.dll_pthread_attr_init]
add esp, 4
lea edx, [esp + 0x24]
push 1
push edx
call dword [sym.imp.pthreadVC.dll_pthread_attr_setdetachstate]
mov ecx, dword [esp + 0x34]
push esi
push 0x4038c0
lea eax, [esp + 0x34]
push eax
push ecx
call dword [sym.imp.pthreadVC.dll_pthread_create]
add esp, 0x18
test eax, eax
je 0x403133
push str.Error_creating_the_data_thread
push 0x100
push ebp
call fcn.0040722a
lea edx, [esp + 0x30]
add esp, 0xc
push edx
call dword [sym.imp.pthreadVC.dll_pthread_attr_destroy]
add esp, 4
mov eax, dword [esp + 0x102f0]
push 0
push 0xc
push eax
mov ebx, ebp
call fcn.00405420
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x4030b8
mov esi, eax
mov eax, dword [0x419b3c]
test eax, eax
jne 0x4030b5
push 2
call fcn.00401a00
mov dword [0x419b3c], eax
push esi
call eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4030cc
mov ecx, dword [eax]
push ecx
call dword [sym.imp.pthreadVC.dll_pthread_cancel]
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x4030fd
push 1
push esi
call dword [sym.imp.WS2_32.dll_shutdown]
test eax, eax
je 0x4030f6
xor ebx, ebx
xor esi, esi
mov edi, str.shutdown__:
call fcn.00406290
mov edx, dword [esp + 0x10]
push edx
jmp 0x4030f7
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [esp + 0x10300]
mov eax, dword [esp + 0x28]
cmp eax, ecx
je 0x403122
push 0
sub ecx, eax
mov eax, dword [esp + 0x102f4]
push 0
push eax
call fcn.004067a0
add esp, 0xc
mov ecx, dword [esp + 0x20]
push ecx
call sub.wpcap.dll_pcap_close
add esp, 4
xor eax, eax
jmp 0x403161
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.pthreadVC.dll_pthread_attr_destroy]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10304]
add esp, 4
cmp eax, ecx
je 0x40315f
push 0
push 0
sub ecx, eax
push edi
call fcn.004067a0
add esp, 0xc
mov eax, esi
mov ecx, dword [esp + 0x102e4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004075d7
add esp, 0x102dc
ret