Function at 0x456355
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], 0x5035e0
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.004ebf96
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.004f14cb
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 0x456464
movzx ecx, word [esi + 0xa0]
mov eax, dword [esi + 0x60]
cmp ecx, 2
je 0x45647f
cmp ecx, 0x17
mov ecx, dword [esi + 0xc]
jne 0x4564aa
cmp eax, 0x1b
jbe 0x4567a3
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 0x4564bb
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 0x4564b5
mov ecx, dword [esi + 0xc]
cmp eax, 0xf
jbe 0x4567b8
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 0x4564bb
mov byte [esi + 0x1c], 2
mov dword [esi + 0x20], 0x58ff20
mov word [esi + 0x18], 2
mov dword [esi + 0x138], 2
call fcn.004f14cb
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 0x456569
movzx ecx, word [esi + 0xa0]
mov eax, dword [esi + 0x60]
cmp ecx, 2
je 0x456581
cmp ecx, 0x17
jne 0x4565a6
cmp eax, 0x1b
jbe 0x4567cd
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 0x4565b5
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 0x4565b1
cmp eax, 0xf
jbe 0x4567e2
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 0x4565b5
mov byte [esi + 0x3e], 2
mov dword [esi + 0x42], 0x58ff20
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 0x456703
cmp ax, 2
je 0x456703
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 0x456712
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.004ebf96
mov edi, eax
push 0x40
lea eax, [esi + 0xa0]
push eax
push edi
call fcn.00527800
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], 0x575494
jmp 0x456763
movsd xmm0, qword [esi + 0x50]
mov eax, dword [esi + 0x38]
movsd xmm1, qword [esi + 0x58]
jmp 0x456777
and dword [esi + 0x14], 0
mov dword [esi + 0x138], 4
push 0x40
pop ecx
push 4
pop edx
call fcn.004ebf96
mov ecx, eax
push 0x40
lea eax, [esi + 0xa0]
push eax
mov dword [esi + 0x10], ecx
push ecx
call fcn.00527800
add esp, 0xc
mov edx, dword [esi + 0x1c]
xor ecx, ecx
mov dword [esi + 0x138], 5
call fcn.00453bf3
mov eax, dword [esi + 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0x5754a8
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.004568fb
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, 0x58febc
push 0x58ff00
call fcn.005360b0
pop eax
jmp 0x4567f5
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 0x58feac
call fcn.005360b0
pop eax
jmp 0x4567f5
push 0x43
pop edx
mov ecx, 0x58febc
push 0x58ff00
call fcn.005360b0
pop eax
jmp 0x4567f5
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 0x58feac
call fcn.005360b0
pop eax
ud2