Function at 0x1400339f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x38]
sub rsp, 0x130
mov rax, qword [0x1400e0040]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov rax, qword [0x140109998]
cmp byte [rax + 0xfc], 0
je 0x140033fb5
mov qword [r11 + 0x10], rsi
xor esi, esi
mov qword [r11 + 0x18], rdi
movaps xmmword [r11 - 0x18], xmm6
movss xmm6, dword [0x1400cfe90]
movaps xmmword [r11 - 0x28], xmm7
movaps xmmword [r11 - 0x38], xmm8
movss xmm8, dword [0x1400cfde8]
movaps xmmword [r11 - 0x48], xmm9
movaps xmmword [r11 - 0x58], xmm10
movaps xmmword [r11 - 0x68], xmm11
mov qword [r11 + 8], rbx
cmp byte [rax + 0xfd], sil
je 0x140033b3e
mov rax, qword [0x1401097d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4888]
mov rcx, qword [rcx]
call fcn.14000ee00
movdqa xmm0, xmmword [0x1400d0450]
lea rcx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
mov rbx, rax
call fcn.14000b810
mov edi, eax
mov rax, qword [0x140109998]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movd xmm2, dword [rax + 0x100]
mulss xmm0, xmm8
mulss xmm1, xmm8
movss dword [rsp + 0x50], xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x54], xmm1
test edi, 0xff000000
je 0x140033b3e
comiss xmm8, xmm2
ja 0x140033b3e
subss xmm2, xmm8
mov dword [rsp + 0x28], 0x63
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.1400246f0
movss xmm0, dword [0x1400cfe2c]
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
mov rdx, qword [rbx + 0x80]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
call fcn.140022ca0
mov dword [rbx + 0x78], esi
mov rax, qword [0x140109998]
cmp byte [rax + 0xfe], sil
je 0x140033bfb
mov rax, qword [0x1401097d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4888]
mov rcx, qword [rcx]
call fcn.14000ee00
movdqa xmm0, xmmword [0x1400d01d0]
lea rcx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
mov rbx, rax
call fcn.14000b810
mov rcx, qword [0x140109998]
mov edi, eax
movss xmm0, dword [rcx]
movss xmm1, dword [rcx + 4]
movd xmm2, dword [rcx + 0x100]
mulss xmm0, xmm8
mulss xmm1, xmm8
movss dword [rsp + 0x50], xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x54], xmm1
test eax, 0xff000000
je 0x140033bfb
comiss xmm8, xmm2
ja 0x140033bfb
mov dword [rsp + 0x28], 0x63
lea rdx, [rsp + 0x50]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm6
mov rcx, rbx
call fcn.1400246f0
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140023c00
mov dword [rbx + 0x78], esi
call fcn.1400333c0
mov rcx, qword [0x140109998]
mov rdi, rax
mov edx, dword [rcx + 0x110]
test edx, edx
jne 0x140033c27
mov rcx, qword [0x1401099b0]
lea rdx, [rax + 0x60]
mov ebx, dword [rcx + 0xf0]
jmp 0x140033c91
cmp edx, 1
jne 0x140033c3b
mov rax, qword [0x1401099b0]
mov ebx, dword [rax + 0xf4]
jmp 0x140033c8d
cmp edx, 2
jne 0x140033c4f
mov rax, qword [0x1401099b0]
mov ebx, dword [rax + 0x104]
jmp 0x140033c8d
cmp edx, 3
jne 0x140033c63
mov rax, qword [0x1401099b0]
mov ebx, dword [rax + 0xf8]
jmp 0x140033c8d
cmp edx, 4
jne 0x140033c77
mov rax, qword [0x1401099b0]
mov ebx, dword [rax + 0xfc]
jmp 0x140033c8d
cmp edx, 5
jne 0x140033d10
mov rax, qword [0x1401099b0]
mov ebx, dword [rax + 0x100]
lea rdx, [rdi + 0x60]
mov rcx, qword [0x1401099c8]
lea r8, [rsp + 0x70]
mov r9d, 0x40
mov qword [rsp + 0x20], rsi
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1401099c8]
lea eax, [rbx + 0x43]
shl eax, 4
lea r8, [rsp + 0x60]
movsxd rdx, eax
mov r9d, 0xc
add rdx, rdi
mov qword [rsp + 0x20], rsi
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
unpcklps xmm0, xmm1
movaps xmm6, xmm0
movsd qword [rsp + 0x50], xmm0
jmp 0x140033d31
cmp edx, 6
jne 0x140033d27
mov rax, qword [0x1401099b0]
mov ebx, dword [rax + 0x108]
jmp 0x140033c8d
mov ebx, dword [rsp + 0x58]
movsd xmm6, qword [rsp + 0x50]
mov rax, qword [0x140109998]
movss xmm9, dword [rsp + 0x54]
movss xmm10, dword [rsp + 0x50]
cmp byte [rax + 0xff], sil
je 0x140033d82
movdqa xmm0, xmmword [0x1400d0270]
lea rax, [rsp + 0x60]
movss xmm3, dword [0x1400cfe58]
movaps xmm2, xmm9
mov qword [rsp + 0x28], rax
movaps xmm1, xmm10
movss dword [rsp + 0x20], xmm3
movdqa xmmword [rsp + 0x60], xmm0
call fcn.14003dd00
mov rcx, qword [0x140109998]
movss xmm11, dword [rcx]
movss xmm7, dword [rcx + 4]
mov ecx, dword [rcx + 0x108]
mulss xmm11, xmm8
mulss xmm7, xmm8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140033f69
mov rax, qword [0x140109998]
cmp dword [rax + 0x10c], esi
jne 0x140033f69
mov rcx, qword [0x1401099c8]
lea r8, [rsp + 0x50]
mov rax, qword [0x1401099b0]
mov r9d, 8
movaps xmmword [rsp + 0xc0], xmm12
mov qword [rsp + 0x20], rsi
mov rdx, qword [rcx + 0x28]
add rdx, qword [rax]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [0x140109998]
lea r8, [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov r9d, 0xc
mov qword [rsp + 0x20], rsi
mov ecx, dword [rax + 0x104]
lea rdx, [rdi + 0x60]
lea eax, [rcx + rcx*4]
mov rcx, qword [0x1401099c8]
shl eax, 2
mov rcx, qword [rcx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm8, xmm0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x40]
movss xmm2, dword [rsp + 0x44]
subss xmm1, xmm10
subss xmm2, xmm9
movd xmm12, ebx
subss xmm0, xmm12
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140033e8f
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140033e97
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subss xmm10, dword [rsp + 0x40]
subss xmm9, dword [rsp + 0x44]
subss xmm12, dword [rsp + 0x48]
lea r8, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x68], ebx
divss xmm10, xmm0
divss xmm9, xmm0
divss xmm12, xmm0
call fcn.140042a70
mov rbx, rax
movsd xmm1, qword [0x1400cfe60]
subss xmm7, dword [rax + 4]
cvtps2pd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
subss xmm11, dword [rbx]
movsd xmm1, qword [0x1400cfe60]
movaps xmm7, xmm0
cvtps2pd xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x140033f1e
sqrtss xmm0, xmm0
jmp 0x140033f23
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rax, qword [0x140109998]
movd xmm1, dword [rax + 0x100]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jb 0x140033f60
movaps xmm2, xmm8
movss dword [rsp + 0x50], xmm10
lea rdx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm9
mov rcx, rdi
movss dword [rsp + 0x58], xmm12
call fcn.140033640
movaps xmm12, xmmword [rsp + 0xc0]
mov rbx, qword [rsp + 0x140]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xd0]
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1400470e0
add rsp, 0x130
pop rbp
ret