Function at 0x1400c9e20
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
mov rax, qword [0x140158e70]
xor rax, rsp
mov qword [rbp + 0x50], rax
xor r13d, r13d
lea rdx, [rbp - 0x70]
lea rcx, [0x14033be60]
call fcn.140005330
nop
lea rdx, str.DBDC_
cmp qword [0x14033be98], 0x10
cmovae rdx, qword [str.DBDC_]
mov r8, qword [0x14033be90]
mov rcx, rax
call fcn.14000ab70
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], r13b
lea rdx, [0x14033be00]
cmp qword [0x14033be18], 0x10
cmovae rdx, qword [0x14033be00]
mov r8, qword [0x14033be10]
lea rcx, [rsp + 0x50]
call fcn.14000ab70
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], r13b
lea r8d, [r13 + 0xd]
lea rdx, str.settings.json
lea rcx, [rbp - 0x20]
call fcn.14000ab70
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], r13b
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400072f0
nop
lea rcx, [rsp + 0x70]
call fcn.14000c420
nop
lea rcx, [rbp - 0x20]
call fcn.14000c420
nop
lea rcx, [rsp + 0x50]
call fcn.14000c420
nop
lea rcx, [rbp - 0x70]
call fcn.14000c420
movzx r15d, byte [rbp - 0x50]
cmp r15b, 1
jne 0x1400ca2f4
mov rax, qword [rbp - 0x48]
mov r14, qword [rax]
mov rbx, qword [r14 + 8]
mov rsi, r14
lea r12d, [r13 + 0xb]
cmp byte [rbx + 0x19], r13b
jne 0x1400ca045
nop word [rax + rax]
lea rcx, [rbx + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1400ca002
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, r12
cmova r8, r12
lea rdx, str.menu_accent
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400ca022
jns 0x1400ca02d
mov al, 1
jmp 0x1400ca02f
cmp rdi, r12
jae 0x1400ca02b
mov al, 1
jmp 0x1400ca02f
jbe 0x1400ca039
xor al, al
test al, al
je 0x1400ca039
mov rbx, qword [rbx + 0x10]
jmp 0x1400ca03f
mov rsi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x1400c9ff0
cmp byte [rsi + 0x19], 0
jne 0x1400ca2f4
lea rcx, [rsi + 0x20]
mov rbx, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1400ca061
mov rcx, qword [rcx]
mov r8, rbx
cmp rbx, r12
cmova r8, r12
lea rdx, str.menu_accent
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400ca081
jns 0x1400ca08c
mov al, 0xff
jmp 0x1400ca08e
cmp rbx, r12
jae 0x1400ca08a
mov al, 0xff
jmp 0x1400ca08e
jbe 0x1400ca096
mov al, 1
test al, al
jg 0x1400ca2f4
cmp rsi, r14
je 0x1400ca2f4
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8, r12
lea rdx, str.menu_accent
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8d, 1
lea rdx, [0x140117320]
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
mov rcx, rbx
call fcn.14008e390
mov dword [0x14033bdf0], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8, r12
lea rdx, str.menu_accent
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8d, 1
lea rdx, [0x14011733c]
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
mov rcx, rbx
call fcn.14008e390
mov dword [0x14033bdf4], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8, r12
lea rdx, str.menu_accent
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8d, 1
lea rdx, [0x140117338]
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
mov rcx, rbx
call fcn.14008e390
mov dword [0x14033bdf8], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8, r12
lea rdx, str.menu_accent
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8d, 1
lea rdx, [0x140117350]
lea rcx, [rsp + 0x30]
call fcn.1400062d0
nop
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140015250
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c420
mov rcx, rbx
call fcn.14008e390
mov dword [0x14033bdfc], eax
movzx r15d, byte [rbp - 0x50]
movzx edx, r15b
lea rcx, [rbp - 0x48]
call fcn.14000d360
nop
mov ecx, 1
call fcn.1400f16e0
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r13d
mov r9, rax
lea r8, [0x1400cd7a0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1400cacfe
cmp dword [rbp - 0x28], 0
jne 0x1400ca351
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x1400ca371
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov ecx, 8
call fcn.1400f16e0
lea rcx, [0x1400b6860]
mov qword [rax], rcx
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r13d
mov r9, rax
lea r8, [0x1400cd850]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400cacee
cmp dword [rbp - 0x38], 0
jne 0x1400ca3d2
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x1400ca3f2
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov rcx, qword [0x1403405a8]
call fcn.1400d4900
test eax, eax
jne 0x1400cacd4
lea r15, [0x14033c050]
lea r14, [0x14033c040]
movabs rbx, 0xe38e38e38e38e39
movabs rsi, 0x2aaaaaaaaaaaaaab
movss xmm8, dword [0x140118834]
movsd xmm12, qword [0x1401188d8]
xorps xmm10, xmm10
movsd xmm13, qword [0x1401189d8]
movsd xmm11, qword [0x140118aa8]
movsd xmm9, qword [0x140118a48]
call fcn.1400d9330
movaps xmm7, xmm0
mov rcx, qword [0x1403405a8]
call fcn.1400d1450
mov rax, qword [0x1403409c8]
mov qword [0x1403405d0], rax
call fcn.1400d6580
mov rax, qword [0x1403405d0]
test rax, rax
je 0x1400ca49d
mov rax, qword [rax + 0xa0]
jmp 0x1400ca4a0
mov rax, r13
cmp dword [rax + 0x30], 0
jne 0x1400ca4ab
call fcn.1400677b0
call fcn.1400663a0
call fcn.140030690
call fcn.1400ccec0
call fcn.1400cad70
call fcn.140032dd0
mov ecx, 0x4000
call qword [sym.imp.OPENGL32.dll_glClear]
mov rax, qword [0x1403405d0]
mov rax, qword [rax + 0x4cd8]
mov rcx, qword [rax]
add rcx, 0xa8
mov rax, r13
cmp byte [rcx], 0
cmovne rax, rcx
mov rcx, rax
call fcn.140066dc0
mov rcx, qword [0x1403405a8]
call fcn.1400d1560
mov rcx, qword [0x140340a80]
test rcx, rcx
je 0x1400ca8ae
call fcn.1400d1450
mov rax, qword [0x140340a00]
mov qword [0x1403405d0], rax
test rax, rax
je 0x1400ca536
mov rcx, qword [rax + 0xa0]
jmp 0x1400ca539
mov rcx, r13
cmp dword [rcx + 0x30], 0
jne 0x1400ca544
call fcn.1400677b0
call fcn.1400663a0
call fcn.140030690
cmp byte [0x140340a48], 0
je 0x1400ca67f
mov rbx, r13
nop
mov rax, qword [0x14033c028]
movups xmm0, xmmword [rax + rbx]
movups xmmword [rsp + 0x70], xmm0
movsd xmm1, qword [rax + rbx + 0x10]
movsd qword [rbp - 0x80], xmm1
mov rax, qword [0x1403405d0]
mov rcx, qword [rax + 0x41d8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.14002f7e0
mov rdi, rax
mov edx, dword [rbp - 0x80]
mov rcx, r14
cmp edx, 1
cmove rcx, r15
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x30], xmm0
test edx, edx
jle 0x1400ca671
cmp edx, 3
je 0x1400ca671
lea rcx, [rbp - 0x70]
call fcn.140004cb0
mov r9, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400ca5e0
mov r9, qword [rax]
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
movss dword [rsp + 0x50], xmm0
movd xmm1, dword [rsp + 0x34]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movss dword [rsp + 0x54], xmm1
movd xmm0, dword [rsp + 0x38]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
movss dword [rsp + 0x58], xmm0
movd xmm1, dword [rsp + 0x3c]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movss dword [rsp + 0x5c], xmm1
lea rcx, [rsp + 0x50]
call fcn.140029de0
movsd xmm0, qword [rsp + 0x70]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
movsd xmm1, qword [rsp + 0x78]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x4c], xmm1
mov r8d, eax
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.14005e2d0
nop
lea rcx, [rbp - 0x70]
call fcn.14000c420
add rbx, 0x18
cmp rbx, 0x60
jl 0x1400ca560
cmp byte [0x14033bd60], 0
je 0x1400ca850
cmp byte [0x14033bdcc], 0
je 0x1400ca6aa
call fcn.1400b33b0
mov r8, qword [0x14033bfd8]
mov rdx, qword [0x14033bfd0]
jmp 0x1400ca71d
mov r8, qword [0x14033bfd8]
mov rax, r8
mov rdx, qword [0x14033bfd0]
sub rax, rdx
sar rax, 3
test rax, rax
je 0x1400ca71d
mov ebx, 1
cmp rax, rbx
jbe 0x1400ca71d
mov ecx, ebx
nop dword [rax]
nop word [rax + rax]
lea rcx, [rdx + rcx*8]
lea rdx, [rcx + 8]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [0x14033bfd8]
sub r8, 8
mov qword [0x14033bfd8], r8
inc ebx
mov rax, r8
mov rdx, qword [0x14033bfd0]
sub rax, rdx
sar rax, 3
movsxd rcx, ebx
cmp rcx, rax
jb 0x1400ca6e0
mov edi, r13d
mov rax, r8
sub rax, rdx
sar rax, 3
test rax, rax
je 0x1400ca850
mov rbx, r13
nop word [rax + rax]
movsd xmm0, qword [rdx + rbx]
movsd qword [rsp + 0x30], xmm0
cmp byte [0x14033bd9c], 0
je 0x1400ca800
mov rax, qword [0x1403405d0]
mov rcx, qword [rax + 0x41d8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx + 0x40]
call fcn.14002f7e0
mov r8, rax
lea rcx, [0x14033bdac]
cmp byte [0x14033bd9d], 0
je 0x1400ca7b7
call fcn.140029de0
movd xmm2, dword [0x14033bda0]
cvtdq2ps xmm2, xmm2
mov ecx, dword [0x14033bda8]
mov dword [rsp + 0x20], ecx
mov r9d, eax
lea rdx, [rsp + 0x30]
mov rcx, r8
call fcn.14005e210
jmp 0x1400ca7f2
movd xmm6, dword [0x14033bda4]
cvtdq2ps xmm6, xmm6
call fcn.140029de0
movd xmm2, dword [0x14033bda0]
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x28], xmm6
mov ecx, dword [0x14033bda8]
mov dword [rsp + 0x20], ecx
mov r9d, eax
lea rdx, [rsp + 0x30]
mov rcx, r8
call fcn.14005e130
mov rdx, qword [0x14033bfd0]
mov r8, qword [0x14033bfd8]
cmp byte [0x14033bd61], 0
je 0x1400ca834
cmp byte [0x14033bd84], 0
je 0x1400ca81c
lea rcx, [rsp + 0x30]
call fcn.1400b2c40
lea rcx, [rsp + 0x30]
call fcn.1400b28a0
mov r8, qword [0x14033bfd8]
mov rdx, qword [0x14033bfd0]
inc edi
add rbx, 8
mov rcx, r8
sub rcx, rdx
sar rcx, 3
movsxd rax, edi
cmp rax, rcx
jb 0x1400ca740
cmp byte [0x1403409b8], 0
je 0x1400ca85e
call fcn.14008ba60
call fcn.140032dd0
mov ecx, 0x4100
call qword [sym.imp.OPENGL32.dll_glClear]
mov rax, qword [0x1403405d0]
mov rax, qword [rax + 0x4cd8]
mov rcx, qword [rax]
add rcx, 0xa8
mov rax, r13
cmp byte [rcx], 0
cmovne rax, rcx
mov rcx, rax
call fcn.140066dc0
mov rcx, qword [0x140340a80]
call fcn.1400d1560
movabs rbx, 0xe38e38e38e38e39
mov r15d, r13d
mov ecx, r15d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400cab14
cmp byte [0x1403409b8], 0
je 0x1400caa59
mov r10, qword [0x14033bf00]
mov rcx, r10
mov r9, qword [0x14033bef8]
sub rcx, r9
mov rax, rbx
imul rcx
mov r12, rdx
sar r12, 2
mov rax, r12
shr rax, 0x3f
add r12, rax
mov edi, r13d
je 0x1400caa59
mov r8, r13
mov rsi, r13
nop dword [rax]
mov rcx, r10
sub rcx, r9
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
ja 0x1400caa3d
lea rbx, [r9 + rsi]
mov rdx, rbx
lea rcx, [rbp]
call fcn.14000ada0
movsxd r14, dword [rbx + 0x20]
mov dword [rbp + 0x20], r14d
mov ecx, dword [rbx + 0x24]
mov dword [rbp + 0x24], ecx
movups xmm0, xmmword [rbx + 0x28]
movups xmmword [rbp + 0x28], xmm0
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x38], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x40], rax
cmp r15d, ecx
jne 0x1400caa1c
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400ca990
imul rdx, rax, 0x64
jmp 0x1400ca9ac
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rdx, [rax + rcx]
mov qword [rbp + 0x38], rdx
imul rax, r14, 0x3b9aca00
add rax, rdx
mov qword [rbp + 0x40], rax
mov rbx, qword [0x14033bee8]
cmp rbx, qword [0x14033bef0]
je 0x1400caa08
lea rdx, [rbp]
mov rcx, rbx
call fcn.14000ada0
mov eax, dword [rbp + 0x20]
mov dword [rbx + 0x20], eax
mov eax, dword [rbp + 0x24]
mov dword [rbx + 0x24], eax
movups xmm0, xmmword [rbp + 0x28]
movups xmmword [rbx + 0x28], xmm0
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [rbp + 0x40]
mov qword [rbx + 0x40], rax
add qword [0x14033bee8], 0x48
jmp 0x1400caa1c
lea r8, [rbp]
mov rdx, rbx
lea rcx, [0x14033bee0]
call fcn.14008e780
nop
lea rcx, [rbp]
call fcn.14000c420
mov r10, qword [0x14033bf00]
mov r9, qword [0x14033bef8]
movabs rbx, 0xe38e38e38e38e39
inc edi
add rsi, 0x48
movsxd r8, edi
cmp r8, r12
jb 0x1400ca910
movabs rsi, 0x2aaaaaaaaaaaaaab
cmp byte [0x140340a48], 0
je 0x1400cab14
mov ebx, r13d
mov r10, qword [0x14033c030]
mov rcx, r10
mov r8, qword [0x14033c028]
sub rcx, r8
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400cab14
mov r11, r13
mov r9, r13
nop dword [rax]
mov rcx, r10
sub rcx, r8
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r11, rdx
ja 0x1400caaec
cmp r15d, dword [r8 + r9 + 0x14]
jne 0x1400caaec
mov eax, dword [r8 + r9 + 0x10]
cmp eax, 2
jne 0x1400caad7
mov dword [r8 + r9 + 0x10], r13d
jmp 0x1400caade
inc eax
mov dword [r8 + r9 + 0x10], eax
mov r8, qword [0x14033c028]
mov r10, qword [0x14033c030]
inc ebx
add r9, 0x18
mov rcx, r10
sub rcx, r8
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd r11, ebx
cmp r11, rdx
jb 0x1400caaa0
inc r15d
cmp r15d, 0x100
movabs rbx, 0xe38e38e38e38e39
jl 0x1400ca8b1
call fcn.1400d9330
subsd xmm0, xmm7
comisd xmm12, xmm0
jbe 0x1400caca8
movaps xmm6, xmm12
subsd xmm6, xmm0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400cab68
imul rax, rax, 0x64
jmp 0x1400cab83
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
xorps xmm7, xmm7
cvtsi2sd xmm7, rax
comisd xmm10, xmm6
ja 0x1400cabcd
comisd xmm6, xmm10
jbe 0x1400cab9d
mov al, 1
jmp 0x1400cabac
ucomisd xmm6, xmm10
jp 0x1400cabaa
jne 0x1400cabaa
xor al, al
jmp 0x1400cabac
mov al, 0x80
test al, al
jle 0x1400cabcd
mulsd xmm6, xmm13
movaps xmm0, xmm11
subsd xmm0, xmm6
comisd xmm0, xmm7
jbe 0x1400cabc9
addsd xmm7, xmm6
jmp 0x1400cabcd
movaps xmm7, xmm11
movabs rsi, 0x112e0be826d694b3
movabs r13, 0x311cdad160000
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400cabff
imul rax, rax, 0x64
jmp 0x1400cac1a
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm7
ja 0x1400cac9b
comisd xmm7, xmm0
jbe 0x1400cac32
mov al, 0xff
jmp 0x1400cac40
ucomisd xmm7, xmm0
jp 0x1400cac3e
jne 0x1400cac3e
xor al, al
jmp 0x1400cac40
mov al, 0x80
test al, al
jns 0x1400cac9b
movaps xmm6, xmm7
subsd xmm6, xmm0
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rax, 0x64
comisd xmm6, xmm9
jbe 0x1400cac61
add rcx, r13
jmp 0x1400cac69
cvttsd2si rax, xmm6
add rcx, rax
mov rax, rsi
imul rcx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp - 0x20], rdx
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov dword [rbp - 0x18], ecx
lea rcx, [rbp - 0x20]
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x1400cabe1
xor r13d, r13d
movabs rsi, 0x2aaaaaaaaaaaaaab
mov rcx, qword [0x1403405a8]
call fcn.1400d4900
test eax, eax
movabs rbx, 0xe38e38e38e38e39
lea r14, [0x14033c040]
lea r15, [0x14033c050]
je 0x1400ca461
cmp dword [rbp - 0x38], 0
je 0x1400cace1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
nop
cmp dword [rbp - 0x28], 0
je 0x1400cad0e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
nop
mov dword [rbp - 0x38], r13d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp - 0x28], r13d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1400f16c0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret