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

Disassembly:
sub esp, 0x34
mov eax, dword [0x6d1d44]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
mov ebx, dword [esp + 0x40]
xor eax, eax
push ebp
push esi
push edi
inc eax
mov dword [esp + 0x10], ecx
push 0x1c
xor edi, edi
mov dword [esp + 0x1c], eax
mov ebp, edx
mov dword [esp + 0x18], edi
pop ecx
mov dword [esp + 0x1c], ecx
cmp word [ebx], ax
jne 0x4800d2
xor eax, eax
jmp 0x480307
push 4
pop edx
push 0x64
pop ecx
call fcn.00484ffb
mov ecx, str.ILibAsyncServerSocket
mov esi, eax
call fcn.00484a03
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x10]
push 0x28b
mov dword [esi + 0x10], eax
mov eax, ebp
push 0x73d2ec
shl eax, 2
push 1
push eax
mov dword [esi], 0x47faff
mov dword [esi + 4], 0x47fb73
mov dword [esi + 8], 0x47fd4a
mov dword [esi + 0x40], 0x4690ca
mov dword [esi + 0x44], 0x469425
mov dword [esi + 0x48], fcn.004011c0
mov dword [esi + 0x4c], 0x4694bb
mov dword [esi + 0x3c], 0x469459
mov dword [esi + 0x20], ebp
call fcn.005ed7c0
add esp, 0x10
mov dword [esi + 0x24], eax
test eax, eax
jne 0x48017d
push 1
push esi
call fcn.005ed680
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfd
push 0x28c
mov edx, 0x73d314
xor ecx, ecx
call fcn.0048cac3
add esp, 0xc
jmp 0x4800cb
xor eax, eax
inc eax
cmp word [ebx], ax
jne 0x4801b1
push edi
push eax
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x2c], eax
cmp eax, 0xffffffff
jne 0x4801fe
xor ebx, ebx
inc ebx
push ebx
push dword [esi + 0x24]
call fcn.005ed680
push ebx
push esi
call fcn.005ed680
add esp, 0x10
jmp 0x4800cb
movzx eax, word [ebx + 2]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov word [esi + 0x30], ax
mov word [esi + 0x32], ax
xor eax, eax
push 6
inc eax
push eax
movzx eax, word [ebx]
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x2c], eax
cmp eax, 0xffffffff
je 0x480196
push 0x17
pop ecx
cmp word [ebx], cx
jne 0x4801fe
push 4
lea ecx, [esp + 0x18]
push ecx
push 0x1b
push 0x29
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x48031a
push 4
lea eax, [esp + 0x1c]
push eax
push 0xfffffffffffffffb
push 0xffff
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x480230
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2a6
mov edx, str...microstackILibAsyncServerSocket.c
jmp 0x48032c
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 + 0x2c]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x48025c
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x480196
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_getsockname]
xor eax, eax
inc eax
cmp word [ebx], ax
je 0x480288
push 0x17
pop eax
push dword [esp + 0x26]
call dword [sym.imp.WS2_32.dll_ntohs]
mov word [esi + 0x30], ax
test ebp, ebp
jle 0x4802d2
mov ecx, dword [esp + 0x10]
mov edx, 0x1000
push 4
push 0x47fe3c
push 0x47fdfa
push 0x47fdc8
push 0x47fd74
call fcn.0048051a
mov ecx, dword [esi + 0x24]
add esp, 0x14
mov dword [ecx + edi*4], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x4802cd
mov dword [eax + 0x1d4], 0x47fe5b
inc edi
cmp edi, ebp
jl 0x48028c
lea eax, [esp + 0x20]
xor ebx, ebx
push eax
inc ebx
push 0x8004667e
mov dword [esp + 0x28], ebx
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 4
push dword [esi + 0x2c]
mov dword [esi + 0x34], ebx
call dword [sym.imp.WS2_32.dll_listen]
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.004853ee
mov eax, esi
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005b8900
add esp, 0x34
ret
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x29b
mov edx, 0x73d33c
xor ecx, ecx
call fcn.0048cac3
add esp, 0xc
push 0xfd
call fcn.005c8390
int3