Function at 0x41b0f0
Capabilities:
Create thread

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41ebf8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x10
push esi
push edi
mov eax, dword [0x42f040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 0
lea ecx, [esi + 8]
mov dword [esi], 2
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
xor eax, eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov dword [ebp - 0x20], ecx
mov word [ecx], ax
movups xmmword [ecx + 0x18], xmm0
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], 7
mov word [ecx + 0x18], ax
movups xmmword [ecx + 0x30], xmm0
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], 7
mov word [ecx + 0x30], ax
movups xmmword [ecx + 0x48], xmm0
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], 7
mov word [ecx + 0x48], ax
push dword [ebx + 8]
mov byte [ebp - 4], 4
mov dword [ecx + 0x60], eax
movups xmmword [ecx + 0x70], xmm0
movq qword [ecx + 0x80], xmm0
mov dword [ecx + 0x88], eax
mov dword [ecx + 0x68], eax
mov dword [ecx + 0x6c], eax
mov dword [ecx + 0x8c], 0xffffffff
mov dword [ecx + 0x64], 2
mov dword [ecx + 0x90], eax
mov dword [ecx + 0x94], eax
mov dword [ecx + 0x98], eax
mov dword [ecx + 0xa0], eax
mov dword [ecx + 0xa4], eax
call fcn.0041ae50
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0xb0], eax
mov eax, dword [ebx + 0x1c]
cmp ecx, 0xea60
jne 0x41b20a
test eax, eax
jne 0x41b20c
xor al, al
jmp 0x41b21e
test eax, eax
jl 0x41b21c
jg 0x41b218
cmp ecx, 0xea60
jbe 0x41b21c
or al, 0xff
jmp 0x41b21e
mov al, 1
test al, al
lea ecx, [ebx + 0x18]
mov esi, 0x4297c8
cmovns esi, ecx
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
push 0
push 0x2710
push dword [esi + 4]
mov edi, eax
mov dword [ebp - 0x18], edx
push dword [esi]
call fcn.0041d0c0
mov esi, dword [ebx + 0x10]
add eax, edi
mov edi, dword [ebx + 0x14]
adc edx, dword [ebp - 0x18]
push 0
push 0x2710
push edi
push esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], edx
call fcn.0041d0c0
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
add eax, dword [ebp - 0x20]
adc edx, dword [ebp - 0x18]
mov dword [ecx + 0xb8], eax
mov dword [ecx + 0xbc], edx
mov dword [ecx + 0xc0], esi
mov esi, ecx
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc8], 0
movq qword [esi + 0xcc], xmm0
mov ecx, dword [ebx + 0x24]
mov dword [esi + 0xd8], 0
mov dword [esi + 0xdc], 0
mov dword [esi + 0xe0], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xe8], 0
mov dword [esi + 0xec], 0
test ecx, ecx
je 0x41b2f4
mov eax, dword [ebx + 0x20]
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], ecx
lock inc dword [ecx + 8]
push 0
push 0
push 1
mov byte [ebp - 4], 7
push 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0xf4], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 8
mov dword [esi + 0xc8], eax
call fcn.0041bee5
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [eax], esi
mov dword [eax + 4], 0x41b3d0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
push ecx
push 0
push eax
push 0x41b9a0
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x41b3ba
cmp dword [esi + 0xd0], 0
je 0x41b36b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
mov edi, dword [ebx + 0x24]
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xd0], eax
test edi, edi
je 0x41b3a2
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x41b3a2
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x41b3a2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x20
push 6
mov dword [ebp - 0x18], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3