Function at 0x14005f8a0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x130
mov rax, qword [0x1400cf010]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r9, qword [rcx + 8]
mov rsi, r8
mov rbp, rcx
test r9, r9
je 0x14005fccb
mov eax, dword [r9 + 0x30]
cmp eax, 5
jne 0x14005faf2
lea edi, [rax - 4]
mov eax, 1
mov qword [rsp + 0x158], rbx
xchg dword [r9 + 0x30], eax
mov rcx, qword [rcx + 8]
xor r8d, r8d
mov qword [rsp + 0x160], r15
mov edx, dword [rcx + 0x34]
mov rcx, qword [rcx + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdx, qword [rbp + 8]
xor r15d, r15d
cmp dword [rdx + 0x4c], r15d
jbe 0x14005f986
mov r9, rdx
mov qword [rsp + 0x28], r15
mov rdx, qword [rdx + 8]
lea r8, [0x14005f7f0]
xor ecx, ecx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
je 0x14005f986
lea edx, [r15 + 0x32]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14005f97d
call fcn.140060100
mov edx, 0x32
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14005f966
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp + 8]
mov ecx, dword [rax + 0x34]
test ecx, ecx
je 0x14005f9cc
mov ebx, ecx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbp + 8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2766
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
sub rbx, 1
jne 0x14005f9a0
test edi, edi
jne 0x14005fcab
mov ebx, 0xffffffff
movaps xmmword [rsp + 0xe0], xmm10
cmp dword [rsi], ebx
cmovg ebx, dword [rsi]
call fcn.14006d860
mov rax, qword [rbp + 8]
movaps xmm10, xmm0
cmp dword [rax + 0x34], r15d
jbe 0x14005fca2
movaps xmmword [rsp + 0x100], xmm8
movsd xmm8, qword [0x1400b0fb8]
movaps xmmword [rsp + 0xf0], xmm9
movsd xmm9, qword [0x1400b0fb0]
movaps xmmword [rsp + 0xd0], xmm11
movsd xmm11, qword [0x1400b0f88]
movaps xmmword [rsp + 0xc0], xmm12
movsd xmm12, qword [0x1400b0fc0]
movaps xmmword [rsp + 0xb0], xmm13
movsd xmm13, qword [0x1400b0df0]
movaps xmmword [rsp + 0xa0], xmm14
movsd xmm14, qword [0x1400b0f90]
movaps xmmword [rsp + 0x90], xmm15
movsd xmm15, qword [0x1400b0d98]
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm7
nop dword [rax]
test ebx, ebx
jle 0x14005fbb5
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x7e]
movzx r10d, word [rsp + 0x7c]
movzx r11d, word [rsp + 0x7a]
movzx r9d, word [rsp + 0x78]
movzx r8d, word [rsp + 0x76]
movzx edx, word [rsp + 0x72]
movzx ecx, word [rsp + 0x70]
movsd qword [rsp + 0x38], xmm8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r11
call fcn.14006d620
comisd xmm8, xmm0
jbe 0x14005fb0c
movaps xmm6, xmm8
jmp 0x14005fb14
mov edi, dword [rdx]
cmp eax, 1
jne 0x14005f8e5
test edi, edi
jne 0x14005f8e5
xor eax, eax
jmp 0x14005fcd0
movaps xmm6, xmm11
minsd xmm6, xmm0
comisd xmm8, xmm10
jbe 0x14005fb21
movaps xmm7, xmm8
jmp 0x14005fb2a
movaps xmm7, xmm11
minsd xmm7, xmm10
ucomisd xmm6, xmm7
jp 0x14005fb32
je 0x14005fbb1
comisd xmm6, xmm9
ja 0x14005fb4f
movaps xmm0, xmm6
call fcn.1400939ac
movaps xmm1, xmm6
movaps xmm6, xmm0
subsd xmm1, xmm0
subsd xmm6, xmm1
comisd xmm7, xmm9
ja 0x14005fb6c
movaps xmm0, xmm7
call fcn.1400939ac
movaps xmm1, xmm7
movaps xmm7, xmm0
subsd xmm1, xmm0
subsd xmm7, xmm1
subsd xmm6, xmm7
comisd xmm12, xmm6
jbe 0x14005fb7d
movaps xmm0, xmm12
jmp 0x14005fb85
movaps xmm0, xmm14
minsd xmm0, xmm6
mulsd xmm0, xmm15
mulsd xmm0, xmm13
mulsd xmm0, xmm13
mulsd xmm0, qword [0x1400b0f78]
addsd xmm0, qword [0x1400b0d40]
cvttsd2si rax, xmm0
cmp eax, ebx
jge 0x14005fc53
mov rax, qword [rbp + 8]
test rax, rax
je 0x14005fc53
mov rcx, qword [rax + 0x18]
mov edx, 0x32
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea rcx, [rsp + 0x40]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x14005fc40
nop dword [rax]
cmp dword [rsp + 0x48], 0x12
je 0x14005fc40
xor r9d, r9d
lea rcx, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jle 0x14005fc40
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea rcx, [rsp + 0x40]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x14005fbf0
mov rax, qword [rbp + 8]
test rax, rax
je 0x14005fc53
cmp dword [rax + 0x34], r15d
ja 0x14005fa90
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0xa0]
movaps xmm15, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xe0]
cmp qword [rbp + 8], 0
mov r15, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x158]
je 0x14005fccb
lea rcx, [rbp + 8]
call fcn.140060180
mov eax, 1
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14007c550
mov rbp, qword [rsp + 0x168]
add rsp, 0x130
pop r14
pop rdi
pop rsi
ret