Function at 0x462e40
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
sub esp, 0x29c
mov eax, dword [0x661374]
xor eax, esp
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x2a4]
push ebx
push esi
push edi
mov edi, dword [esp + 0x2ac]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movzx eax, word [edi + 0x18a]
mov ebx, dword [edi + 0x504]
movzx esi, word [edi + 0x188]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x462eb4
test si, si
jne 0x462eb4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x298]
xor ecx, esp
call fcn.00593bac
add esp, 0x29c
ret
push ebp
push 0x80
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.00594c60
add esp, 0xc
test ebx, ebx
je 0x4631d1
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462ed6
sub ecx, edx
cmp ecx, 0xff
jae 0x4631d1
push 0xff
mov byte [esp + 0xac], al
lea eax, [esp + 0xad]
push 0
push eax
call fcn.00594c60
mov edx, dword [0x6542a0]
add esp, 0xc
mov ecx, edx
mov byte [esp + 0x13], 0
lea ebp, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462f20
sub ecx, ebp
push ecx
push ebx
push edx
call fcn.0059dfb0
mov ebp, dword [esp + 0x2c8]
add esp, 0xc
test eax, eax
jne 0x462fcd
mov ecx, dword [0x6542a0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462f50
sub ecx, edx
mov byte [esp + 0x13], 1
add ebx, ecx
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xa8]
push 0x100
push eax
push ebx
push dword [ecx + 0x464]
push dword [esp + 0x2d0]
push ebp
call fcn.00472cf0
add esp, 0x18
sub eax, 0
je 0x4630a5
sub eax, 1
je 0x463163
sub eax, 1
je 0x463014
cmp byte [esp + 0x13], 0
jne 0x4631b1
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x470]
mov byte [esp + 0x13], al
cmp ebp, 2
jne 0x4630c9
mov byte [ecx + 0x470], 1
jmp 0x4630d5
mov edx, dword [0x6542a4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462fe0
sub ecx, dword [esp + 0x20]
push ecx
push ebx
push edx
call fcn.0059dfb0
add esp, 0xc
test eax, eax
jne 0x462f60
mov ecx, dword [0x6542a4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x463007
sub ecx, edx
add ebx, ecx
jmp 0x462faa
push ebp
lea eax, [esp + 0xac]
push eax
push ebx
push 0x5d101c
push edi
call fcn.00435090
add esp, 0x14
cmp ebp, 0x17
jne 0x46316d
lea eax, [esp + 0xa8]
push 0x25
push eax
call fcn.00594b30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x463051
mov byte [ebx], 0
inc ebx
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xac]
push eax
push 0x17
call fcn.0044bca0
add esp, 0xc
test eax, eax
jle 0x463097
mov eax, 0x17
push esi
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
test ebx, ebx
je 0x463097
push 0xa
push 0
push ebx
call fcn.0059d2bd
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, 0x1c
mov dword [esp + 0x18], eax
jmp 0x463200
cmp byte [esp + 0x13], 0
je 0x462faa
push ebx
push 0x5d0ffc
push edi
call fcn.00434fc0
add esp, 0xc
mov eax, 0x2d
jmp 0x463330
cmp ebp, 0x17
jne 0x4630d5
mov byte [ecx + 0x470], 2
lea eax, [esp + 0x14]
push eax
push 0
push 0x50
push ebx
push edi
call fcn.0043e250
add esp, 0x14
cmp eax, 1
jne 0x4630fb
lea eax, [esp + 0x14]
push eax
push edi
call fcn.0042a0f0
add esp, 8
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x13]
mov byte [ecx + 0x470], al
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4631b1
push 0x100
lea ecx, [esp + 0xac]
push ecx
push dword [eax]
call fcn.0043e200
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
push dword [eax + 4]
lea eax, [esp + 0xb8]
push eax
push ebp
push ebx
push 0x5d1050
push edi
call fcn.00435090
push dword [esp + 0x38]
push edi
call fcn.0043e810
mov eax, dword [esp + 0x40]
add esp, 0x2c
mov eax, dword [eax]
cmp ebp, dword [eax + 4]
je 0x46302c
mov eax, 1
jmp 0x463330
cmp ebp, 2
jne 0x4631fe
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xac]
push eax
push ebp
call fcn.0044bca0
add esp, 0xc
test eax, eax
jle 0x4631fe
mov eax, 2
push esi
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
mov eax, 0x10
mov dword [esp + 0x18], eax
jmp 0x463200
push ebx
push 0x5d1080
push edi
mov byte [edi + 0xd57], 0
call fcn.00434fc0
add esp, 0xc
mov eax, 0x2d
jmp 0x463330
mov eax, dword [esp + 0x2bc]
cmp eax, 0x17
jne 0x4631f9
push esi
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
mov eax, 0x1c
mov dword [esp + 0x18], eax
jmp 0x463200
cmp eax, 2
je 0x463190
xor eax, eax
mov ebp, dword [esp + 0x2b8]
push eax
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x46326a
mov ebx, dword [sym.imp.WS2_32.dll_ntohs]
nop
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
test eax, eax
jle 0x4632d9
inc esi
test si, si
je 0x4632d9
movzx eax, si
dec eax
push eax
push 0x5d10d0
push edi
call fcn.00435090
add esp, 0xc
push esi
call ebx
push dword [esp + 0x18]
mov word [esp + 0x2e], ax
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0x463220
push 0x80
lea eax, [esp + 0xac]
mov dword [esp + 0x24], 0x80
push 0
push eax
call fcn.00594c60
add esp, 0xc
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0xac]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jns 0x463311
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0x1a8]
push 0x100
push eax
push esi
mov dword [edi + 0x934], esi
call fcn.00420cc0
push eax
push esi
push 0x5d1098
push edi
call fcn.00434fc0
add esp, 0x1c
mov eax, 0x2d
jmp 0x463330
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0xa8]
push 0x100
push eax
push esi
mov dword [edi + 0x934], esi
call fcn.00420cc0
push eax
push esi
push 0x5d10fc
push edi
call fcn.00434fc0
add esp, 0x1c
mov eax, 0x2d
jmp 0x463330
movzx eax, si
push eax
push 0x5d10c0
push edi
call fcn.00435090
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [eax + 0x1f6], 1
xor eax, eax
mov ecx, dword [esp + 0x2a8]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00593bac
add esp, 0x29c
ret