Function at 0x4117c9
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebx, dword [ebp + 8]
call sym._pop_pthread_mem
test eax, eax
je 0x411888
mov edi, eax
test ebx, ebx
je 0x4117f0
mov eax, dword [eax + 0xb4]
mov dword [ebx], eax
xor eax, eax
mov dword [edi + 0x24], 1
xor esi, esi
mov dword [edi + 0x68], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x14], 0xffffffff
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
sub esp, 0x10
mov dword [edi + 0x18], eax
test eax, eax
jne 0x411853
mov eax, 0x14
test esi, esi
jne 0x411843
xor eax, eax
mov dword [esp], eax
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
push eax
cmp esi, 5
jne 0x411811
mov dword [edi + 0x1c], 0xffffffff
lea eax, [edi + 0x38]
xor esi, esi
mov dword [ebp - 0x1c], eax
call sym._replace_spin_keys.constprop.0
cmp dword [edi + 0x18], 0
mov dword [edi], 0xbab1f00d
mov dword [edi + 0x6c], esi
mov dword [edi + 0x64], esi
jne 0x411892
test ebx, ebx
je 0x411881
xor ecx, ecx
mov dword [ebx], ecx
mov eax, edi
call sym._push_pthread_mem
mov eax, 0xb
jmp 0x4119aa
xor ecx, ecx
cmp dword [ebp + 0xc], 0
je 0x4118c7
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [edx + 8]
mov dword [edi + 0x24], eax
test al, 8
je 0x4118bf
mov dword [ebp - 0x20], ecx
call sym.___pthread_self_lite
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x6c], eax
jmp 0x4118c7
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x4118ba
xor eax, eax
xor edx, edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 4
mov dword [esp + 8], sym._pthread_create_wrapper_4
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll__beginthreadex]
mov esi, eax
lea eax, [eax - 1]
cmp eax, 0xfffffffd
jbe 0x41192b
mov eax, dword [edi + 0x18]
test eax, eax
je 0x41190b
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
lea eax, [edi + 0x1c]
mov dword [esp], eax
call sym._pthread_mutex_destroy
mov eax, dword [ebp - 0x1c]
call sym._replace_spin_keys.constprop.0
xor eax, eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x14], eax
jmp 0x411879
mov ecx, dword [edi + 0x6c]
mov eax, 0xfffffff1
cmp ecx, 0xfffffff2
jl 0x411956
mov eax, 0xfffffffe
cmp ecx, 0xffffffff
jl 0x411956
mov eax, 0xf
cmp ecx, 0xe
jg 0x411956
mov eax, 2
cmp ecx, eax
cmovle eax, ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push eax
push eax
mov eax, dword [edi + 0x18]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push eax
test byte [edi + 0x24], 4
mov eax, dword [sym.imp.KERNEL32.dll_ResumeThread]
je 0x411993
xor ebx, ebx
mov dword [edi + 0x14], ebx
mov dword [esp], esi
call eax
push edi
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41199b
mov dword [edi + 0x14], esi
mov dword [esp], esi
call eax
push eax
xor edx, edx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
push ecx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret