Function at 0x140002e60
Capabilities:
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 - 0x278]
sub rsp, 0x350
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
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140072010]
xor rax, rsp
mov qword [rbp + 0x1a8], rax
xor r13d, r13d
mov r15, qword [0x140072960]
mov qword [rbp - 0x40], r15
mov rcx, qword [0x1400728a0]
call fcn.14001dde0
mov rax, qword [0x1400728f0]
mov rax, qword [rax + 0x48b8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140015a40
mov r12, rax
mov qword [rbp - 0x38], rax
movss xmm15, dword [0x14006b678]
mov qword [rbp + 0x18], r13
movss xmm0, dword [0x14007285c]
movss xmm14, dword [0x14006b464]
mulss xmm0, xmm14
movss dword [rbp + 0x10], xmm0
movss xmm0, dword [0x140072858]
mulss xmm0, xmm14
movss dword [rbp - 0x48], xmm0
mov rdi, qword [0x140072a00]
mov qword [rbp - 0x28], rdi
mov rax, qword [0x140072a08]
mov qword [rbp - 0x20], rax
cmp rdi, rax
je 0x1400045d5
lea rsi, [r15 + 0x20]
lea r14, [r15 + 0x10]
movss xmm13, dword [0x14006b4d0]
xorps xmm10, xmm10
movsd xmm11, qword [0x14006b508]
nop dword [rax]
lea rdx, [rbp - 0x68]
call fcn.140002360
movups xmm8, xmmword [rbp - 0x68]
movaps xmmword [rbp - 0x10], xmm8
movsd xmm9, qword [rbp - 0x58]
movsd qword [rbp], xmm9
mov r8, rsi
lea rdx, [rbp - 0x10]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm6, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x50], xmm6
movsd xmm7, qword [rbp - 0x78]
movsd qword [rsp + 0x60], xmm7
mov r8, r14
lea rdx, [rsp + 0x50]
call fcn.1400024d0
addsd xmm7, qword [0x14006b500]
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
movaps xmm0, xmm6
unpcklpd xmm0, xmm1
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp - 0x78], xmm7
movsd qword [rsp + 0x60], xmm7
mov r8, r15
lea rdx, [rsp + 0x50]
call fcn.1400024d0
movsd xmm6, qword [r15 + 0x18]
movaps xmm0, xmm6
subsd xmm0, qword [r15 + 0x28]
andps xmm0, xmmword [0x14006b870]
cvtpd2ps xmm12, xmm0
mulss xmm12, xmm14
movaps xmm0, xmm8
unpckhpd xmm0, xmm8
subsd xmm0, qword [0x140072a20]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
subsd xmm8, qword [0x140072a18]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
subsd xmm9, qword [0x140072a28]
cvtpd2ps xmm0, xmm9
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x1400030a5
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x1400030ad
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x14006b520]
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
comiss xmm9, dword [0x14007209c]
ja 0x1400042a7
cmp byte [0x140072099], 0
je 0x140003173
movss xmm0, dword [0x14007285c]
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [r14]
subsd xmm2, xmm1
movss xmm0, dword [0x140072858]
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
subsd xmm6, xmm1
mulsd xmm6, xmm6
mulsd xmm2, xmm2
addsd xmm6, xmm2
cvtpd2ps xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14000312b
xorps xmm2, xmm2
sqrtss xmm2, xmm1
jmp 0x140003136
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm2, xmm0
mov eax, dword [0x1400720a0]
lea ecx, [rax + rax*4]
add ecx, ecx
cmp byte [0x14007207e], 0
je 0x140003156
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jmp 0x140003160
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x140003173
comiss xmm15, xmm2
jbe 0x140003173
mov rbx, qword [rdi]
mov qword [rbp + 0x18], rbx
movaps xmm15, xmm2
movaps xmm0, xmmword [0x14006b7f0]
movups xmmword [rbp - 0x10], xmm0
cmp byte [0x14007209a], 0
je 0x140003317
lea rcx, [rbp - 0x10]
call fcn.140011e00
mov ebx, eax
movsd xmm1, qword [r15 + 8]
cvtpd2ps xmm1, xmm1
mulss xmm12, xmm14
cvtps2pd xmm6, xmm12
movaps xmm0, xmm6
addsd xmm0, qword [rsi]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x100], xmm0
movss dword [rbp + 0x104], xmm1
movsd xmm0, qword [r15]
subsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x108], xmm0
movss dword [rbp + 0x10c], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x108]
mov rcx, r12
call fcn.1400344e0
movsd xmm2, qword [r15 + 0x28]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [r15]
subsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x110], xmm1
movss dword [rbp + 0x114], xmm2
movsd xmm0, qword [r15 + 8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x118], xmm1
movss dword [rbp + 0x11c], xmm0
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x118]
mov rcx, r12
call fcn.1400344e0
movsd xmm1, qword [r15 + 0x28]
cvtpd2ps xmm1, xmm1
movaps xmm0, xmm6
addsd xmm0, qword [rsi]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x120], xmm0
movss dword [rbp + 0x124], xmm1
movsd xmm0, qword [r15]
subsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x128], xmm0
movss dword [rbp + 0x12c], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x128]
mov rcx, r12
call fcn.1400344e0
movsd xmm0, qword [r15 + 0x28]
cvtpd2ps xmm0, xmm0
addsd xmm6, qword [rsi]
cvtpd2ps xmm1, xmm6
movss dword [rbp + 0x130], xmm1
movss dword [rbp + 0x134], xmm0
movsd xmm0, qword [r15 + 8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm1
movss dword [rbp + 0x24], xmm0
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x20]
mov rcx, r12
call fcn.1400344e0
cmp byte [0x14007281e], 0
je 0x140003386
lea rcx, [rbp - 0x10]
call fcn.140011e00
movsd xmm0, qword [r15 + 0x28]
addsd xmm0, qword [0x14006b4f8]
cvtpd2ps xmm1, xmm0
movsd xmm0, qword [rsi]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
movss xmm1, dword [0x14007285c]
mulss xmm1, xmm14
movss dword [rbp + 0x30], xmm1
movss xmm0, dword [0x140072858]
movss dword [rbp + 0x34], xmm0
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
mov rcx, r12
call fcn.1400344e0
cmp byte [0x14007281c], 0
je 0x14000364a
movss xmm0, dword [0x140072094]
comiss xmm0, xmm9
jb 0x14000364a
xorps xmm6, xmm6
movaps xmm7, xmm10
mov ecx, dword [0x1400728b4]
test ecx, ecx
je 0x1400033c5
sub ecx, 1
je 0x1400033c5
sub ecx, 1
je 0x1400033c5
cmp ecx, 1
jne 0x1400033df
lea rdx, [rsp + 0x50]
call fcn.140002360
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x58], xmm0
movaps xmm7, xmm0
movups xmm6, xmmword [rax]
cmp byte [0x140072804], 0
je 0x1400034aa
movaps xmm0, xmm6
subsd xmm0, xmm11
comisd xmm10, xmm0
jb 0x14000364a
movaps xmm0, xmm6
addsd xmm0, xmm11
comisd xmm0, xmm10
jb 0x14000364a
unpckhpd xmm6, xmm6
movaps xmm0, xmm6
subsd xmm0, xmm11
comisd xmm10, xmm0
jb 0x14000364a
addsd xmm6, xmm11
comisd xmm6, xmm10
jb 0x14000364a
movaps xmm0, xmm7
movsd xmm1, qword [0x14006b510]
subsd xmm0, xmm1
comisd xmm10, xmm0
jb 0x14000364a
addsd xmm7, xmm1
comisd xmm7, xmm10
jb 0x14000364a
cmp byte [0x14007209b], 0
je 0x140003478
cmp dword [0x1400728d8], 1
jne 0x14000364a
cmp byte [0x140072805], 0
je 0x14000359f
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 0x140003576
imul rax, rax, 0x64
jmp 0x140003591
mov ecx, dword [0x140072078]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000364a
movaps xmm0, xmm6
subsd xmm0, xmm11
comisd xmm10, xmm0
jb 0x14000364a
movaps xmm0, xmm6
addsd xmm0, xmm11
comisd xmm0, xmm10
jb 0x14000364a
unpckhpd xmm6, xmm6
movaps xmm0, xmm6
subsd xmm0, xmm11
comisd xmm10, xmm0
jb 0x14000364a
addsd xmm6, xmm11
comisd xmm6, xmm10
jb 0x14000364a
movaps xmm0, xmm7
movsd xmm1, qword [0x14006b510]
subsd xmm0, xmm1
comisd xmm10, xmm0
jb 0x14000364a
addsd xmm7, xmm1
comisd xmm7, xmm10
jb 0x14000364a
cmp byte [0x14007209b], 0
je 0x140003478
cmp dword [0x1400728d8], 1
jne 0x14000364a
cmp byte [0x140072805], 0
je 0x14000359f
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 0x140003576
imul rax, rax, 0x64
jmp 0x140003591
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x1400728b8], rax
mov byte [0x140072805], 0
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 0x1400035bd
imul rcx, rax, 0x64
jmp 0x1400035d8
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov qword [0x1400728c0], rcx
movabs rax, 0x431bde82d7b634db
sub rcx, qword [0x1400728b8]
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x140072088]
mov dword [0x1400728d0], edx
jb 0x14000364a
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x140072805], 1
cmp byte [0x14007281d], 0
je 0x140003760
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm2, xmm1
xorps xmm2, xmmword [0x14006b890]
movaps xmm0, xmm2
mulss xmm0, xmm1
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
mulss xmm2, xmm6
xorps xmm7, xmm7
cvtss2sd xmm7, xmm2
xorps xmm6, xmmword [0x14006b890]
cvtss2sd xmm6, xmm6
lea rdx, [rbp - 0x68]
call fcn.140002360
movsd xmm0, qword [0x14006b688]
mulsd xmm6, xmm0
mulsd xmm7, xmm0
mulsd xmm8, xmm0
addsd xmm6, qword [rbp - 0x58]
addsd xmm7, qword [rbp - 0x60]
addsd xmm8, qword [rbp - 0x68]
movaps xmm0, xmm8
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp - 0x78], xmm6
movsd qword [rsp + 0x60], xmm6
lea r8, [rbp + 0x138]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rcx, [rbp - 0x10]
call fcn.140011e00
movsd xmm1, qword [rbp + 0x140]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x138]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x38], xmm0
movss dword [rbp + 0x3c], xmm1
movsd xmm2, qword [r15 + 0x18]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [r14]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm2
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.1400344e0
cmp byte [0x14007207f], 0
je 0x140003941
mov eax, dword [str.YY_9]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x140069c68]
mov byte [rsp + 0x70], 0x4e
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor al, 0x39
mov byte [rsp + 0x74], al
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x168]
call fcn.14000f270
nop
lea rcx, [rbp + 0x168]
mov r9, qword [rbp + 0x168]
mov r10, qword [rbp + 0x180]
cmp r10, 0x10
cmovae rcx, r9
mov rax, qword [0x1400728f0]
test rcx, rcx
jne 0x1400037d8
xorps xmm6, xmm6
jmp 0x14000383b
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x14006b684]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14006b678]
movss xmm2, dword [rax + 0x3c08]
lea rdx, [rbp + 0x48]
mov rcx, qword [rax + 0x3c00]
call fcn.140038aa0
movss xmm0, dword [rbp + 0x48]
addss xmm0, dword [0x14006b490]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x48], xmm6
mov r10, qword [rbp + 0x180]
mov r9, qword [rbp + 0x168]
xorps xmm7, xmm7
lea r8, [rbp + 0x168]
cmp r10, 0x10
cmovae r8, r9
lea rcx, [rbp - 0x10]
call fcn.140011e00
mov r11d, eax
movsd xmm0, qword [r15 + 8]
subsd xmm0, qword [0x14006b500]
cvtpd2ps xmm2, xmm0
mulss xmm6, xmm14
cvtps2pd xmm0, xmm6
movsd xmm1, qword [r15]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm2
test eax, 0xff000000
je 0x14000390a
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1400038a0
add rcx, r8
cmp r8, rcx
je 0x14000390a
mov rax, qword [r12 + 0x38]
movups xmm0, xmmword [r12 + 0x88]
movups xmmword [rbp - 0x68], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r11d
lea r9, [rbp + 0x50]
movss xmm2, dword [rax + 0x10]
mov rdx, r12
mov rcx, qword [rax + 8]
call fcn.140038cc0
mov r10, qword [rbp + 0x180]
mov r9, qword [rbp + 0x168]
cmp r10, 0x10
jb 0x140003941
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140003939
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400042f5
mov rcx, r9
call fcn.140042d74
cmp byte [0x14007207d], 0
je 0x140003c65
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], 2
mov qword [rbp - 0x70], 0xf
movzx eax, word [0x140046760]
mov word [rsp + 0x78], ax
mov byte [rsp + 0x7a], 0
cvttss2si edx, xmm9
lea rcx, [rbp + 0x148]
call fcn.14000f4f0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], 0xf
movzx eax, word [0x140046764]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea r9, [rbp + 0x148]
lea r8, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.14000f8e0
nop
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x68]
lea rcx, [rbp + 0x188]
call fcn.14000f8e0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140003a1b
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a15
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400042fc
call fcn.140042d74
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140003a59
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004303
call fcn.140042d74
nop
mov rdx, qword [rbp + 0x160]
cmp rdx, 0x10
jb 0x140003a9b
inc rdx
mov rcx, qword [rbp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000430a
call fcn.140042d74
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140003ad7
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ad2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004311
call fcn.140042d74
lea rcx, [rbp + 0x188]
mov r9, qword [rbp + 0x188]
mov r10, qword [rbp + 0x1a0]
cmp r10, 0x10
cmovae rcx, r9
mov rax, qword [0x1400728f0]
test rcx, rcx
jne 0x140003b05
xorps xmm6, xmm6
jmp 0x140003b68
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x14006b684]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14006b678]
movss xmm2, dword [rax + 0x3c08]
lea rdx, [rbp + 0x58]
mov rcx, qword [rax + 0x3c00]
call fcn.140038aa0
movss xmm0, dword [rbp + 0x58]
addss xmm0, dword [0x14006b490]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x58], xmm6
mov r10, qword [rbp + 0x1a0]
mov r9, qword [rbp + 0x188]
xorps xmm7, xmm7
lea r8, [rbp + 0x188]
cmp r10, 0x10
cmovae r8, r9
lea rcx, [rbp - 0x10]
call fcn.140011e00
mov r11d, eax
movsd xmm0, qword [r15 + 0x28]
addsd xmm0, qword [0x14006b4e8]
cvtpd2ps xmm2, xmm0
mulss xmm6, xmm14
cvtps2pd xmm0, xmm6
movsd xmm1, qword [rsi]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x60], xmm0
movss dword [rbp + 0x64], xmm2
test eax, 0xff000000
je 0x140003c2e
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x140003bc4
add rcx, r8
cmp r8, rcx
je 0x140003c2e
mov rax, qword [r12 + 0x38]
movups xmm0, xmmword [r12 + 0x88]
movups xmmword [rbp - 0x68], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r11d
lea r9, [rbp + 0x60]
movss xmm2, dword [rax + 0x10]
mov rdx, r12
mov rcx, qword [rax + 8]
call fcn.140038cc0
mov r10, qword [rbp + 0x1a0]
mov r9, qword [rbp + 0x188]
cmp r10, 0x10
jb 0x140003c65
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140003c5d
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004318
mov rcx, r9
call fcn.140042d74
cmp byte [0x140072807], 0
je 0x1400042a7
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r15 + 0x30]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r15 + 0x40]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r15 + 0x50]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r15 + 0x60]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
mov r14, qword [rbp - 0x40]
lea r8, [r14 + 0x70]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r14 + 0x80]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r14 + 0x90]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r14 + 0xa0]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r14 + 0xb0]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r14 + 0xc0]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea r8, [r14 + 0xd0]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
movsd xmm0, qword [r15 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x68], xmm0
mov rax, r14
movsd xmm0, qword [rax + 0x38]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x6c], xmm0
movsd xmm1, qword [rax + 0x10]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x70], xmm1
movsd xmm0, qword [rax + 0x18]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x74], xmm0
lea rcx, [rbp - 0x10]
call fcn.140011e00
mov ebx, eax
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
mov rcx, qword [rbp - 0x38]
call fcn.1400344e0
movsd xmm0, qword [r14 + 0x70]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x78], xmm0
mov rax, r14
movsd xmm1, qword [rax + 0x78]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x7c], xmm1
movsd xmm0, qword [rax + 0x40]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x80], xmm0
movsd xmm1, qword [rax + 0x48]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x84], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x80]
mov rcx, qword [rbp - 0x38]
call fcn.1400344e0
mov rax, r14
movsd xmm0, qword [rax + 0x50]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x88], xmm0
movsd xmm1, qword [rax + 0x58]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x8c], xmm1
movsd xmm0, qword [rax + 0x40]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x90], xmm0
movsd xmm1, qword [rax + 0x48]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x94], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov rcx, qword [rbp - 0x38]
call fcn.1400344e0
movsd xmm0, qword [r15 + 0x60]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x98], xmm0
mov r15, r14
movsd xmm1, qword [r14 + 0x68]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x9c], xmm1
movsd xmm0, qword [r14 + 0x50]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa0], xmm0
movsd xmm1, qword [r14 + 0x58]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xa4], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp - 0x38]
call fcn.1400344e0
movsd xmm0, qword [r14 + 0x80]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa8], xmm0
movsd xmm1, qword [r14 + 0x88]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xac], xmm1
movsd xmm0, qword [r14 + 0x70]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb0], xmm0
movsd xmm1, qword [r14 + 0x78]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xb4], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
mov r12, qword [rbp - 0x38]
mov rcx, r12
call fcn.1400344e0
movsd xmm0, qword [r14 + 0x90]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb8], xmm0
movsd xmm1, qword [r14 + 0x98]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xbc], xmm1
movsd xmm0, qword [r14 + 0x80]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xc0], xmm0
movsd xmm1, qword [r14 + 0x88]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xc4], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xc0]
mov rcx, r12
call fcn.1400344e0
movsd xmm0, qword [r14 + 0xa0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xc8], xmm0
movsd xmm1, qword [r14 + 0xa8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xcc], xmm1
movsd xmm0, qword [r14 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd0], xmm0
movsd xmm1, qword [r14 + 0x38]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xd4], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0xd0]
mov rcx, r12
call fcn.1400344e0
movsd xmm0, qword [r14 + 0xb0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd8], xmm0
movsd xmm1, qword [r14 + 0xb8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xdc], xmm1
movsd xmm0, qword [r14 + 0xa0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe0], xmm0
movsd xmm1, qword [r14 + 0xa8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xe4], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0xe0]
mov rcx, r12
call fcn.1400344e0
movsd xmm0, qword [r14 + 0xc0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe8], xmm0
movsd xmm1, qword [r14 + 0xc8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xec], xmm1
movsd xmm0, qword [r14 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf0], xmm0
movsd xmm1, qword [r14 + 0x38]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xf4], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0xf0]
mov rcx, r12
call fcn.1400344e0
movsd xmm0, qword [r14 + 0xd0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf8], xmm0
movsd xmm1, qword [r14 + 0xd8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0xfc], xmm1
movsd xmm0, qword [r14 + 0xc0]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movsd xmm1, qword [r14 + 0xc8]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x2c], xmm1
movss dword [rsp + 0x20], xmm13
mov r9d, ebx
lea r8, [rbp + 0xf8]
lea rdx, [rbp - 0x30]
mov rcx, r12
call fcn.1400344e0
mov rdi, qword [rbp - 0x28]
lea rsi, [r14 + 0x20]
lea r14, [r14 + 0x10]
xor r13d, r13d
add rdi, 0x48
mov qword [rbp - 0x28], rdi
cmp rdi, qword [rbp - 0x20]
jne 0x140002f90
cmp qword [rbp + 0x18], 0
je 0x1400045d5
cmp byte [0x140072099], 0
je 0x1400045d5
xorps xmm2, xmm2
mov ecx, dword [0x1400728b4]
test ecx, ecx
je 0x14000431f
sub ecx, 1
je 0x14000431f
sub ecx, 1
je 0x14000431f
cmp ecx, 1
je 0x14000431f
xorps xmm7, xmm7
jmp 0x140004375
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, [rsp + 0x78]
call fcn.140002360
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rsp + 0x60], xmm1
lea r8, [rbp - 0x10]
lea rdx, [rsp + 0x50]
call fcn.1400024d0
lea rdx, [rsp + 0x50]
call fcn.140002360
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x58], xmm0
movups xmm2, xmmword [rax]
movaps xmm7, xmm2
ucomisd xmm2, xmm10
jp 0x140004409
jne 0x140004409
unpckhpd xmm2, xmm2
ucomisd xmm2, xmm10
jp 0x140004386
je 0x1400045d5
movss xmm0, dword [0x140072858]
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
subsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss xmm1, dword [0x14006b4d0]
call fcn.140043bc0
movaps xmm6, xmm0
movss xmm1, dword [0x14007285c]
mulss xmm1, xmm14
cvtps2pd xmm2, xmm1
subsd xmm2, xmm7
cvtpd2ps xmm0, xmm2
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x1400043e4
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1400043ec
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm0, dword [0x1400720a0]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1400045d5
movsd xmm6, qword [rbp - 8]
movsd xmm7, qword [rbp - 0x10]
cmp byte [0x14007281f], 0
je 0x140004470
movaps xmm0, xmmword [0x14006b7e0]
movups xmmword [rbp - 0x68], xmm0
cvtpd2ps xmm0, xmm7
movss dword [rbp - 0x28], xmm0
cvtpd2ps xmm1, xmm6
movss dword [rbp - 0x24], xmm1
movss xmm0, dword [rbp + 0x10]
movss dword [rbp - 0x30], xmm0
movss xmm2, dword [rbp - 0x48]
movss dword [rbp - 0x2c], xmm2
lea rcx, [rbp - 0x68]
call fcn.140011e00
mov r9d, eax
movss dword [rsp + 0x20], xmm13
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x30]
mov rcx, r12
call fcn.1400344e0
mov ecx, dword [0x140072090]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400045d5
cvttsd2si edx, xmm6
cvttsd2si eax, xmm7
movss xmm2, dword [0x14007285c]
cvtps2pd xmm2, xmm2
mulsd xmm2, qword [0x14006b4b8]
movss xmm4, dword [0x140072858]
cvtps2pd xmm4, xmm4
mulsd xmm4, qword [0x14006b4b8]
mov ecx, dword [0x14007208c]
movsd xmm6, qword [0x14006b880]
test eax, eax
je 0x140004538
movd xmm5, eax
cvtdq2pd xmm5, xmm5
comisd xmm5, xmm2
jbe 0x140004506
movaps xmm3, xmm2
subsd xmm3, xmm5
xorps xmm3, xmm6
lea eax, [rcx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm3, xmm0
movaps xmm1, xmm2
addsd xmm1, xmm3
movaps xmm0, xmm2
addsd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x14000450b
movaps xmm3, xmm10
jmp 0x14000450b
movsd xmm3, qword [rbp - 0x20]
comisd xmm2, xmm5
jbe 0x14000453d
movaps xmm3, xmm5
subsd xmm3, xmm2
lea eax, [rcx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm3, xmm0
addsd xmm2, xmm3
comisd xmm10, xmm2
jbe 0x14000453d
movaps xmm3, xmm10
jmp 0x14000453d
movsd xmm3, qword [rbp - 0x20]
test edx, edx
je 0x1400045b4
movd xmm5, edx
cvtdq2pd xmm5, xmm5
comisd xmm5, xmm4
jbe 0x140004582
movaps xmm2, xmm4
subsd xmm2, xmm5
xorps xmm2, xmm6
lea eax, [rcx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
movaps xmm1, xmm4
addsd xmm1, xmm2
movaps xmm0, xmm4
addsd xmm0, xmm4
comisd xmm1, xmm0
jbe 0x140004587
movaps xmm2, xmm10
jmp 0x140004587
movsd xmm2, qword [rbp - 0x20]
comisd xmm4, xmm5
jbe 0x1400045b9
movaps xmm2, xmm5
subsd xmm2, xmm4
lea eax, [rcx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
addsd xmm4, xmm2
comisd xmm10, xmm4
jbe 0x1400045b9
movaps xmm2, xmm10
jmp 0x1400045b9
movsd xmm2, qword [rbp - 0x20]
cvttsd2si r8, xmm2
cvttsd2si rdx, xmm3
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
call fcn.14001de80
mov rcx, qword [rbp + 0x1a8]
xor rcx, rsp
call fcn.140042ac0
lea r11, [rsp + 0x350]
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]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret