Function at 0x1400d8614
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x1402584d0
push rbp
push rsi
push rdi
mov eax, 0x11b0
call fcn.1400d4cbc
sub rsp, rax
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x310
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14031bec0]
xor rax, rbp
mov qword [rbp + 0x1170], rax
lea rcx, [0x14033b494]
call fcn.1400d83bc
nop
mov rax, qword [0x140324880]
add rax, 0x12da3a98
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324a40], rax
mov rax, qword [0x140324a40]
add rax, 0x208
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324a50], rax
mov rax, qword [0x140324a50]
add rax, 0x38
mov rcx, rax
call fcn.1400d7656
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324a60], rax
mov rax, qword [0x140324a60]
add rax, 0x30
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324a70], rax
mov rax, qword [0x140324a70]
add rax, 0x350
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324a80], rax
cmp qword [0x140324a80], 0
je 0x140258658
mov rax, qword [0x140324a80]
add rax, 0x1b0
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324a90], rax
mov rax, qword [0x140324a90]
add rax, 0x120
mov rdx, rax
lea rcx, [rbp + 0x838]
call fcn.1400d79bc
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
mov rdx, qword [rbp + 0x1160]
lea rcx, [0x140324af8]
call fcn.1400d72a0
nop
lea rcx, [rbp + 0x838]
call fcn.1400d79f3
nop
mov rax, qword [0x140324a80]
add rax, 0x2b0
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324aa0], rax
mov rax, qword [0x140324aa0]
add rax, 0xf28
mov rcx, rax
call fcn.1400d6d28
mov dword [0x140324aec], eax
mov rax, qword [0x140324a80]
add rax, 0x9d8
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324ae0], rax
mov rax, qword [0x140324a40]
add rax, 0x190
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324ab0], rax
mov rax, qword [0x140324ab0]
add rax, 0x2c0
mov rcx, rax
call fcn.1400d7656
mov qword [0x140324ac0], rax
mov rax, qword [0x140324ab0]
add rax, 0x2c8
mov rcx, rax
call fcn.1400d6d28
mov dword [0x140324af0], eax
mov rax, qword [0x140324a90]
add rax, 0x120
mov rdx, rax
lea rcx, [rbp + 0x868]
call fcn.1400d79bc
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
mov rdx, qword [rbp + 0x1160]
lea rcx, [0x140324af8]
call fcn.1400d72a0
nop
lea rcx, [rbp + 0x868]
call fcn.1400d79f3
nop
movss xmm0, dword [0x1402a1f58]
movss dword [0x140324af4], xmm0
mov qword [0x140324ad0], 0
mov dword [rbp + 4], 0
jmp 0x140258745
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
mov eax, dword [0x140324af0]
cmp dword [rbp + 4], eax
jge 0x14025923b
movsxd rax, dword [rbp + 4]
mov rcx, qword [0x140324ac0]
lea rax, [rcx + rax*8]
mov rcx, rax
call fcn.1400d7656
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x140258778
jmp 0x14025873d
mov rax, qword [0x140324aa0]
add rax, 0xf28
mov rcx, rax
call fcn.1400d6d28
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0x28]
add rax, 0xf28
mov rcx, rax
call fcn.1400d6d28
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x44], 0
je 0x1402587b5
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x64], eax
jne 0x1402587b5
jmp 0x14025873d
mov rax, qword [rbp + 0x28]
add rax, 0x320
mov rcx, rax
call fcn.1400d7656
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
je 0x1402587e8
mov rax, qword [0x140324a80]
cmp qword [rbp + 0x88], rax
jne 0x1402587ed
jmp 0x14025873d
mov rax, qword [rbp + 0x88]
add rax, 0x328
mov rcx, rax
call fcn.1400d7656
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
jne 0x140258818
jmp 0x14025873d
mov r8d, 0x6e
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0xc8]
call fcn.1400d7a66
nop
movsd xmm0, qword [rbp + 0xd8]
addsd xmm0, qword [0x1402eda50]
movaps xmm3, xmm0
movsd xmm2, qword [rbp + 0xd0]
movsd xmm1, qword [rbp + 0xc8]
lea rcx, [rbp + 0x898]
call fcn.1400d7174
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
lea rax, [rbp + 0xea0]
mov rdi, rax
mov rsi, qword [rbp + 0x1160]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0xea0]
lea rcx, [rbp + 0xf8]
call fcn.1400d7e21
nop
lea rcx, [rbp + 0x898]
call fcn.1400d79f3
nop
xor r8d, r8d
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0x128]
call fcn.1400d7a66
nop
movsd xmm0, qword [rbp + 0x138]
subsd xmm0, qword [0x1402eda70]
movaps xmm3, xmm0
movsd xmm2, qword [rbp + 0x130]
movsd xmm1, qword [rbp + 0x128]
lea rcx, [rbp + 0x8c8]
call fcn.1400d7174
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
lea rax, [rbp + 0xee0]
mov rdi, rax
mov rsi, qword [rbp + 0x1160]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0xee0]
lea rcx, [rbp + 0x158]
call fcn.1400d7e21
nop
lea rcx, [rbp + 0x8c8]
call fcn.1400d79f3
nop
movsd xmm0, qword [rbp + 0x100]
subsd xmm0, qword [rbp + 0x160]
call fcn.1400d86aa
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x184], xmm0
movss xmm0, dword [rbp + 0x184]
mulss xmm0, dword [0x1402a1e94]
movss dword [rbp + 0x1a4], xmm0
lea rax, [rbp + 0xf20]
lea rcx, [rbp + 0x128]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0xf20]
lea rcx, [0x140324af8]
call fcn.1400d6314
divsd xmm0, qword [0x1402d8010]
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x1c4], xmm0
movzx eax, byte [0x140324a34]
test eax, eax
je 0x140258ae6
mov eax, dword [rbp + 0x64]
cmp dword [rbp + 0x44], eax
je 0x140258ae6
cvtsi2ss xmm0, dword [0x14031bb50]
comiss xmm0, dword [rbp + 0x1c4]
jb 0x140258ae6
mov rcx, qword [rbp + 0xa8]
call fcn.1400d79da
movzx eax, al
test eax, eax
je 0x140258ae6
mov rax, qword [0x140324a70]
add rax, 0x1898
mov rcx, rax
call fcn.1400d7656
test rax, rax
je 0x140258ae6
mov rdx, qword [0x140324a80]
lea rcx, [rbp + 0x918]
call fcn.1400d503b
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
xor r8d, r8d
lea rdx, str.Shotgun
mov rcx, qword [rbp + 0x1160]
call fcn.1400d58ab
cmp rax, 0xffffffffffffffff
je 0x140258a73
mov dword [rbp + 0x1168], 1
jmp 0x140258a7d
mov dword [rbp + 0x1168], 0
movzx eax, byte [rbp + 0x1168]
mov byte [rbp + 0x8f4], al
lea rcx, [rbp + 0x918]
call fcn.1400d4ce9
movzx eax, byte [rbp + 0x8f4]
test eax, eax
je 0x140258ae6
mov ecx, dword [0x14031bb4c]
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call fcn.1400d4668
nop
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 2
call fcn.1400d4668
nop
movzx eax, byte [0x14031bb54]
test eax, eax
je 0x140259140
movzx eax, byte [0x14031bb55]
test eax, eax
je 0x140258ba2
lea rcx, [rbp + 0x1f0]
call fcn.1400d7bdd
nop
lea rcx, [rbp + 0x208]
call fcn.1400d7bdd
nop
lea rcx, [rbp + 0x220]
call fcn.1400d7bdd
nop
lea rdx, [rbp + 0x1f0]
mov rcx, qword [rbp + 0xa8]
call fcn.1400d778c
nop
mov dword [rsp + 0x20], 0xfa
xor r9d, r9d
xor r8d, r8d
mov edx, 0xfa
lea rcx, [rbp + 0x954]
call fcn.1400d58ce
lea rcx, [rbp + 0xf60]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movss xmm3, dword [0x1402a1e94]
lea r8, [rbp + 0xf60]
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x208]
call fcn.1400d6e09
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400d5a22
nop
movzx eax, byte [0x140324a36]
test eax, eax
je 0x140258ce7
mov dword [rsp + 0x20], 0xfa
mov r9d, 0xfa
mov r8d, 0xfa
mov edx, 0xfa
lea rcx, [rbp + 0x984]
call fcn.1400d58ce
lea rcx, [rbp + 0xa78]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xaa8]
lea rcx, [rbp + 0xa78]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x9b8]
mov qword [rbp + 0x9f8], rax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x9f8]
call fcn.1400d82b3
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
lea rax, [rbp + 0xa18]
lea rcx, [rbp + 0xf8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xa48]
lea rcx, [rbp + 0xa18]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xfc0]
lea rcx, [rbp + 0xaa8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xf90]
lea rcx, [rbp + 0xa48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0xfc0]
mov rdx, qword [rbp + 0x1160]
lea rcx, [rbp + 0xf90]
call fcn.1400d5ef0
nop
call fcn.1400d7aca
addss xmm0, dword [0x1402a1edc]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x100]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0x100], xmm0
movzx eax, byte [0x140324a38]
test eax, eax
je 0x140258e2c
mov dword [rsp + 0x20], 0xfa
mov r9d, 0xfa
mov r8d, 0xfa
mov edx, 0xfa
lea rcx, [rbp + 0xad4]
call fcn.1400d58ce
lea rcx, [rbp + 0xbc8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xbf8]
lea rcx, [rbp + 0xbc8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xb08]
mov qword [rbp + 0xb48], rax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xb48]
call fcn.1400d6814
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
lea rax, [rbp + 0xb68]
lea rcx, [rbp + 0xf8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xb98]
lea rcx, [rbp + 0xb68]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1020]
lea rcx, [rbp + 0xbf8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xff0]
lea rcx, [rbp + 0xb98]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x1020]
mov rdx, qword [rbp + 0x1160]
lea rcx, [rbp + 0xff0]
call fcn.1400d68dc
nop
call fcn.1400d7aca
addss xmm0, dword [0x1402a1edc]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x100]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0x100], xmm0
movzx eax, byte [0x140324a37]
test eax, eax
je 0x140258fbc
mov rdx, qword [rbp + 0x88]
lea rcx, [rbp + 0x258]
call fcn.1400d503b
nop
lea rcx, [rbp + 0x258]
call fcn.1400d4f64
movzx eax, al
test eax, eax
je 0x140258e76
lea rdx, str.Empty
lea rcx, [rbp + 0x258]
call fcn.1400d42c1
nop
mov dword [rsp + 0x20], 0xfa
mov r9d, 0xfa
mov r8d, 0xfa
mov edx, 0xfa
lea rcx, [rbp + 0xc24]
call fcn.1400d58ce
lea rcx, [rbp + 0xd18]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xd48]
lea rcx, [rbp + 0xd18]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xc58]
mov qword [rbp + 0xc98], rax
lea rdx, [rbp + 0x258]
mov rcx, qword [rbp + 0xc98]
call fcn.1400d491a
mov qword [rbp + 0x1158], rax
mov rax, qword [rbp + 0x1158]
mov qword [rbp + 0x1160], rax
lea rax, [rbp + 0xcb8]
lea rcx, [rbp + 0x158]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xce8]
lea rcx, [rbp + 0xcb8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1080]
lea rcx, [rbp + 0xd48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1050]
lea rcx, [rbp + 0xce8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x1080]
mov rdx, qword [rbp + 0x1160]
lea rcx, [rbp + 0x1050]
call fcn.1400d84d4
nop
call fcn.1400d7aca
addss xmm0, dword [0x1402a1edc]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x160]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0x160], xmm0
lea rcx, [rbp + 0x258]
call fcn.1400d4ce9
nop
movzx eax, byte [0x140324a35]
test eax, eax
je 0x140259099
mov dword [rsp + 0x20], 0xfa
mov r9d, 0xfa
mov r8d, 0xfa
mov edx, 0xfa
lea rcx, [rbp + 0xd74]
call fcn.1400d58ce
lea rcx, [rbp + 0xdd8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xda8]
lea rcx, [rbp + 0x158]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x10e0]
lea rcx, [rbp + 0xdd8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x10b0]
lea rcx, [rbp + 0xda8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x10e0]
movss xmm1, dword [rbp + 0x1c4]
lea rcx, [rbp + 0x10b0]
call fcn.1400d5ae5
nop
call fcn.1400d7aca
addss xmm0, dword [0x1402a1edc]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x160]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0x160], xmm0
movzx eax, byte [0x14031bb56]
test eax, eax
je 0x140259140
mov dword [rsp + 0x20], 0xfa
xor r9d, r9d
xor r8d, r8d
mov edx, 0xfa
lea rcx, [rbp + 0xe04]
call fcn.1400d58ce
lea rcx, [rbp + 0xe68]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xe38]
lea rcx, [rbp + 0x158]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1140]
lea rcx, [rbp + 0xe68]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1110]
lea rcx, [rbp + 0xe38]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x1140]
lea rcx, [rbp + 0x1110]
call fcn.1400d4d66
nop
mov eax, dword [0x140324998]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rbp + 0xf8]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0x298], xmm0
mov eax, dword [0x1403249a8]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rbp + 0x100]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0x2b8], xmm0
movsd xmm0, qword [rbp + 0x298]
mulsd xmm0, qword [rbp + 0x298]
movsd xmm1, qword [rbp + 0x2b8]
mulsd xmm1, qword [rbp + 0x2b8]
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call qword [sym.imp.ucrtbased.dll_sqrtf]
movss dword [rbp + 0x2d4], xmm0
movss xmm0, dword [0x14031bb28]
comiss xmm0, dword [rbp + 0x2d4]
jb 0x140259202
movss xmm0, dword [0x140324af4]
comiss xmm0, dword [rbp + 0x2d4]
jbe 0x140259202
movss xmm0, dword [rbp + 0x2d4]
movss dword [0x140324af4], xmm0
mov rax, qword [rbp + 0x88]
mov qword [0x140324ad0], rax
lea rcx, [rbp + 0x158]
call fcn.1400d5045
nop
lea rcx, [rbp + 0x128]
call fcn.1400d79f3
nop
lea rcx, [rbp + 0xf8]
call fcn.1400d5045
nop
lea rcx, [rbp + 0xc8]
call fcn.1400d79f3
nop
jmp 0x14025873d
movzx eax, byte [0x14031bb24]
test eax, eax
je 0x140259264
mov ecx, dword [0x14031bb44]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140259264
mov rcx, qword [0x140324ad0]
call fcn.1400d4ece
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1402e4f10]
call fcn.1400d77cd
mov rcx, qword [rbp + 0x1170]
xor rcx, rbp
call fcn.1400d60b7
lea rsp, [rbp + 0x1180]
pop rdi
pop rsi
pop rbp
ret