Function at 0x14001aeb0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
movaps xmmword [rsp + 0x130], xmm6
mov rax, qword [0x1401d5408]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], edx
mov r15, rcx
lea rbx, [rcx + 0x580]
mov rdi, qword [rbx + 0x10]
mov rcx, rbx
mov rsi, qword [rbx + 0x18]
cmp rsi, 0x10
jb 0x14001af09
mov rcx, qword [rbx]
test rdi, rdi
jne 0x14001af25
mov r8, rdi
lea rdx, [0x14013d8b0]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001b4f5
cmp dword [r15 + 0x454], 0
je 0x14001b4f5
cmp byte [r15 + 0x3b7], 0
jne 0x14001b4f5
cmp byte [r15 + 0x3cc], 0
jne 0x14001b4f5
cmp rsi, 0x10
jb 0x14001af58
mov rbx, qword [rbx]
test rdi, rdi
jne 0x14001af73
mov r8, rdi
lea rdx, [0x14013d8b0]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001af75
mov al, 1
test al, al
je 0x14001b4f5
mov byte [r15 + 0x3cc], 1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rax
mov r8d, dword [r15 + 0x5a4]
mov edx, dword [r15 + 0x5a0]
lea rcx, [rbp - 0x80]
call fcn.140015ee0
nop
xor edi, edi
movss xmm6, dword [0x1401b8320]
cmp dword [r15 + 0x5a4], edi
jle 0x14001b2ca
movabs r14, 0x469ee58469ee5847
nop dword [rax + rax]
xor ebx, ebx
xor r12d, r12d
cmp dword [r15 + 0x5a0], ebx
jle 0x14001b2bb
mov r8d, edi
mov edx, ebx
lea rcx, [r15 + 0x318]
call fcn.1400393d0
mov rsi, rax
mov rcx, qword [0x14020d370]
mov rdx, qword [rcx + 0x10]
sub rdx, qword [rcx + 8]
mov rax, r14
imul rdx
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add rdx, r8
movzx eax, word [rsi + 8]
cmp rax, rdx
jae 0x14001b04f
imul rax, rax, 0x1d0
add rax, qword [rcx + 8]
jmp 0x14001b051
xor eax, eax
movzx r14d, byte [rax + 9]
movss xmm0, dword [r15 + 0x468]
mulss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
jp 0x14001b0a6
jne 0x14001b0a6
movss xmm0, dword [r15 + 0x46c]
mulss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movd xmm1, edi
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
jp 0x14001b0a6
jne 0x14001b0a6
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp case.default.0x14001b0c6
lea eax, [r14 - 1]
cmp eax, 0xc
ja case.default.0x14001b0c6
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1b548]
add rcx, rdx
jmp rcx
test ebx, ebx
js case.default.0x14001b0c6
cmp ebx, dword [rbp - 0x80]
jge case.default.0x14001b0c6
test edi, edi
js case.default.0x14001b0c6
cmp edi, dword [rbp - 0x7c]
jge case.default.0x14001b0c6
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], edi
mov rcx, qword [rbp - 0x58]
cmp rcx, qword [rbp - 0x50]
je 0x14001b10e
mov rax, qword [rsp + 0x30]
mov qword [rcx], rax
add qword [rbp - 0x58], 8
jmp case.default.0x14001b0c6
lea r8, [rsp + 0x30]
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp - 0x60]
call fcn.140026b90
jmp case.default.0x14001b0c6
cmp byte [rsi + 0x22], 0
jmp 0x14001b263
cmp byte [rsi + 0x21], 0
je 0x14001b191
test ebx, ebx
js case.default.0x14001b0c6
cmp ebx, dword [rbp - 0x80]
jge case.default.0x14001b0c6
test edi, edi
js case.default.0x14001b0c6
cmp edi, dword [rbp - 0x7c]
jge case.default.0x14001b0c6
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], edi
mov rcx, qword [rbp - 0x10]
cmp rcx, qword [rbp - 8]
je 0x14001b17a
mov rax, qword [rsp + 0x40]
mov qword [rcx], rax
add qword [rbp - 0x10], 8
jmp case.default.0x14001b0c6
lea r8, [rsp + 0x40]
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp - 0x18]
call fcn.140026b90
jmp case.default.0x14001b0c6
test ebx, ebx
js case.default.0x14001b0c6
cmp ebx, dword [rbp - 0x80]
jge case.default.0x14001b0c6
test edi, edi
js case.default.0x14001b0c6
cmp edi, dword [rbp - 0x7c]
jge case.default.0x14001b0c6
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x64], edi
mov rcx, qword [rbp - 0x28]
cmp rcx, qword [rbp - 0x20]
je 0x14001b1d7
mov rax, qword [rsp + 0x60]
mov qword [rcx], rax
add qword [rbp - 0x28], 8
jmp case.default.0x14001b0c6
lea r8, [rsp + 0x60]
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.140026b90
jmp case.default.0x14001b0c6
test ebx, ebx
js case.default.0x14001b0c6
cmp ebx, dword [rbp - 0x80]
jge case.default.0x14001b0c6
test edi, edi
js case.default.0x14001b0c6
cmp edi, dword [rbp - 0x7c]
jge case.default.0x14001b0c6
mov dword [rsp + 0x70], ebx
mov dword [rsp + 0x74], edi
mov rcx, qword [rbp - 0x40]
cmp rcx, qword [rbp - 0x38]
je 0x14001b231
mov rax, qword [rsp + 0x70]
mov qword [rcx], rax
add qword [rbp - 0x40], 8
jmp case.default.0x14001b0c6
lea r8, [rsp + 0x70]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x48]
call fcn.140026b90
jmp case.default.0x14001b0c6
cmp byte [rsi + 0x22], 0
je case.default.0x14001b0c6
jmp case.0x14001b0c6.1
cmp byte [rsi + 0x23], 0
jne case.default.0x14001b0c6
mov r8d, edi
mov edx, ebx
mov rcx, r15
call fcn.14001a7c0
cmp eax, 1
jne case.default.0x14001b0c6
test ebx, ebx
js case.default.0x14001b0c6
cmp ebx, dword [rbp - 0x80]
jge case.default.0x14001b0c6
test edi, edi
js case.default.0x14001b0c6
cmp edi, dword [rbp - 0x7c]
jge case.default.0x14001b0c6
mov rax, r12
shl rax, 5
movsxd rcx, edi
add rax, qword [rbp - 0x78]
mov rdx, rcx
mov r8, qword [rax]
and ecx, 0x1f
mov eax, 1
shl eax, cl
shr rdx, 5
not eax
and dword [r8 + rdx*4], eax
inc ebx
inc r12
cmp ebx, dword [r15 + 0x5a0]
movabs r14, 0x469ee58469ee5847
jl 0x14001b002
inc edi
cmp edi, dword [r15 + 0x5a4]
jl 0x14001aff0
movss xmm0, dword [r15 + 0x468]
mulss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si ebx, xmm0
mov dword [r15 + 0x4c4], ebx
movss xmm0, dword [r15 + 0x46c]
mulss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si r9d, xmm0
mov dword [r15 + 0x4c8], r9d
xorps xmm1, xmm1
xor eax, eax
movups xmmword [rsp + 0x48], xmm1
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x20], eax
mov r8d, ebx
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.1400160b0
nop
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
cmp rdx, r8
je 0x14001b37f
lea rcx, [rdx + 8]
cmp rcx, r8
je 0x14001b371
nop
mov eax, dword [rcx]
mov dword [rdx], eax
mov eax, dword [rcx + 4]
mov dword [rdx + 4], eax
lea rdx, [rdx + 8]
add rcx, 8
cmp rcx, r8
jne 0x14001b350
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
sub r8, 8
mov qword [rsp + 0x50], r8
cmp rdx, r8
jne 0x14001b38f
mov byte [r15 + 0x3cc], 0
xor r15d, r15d
jmp 0x14001b489
mov ecx, 0x28
call fcn.140115c30
mov r14, rax
mov qword [rsp + 0x70], rax
mov qword [rax], r15
xor r15d, r15d
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
mov rbx, qword [rsp + 0x50]
sub rbx, qword [rsp + 0x48]
sar rbx, 3
test rbx, rbx
je 0x14001b41f
movabs rax, 0x1fffffffffffffff
cmp rbx, rax
ja 0x14001b541
mov rdx, rbx
call fcn.140025580
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rax
lea rax, [rax + rbx*8]
mov qword [r14 + 0x18], rax
mov rsi, qword [r14 + 8]
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r8, rdi
sub r8, rbx
mov rdx, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
sub rdi, rbx
sar rdi, 3
lea rax, [rsi + rdi*8]
mov qword [r14 + 0x10], rax
lea rax, [0x14001ad70]
mov qword [r14 + 0x20], rax
mov qword [rsp + 0x70], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9, r14
lea r8, [0x140028190]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14001b530
cmp dword [rsp + 0x68], 0
je 0x14001b524
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14001b524
lea rcx, [rbp - 0x80]
call fcn.140016a10
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14001b4ec
mov rax, qword [rsp + 0x58]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b4d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001b4d9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140115ec4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
lea rcx, [rbp - 0x80]
call fcn.14001b580
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140115c10
mov rbx, qword [rsp + 0x198]
movaps xmm6, xmmword [rsp + 0x130]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x68], r15d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
call fcn.14000a980
int3