Function at 0x14009b8f0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rbp], rax
mov r15d, edx
mov rsi, rcx
xor r14d, r14d
cmp edx, 0x800
jb 0x14009b932
xor al, al
jmp 0x14009bbe5
cmp dword [rcx + 0x10], r15d
jne 0x14009b942
mov eax, 1
jmp 0x14009bbe5
call fcn.140058a0c
mov qword [rbp - 0x70], rax
lea r13, [0x14031cb00]
mov r13, qword [r13 + r15*8]
mov rbx, qword [rsi]
test rbx, rbx
je 0x14009b964
cmp qword [rbx], r13
jae 0x14009b9bf
mov r12d, 0x28
test rbx, rbx
je 0x14009b982
mov rcx, rbx
call fcn.140057b74
mov edx, r12d
mov rcx, rbx
call fcn.14001037c
mov rcx, r12
call fcn.140010338
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14009b9b9
mov qword [rsp + 0x30], 0x40
mov dword [rsp + 0x28], r14d
mov byte [rsp + 0x20], r14b
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rax
call fcn.140057a14
jmp 0x14009b9bc
mov rax, r14
mov qword [rsi], rax
mov rdx, r15
lea rcx, [rbp - 0x40]
call fcn.1401c2318
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov rcx, qword [rsi]
lea r8, [rbp - 0x20]
mov rdx, r13
mov rcx, qword [rcx + 0x20]
call fcn.1401c21b0
mov rax, qword [rsi]
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], r13
mov rax, r13
shr rax, 6
mov dword [rbp - 0x50], eax
lea r9, [rbp - 0x44]
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x4c]
mov ecx, eax
call fcn.14009bc88
lea rax, [r13 + 0xff]
shr rax, 6
mov qword [rsp + 0x68], rax
mov rdx, rax
shl rdx, 4
lea rcx, [rsi + 0x18]
lea r8, [rsp + 0x40]
call fcn.1400475dc
call sub.MSVCP140.dll__Thrd_hardware_concurrency
mov r14d, 1
cmp eax, r14d
cmovb eax, r14d
mov r12d, eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
and qword [rsp + 0x60], 0
test eax, eax
je 0x14009bb54
mov edx, r12d
lea rcx, [rsp + 0x50]
call fcn.14009bcfc
xor edi, edi
xor ecx, ecx
mov rbx, qword [rsp + 0x58]
xor edx, edx
mov rax, rcx
div r12
mov r8, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x68]
add rax, rcx
mov qword [rbp - 0x80], rax
xor edx, edx
div r12
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x40], rsi
mov dword [rbp - 0x38], r8d
mov dword [rbp - 0x34], eax
lea rax, [rbp - 0x68]
mov qword [rbp - 0x30], rax
cmp rbx, qword [rsp + 0x60]
je 0x14009bb2d
mov ecx, 0x18
call fcn.140010338
test rax, rax
je 0x14009baea
mov qword [rax], rsi
mov rcx, qword [rsp + 0x70]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x48]
mov dword [rax + 0xc], ecx
lea rcx, [rbp - 0x68]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x70], rax
lea rcx, [rbx + 8]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x28], rcx
and dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x14009c12c]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
je 0x14009bc20
add rbx, 0x10
mov qword [rsp + 0x58], rbx
jmp 0x14009bb43
lea r8, [rbp - 0x40]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14009bef0
mov rbx, qword [rsp + 0x58]
add rdi, r14
cmp rdi, r12
jae 0x14009bb59
mov rcx, qword [rbp - 0x80]
jmp 0x14009ba80
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
jmp 0x14009bb9e
cmp dword [rdi + 8], 0
je 0x14009bc17
call sub.MSVCP140.dll__Thrd_id
cmp dword [rdi + 8], eax
je 0x14009bc0c
movups xmm0, xmmword [rdi]
movdqu xmmword [rbp - 0x80], xmm0
xor edx, edx
lea rcx, [rbp - 0x80]
call sub.MSVCP140.dll__Thrd_join
test eax, eax
jne 0x14009bc33
xorps xmm0, xmm0
movdqu xmmword [rdi], xmm0
add rdi, 0x10
cmp rdi, rbx
jne 0x14009bb60
lea rcx, [rsp + 0x50]
call fcn.14009be4c
mov qword [rsi + 8], r13
mov dword [rsi + 0x10], r15d
call fcn.140058a0c
mov rbx, rax
sub rbx, qword [rbp - 0x70]
call fcn.140012f74
mov r8, rax
mov qword [rsp + 0x20], rbx
mov r9d, r15d
lea rdx, str._s_e_0_33mKawPowe_0m_light_cache_for_epoch_e_1_37m_ue_0m_calculated_e_1_30m__llums_e_0m
mov ecx, 6
call fcn.1400126bc
mov al, r14b
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400106c0
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, r14d
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov rax, qword [rsp + 0x48]
and dword [rax], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov ecx, 2
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3