Function at 0x18001c020
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1800d7030]
xor rax, rsp
mov qword [rbp + 7], rax
mov rbx, rcx
xor r15d, r15d
lea ecx, [r15 + 0x2d]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18001c0d1
cmp byte [rbx + 0x30], r15b
sete al
mov byte [rbx + 0x30], al
mov rax, qword [0x1801f3f00]
add rax, 0x3ec930
call rax
mov rdi, rax
mov rcx, qword [0x1801f3f00]
add rcx, 0x3e21e0
call rcx
test rdi, rdi
je 0x18001c0d1
cmp qword [rdi + 0x10], r15
je 0x18001c0d1
cmp byte [rdi + 0xb4], r15b
je 0x18001c0d1
cmp qword [rdi + 0x60], r15
je 0x18001c0d1
test rax, rax
je 0x18001c0d1
mov rax, qword [0x1801f3f00]
add rax, 0x1ca3130
cmp byte [rbx + 0x30], r15b
je 0x18001c0ca
xor ecx, ecx
jmp 0x18001c0cf
mov ecx, 1
call rax
cmp byte [rbx + 0x30], r15b
je 0x18001c787
mov ecx, dword [0x1801f3ee8]
mov rax, qword gs:[0x58]
mov r12d, 4
mov rdi, qword [rax + rcx*8]
lea r14, [0x180229d40]
mov eax, dword [rdi + r12]
cmp dword [0x180229db0], eax
jle 0x18001c144
lea rcx, [0x180229db0]
call fcn.1800967cc
cmp dword [0x180229db0], 0xffffffff
jne 0x18001c144
mov rdx, qword [0x180229bf8]
mov rcx, r14
call fcn.180016cc0
lea rcx, [0x180098d90]
call fcn.1800965f0
nop
lea rcx, [0x180229db0]
call fcn.18009676c
mov eax, dword [rdi + r12]
cmp dword [0x180229db4], eax
jle 0x18001c196
lea rcx, [0x180229db4]
call fcn.1800967cc
cmp dword [0x180229db4], 0xffffffff
jne 0x18001c196
mov qword [0x180229d20], r15
mov qword [0x180229d30], r15
mov qword [0x180229d38], 0xf
lea rcx, [0x180098d20]
call fcn.1800965f0
lea rcx, [0x180229db4]
call fcn.18009676c
cmp byte [rbx + 4], 0
jne 0x18001c2bc
mov qword [rbp - 0x31], 0xffffffffffffffff
mov qword [rbp - 0x29], 0xffffffffffffffff
mov qword [rbp - 0x21], 0xffffffffffffffff
mov qword [rbp - 0x19], 0xffffffffffffffff
mov dword [rbp - 0x11], 0xffffffff
mov qword [rbp - 0xd], 0xfffffffffffffffd
mov dword [rbp - 5], 0xffffffff
mov qword [rbp - 1], r15
lea rax, [rbx + 0x38]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x31]
mov r8d, 0x11684
lea rdx, [0x1800d7070]
mov rcx, qword [0x180229c18]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.d3dx11_43.dll_D3DX11CreateShaderResourceViewFromMemory]
cmp byte [0x1801f2fe8], 0
jne 0x18001c24e
mov rcx, qword [0x1801f3f40]
lea rax, [rcx + 0x1d40]
mov qword [0x1801f2ff0], rax
movss xmm0, dword [rcx + 0x10]
movss dword [0x1801f2ff8], xmm0
movss xmm1, dword [rcx + 0x14]
movss dword [0x1801f2ffc], xmm1
mov byte [0x1801f2fe8], 1
mov qword [rbp - 0x71], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x61], xmm0
mov r8d, 0xb
lea rdx, str.Feb_10_2023
lea rcx, [rbp - 0x71]
call fcn.180003170
nop
lea r8, [rbp - 0x71]
mov rcx, rbx
call fcn.18001d2e0
nop
mov rdx, qword [rbp - 0x59]
cmp rdx, 0x10
jb 0x18001c2bc
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001c2b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001c2b7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180096610
lea rsi, [0x180229d88]
mov eax, dword [rdi + r12]
cmp dword [0x180229d84], eax
jle 0x18001c358
lea rcx, [0x180229d84]
call fcn.1800967cc
cmp dword [0x180229d84], 0xffffffff
jne 0x18001c358
movabs rax, 0x7fffffffffffffff
mov rcx, qword [0x180229d30]
sub rax, rcx
cmp rax, 0xd
jb 0x18001c7b9
lea rax, [0x180229d20]
cmp qword [0x180229d38], 0x10
cmovae rax, qword [0x180229d20]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xd
lea r9, str.Build_date:__n
mov rcx, rsi
call fcn.180019ad0
lea rcx, [0x180098cb0]
call fcn.1800965f0
nop
lea rcx, [0x180229d84]
call fcn.18009676c
call fcn.18001b530
xor edx, edx
lea r8d, [rdx + 0x6a]
lea rcx, str.Banana_Shooter_Hack
call fcn.180027fd0
mov rcx, qword [0x1801f3f40]
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
je 0x18001c3a8
cmp dword [rcx + 0x10], 2
jne 0x18001c3a3
cmp dword [rcx + 4], 1
je 0x18001c3b3
call fcn.1800545f0
mov r8d, 1
call fcn.180053b10
movss xmm1, dword [0x1800c6434]
mov ecx, 1
call fcn.180053690
mov dword [rbp - 0x79], 0x42e60000
mov dword [rbp - 0x75], 0x42700000
lea rdx, [rbp - 0x79]
lea rcx, str.Combat
call fcn.180043f50
test al, al
je 0x18001c3ed
mov dword [rbx], 1
mov dword [rbp - 0x79], 0x42e60000
mov dword [rbp - 0x75], 0x42700000
lea rdx, [rbp - 0x79]
lea rcx, str.Visuals
call fcn.180043f50
test al, al
je 0x18001c415
mov dword [rbx], 2
mov dword [rbp - 0x79], 0x42e60000
mov dword [rbp - 0x75], 0x42700000
lea rdx, [rbp - 0x79]
lea rcx, str.Misc
call fcn.180043f50
test al, al
je 0x18001c43a
mov dword [rbx], r15d
mov rcx, qword [0x1801f3f40]
mov rax, qword [rcx + 0x1a18]
movss xmm6, dword [rax + 0xd0]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x54]
movss xmm5, dword [rax + 0xd4]
movss xmm2, dword [rax + 0x14]
movss xmm4, dword [rax + 0x58]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a18]
subss xmm6, xmm0
addss xmm6, xmm1
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x54]
addss xmm6, xmm0
movss xmm3, dword [rax + 0x14]
subss xmm3, dword [rax + 0x58]
subss xmm5, xmm2
addss xmm5, xmm4
addss xmm5, dword [0x1800c6400]
addss xmm3, xmm5
movss dword [rax + 0xd0], xmm6
movss dword [rax + 0xd4], xmm3
movss xmm1, dword [rax + 0xe8]
maxss xmm1, xmm6
movss xmm0, dword [rax + 0xec]
maxss xmm0, xmm3
movss dword [rax + 0xe8], xmm1
movss dword [rax + 0xec], xmm0
cmp qword [0x180229da0], 0x10
cmovae rsi, qword [0x180229d88]
mov rcx, rsi
call fcn.180043580
cmp qword [0x180229d58], 0x10
cmovae r14, qword [0x180229d40]
mov rcx, r14
call fcn.180043580
call fcn.180054230
mov ecx, dword [rbx]
movss xmm7, dword [0x1800c635c]
movss xmm6, dword [0x1800c6448]
test ecx, ecx
je 0x18001c6ca
sub ecx, 1
je 0x18001c6c3
cmp ecx, 1
jne 0x18001c6cf
movss xmm0, dword [0x1800c6474]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x1800c646c]
movss dword [rbp - 0x75], xmm1
mov rdi, qword [0x1801f3f40]
mov rax, qword [rdi + 0x1a18]
mov byte [rax + 0x80], cl
mov rax, qword [rdi + 0x1a18]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.visuals
call fcn.18001fde0
cmp dword [rdi + 0x1a60], eax
jne 0x18001c5ab
mov dword [rdi + 0x1a64], eax
cmp dword [rdi + 0x1a9c], eax
jne 0x18001c5ba
mov byte [rdi + 0x1aa0], 1
mov dword [rsp + 0x20], r15d
mov r9b, 1
lea r8, [rbp - 0x79]
mov edx, eax
lea rcx, str.visuals
call fcn.180025190
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], r15
mov r8d, 0x13
lea rdx, str.visuals_bob_speed_f
lea rcx, [rbp - 0x71]
call fcn.180003170
lea rcx, [rbp - 0x71]
call fcn.180018280
mov rdx, rax
movss dword [rsp + 0x28], xmm7
movaps xmm3, xmm6
xorps xmm2, xmm2
call fcn.180048c20
lea rcx, str.Setting_to_0_will_result_in_no_movement_bob.
call fcn.18001be80
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], r15
mov r8d, 0x13
lea rdx, str.visuals_enemy_box_b
lea rcx, [rbp - 0x71]
call fcn.180003170
lea rcx, [rbp - 0x71]
call fcn.180017ec0
mov rdx, rax
lea rcx, str.Enemy_box
call fcn.180045310
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], r15
mov r8d, 0x13
lea rdx, str.visuals_enemy_box_b
lea rcx, [rbp - 0x71]
call fcn.180003170
lea rcx, [rbp - 0x71]
call fcn.180017ec0
cmp byte [rax], 0
je 0x18001c6bc
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], r15
mov r8d, 0x19
lea rdx, str.visuals_enemy_box_color_c
lea rcx, [rbp - 0x71]
call fcn.180003170
lea rcx, [rbp - 0x71]
call fcn.18001dd30
mov rdx, rax
call fcn.18001b800
call fcn.180025440
jmp 0x18001c6cf
call fcn.18001c7c0
jmp 0x18001c6cf
call fcn.18001c9d0
call fcn.18002a280
xor edx, edx
mov r8d, 0xc0201
lea rcx, str.dummy
call fcn.180027fd0
movss xmm0, dword [0x1801f2ff8]
subss xmm0, xmm6
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x1801f2ffc]
subss xmm1, xmm6
movss dword [rbp - 0x75], xmm1
xor r8d, r8d
lea rdx, [rbp - 0x79]
mov rcx, qword [0x1801f3f40]
mov rcx, qword [rcx + 0x1a18]
call fcn.18002aa80
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
movaps xmm1, xmmword [0x1800c68f0]
movups xmmword [rbp - 0x71], xmm1
mov dword [rbp - 0x79], 0x3f800000
mov dword [rbp - 0x75], 0x3f800000
mov qword [rbp - 0x49], r8
mov dword [rbp - 0x51], 0x43160000
mov dword [rbp - 0x4d], 0x43160000
lea rax, [rbp - 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x71]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x79]
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x51]
mov rcx, qword [rbx + 0x38]
call fcn.180044ed0
call fcn.18002a280
call fcn.18001d4b0
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.180096080
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.180001620
nop
int3