Function at 0x456e21
Capabilities:
Access peb ldr_data
Get local ipv4 addresses
Get socket information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov esi, esp
mov dword [esi + 0x128], ebp
lea eax, [esi + 0x130]
mov dword [esi + 0x38], ecx
mov dword [esi + 0xc], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x5040c0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
and dword [eax + 8], 0
push 0xc
pop ecx
push 4
pop edx
call fcn.004eca76
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov byte [eax + 8], 0
mov dword [esi + 0x138], ecx
mov ecx, dword [esi + 0xc]
mov word [esi + 0x5c], 1
and dword [esi + 0x50], 0
mov dword [esi + 0x58], eax
call fcn.004f1fab
mov eax, dword [eax]
lea edx, [esi + 0x60]
xorps xmm0, xmm0
lea ecx, [esi + 0xa0]
movaps xmmword [ecx + 0x70], xmm0
movaps xmmword [ecx + 0x60], xmm0
movaps xmmword [ecx + 0x50], xmm0
movaps xmmword [ecx + 0x40], xmm0
movaps xmmword [ecx + 0x30], xmm0
movaps xmmword [ecx + 0x20], xmm0
movaps xmmword [ecx + 0x10], xmm0
movaps xmmword [ecx], xmm0
mov dword [edx], 0x80
push edx
push ecx
push eax
call dword [sym.imp.ws2_32.dll_getpeername]
cmp eax, 0xffffffff
je 0x456f30
movzx ecx, word [esi + 0xa0]
mov eax, dword [esi + 0x60]
cmp ecx, 2
je 0x456f4b
cmp ecx, 0x17
mov ecx, dword [esi + 0xc]
jne 0x456f76
cmp eax, 0x1b
jbe 0x45726f
movzx eax, word [esi + 0xa2]
movups xmm0, xmmword [esi + 0xa8]
mov edi, dword [esi + 0xa4]
mov edx, dword [esi + 0xb8]
mov word [esi + 0x18], 1
rol ax, 8
movups xmmword [esi + 0x1c], xmm0
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edx
mov word [esi + 0x34], ax
jmp 0x456f87
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
xor ecx, ecx
mov byte [esi + 0x1c], cl
mov byte [esi + 0x1f], cl
and word [esi + 0x1d], 0
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x20], eax
jmp 0x456f81
mov ecx, dword [esi + 0xc]
cmp eax, 0xf
jbe 0x457284
movzx edx, word [esi + 0xa2]
mov eax, dword [esi + 0xa4]
and word [esi + 0x18], 0
rol dx, 8
mov dword [esi + 0x1a], eax
mov word [esi + 0x1e], dx
jmp 0x456f87
mov byte [esi + 0x1c], 2
mov dword [esi + 0x20], 0x590fa0
mov word [esi + 0x18], 2
mov dword [esi + 0x138], 2
call fcn.004f1fab
mov eax, dword [eax]
xorps xmm0, xmm0
lea ecx, [esi + 0x60]
mov dword [esi + 0x60], 0x80
movaps xmmword [esi + 0x110], xmm0
movaps xmmword [esi + 0x100], xmm0
movaps xmmword [esi + 0xf0], xmm0
movaps xmmword [esi + 0xe0], xmm0
movaps xmmword [esi + 0xd0], xmm0
movaps xmmword [esi + 0xc0], xmm0
movaps xmmword [esi + 0xb0], xmm0
movaps xmmword [esi + 0xa0], xmm0
push ecx
lea ecx, [esi + 0xa0]
push ecx
push eax
call dword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x457035
movzx ecx, word [esi + 0xa0]
mov eax, dword [esi + 0x60]
cmp ecx, 2
je 0x45704d
cmp ecx, 0x17
jne 0x457072
cmp eax, 0x1b
jbe 0x457299
movzx ecx, word [esi + 0xa2]
movups xmm0, xmmword [esi + 0xa8]
mov edi, dword [esi + 0xa4]
mov edx, dword [esi + 0xb8]
rol cx, 8
xor eax, eax
movups xmmword [esi + 0x3e], xmm0
inc eax
jmp 0x457081
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
xor ecx, ecx
mov byte [esi + 0x3e], cl
and word [esi + 0x3f], 0
mov byte [esi + 0x41], cl
mov dword [esi + 0x42], eax
jmp 0x45707d
cmp eax, 0xf
jbe 0x4572ae
movzx ecx, word [esi + 0xa2]
mov eax, dword [esi + 0xa4]
rol cx, 8
mov dword [esi + 0x3c], eax
xor eax, eax
mov word [esi + 0x40], cx
jmp 0x457081
mov byte [esi + 0x3e], 2
mov dword [esi + 0x42], 0x590fa0
mov ax, 2
movsd xmm1, qword [esi + 0x28]
movsd xmm0, qword [esi + 0x30]
movsd xmm3, qword [esi + 0x18]
movzx ebx, word [esi + 0x4c]
movsd xmm2, qword [esi + 0x3c]
movsd qword [esi + 0x70], xmm1
movsd xmm1, qword [esi + 0x20]
movsd qword [esi + 0x78], xmm0
movsd qword [esi + 0x60], xmm3
movsd qword [esi + 0x68], xmm1
movsd xmm1, qword [esi + 0x44]
mov word [esi + 0x80], ax
mov word [esi + 0x92], bx
movsd qword [esi + 0x82], xmm2
movsd qword [esi + 0x8a], xmm1
mov dword [esi + 0x94], edi
mov dword [esi + 0x98], edx
mov word [esi + 0x9c], cx
cmp word [esi + 0x60], 2
je 0x4571cf
cmp ax, 2
je 0x4571cf
lea eax, [esi + 0x80]
movsd xmm1, qword [eax - 0x10]
movsd xmm2, qword [eax - 0x20]
movsd xmm0, qword [eax - 8]
movsd xmm3, qword [eax]
movsd qword [esi + 0xb0], xmm1
movsd xmm1, qword [eax - 0x18]
movsd qword [esi + 0xa0], xmm2
movsd xmm2, qword [eax + 0x10]
movsd qword [esi + 0xb8], xmm0
movsd qword [esi + 0xa8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0xd0], xmm2
movsd xmm2, qword [esi + 0x50]
movsd qword [esi + 0xc0], xmm3
movsd qword [esi + 0xc8], xmm1
movsd xmm1, qword [eax + 0x18]
movsd qword [esi + 0x18], xmm2
mov eax, dword [esi + 0x18]
movsd qword [esi + 0xd8], xmm1
movsd xmm1, qword [esi + 0x58]
test eax, eax
mov dword [esi + 0xc], eax
movsd qword [esi + 0x20], xmm1
je 0x4571de
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x138], 6
mov dword [esi + 0x10], eax
push 0x48
pop ecx
push 4
pop edx
call fcn.004eca76
mov edi, eax
push 0x40
lea eax, [esi + 0xa0]
push eax
push edi
call fcn.005282e0
add esp, 0xc
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], 0x576514
jmp 0x45722f
movsd xmm0, qword [esi + 0x50]
mov eax, dword [esi + 0x38]
movsd xmm1, qword [esi + 0x58]
jmp 0x457243
and dword [esi + 0x14], 0
mov dword [esi + 0x138], 4
push 0x40
pop ecx
push 4
pop edx
call fcn.004eca76
mov ecx, eax
push 0x40
lea eax, [esi + 0xa0]
push eax
mov dword [esi + 0x10], ecx
push ecx
call fcn.005282e0
add esp, 0xc
mov edx, dword [esi + 0x1c]
xor ecx, ecx
mov dword [esi + 0x138], 5
call fcn.004546bf
mov eax, dword [esi + 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0x576528
movsd xmm0, qword [esi + 0x18]
mov eax, dword [esi + 0x38]
movsd xmm1, qword [esi + 0x20]
or dword [esi + 0x138], 0xffffffff
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
or dword [esi + 0x138], 0xffffffff
lea ecx, [esi + 0x60]
call fcn.004573c7
mov eax, dword [esi + 0x130]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x43
pop edx
mov ecx, 0x590f3c
push 0x590f80
call fcn.00536b90
pop eax
jmp 0x4572c1
push 0x42
pop edx
mov ecx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
push 0x590f2c
call fcn.00536b90
pop eax
jmp 0x4572c1
push 0x43
pop edx
mov ecx, 0x590f3c
push 0x590f80
call fcn.00536b90
pop eax
jmp 0x4572c1
push 0x42
pop edx
mov ecx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
push 0x590f2c
call fcn.00536b90
pop eax
ud2