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

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xc4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0xa0], pe_nt_image_headers32
or dword [ebp + 0x14], 0x10
cmp dword [ebp - 0xac], 0
je 0x623e3b5b
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_base_get_iocp_
test eax, eax
je 0x623e3b5b
cmp dword [ebp + 0x18], 0
jle 0x623e382d
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_listen]
call eax
sub esp, 8
test eax, eax
jns 0x623e3853
jmp 0x623e3b5f
cmp dword [ebp + 0x18], 0
jns 0x623e3853
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_listen]
call eax
sub esp, 8
test eax, eax
js 0x623e3b5e
mov eax, dword [ebp + 0x1c]
lea edx, [ebp - 0xa0]
mov dword [esp + 8], edx
lea edx, [ebp - 0x90]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_getsockname]
call eax
sub esp, 0xc
test eax, eax
je 0x623e3893
mov dword [esp + 4], 0x6240b2ac
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_sock_warn
jmp 0x623e3b5f
mov dword [esp + 4], 0x3c
mov dword [esp], 1
call sym.libevent_2_1_6.dll_event_mm_calloc_
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jne 0x623e38c7
mov dword [esp], str.calloc
call sym.libevent_2_1_6.dll_event_warn
jmp 0x623e3b5f
mov eax, dword [ebp - 0x98]
mov dword [eax], str._5_b7_bB7_bB7_b
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xb0]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xb4]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x98]
mov word [eax + 0x18], 1
mov eax, dword [ebp - 0x98]
movzx edx, byte [eax + 0x20]
or edx, 1
mov byte [eax + 0x20], dl
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_base_get_iocp_
mov edx, dword [ebp - 0x98]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xac]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x2c]
mov dword [esp + 8], 1
mov edx, dword [ebp + 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_iocp_port_associate_
test eax, eax
js 0x623e3b47
mov dword [esp], 1
call sym.libevent_2_1_6.dll_evthreadimpl_lock_alloc_
mov edx, dword [ebp - 0x98]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x98]
mov word [eax + 0x30], 4
mov eax, dword [ebp - 0x98]
movzx eax, word [eax + 0x30]
cwde
mov dword [esp + 4], 4
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_mm_calloc_
mov edx, dword [ebp - 0x98]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
test eax, eax
jne 0x623e39d6
mov dword [esp], str.calloc
call sym.libevent_2_1_6.dll_event_warn
jmp 0x623e3b17
mov dword [ebp - 0x9c], 0
jmp 0x623e3ad9
movzx eax, word [ebp - 0x90]
cwde
mov edx, dword [ebp - 0x98]
mov edx, dword [edx + 0x38]
mov ecx, dword [ebp - 0x9c]
shl ecx, 2
lea ebx, [edx + ecx]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym._new_accepting_socket
mov dword [ebx], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x9c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
test eax, eax
jne 0x623e3a41
mov dword [esp], str.Couldnt_create_accepting_socket
call sym.libevent_2_1_6.dll_event_warnx
jmp 0x623e3b06
cmp dword [ebp - 0xb0], 0
je 0x623e3abb
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x9c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call sym._start_accepting
test eax, eax
jns 0x623e3abb
mov dword [esp], str.Couldnt_start_accepting_on_socket
call sym.libevent_2_1_6.dll_event_warnx
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x9c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call eax
sub esp, 4
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0x9c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call sym._free_and_unlock_accepting_socket
jmp 0x623e3b06
mov eax, dword [ebp - 0x98]
movzx eax, word [eax + 0x18]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x98]
mov word [eax + 0x18], dx
add dword [ebp - 0x9c], 1
mov eax, dword [ebp - 0x98]
movzx eax, word [eax + 0x30]
cwde
cmp dword [ebp - 0x9c], eax
jl 0x623e39e5
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym._iocp_listener_event_add
mov eax, dword [ebp - 0x98]
jmp 0x623e3b64
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_mm_free_
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 4]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x623e3b4a
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call sym.libevent_2_1_6.dll_evthreadimpl_lock_free_
jmp 0x623e3b4b
nop
jmp 0x623e3b4b
nop
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym.libevent_2_1_6.dll_event_mm_free_
jmp 0x623e3b5f
nop
jmp 0x623e3b5f
nop
mov eax, 0
mov ebx, dword [ebp - 0xc]
xor ebx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x623e3b74
call sym.___stack_chk_fail
mov ebx, dword [ebp - 4]
leave
ret