Function at 0x180035f70
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 - 0xb8]
sub rsp, 0x190
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
mov rax, qword [0x180048040]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r12d, r12d
cmp qword [0x180048c60], r12
je 0x1800368c5
mov rax, qword [0x180048c48]
mov qword [rax + 0x1d18], r12
mov qword [rax + 0x1d20], r12
mov dword [rax + 0x1d0c], 1
movd xmm1, dword [0x180048d5c]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x180048d58]
cvtdq2ps xmm0, xmm0
or dword [rax + 0x1d08], 3
movss dword [rax + 0x1d28], xmm0
movss dword [rax + 0x1d2c], xmm1
mov dword [rax + 0x1d10], 1
xor edx, edx
mov r8d, 0x287
lea rcx, str.Overlay
call fcn.18000c300
mov rdi, qword [0x180048d30]
mov rbx, qword [0x180048d28]
movss xmm11, dword [0x18004064c]
cmp rbx, rdi
je 0x180036161
movaps xmm0, xmmword [0x1800407a0]
movaps xmmword [rbp], xmm0
nop dword [rax + rax]
movups xmm6, xmmword [rbx]
movups xmmword [rbp - 0x38], xmm6
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r12
mov dword [rbp - 0x10], r12d
movsd xmm0, qword [rbp - 0x2c]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rbp - 0x24]
mov dword [rsp + 0x78], eax
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180048d80]
call fcn.180032aa0
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x48], r12d
movsd qword [rsp + 0x60], xmm6
psrldq xmm6, 8
movd dword [rsp + 0x68], xmm6
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov rcx, qword [0x180048d80]
call fcn.180032aa0
mov rcx, qword [0x180048c48]
mov rax, qword [rcx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r10, qword [rax + 0x268]
lea rcx, [rbp]
call fcn.180003dd0
movss xmm0, dword [rbp - 0x18]
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [rbp - 0x14]
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [rsp + 0x44]
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.180020fd0
add rbx, 0x18
cmp rbx, rdi
jne 0x180036070
cmp byte [0x1800480a1], r12b
je 0x1800368c0
lea rdx, [rbp - 0x18]
call fcn.180032db0
nop
mov rsi, qword [rbp - 0x18]
mov r15, qword [rbp - 0x10]
cmp rsi, r15
je 0x180036544
movabs r14, 0xfffffffffffe
movabs r13, 0x7fffffffffffffff
movss xmm8, dword [0x180040704]
movss xmm9, dword [0x1800406f8]
movss xmm10, dword [0x180040644]
movss xmm6, dword [0x180040618]
movss xmm7, dword [0x1800406c0]
nop dword [rax + rax]
mov rbx, qword [rsi]
cmp rbx, qword [0x180048c60]
je 0x180036533
mov rcx, qword [0x180048da0]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xd0]
call rdx
mov rdi, rax
mov rcx, qword [rbx]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
cmp rcx, r14
ja 0x180036210
mov rcx, rbx
call rdx
mov rdx, rax
jmp 0x180036213
mov rdx, r12
mov rax, qword [rdi]
mov r8, qword [rax + 0x18]
mov rcx, rdi
call r8
mov rdi, rax
test rax, rax
je 0x180036533
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x180]
mov rcx, rax
call rdx
test al, al
jne 0x180036533
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.180033190
nop
lea r8, str.Bip01_Head
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180032bc0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
movsd xmm0, qword [rsp + 0x60]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180048d80]
call fcn.180032aa0
test al, al
jne 0x1800362e7
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x180036523
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800362dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003658b
call fcn.1800389e4
jmp 0x180036523
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x1fdfc
call rax
mov r14, rax
lea rcx, str.Game.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdi, [rax + 0x26a8]
mov rcx, qword [rbx]
mov rdx, qword [rcx + 8]
lea rcx, [rdx - 1]
movabs rax, 0xfffffffffffe
cmp rcx, rax
ja 0x180036334
mov rcx, rbx
call rdx
jmp 0x180036337
mov rax, r12
mov edx, eax
mov rcx, r14
call rdi
lea rdx, [rbp]
mov rcx, rbx
cmp eax, 2
jne 0x180036360
movaps xmm0, xmmword [0x1800407a0]
jmp 0x180036367
movaps xmm0, xmmword [0x1800407b0]
movaps xmmword [rbp], xmm0
call fcn.1800356f0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r12
mov rdi, qword [rbp - 0x28]
lea r14, [rbp - 0x38]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
cmova r14, rax
cmp rdi, r13
ja 0x180036910
cmp rdi, 0xf
ja 0x1800363bf
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x78], xmm0
jmp 0x180036459
mov rbx, rdi
or rbx, 0xf
cmp rbx, r13
jbe 0x1800363de
mov rbx, r13
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180036405
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180036427
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180036916
mov rcx, rax
call fcn.1800389a0
mov rcx, rax
test rax, rax
je 0x180036584
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180036436
test rcx, rcx
je 0x180036433
call fcn.1800389a0
jmp 0x180036436
mov rax, r12
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x38]
lea rcx, [rbp - 0x38]
cmp rdx, 0xf
cmova rcx, rax
mov rax, qword [0x180048c48]
test rcx, rcx
jne 0x180036476
xorps xmm1, xmm1
jmp 0x1800364c0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm9
movss xmm2, dword [rax + 0x1980]
lea rdx, [rsp + 0x50]
mov rcx, qword [rax + 0x1978]
call fcn.180024a40
movss xmm0, dword [rsp + 0x50]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x50], xmm1
mulss xmm1, xmm6
movss xmm0, dword [rsp + 0x40]
subss xmm0, xmm1
movss xmm1, dword [rsp + 0x44]
subss xmm1, xmm7
lea r8, [rbp - 0x78]
call fcn.180038730
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x180036519
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036514
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003658b
call fcn.1800389e4
movabs r14, 0xfffffffffffe
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
add rsi, 8
cmp rsi, r15
jne 0x1800361d0
mov rsi, qword [rbp - 0x18]
test rsi, rsi
je 0x1800365a6
mov rax, qword [rbp - 8]
sub rax, rsi
sar rax, 3
lea rdx, [rax*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180036592
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036592
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
mov rcx, rsi
call fcn.1800389e4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r12
cmp byte [0x180048c42], 0
je 0x180036793
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
lea r8, [rbp - 0x58]
lea rdx, [rbp]
call fcn.180032f60
nop
mov rbx, qword [rbp]
mov r14, qword [rbp + 8]
cmp rbx, r14
je 0x180036753
movsd xmm9, qword [0x180040668]
movss xmm8, dword [0x1800406bc]
movss xmm10, dword [0x1800406b4]
mov rsi, qword [0x180048c60]
nop dword [rax + rax]
mov rdi, qword [rbx]
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rsp + 0x60], xmm0
test rsi, rsi
je 0x1800366b0
movss xmm0, dword [rsi + 0xdc]
subss xmm0, dword [rsp + 0x60]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm2, dword [rsi + 0xe4]
subss xmm2, dword [rdi + 0xe4]
cvtps2pd xmm0, xmm2
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movss xmm1, dword [rsi + 0xe0]
subss xmm1, dword [rsp + 0x64]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm6
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x18003669a
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x1800366a2
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm8
ja 0x180036742
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
movsd xmm0, qword [rdi + 0xdc]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rdi + 0xe4]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180048d80]
call fcn.180032aa0
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp - 0x78]
call fcn.180037050
mov r8, rax
movss xmm7, dword [rsp + 0x44]
movaps xmm1, xmm7
movss xmm6, dword [rsp + 0x40]
movaps xmm0, xmm6
call fcn.180038730
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x78]
call fcn.180037050
addss xmm7, xmm10
lea r8, [rbp - 0x78]
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180038730
mov rsi, qword [0x180048c60]
add rbx, 8
cmp rbx, r14
jne 0x180036610
mov rbx, qword [rbp]
test rbx, rbx
je 0x180036793
mov rdx, qword [rbp + 0x10]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x18003678b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003678b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1800389e4
cmp byte [0x1800480a3], 0
je 0x1800368c0
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180036828
mov eax, dword [0x1800480a8]
test eax, eax
jle 0x18003682e
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.180033900
test rax, rax
je 0x180036828
lea r8, str.Bip01_Head
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180032bc0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov rcx, qword [0x180048d80]
call fcn.180032aa0
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x40]
call fcn.180035320
mov eax, dword [0x1800480a8]
cmp byte [0x1800480a1], 0
je 0x1800368c0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movaps xmm0, xmmword [0x180040790]
movaps xmmword [rbp], xmm0
mov r8, qword [0x180048c48]
mov rax, qword [r8 + 0x1c10]
mov byte [rax + 0x90], 1
mov eax, dword [0x180048d58]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x50], xmm0
mov eax, dword [0x180048d5c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x54], xmm0
lea rcx, [rbp]
call fcn.180003dd0
mov r9d, eax
mov rcx, qword [r8 + 0x1c10]
movss dword [rsp + 0x28], xmm11
movaps xmm2, xmm6
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx + 0x268]
call fcn.180021530
call fcn.18000e600
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.180038980
lea r11, [rsp + 0x190]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800012a0
nop
call fcn.180001200
int3