Function at 0x4677b2
Capabilities:
Get local ipv4 addresses
Get socket information
Set socket configuration
Terminate process

Disassembly:
sub esp, 0x34
mov eax, dword [0x6b0d44]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
mov ebx, dword [esp + 0x40]
xor eax, eax
push ebp
push edi
mov ebp, ecx
inc eax
push 0x1c
xor edi, edi
mov dword [esp + 0x1c], ebp
pop ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ecx
cmp word [ebx], ax
jne 0x4677ed
xor eax, eax
jmp 0x467a18
push esi
push 4
pop edx
push 0x60
pop ecx
call fcn.0046c159
mov esi, eax
push 0x287
push 0x75fb50
mov dword [esi + 0xc], ebp
xor ebp, ebp
inc ebp
mov dword [esi + 0x14], str.ILibAsyncServerSocket
push ebp
push 0x28
mov dword [esi], 0x467222
mov dword [esi + 4], 0x467296
mov dword [esi + 8], 0x46746d
mov dword [esi + 0x3c], 0x45507c
mov dword [esi + 0x40], 0x4552f3
mov dword [esi + 0x44], fcn.00401150
mov dword [esi + 0x48], 0x455389
mov dword [esi + 0x38], 0x455327
mov dword [esi + 0x1c], 0xa
call fcn.005ce020
add esp, 0x10
mov dword [esi + 0x20], eax
test eax, eax
jne 0x467890
push ebp
push esi
call fcn.005cdee0
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfd
push 0x288
mov edx, 0x75fb78
xor ecx, ecx
call fcn.0047145c
add esp, 0xc
jmp 0x46796a
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
xor eax, eax
inc eax
cmp word [ebx], ax
jne 0x4678e5
push edi
push eax
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x28], eax
cmp eax, 0xffffffff
je 0x467954
push 4
lea eax, [esp + 0x18]
push eax
push 0xfffffffffffffffb
push 0xffff
push dword [esi + 0x28]
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x46792d
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2a2
mov edx, str...microstackILibAsyncServerSocket.c
jmp 0x467a3c
movzx eax, word [ebx + 2]
push eax
call ebp
push 6
mov word [esi + 0x2c], ax
mov word [esi + 0x2e], ax
movzx eax, word [ebx]
push 1
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x28], eax
cmp eax, 0xffffffff
je 0x467954
push 0x17
pop ecx
cmp word [ebx], cx
jne 0x4678b3
push 4
lea ecx, [esp + 0x14]
push ecx
push 0x1b
push 0x29
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x4678b3
jmp 0x467a2a
push 0x10
pop eax
push 0x17
pop ecx
cmp word [ebx], cx
push 0x1c
pop ecx
cmove eax, ecx
push eax
push ebx
push dword [esi + 0x28]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x467971
push dword [esi + 0x28]
call dword [sym.imp.WS2_32.dll_closesocket]
xor ebx, ebx
inc ebx
push ebx
push dword [esi + 0x20]
call fcn.005cdee0
push ebx
push esi
call fcn.005cdee0
add esp, 0x10
xor eax, eax
jmp 0x467a17
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x28]
push eax
push dword [esi + 0x28]
call dword [sym.imp.WS2_32.dll_getsockname]
xor eax, eax
inc eax
cmp word [ebx], ax
je 0x467999
push 0x17
pop eax
push dword [esp + 0x26]
call ebp
mov word [esi + 0x2c], ax
mov ebx, dword [esp + 0x1c]
push 4
push 0x46755f
push 0x46751d
push 0x4674eb
push 0x467497
mov edx, 0x1000
mov ecx, ebx
call fcn.00467bd3
mov ecx, dword [esi + 0x20]
add esp, 0x14
mov dword [edi + ecx], eax
mov eax, dword [esi + 0x20]
mov eax, dword [edi + eax]
test eax, eax
je 0x4679dc
mov dword [eax + 0x1d0], 0x46757e
add edi, 4
cmp edi, 0x28
jl 0x46799d
lea eax, [esp + 0x20]
xor ebp, ebp
push eax
inc ebp
push 0x8004667e
mov dword [esp + 0x28], ebp
push dword [esi + 0x28]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 4
push dword [esi + 0x28]
mov dword [esi + 0x30], ebp
call dword [sym.imp.WS2_32.dll_listen]
mov edx, esi
mov ecx, ebx
call fcn.0046c508
mov eax, esi
pop esi
mov ecx, dword [esp + 0x3c]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059b3f0
add esp, 0x34
ret
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x297
mov edx, 0x75fba0
xor ecx, ecx
call fcn.0047145c
add esp, 0xc
push 0xfd
call fcn.005aae60
int3