Function at 0x455fc5
Capabilities:
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, 0x150
mov esi, esp
mov dword [esi + 0x138], ebp
lea eax, [esi + 0x140]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x10], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x501f80
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.004484ab
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov byte [eax + 8], 0
mov dword [esi + 0x148], ecx
mov ecx, dword [esi + 0x10]
mov word [esi + 0x58], 1
and dword [esi + 0x4c], 0
mov dword [esi + 0x54], eax
call fcn.004efbb4
mov eax, dword [eax]
lea edx, [esi + 0x20]
xorps xmm0, xmm0
lea ecx, [esi + 0x70]
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 0x4560f4
movzx ecx, word [esi + 0x70]
mov eax, dword [esi + 0x20]
cmp ecx, 2
je 0x45610f
cmp ecx, 0x17
mov ecx, dword [esi + 0x10]
jne 0x456134
cmp eax, 0x1b
jbe 0x45643c
movsd xmm0, qword [esi + 0x78]
movzx eax, word [esi + 0x72]
mov ebx, dword [esi + 0x74]
mov edx, dword [esi + 0x88]
mov word [esi + 0x28], 1
movsd qword [esi + 0x5e], xmm0
movsd xmm0, qword [esi + 0x80]
rol ax, 8
movsd qword [esi + 0x66], xmm0
movsd xmm0, qword [esi + 0x5c]
movsd xmm1, qword [esi + 0x64]
movzx edi, word [esi + 0x6c]
movsd qword [esi + 0x2a], xmm0
movsd qword [esi + 0x32], xmm1
mov word [esi + 0x3a], di
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], edx
mov word [esi + 0x44], ax
jmp 0x456145
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
xor ecx, ecx
mov byte [esi + 0x2c], cl
mov byte [esi + 0x2f], cl
and word [esi + 0x2d], 0
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], eax
jmp 0x45613f
mov ecx, dword [esi + 0x10]
cmp eax, 0xf
jbe 0x456451
movzx edx, word [esi + 0x72]
mov eax, dword [esi + 0x74]
and word [esi + 0x28], 0
rol dx, 8
mov dword [esi + 0x2a], eax
mov word [esi + 0x2e], dx
jmp 0x456145
mov byte [esi + 0x2c], 2
mov dword [esi + 0x30], 0x57f750
mov word [esi + 0x28], 2
mov dword [esi + 0x148], 2
call fcn.004efbb4
mov eax, dword [eax]
xorps xmm0, xmm0
lea ecx, [esi + 0x20]
mov dword [esi + 0x20], 0x80
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
movaps xmmword [esi + 0x90], xmm0
movaps xmmword [esi + 0x80], xmm0
movaps xmmword [esi + 0x70], xmm0
push ecx
lea ecx, [esi + 0x70]
push ecx
push eax
call dword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x4561f7
movzx ecx, word [esi + 0x70]
mov eax, dword [esi + 0x20]
cmp ecx, 2
je 0x456210
cmp ecx, 0x17
jne 0x45622f
cmp eax, 0x1b
jbe 0x456466
mov eax, dword [esi + 0x88]
movzx ecx, word [esi + 0x72]
mov ebx, dword [esi + 0x74]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x78]
rol cx, 8
xor edx, edx
inc edx
mov dword [esi + 0x1a], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x7c]
jmp 0x45623c
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
xor ecx, ecx
mov dx, 2
mov byte [esi + 0x1a], cl
and word [esi + 0x1b], 0
mov byte [esi + 0x1d], cl
jmp 0x45622d
cmp eax, 0xf
jbe 0x45647b
movzx ecx, word [esi + 0x72]
mov eax, dword [esi + 0x74]
xor edx, edx
rol cx, 8
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
jmp 0x45623c
mov byte [esi + 0x1a], 2
mov dx, 2
mov eax, 0x57f750
movsd xmm1, qword [esi + 0x38]
movsd xmm0, qword [esi + 0x40]
movsd xmm2, qword [esi + 0x28]
mov edi, dword [esi + 0x18]
movsd qword [esi + 0x80], xmm1
movsd xmm1, qword [esi + 0x30]
movsd qword [esi + 0x88], xmm0
movsd qword [esi + 0x70], xmm2
movsd qword [esi + 0x78], xmm1
mov word [esi + 0x90], dx
mov dword [esi + 0x92], edi
movzx edi, word [esi + 0x1c]
mov word [esi + 0x96], di
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x10]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xa8], edi
mov word [esi + 0xac], cx
cmp word [esi + 0x70], 2
je 0x45639a
cmp dx, 2
je 0x45639a
lea eax, [esi + 0x90]
movsd xmm1, qword [eax - 0x10]
movsd xmm2, qword [eax - 0x20]
movsd xmm0, qword [eax - 8]
movsd xmm3, qword [eax]
movsd qword [esi + 0x108], xmm1
movsd xmm1, qword [eax - 0x18]
movsd qword [esi + 0xf8], xmm2
movsd xmm2, qword [eax + 0x10]
movsd qword [esi + 0x110], xmm0
movsd qword [esi + 0x100], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0x128], xmm2
movsd xmm2, qword [esi + 0x4c]
movsd qword [esi + 0x118], xmm3
movsd qword [esi + 0x120], xmm1
movsd xmm1, qword [eax + 0x18]
movsd qword [esi + 0x28], xmm2
mov eax, dword [esi + 0x28]
movsd qword [esi + 0x130], xmm1
movsd xmm1, qword [esi + 0x54]
test eax, eax
mov dword [esi + 0x10], eax
movsd qword [esi + 0x30], xmm1
je 0x4563a9
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x148], 6
mov dword [esi + 0x14], eax
push 0x48
pop ecx
push 4
pop edx
call fcn.004484ab
mov edi, eax
lea eax, [esi + 0xf8]
push 0x40
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], 0x565164
jmp 0x4563fc
movsd xmm0, qword [esi + 0x4c]
mov eax, dword [esi + 0x48]
movsd xmm1, qword [esi + 0x54]
jmp 0x456410
and dword [esi + 0x24], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x148], 4
push 0x40
pop ecx
push 4
pop edx
call fcn.004484ab
lea ecx, [esi + 0xf8]
push 0x40
push ecx
mov dword [esi + 0x14], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x2c]
xor ecx, ecx
mov dword [esi + 0x148], 5
call fcn.00473c10
mov eax, dword [esi + 0x14]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], 0x565178
movsd xmm0, qword [esi + 0x28]
mov eax, dword [esi + 0x48]
movsd xmm1, qword [esi + 0x30]
or dword [esi + 0x148], 0xffffffff
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
or dword [esi + 0x148], 0xffffffff
lea ecx, [esi + 0x70]
call fcn.004565a2
mov eax, dword [esi + 0x140]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x3a
pop edx
mov ecx, 0x57f6f4
push 0x57f730
call fcn.00526990
pop eax
jmp 0x45648e
push 0x39
pop edx
mov ecx, 0x57f6a9
push 0x57f6e4
call fcn.00526990
pop eax
jmp 0x45648e
push 0x3a
pop edx
mov ecx, 0x57f6f4
push 0x57f730
call fcn.00526990
pop eax
jmp 0x45648e
push 0x39
pop edx
mov ecx, 0x57f6a9
push 0x57f6e4
call fcn.00526990
pop eax
ud2