Function at 0x6e9237a7
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 0x6e923b5b
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_base_get_iocp_
test eax, eax
je 0x6e923b5b
cmp dword [ebp + 0x18], 0
jle 0x6e92382d
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 0x6e923853
jmp 0x6e923b5f
cmp dword [ebp + 0x18], 0
jns 0x6e923853
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 0x6e923b5e
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 0x6e923893
mov dword [esp + 4], 0x6e92e2ac
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_sock_warn
jmp 0x6e923b5f
mov dword [esp + 4], 0x3c
mov dword [esp], 1
call sym.libevent_core_2_1_6.dll_event_mm_calloc_
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jne 0x6e9238c7
mov dword [esp], str.calloc
call sym.libevent_core_2_1_6.dll_event_warn
jmp 0x6e923b5f
mov eax, dword [ebp - 0x98]
mov dword [eax], sym._iocp_listener_enable
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_core_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_core_2_1_6.dll_event_iocp_port_associate_
test eax, eax
js 0x6e923b47
mov dword [esp], 1
call sym.libevent_core_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_core_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 0x6e9239d6
mov dword [esp], str.calloc
call sym.libevent_core_2_1_6.dll_event_warn
jmp 0x6e923b17
mov dword [ebp - 0x9c], 0
jmp 0x6e923ad9
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 0x6e923a41
mov dword [esp], str.Couldnt_create_accepting_socket
call sym.libevent_core_2_1_6.dll_event_warnx
jmp 0x6e923b06
cmp dword [ebp - 0xb0], 0
je 0x6e923abb
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 0x6e923abb
mov dword [esp], str.Couldnt_start_accepting_on_socket
call sym.libevent_core_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 0x6e923b06
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 0x6e9239e5
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym._iocp_listener_event_add
mov eax, dword [ebp - 0x98]
jmp 0x6e923b64
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call sym.libevent_core_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 0x6e923b4a
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_evthreadimpl_lock_free_
jmp 0x6e923b4b
nop
jmp 0x6e923b4b
nop
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_mm_free_
jmp 0x6e923b5f
nop
jmp 0x6e923b5f
nop
mov eax, 0
mov ebx, dword [ebp - 0xc]
xor ebx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x6e923b74
call sym.___stack_chk_fail
mov ebx, dword [ebp - 4]
leave
ret