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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm11
mov rax, qword [0x180118028]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rbx, rcx
xor r12d, r12d
mov edi, r12d
mov dword [rbp - 0x60], r12d
mov ecx, dword [rcx + 0xc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18008df99
mov dword [rbp - 0x80], 0x18
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x7c], xmm0
mov dword [rbp - 0x6c], eax
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetCursorInfo]
test eax, eax
je 0x18008df79
mov rax, qword [rbp - 0x78]
add rax, 0xffffffffffff3caf
cmp rax, 0xc34e
jbe 0x18008df99
cmp byte [0x18011ab40], dil
jne 0x18008df99
mov cl, 1
cmp byte [0x18011ab70], dil
jne 0x18008df9b
cmp byte [rbx + 8], dil
sete al
mov byte [rbx + 8], al
jmp 0x18008df9b
xor cl, cl
mov byte [0x18011ab70], cl
movzx eax, byte [rbx + 8]
mov byte [0x18011a140], al
mov ecx, dword [0x180119e14]
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18011ef54], eax
jle 0x18008e041
lea rcx, [0x18011ef54]
call fcn.1800aeeb8
cmp dword [0x18011ef54], 0xffffffff
jne 0x18008e041
mov qword [0x18011ef60], r12
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rsi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rsi, 0x989680
jne 0x18008e008
imul rax, rax, 0x64
jmp 0x18008e023
cqo
idiv rsi
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rsi
add rax, r8
mov qword [0x18011ef60], rax
mov qword [0x18011ef68], 1
lea rcx, [0x18011ef54]
call fcn.1800aee58
cmp byte [rbx + 8], dil
je 0x18008f6a2
mov dword [rbp - 0x80], 0x18
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x7c], xmm0
mov dword [rbp - 0x6c], eax
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetCursorInfo]
test eax, eax
je 0x18008e082
mov rax, qword [rbp - 0x78]
add rax, 0xffffffffffff3caf
cmp rax, 0xc34e
jbe 0x18008f6a2
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rsp + 0x50]
call fcn.180068250
nop
lea rdx, [rbp - 0x28]
mov rcx, rax
call fcn.18006b470
nop
cmp qword [0x18011ab38], 0
je 0x18008e0d7
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x18008e0d7
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x58], r12
lea rcx, [rbp - 0x28]
call fcn.18006b3c0
movzx r14d, al
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rsp + 0x60]
call fcn.180069740
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rbp - 0x60]
call fcn.180069d10
mov rcx, qword [0x18011ef38]
lea rsi, [rcx + 0x10]
add rcx, 0x70
call fcn.18006c270
movaps xmm7, xmm0
xorps xmm8, xmm8
cmp qword [rsi + 0x10], 0
jne 0x18008e138
xorps xmm9, xmm9
xorps xmm6, xmm6
jmp 0x18008e170
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.180069740
mov rbx, rax
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.180069ab0
movss xmm6, dword [rbx + 4]
subss xmm6, dword [rax + 4]
mulss xmm6, xmm7
movss xmm9, dword [rbx]
subss xmm9, dword [rax]
mulss xmm9, xmm7
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r12
mov rax, qword [0x18011ab38]
mov qword [rbp - 0x10], rax
lea rdx, vtable.EntityPlayer.0
mov qword [rbp - 0x18], rdx
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r12
mov qword [rbp + 8], rax
mov qword [rbp], rdx
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x40]
mov rcx, qword [0x18011ef38]
call fcn.180068b20
nop
mov rcx, qword [0x18011ef38]
add rcx, 0x70
call fcn.18006c270
movaps xmm7, xmm0
mov rbx, qword [rbp - 0x30]
test rbx, rbx
jne 0x18008e1e0
xorps xmm0, xmm0
xorps xmm1, xmm1
jmp 0x18008e21b
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x40]
call fcn.180069740
mov rbx, rax
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x40]
call fcn.180069ab0
movss xmm1, dword [rbx + 4]
subss xmm1, dword [rax + 4]
mulss xmm1, xmm7
movss xmm0, dword [rbx]
subss xmm0, dword [rax]
mulss xmm0, xmm7
mov rbx, qword [rbp - 0x30]
mulss xmm9, xmm0
mulss xmm6, xmm1
addss xmm9, xmm6
mov rcx, qword [0x18011ef38]
add rcx, 0x10
call fcn.18006a540
mov r13d, eax
cmp byte [0x18011a141], 0
je 0x18008e28b
mov rcx, qword [0x18011ef38]
add rcx, 0x10
call fcn.18006a540
cmp eax, 0x13
jl 0x18008e28b
cmp byte [0x18011a143], 0
je 0x18008e298
cmp byte [0x180118098], 0
jne 0x18008e28b
xor r9d, r9d
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x18011ab48]
call qword [sym.imp.USER32.dll_PostMessageW]
mov byte [0x180118098], 1
cmp byte [0x18011a143], 0
jne 0x18008f656
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r14b, r14b
je 0x18008f656
movss xmm11, dword [0x180103c08]
movss xmm6, dword [0x180103e64]
cmp byte [0x18011a145], 0
je 0x18008e67f
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, dword [0x180103e98]
addss xmm0, xmm6
cvttss2si eax, xmm0
cmp r13d, eax
jne 0x18008e493
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, dword [0x180103f08]
addss xmm0, xmm8
cvttss2si eax, xmm0
cmp eax, 0x41
jg 0x18008e493
lea rdx, [rbp - 0x80]
mov rcx, qword [0x18011ef38]
call fcn.1800689e0
nop
mov dword [rbp - 0x60], 1
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18006c040
mov r14, rax
mov dword [rbp - 0x60], 3
mov rsi, qword [0x18011ab38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x30]
call fcn.1800655d0
nop
mov dword [rbp - 0x60], 7
lea rdx, [rsp + 0x30]
lea rcx, [0x18011b2c0]
call fcn.180078a70
mov rbx, rax
mov rdx, qword [0x18011ab38]
lea rcx, [0x18011b2c0]
call fcn.180078970
mov rcx, qword [rsi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rsi
call r9
mov rdi, rax
test rax, rax
je 0x18008e43a
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rsi
call r8
mov rbx, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rsi]
mov r8, qword [rcx + 0x740]
mov rdx, rdi
mov rcx, rsi
call r8
cmp eax, 1
jne 0x18008e441
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xb8]
mov rdx, rdi
mov rcx, rsi
call r8
jmp 0x18008e441
mov rbx, r12
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], rsi
mov edi, 0x2000000f
mov dword [rbp - 0x60], edi
mov rdx, qword [r14 + 8]
cmp rdx, rbx
je 0x18008e47c
test rdx, rdx
je 0x18008e49b
test rbx, rbx
je 0x18008e49b
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rbx
call r9
cmp al, 1
sete al
test al, al
je 0x18008e49b
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18008e49b
mov r14b, 1
jmp 0x18008e49e
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x50]
xor r14b, r14b
test dil, 8
je 0x18008e4cd
and edi, 0xfffffff7
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008e4cd
test rbx, rbx
je 0x18008e4cd
mov rax, qword [rsi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rsi
call r8
nop
test dil, 4
je 0x18008e529
and edi, 0xfffffffb
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18008e516
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e511
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008e511
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800af594
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
test dil, 2
je 0x18008e560
and edi, 0xfffffffd
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008e560
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x18008e560
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x58], r12
test dil, 1
je 0x18008e58e
and edi, 0xfffffffe
cmp qword [0x18011ab38], 0
je 0x18008e58e
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x18008e58e
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test r14b, r14b
je 0x18008e67f
mov byte [0x18011a143], 1
mov eax, dword [0x180118080]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
subss xmm2, xmm1
mulss xmm0, xmm2
addss xmm0, xmm1
cvttss2si ebx, xmm0
mov ecx, 0x18
call fcn.1800af60c
mov dword [rax], 0x190
mov byte [rax + 4], 1
mov dword [rax + 8], ebx
lea rcx, [0x18008dcb0]
mov qword [rax + 0x10], rcx
mov qword [rbp - 0x60], rax
bts edi, 0x18
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x18008fdf0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18008e71d
cmp dword [rbp - 0x48], 0
jne 0x18008e657
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18008e677
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
movss xmm7, dword [0x180103ebc]
cmp byte [0x18011a144], 0
je 0x18008eed0
lea rdx, [rbp - 0x80]
mov rcx, qword [0x18011ef38]
call fcn.180068b20
nop
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.180069740
nop
cmp qword [0x18011ab38], 0
je 0x18008e6d7
mov rdx, qword [rbp - 0x70]
test rdx, rdx
je 0x18008e6d7
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
movss xmm1, dword [rbp - 0x58]
subss xmm1, dword [rsp + 0x68]
movss xmm2, dword [rbp - 0x5c]
subss xmm2, dword [rsp + 0x64]
movss xmm0, dword [rbp - 0x60]
subss xmm0, dword [rsp + 0x60]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18008e72d
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18008e735
mov dword [rbp - 0x48], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x180118084]
comiss xmm1, xmm0
jb 0x18008e921
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x180103d20]
jbe 0x18008e921
lea rdx, [rbp - 0x80]
mov rcx, qword [0x18011ef38]
call fcn.1800689e0
nop
or edi, 0x10
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18006c040
mov r15, rax
or edi, 0x20
mov dword [rbp - 0x60], edi
mov rsi, qword [0x18011ab38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x30]
call fcn.1800655d0
nop
or edi, 0x40
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x30]
lea rcx, [0x18011b2c0]
call fcn.180078a70
mov rbx, rax
mov rdx, qword [0x18011ab38]
lea rcx, [0x18011b2c0]
call fcn.180078970
mov rcx, qword [rsi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rsi
call r9
mov r14, rax
test rax, rax
je 0x18008e848
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rsi
call r8
mov rbx, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rsi]
mov r8, qword [rcx + 0x740]
mov rdx, r14
mov rcx, rsi
call r8
cmp eax, 1
jne 0x18008e84f
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xb8]
mov rdx, r14
mov rcx, rsi
call r8
jmp 0x18008e84f
mov rbx, r12
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], rsi
bts edi, 0x1c
bts edi, 7
mov dword [rbp - 0x60], edi
mov rdx, qword [r15 + 8]
cmp rdx, rbx
je 0x18008e899
test rdx, rdx
je 0x18008e929
test rbx, rbx
je 0x18008e929
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rbx
call r9
cmp al, 1
sete al
test al, al
je 0x18008e929
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18008e929
mov r14b, 1
test dil, dil
jns 0x18008e8dd
btr edi, 7
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008e8dd
test rbx, rbx
je 0x18008e8dd
mov rax, qword [rsi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rsi
call r8
nop
test dil, 0x40
je 0x18008e956
and edi, 0xffffffbf
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18008e943
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e93e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008e93e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x50]
cmp byte [0x180118072], 0
je 0x18008e8ab
xor r14b, r14b
jmp 0x18008e8ae
call fcn.1800af594
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
test dil, 0x20
je 0x18008e98d
and edi, 0xffffffdf
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008e98d
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x18008e98d
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x58], r12
test dil, 0x10
je 0x18008e9bb
and edi, 0xffffffef
cmp qword [0x18011ab38], 0
je 0x18008e9bb
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x18008e9bb
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test r14b, r14b
je 0x18008eb07
lea eax, [r13 - 6]
cmp eax, 6
ja 0x18008eed0
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, xmm6
addss xmm0, xmm8
cvttss2si eax, xmm0
cmp eax, 2
jg 0x18008eed0
mov byte [0x18011a143], 1
mov eax, dword [0x180118090]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
subss xmm2, xmm1
mulss xmm0, xmm2
addss xmm0, xmm1
cvttss2si ebx, xmm0
mov ecx, 0x18
call fcn.1800af60c
mov dword [rax], 0x1c2
mov byte [rax + 4], 1
mov dword [rax + 8], ebx
lea r13, [0x18008dcb0]
mov qword [rax + 0x10], r13
mov qword [rbp - 0x60], rax
or edi, 0x80000000
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x18008fdf0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18008eaf7
cmp dword [rbp - 0x48], 0
jne 0x18008eaca
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18008eaea
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
jmp 0x18008eed7
mov dword [rbp - 0x48], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rdx, [rbp - 0x50]
mov rcx, qword [0x18011ef38]
call fcn.1800689e0
nop
bts edi, 8
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18006c040
mov r15, rax
bts edi, 9
mov dword [rbp - 0x60], edi
mov rsi, qword [0x18011ab38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x30]
call fcn.1800655d0
nop
bts edi, 0xa
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x30]
lea rcx, [0x18011b2c0]
call fcn.180078a70
mov rbx, rax
mov rdx, qword [0x18011ab38]
lea rcx, [0x18011b2c0]
call fcn.180078970
mov rcx, qword [rsi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rsi
call r9
mov r14, rax
test rax, rax
je 0x18008ebfa
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rsi
call r8
mov rbx, rax
mov qword [rbp - 0x78], rax
mov rcx, qword [rsi]
mov r8, qword [rcx + 0x740]
mov rdx, r14
mov rcx, rsi
call r8
cmp eax, 1
jne 0x18008ec01
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xb8]
mov rdx, r14
mov rcx, rsi
call r8
jmp 0x18008ec01
mov rbx, r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x80], rsi
bts edi, 0x19
bts edi, 0xb
mov dword [rbp - 0x60], edi
mov rdx, qword [r15 + 8]
cmp rdx, rbx
je 0x18008ec3f
test rdx, rdx
je 0x18008ec7c
test rbx, rbx
je 0x18008ec7c
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rbx
call r9
cmp al, 1
sete al
test al, al
je 0x18008ec7c
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18008ec7c
lea rdx, [rsp + 0x60]
mov rcx, qword [0x18011ef38]
call fcn.180068b20
nop
bts edi, 0xc
mov dword [rbp - 0x60], edi
mov rcx, rax
call fcn.18006a540
cmp eax, 0x12
jl 0x18008ec7c
mov r14b, 1
jmp 0x18008ec7f
xor r14b, r14b
bt edi, 0xc
jae 0x18008ecb7
btr edi, 0xc
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008ecb7
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x18008ecb7
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x70], r12
bt edi, 0xb
jae 0x18008ece7
btr edi, 0xb
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008ece7
test rbx, rbx
je 0x18008ece7
mov rax, qword [rsi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rsi
call r8
nop
bt edi, 0xa
jae 0x18008ed44
btr edi, 0xa
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18008ed31
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008ed2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008ed2c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800af594
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
bt edi, 9
jae 0x18008ed7c
btr edi, 9
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008ed7c
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x18008ed7c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x58], r12
bt edi, 8
jae 0x18008edab
btr edi, 8
cmp qword [0x18011ab38], 0
je 0x18008edab
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x18008edab
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test r14b, r14b
je 0x18008eed0
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, dword [0x180103f08]
addss xmm0, xmm8
cvttss2si eax, xmm0
cmp eax, 0x4b
jg 0x18008eed0
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, xmm7
addss xmm0, dword [0x180103ee0]
cvttss2si ebx, xmm0
mov byte [0x18011a143], 1
mov ecx, 0x18
call fcn.1800af60c
mov dword [rax], 0x96
mov byte [rax + 4], 1
mov dword [rax + 8], ebx
lea r13, [0x18008dcb0]
mov qword [rax + 0x10], r13
mov qword [rbp - 0x60], rax
bts edi, 0x1e
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x18008fdf0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18008eec0
cmp dword [rbp - 0x48], 0
jne 0x18008ee96
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18008eeb6
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
jmp 0x18008eed7
mov dword [rbp - 0x48], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea r13, [0x18008dcb0]
cmp byte [0x18011a146], 0
je 0x18008f2a5
lea rdx, [rbp - 0x50]
mov rcx, qword [0x18011ef38]
call fcn.1800689e0
nop
bts edi, 0xd
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18006c040
mov r15, rax
bts edi, 0xe
mov dword [rbp - 0x60], edi
mov rsi, qword [0x18011ab38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x30]
call fcn.1800655d0
nop
mov eax, 0x8000
or edi, eax
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x30]
lea rcx, [0x18011b2c0]
call fcn.180078a70
mov rbx, rax
mov rdx, qword [0x18011ab38]
lea rcx, [0x18011b2c0]
call fcn.180078970
mov rcx, qword [rsi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rsi
call r9
mov r14, rax
test rax, rax
je 0x18008efda
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rsi
call r8
mov rbx, rax
mov qword [rbp - 0x78], rax
mov rcx, qword [rsi]
mov r8, qword [rcx + 0x740]
mov rdx, r14
mov rcx, rsi
call r8
cmp eax, 1
jne 0x18008efe1
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xb8]
mov rdx, r14
mov rcx, rsi
call r8
jmp 0x18008efe1
mov rbx, r12
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x80], rsi
bts edi, 0x17
bts edi, 0x10
mov dword [rbp - 0x60], edi
mov rdx, qword [r15 + 8]
cmp rdx, rbx
je 0x18008f01f
test rdx, rdx
je 0x18008f061
test rbx, rbx
je 0x18008f061
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rbx
call r9
cmp al, 1
sete al
test al, al
je 0x18008f061
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r15d, 0x8000
test r15w, ax
je 0x18008f067
lea rdx, [rsp + 0x60]
mov rcx, qword [0x18011ef38]
call fcn.180068b20
nop
bts edi, 0x11
mov dword [rbp - 0x60], edi
mov rcx, rax
call fcn.18006a540
cmp eax, 0x12
jl 0x18008f067
mov r14b, 1
jmp 0x18008f06a
mov r15d, 0x8000
xor r14b, r14b
bt edi, 0x11
jae 0x18008f0a2
btr edi, 0x11
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008f0a2
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x18008f0a2
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x70], r12
bt edi, 0x10
jae 0x18008f0d2
btr edi, 0x10
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008f0d2
test rbx, rbx
je 0x18008f0d2
mov rax, qword [rsi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rsi
call r8
nop
test r15d, edi
je 0x18008f12e
btr edi, 0xf
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18008f11b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f116
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008f116
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800af594
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
bt edi, 0xe
jae 0x18008f166
btr edi, 0xe
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008f166
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x18008f166
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x58], r12
bt edi, 0xd
jae 0x18008f195
btr edi, 0xd
cmp qword [0x18011ab38], 0
je 0x18008f195
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x18008f195
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test r14b, r14b
je 0x18008f2a5
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, dword [0x180103f08]
addss xmm0, xmm8
cvttss2si eax, xmm0
cmp eax, 0x4b
jg 0x18008f2a5
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, xmm7
addss xmm0, dword [0x180103ee0]
cvttss2si ebx, xmm0
mov byte [0x18011a143], 1
mov ecx, 0x18
call fcn.1800af60c
mov dword [rax], 0xfa
mov byte [rax + 4], 1
mov dword [rax + 8], ebx
mov qword [rax + 0x10], r13
mov qword [rbp - 0x60], rax
bts edi, 0x1b
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x18008fdf0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18008f3a5
cmp dword [rbp - 0x48], 0
jne 0x18008f27d
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18008f29d
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
cmp byte [0x180118071], 0
je 0x18008f417
lea rdx, [rbp - 0x80]
mov rcx, qword [0x18011ef38]
call fcn.1800689e0
nop
bts edi, 0x12
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18006c040
mov r15, rax
bts edi, 0x13
mov dword [rbp - 0x60], edi
mov rsi, qword [0x18011ab38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x30]
call fcn.1800655d0
nop
bts edi, 0x14
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x30]
lea rcx, [0x18011b2c0]
call fcn.180078a70
mov rbx, rax
mov rdx, qword [0x18011ab38]
lea rcx, [0x18011b2c0]
call fcn.180078970
mov rcx, qword [rsi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rsi
call r9
mov r14, rax
test rax, rax
je 0x18008f3b5
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rsi
call r8
mov rbx, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rsi]
mov r8, qword [rcx + 0x740]
mov rdx, r14
mov rcx, rsi
call r8
cmp eax, 1
jne 0x18008f3bc
mov rcx, qword [rsi]
mov r8, qword [rcx + 0xb8]
mov rdx, r14
mov rcx, rsi
call r8
jmp 0x18008f3bc
mov dword [rbp - 0x48], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov rbx, r12
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], rsi
bts edi, 0x16
bts edi, 0x15
mov dword [rbp - 0x60], edi
mov rdx, qword [r15 + 8]
cmp rdx, rbx
je 0x18008f3fa
test rdx, rdx
je 0x18008f41f
test rbx, rbx
je 0x18008f41f
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rbx
call r9
cmp al, 1
sete al
test al, al
je 0x18008f41f
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18008f41f
comiss xmm8, xmm9
jbe 0x18008f41f
mov r14b, 1
jmp 0x18008f422
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x50]
xor r14b, r14b
bt edi, 0x15
jae 0x18008f452
btr edi, 0x15
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008f452
test rbx, rbx
je 0x18008f452
mov rax, qword [rsi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rsi
call r8
nop
bt edi, 0x14
jae 0x18008f4af
btr edi, 0x14
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18008f49c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f497
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008f497
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800af594
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
bt edi, 0x13
jae 0x18008f4e7
btr edi, 0x13
mov dword [rbp - 0x60], edi
cmp qword [0x18011ab38], 0
je 0x18008f4e7
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x18008f4e7
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x58], r12
bt edi, 0x12
jae 0x18008f512
cmp qword [0x18011ab38], 0
je 0x18008f512
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x18008f512
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test r14b, r14b
je 0x18008f645
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
mulss xmm0, dword [0x180103f04]
addss xmm0, dword [0x180103cc4]
cvttss2si eax, xmm0
cmp eax, 0x4b
jg 0x18008f645
mov edx, dword [0x18011808c]
movd xmm2, edx
cvtdq2ps xmm2, xmm2
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm1, edx
cvtdq2ps xmm1, xmm1
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm11
subss xmm2, xmm1
mulss xmm0, xmm2
addss xmm0, xmm1
cvttss2si ebx, xmm0
mov byte [0x18011a143], 1
mov ecx, 0x18
call fcn.1800af60c
mov ecx, dword [0x180118094]
mov dword [rax], ecx
mov byte [rax + 4], 1
mov dword [rax + 8], ebx
mov qword [rax + 0x10], r13
mov qword [rbp - 0x60], rax
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x18008fdf0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18008f6e8
cmp dword [rbp - 0x48], 0
jne 0x18008f61d
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18008f63d
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x40]
call fcn.180069ab0
mov rbx, qword [rbp - 0x30]
mov rax, qword [0x18011ab38]
test rax, rax
je 0x18008f682
test rbx, rbx
je 0x18008f682
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rax, qword [0x18011ab38]
test rax, rax
je 0x18008f6a2
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x18008f6a2
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.1800aed10
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov dword [rbp - 0x48], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3