Function at 0x6e925b34
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x6e930218]
test eax, eax
jne 0x6e925b4f
mov dword [esp], 0x6e93021c
call sym._init_extension_functions
mov dword [esp + 4], 0x30
mov dword [esp], 1
call sym.libevent_core_2_1_6.dll_event_mm_calloc_
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x6e925b76
mov eax, 0
jmp 0x6e925d2b
cmp dword [ebp + 8], 0
jg 0x6e925b83
mov dword [ebp + 8], 2
mov eax, dword [ebp + 8]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x10]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x1c]
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 - 0x10]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x6e925cc1
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
mov eax, dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
call eax
sub esp, 0x10
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x20], 0xffffffff
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
test eax, eax
je 0x6e925cc4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
call eax
sub esp, 0x10
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x6e925cc7
mov dword [ebp - 0x14], 0
jmp 0x6e925c94
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], sym._loop
mov eax, dword [sym.imp.msvcrt.dll__beginthread]
call eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x6e925cca
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
mov edx, dword [ebp - 0x14]
shl edx, 2
add edx, eax
mov eax, dword [ebp - 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x28]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x10]
mov word [eax + 0x28], dx
add dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x1c]
cwde
cmp dword [ebp - 0x14], eax
jl 0x6e925c46
mov eax, dword [ebp - 0x10]
add eax, 4
mov dword [esp + 4], 0x3e8
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
call eax
sub esp, 8
mov eax, dword [ebp - 0x10]
jmp 0x6e925d2b
nop
jmp 0x6e925ccb
nop
jmp 0x6e925ccb
nop
jmp 0x6e925ccb
nop
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
test eax, eax
je 0x6e925ce6
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x6e925cfe
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_mm_free_
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x6e925d1b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_mm_free_
mov eax, 0
leave
ret