Function at 0x432e20
Capabilities:
Get local ipv4 addresses
Get socket information
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
sub esp, 0x670
mov eax, dword [0x612790]
xor eax, esp
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x680]
push ebx
mov ebx, dword [esp + 0x680]
push ebp
push esi
mov esi, dword [esp + 0x684]
push edi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x694]
push 0x3f3
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x8d]
push 0
push eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], ebx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x690]
xorps xmm0, xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x30], eax
add esp, 0xc
movups xmm0, xmmword [esi]
mov dword [esp + 0x1c], 0
mov ax, 1
mov dword [esp + 0x28], 0x300
movups xmmword [esp + 0x6c], xmm0
lock xadd word [0x612660], ax
inc ax
mov ebp, dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
push eax
mov dword [esp + 0x40], eax
call ebp
push 1
mov word [esp + 0x80], ax
mov word [esp + 0x82], 1
call ebp
mov ecx, ebx
mov word [esp + 0x80], ax
xor eax, eax
mov dword [esp + 0x84], eax
mov word [esp + 0x82], ax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432f00
mov esi, 0x80
mov byte [esp + 0x88], al
sub ecx, edx
mov edi, ebx
lea edx, [esp + 0x88]
mov ebx, edx
lea ebp, [esi - 0x7f]
je 0x432f42
mov eax, esi
dec ecx
dec esi
test eax, eax
je 0x432f42
mov al, byte [edi]
inc edx
inc ebp
cmp al, 0x2e
jne 0x432f39
mov ebx, edx
jmp 0x432f3d
mov byte [edx], al
inc byte [ebx]
inc edi
test ecx, ecx
jne 0x432f25
test esi, esi
lea eax, [edx + 1]
mov esi, dword [sym.imp.WS2_32.dll_htons]
lea ebx, [ebp + 1]
cmove eax, edx
cmove ebx, ebp
push 1
mov dword [esp + 0x24], ebx
mov byte [eax], 0
call esi
push 1
mov word [esp + ebx + 0x8c], ax
call esi
push 0x10
lea ecx, [esp + 0x70]
mov word [esp + ebx + 0x8e], ax
push ecx
lea eax, [ebx + 0x10]
mov ebx, dword [esp + 0x68c]
push 0
push eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x8c]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
mov esi, eax
test esi, esi
jns 0x432fdb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push esi
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x20]
push 0x4e9
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s__sendto__d___d____d__errno_d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x2c
jmp 0x433570
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10
push eax
lea eax, [esp + 0x50]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_getsockname]
mov esi, eax
test esi, esi
jns 0x433026
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push esi
push ebx
push 0x4ef
push str.__ns_2ip
push str.BAGENT
push str.getsockname__d____d__errno_d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x24
push dword [esp + 0x4e]
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
call ebp
movzx eax, ax
push eax
push 0x200
lea eax, [esp + 0x484]
push eax
lea eax, [esp + 0x5c]
push eax
push 2
call sub.WS2_32.dll_inet_ntop
push eax
push ebx
push 0x4f3
push str.__ns_2ip
push str.BAGENT
push str.__d__Source__s:_d
push dword [0x915734]
call fcn.004322d0
add esp, 0x20
push dword [esp + 0x6e]
call ebp
movzx eax, ax
push eax
push 0x200
lea eax, [esp + 0x484]
push eax
lea eax, [esp + 0x7c]
push eax
push 2
call sub.WS2_32.dll_inet_ntop
push eax
push ebx
push 0x4f6
push str.__ns_2ip
push str.BAGENT
push str.__d__Destination__s:_d
push dword [0x915734]
call fcn.004322d0
lea eax, [esp + 0x7c]
push 1
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__timespec64_get]
mov edi, dword [esp + 0x8c]
mov eax, 0x44b82fa1
add edi, dword [0x612640]
add esp, 0x28
imul edi
sar edx, 0x1c
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
cdq
mov esi, eax
mov eax, edx
add esi, dword [esp + 0x5c]
adc eax, dword [esp + 0x60]
add esi, dword [0x612638]
mov dword [esp + 0x40], esi
adc eax, dword [0x61263c]
mov dword [esp + 0x30], eax
imul eax, ecx, 0x3b9aca00
sub edi, eax
cmp dword [0x915730], 0
mov dword [esp + 0x34], edi
mov edi, 1
jne 0x433383
nop word [eax + eax]
push edi
push 0x50c
push str.__ns_2ip
push str.BAGENT
push str.Wait_for_answer__iteration__d_...
push dword [0x915734]
call fcn.004322d0
lea eax, [esp + 0x74]
push 1
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__timespec64_get]
mov edx, dword [esp + 0x7c]
add esp, 0x20
mov eax, dword [esp + 0x60]
mov ecx, edx
sub ecx, esi
sbb eax, dword [esp + 0x30]
or ecx, eax
je 0x433178
sub edx, esi
jmp 0x433180
mov edx, dword [esp + 0x64]
sub edx, dword [esp + 0x34]
test edx, edx
jg 0x433357
push 0x309
push 1
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.WS2_32.dll_WSAPoll]
mov esi, eax
test esi, esi
js 0x433322
je 0x4332d5
test dword [esp + 0x2a], 0x300
je 0x4332d5
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x10
push eax
lea eax, [esp + 0x50]
push eax
push 0
push 0x400
lea eax, [esp + 0x8c]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
js 0x4332ec
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x50]
mov eax, dword [eax]
lea ecx, [ebx + 4]
cmp eax, dword [ecx]
jne 0x433254
mov ax, word [ebx + 2]
cmp ax, word [esp + 0x4e]
jne 0x433254
push dword [esp + 0x7c]
call ebp
mov ebx, dword [esp + 0x3c]
cmp bx, ax
je 0x433383
push dword [esp + 0x7c]
call ebp
movzx eax, ax
push eax
movzx eax, bx
push eax
push dword [esp + 0x18]
push 0x538
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s__request_Id_mismatch__sent__d__received__d_
push 0
push str.BAGENT
call fcn.00432050
add esp, 0x24
jmp 0x4332ce
push 0x1ff
lea eax, [esp + 0x80]
push eax
push ecx
push 2
call sub.WS2_32.dll_inet_ntop
push 0x200
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x58]
push eax
push 2
call sub.WS2_32.dll_inet_ntop
push dword [esp + 0x4e]
call ebp
movzx eax, ax
push eax
lea eax, [esp + 0x280]
push eax
movzx eax, word [ebx + 2]
push eax
call ebp
movzx eax, ax
push eax
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x20]
push 0x530
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s__ignore_datagram_due_IP_address_mismatch__sent_to__s:_d__received_from__s:_d_
push 0
push str.BAGENT
call fcn.00432050
add esp, 0x2c
mov ebx, dword [esp + 0x684]
inc edi
cmp dword [0x915730], 0
jne 0x433383
mov esi, dword [esp + 0x40]
jmp 0x433130
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
push eax
push esi
push ebx
push dword [esp + 0x1c]
push 0x527
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s__recvfrom__d____d__errno_d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x28
jmp 0x433570
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
push eax
push esi
push dword [esp + 0x2c]
push 0x51f
push str.__ns_2ip
push str.BAGENT
push str.poll__d__POLLIN____d__errno_d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x24
jmp 0x433570
push dword [esp + 0x10]
push 0x516
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s_is_timed_out
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x1c
jmp 0x433570
mov al, byte [esp + 0x7f]
test al, 0xf
je 0x4333be
movzx eax, al
and eax, 0xf
push eax
push dword [esp + 0x14]
push 0x543
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s__DNS_server_return_RCODE_d
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x20
jmp 0x433570
push dword [esp + 0x82]
lea edi, [esp + 0x90]
mov dword [esp + 0x1c], 0
add edi, dword [esp + 0x24]
call ebp
movzx eax, ax
test eax, eax
je 0x433510
lea ebx, [esp + 0x7c]
add ebx, dword [esp + 0x1c]
nop dword [eax]
dec eax
mov dword [esp + 0x14], eax
cmp edi, ebx
jae 0x433515
xor ebp, ebp
lea edx, [esp + 0x47c]
mov eax, edi
lea esi, [ebp + 1]
nop dword [eax + eax]
mov cl, byte [eax]
test cl, cl
je 0x433451
cmp cl, 0xc0
jb 0x43343f
movzx eax, byte [eax + 1]
movzx ecx, cl
shl ecx, 8
lea eax, [esp + eax + 0x7c]
add eax, 0xffff3fff
add eax, ecx
cmp eax, ebx
jae 0x433515
mov ebp, 1
jmp 0x433442
mov byte [edx], cl
inc edx
inc eax
lea ecx, [esi + 1]
test ebp, ebp
cmovne ecx, esi
mov esi, ecx
cmp eax, ebx
jb 0x433410
cmp ebp, 1
lea ecx, [esi + 1]
mov eax, edx
cmovne ecx, esi
lea esi, [esp + 0x47c]
sub eax, esi
mov dword [esp + 0x20], ecx
cmp dword [0x915734], 0
mov dword [esp + 0x18], eax
je 0x43349c
mov eax, esi
sub dx, ax
movzx eax, dx
push eax
mov eax, esi
push eax
push 0x497
push str.__ns_name_unpack
call fcn.00431b80
mov eax, dword [esp + 0x28]
add esp, 0x10
mov ecx, dword [esp + 0x20]
add edi, ecx
cmp ecx, 1
jne 0x4334a5
add edi, eax
cmp edi, ebx
jae 0x433515
mov esi, edi
add edi, 0xa
cmp edi, ebx
jae 0x433515
movzx eax, word [esi]
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
push eax
call ebp
movzx eax, ax
push eax
push 0x55d
push str.__ns_2ip
push str.BAGENT
push str.RR.type_d
push dword [0x915734]
call fcn.004322d0
movzx eax, word [esi]
add esp, 0x18
push eax
call ebp
cmp ax, 1
je 0x433589
movzx eax, word [esi + 8]
push eax
call ebp
movzx eax, ax
add edi, eax
cmp edi, ebx
jae 0x433515
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4333f0
dec eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
add eax, ecx
push eax
push edi
push ecx
lea eax, [esp + 0x88]
push eax
push 0x572
push str.__ns_2ip
push str.BAGENT
push str.buf_p__buflen_d__bufp_p__eob_p
push dword [0x915734]
call fcn.004322d0
push dword [esp + 0x34]
push 0x574
push str.__ns_2ip
push str.BAGENT
push str.Resolving__s__illegal_illformed_answer
push 2
push str.BAGENT
call fcn.00432050
add esp, 0x40
mov ecx, dword [esp + 0x67c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00498b38
add esp, 0x670
ret
mov eax, dword [edi]
mov edi, dword [esp + 0x44]
mov dword [edi], eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_ntohl]
mov esi, dword [esp + 0x48]
push 0x400
mov dword [esi], eax
lea eax, [esp + 0x80]
push eax
push edi
push 2
call sub.WS2_32.dll_inet_ntop
push dword [esi]
lea eax, [esp + 0x80]
push eax
push 0x566
push str.__ns_2ip
push str.BAGENT
push str.IPv4_address_:__s__TTL_d
push dword [0x915734]
call fcn.004322d0
add esp, 0x1c
mov eax, 1
jmp 0x433570