Function at 0x140004650
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
cmp byte [rcx], 0
mov r12, r9
mov rdi, r8
mov rsi, rdx
mov r15, rcx
je 0x1400057f9
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r13
xor r13d, r13d
cmp byte [0x140046a77], r13b
mov qword [rax + 0x20], r14
mov r14d, dword [0x140072018]
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [str.bWLPT_rCY]
mov qword [rbp + 0x67], rax
mov eax, 5
lea ecx, [rax + 0x1a]
je 0x140004814
cmp r14d, 2
jl 0x1400047cf
movdqa xmm2, xmmword [0x14006b710]
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
movd xmm5, ecx
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x67]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14006b7c0]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0x67], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x6b]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14006b7c0]
xorps xmm2, xmm0
movd dword [rbp + 0x6b], xmm2
jmp 0x140004814
lea r9, [rbp + 0x67]
mov r8d, r13d
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x1400047e0
mov rbx, 0xffffffffffffffff
lea rax, [rbp + 0x67]
mov r8, rbx
inc r8
cmp byte [rax + r8], r13b
jne 0x140004822
lea rdx, [rbp + 0x67]
mov rcx, rdi
call fcn.14000f390
cmp byte [0x140046a77], r13b
mov rax, qword [str.bWLPT_rCY]
mov qword [rbp + 0x67], rax
je 0x1400049a4
cmp r14d, 2
jl 0x140004967
movdqa xmm2, xmmword [0x14006b710]
mov eax, 0x1f
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ecx, 5
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm5, eax
mov eax, dword [0x14006b7c0]
movd xmm6, ecx
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp + 0x67]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd dword [rbp + 0x67], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp + 0x6b]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x6b], xmm2
jmp 0x1400049a4
lea r9, [rbp + 0x67]
mov r8d, r13d
nop
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x140004970
mov rcx, qword [0x1400728f0]
lea rax, [rbp + 0x67]
movss xmm9, dword [0x14006b678]
lea rdx, [rbp - 0x29]
movss xmm8, dword [0x14006b684]
movaps xmm3, xmm9
mov qword [rsp + 0x30], r13
movss xmm2, dword [rcx + 0x3c08]
mov rcx, qword [rcx + 0x3c00]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
call fcn.140038aa0
movss xmm0, dword [rbp - 0x29]
mov ecx, 2
movss xmm1, dword [rbp - 0x25]
movss xmm10, dword [0x14006b490]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm2, xmm0
unpcklps xmm2, xmm1
movsd qword [r12], xmm2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140004be2
cmp byte [0x140046923], r13b
movsd xmm0, qword [str.g_PPM]
mov eax, dword [0x140046920]
movsd qword [rbp - 0x29], xmm0
mov dword [rsi], 2
mov dword [rbp - 0x21], eax
je 0x140004bc4
mov r8d, r13d
cmp r14d, 2
jl 0x140004b79
movdqa xmm2, xmmword [0x14006b710]
mov eax, 5
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [0x14006b7c0]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.g_PPM]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x29], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp - 0x25]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x25], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x140004b90
lea rax, [rbp - 0x29]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140004bd0
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140004c62
movzx ecx, word [0x140046ac8]
movzx eax, byte [0x140046aca]
movsd xmm0, qword [0x140046ac0]
movsd qword [rbp - 0x29], xmm0
xor byte [rbp - 0x28], 0x36
xor byte [rbp - 0x27], 0x37
xor byte [rbp - 0x26], 0x38
xor byte [rbp - 0x25], 0x39
xor byte [rbp - 0x24], 0x3a
xor byte [rbp - 0x23], 0x3b
xor byte [rbp - 0x22], 0x3c
mov word [rbp - 0x21], cx
xor cl, 0x3d
xor byte [rbp - 0x20], 0x3e
xor al, 0x3f
mov dword [rsi], 1
mov byte [rbp - 0x1f], al
lea rax, [rbp - 0x29]
mov byte [rbp - 0x29], 0x4c
mov byte [rbp - 0x21], cl
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140004c50
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 4
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140004e22
mov eax, dword [str.QWA]
mov r8d, r13d
movsd xmm0, qword [str.x_SU_e]
mov dword [rbp - 0x21], eax
movzx eax, byte [0x1400469ac]
mov byte [rbp - 0x1d], al
mov dword [rsi], 4
movsd qword [rbp - 0x29], xmm0
cmp r14d, 2
jl 0x140004dbe
movdqa xmm2, xmmword [0x14006b710]
mov eax, 5
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [0x14006b7c0]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.x_SU_e]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x29], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp - 0x25]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x25], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x140004dd0
lea rax, [rbp - 0x29]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140004e10
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 5
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140004ff2
cmp byte [0x140046965], r13b
mov ecx, 5
mov eax, dword [0x140046960]
movsd xmm0, qword [str.f_S_]
mov dword [rbp - 0x21], eax
movzx eax, word [0x140046964]
mov word [rbp - 0x1d], ax
mov dword [rsi], ecx
movsd qword [rbp - 0x29], xmm0
je 0x140004fd4
mov r8d, r13d
cmp r14d, 2
jl 0x140004f88
movdqa xmm2, xmmword [0x14006b710]
mov eax, 0x1f
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm5, eax
mov eax, dword [0x14006b7c0]
movd xmm6, ecx
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.f_S_]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x29], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp - 0x25]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x25], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x140004fa0
lea rax, [rbp - 0x29]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140004fe0
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 6
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400051c2
cmp byte [0x140046a3d], r13b
mov eax, dword [0x140046a38]
movsd xmm0, qword [0x140046a30]
mov dword [rbp - 0x21], eax
movzx eax, word [0x140046a3c]
mov word [rbp - 0x1d], ax
mov dword [rsi], 6
movsd qword [rbp - 0x29], xmm0
je 0x1400051a4
mov r8d, r13d
cmp r14d, 2
jl 0x14000515c
movdqa xmm2, xmmword [0x14006b710]
mov eax, 5
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [0x14006b7c0]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140046a30]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x29], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp - 0x25]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x25], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x140005170
lea rax, [rbp - 0x29]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1400051b0
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 9
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400052f2
cmp byte [0x140046a4f], r13b
mov eax, dword [str.aWU8SNZPT_]
mov dword [rbp + 0x67], eax
mov dword [rsi], 9
je 0x1400052d4
cmp r14d, 2
jl 0x14000528d
movdqa xmm3, xmmword [0x14006b710]
mov ecx, 5
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14006b8a0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14006b8a0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ecx
psrad xmm2, xmm0
mov ecx, 0x1f
movdqa xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14006b750]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14006b7c0]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp + 0x67], xmm2
jmp 0x1400052d4
lea r9, [rbp + 0x67]
mov r8d, r13d
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x1400052a0
lea rax, [rbp + 0x67]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1400052e0
lea rdx, [rbp + 0x67]
jmp 0x140005743
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400054a2
cmp byte [0x140069c0f], r13b
mov rax, qword [str.vWGQM_W_ySQL]
mov qword [rbp + 0x67], rax
mov dword [rsi], 0x14
je 0x140005484
cmp r14d, 2
jl 0x14000543c
movdqa xmm2, xmmword [0x14006b710]
mov eax, 5
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [0x14006b7c0]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp + 0x67]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd dword [rbp + 0x67], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp + 0x6b]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x6b], xmm2
jmp 0x140005484
lea r9, [rbp + 0x67]
mov r8d, r13d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x140005450
lea rax, [rbp + 0x67]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140005490
lea rdx, [rbp + 0x67]
jmp 0x140005743
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140005522
movzx ecx, word [0x140046b60]
movzx eax, byte [0x140046b62]
movsd xmm0, qword [str.ySQL]
movsd qword [rbp - 0x29], xmm0
xor byte [rbp - 0x28], 0x36
xor byte [rbp - 0x27], 0x37
xor byte [rbp - 0x26], 0x38
xor byte [rbp - 0x25], 0x39
xor byte [rbp - 0x24], 0x3a
xor byte [rbp - 0x23], 0x3b
xor byte [rbp - 0x22], 0x3c
mov word [rbp - 0x21], cx
xor cl, 0x3d
xor byte [rbp - 0x20], 0x3e
xor al, 0x3f
mov dword [rsi], 0xa0
mov byte [rbp - 0x1f], al
lea rax, [rbp - 0x29]
mov byte [rbp - 0x29], 0x4c
mov byte [rbp - 0x21], cl
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140005510
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400056df
mov eax, dword [0x140069c18]
mov r8d, r13d
movsd xmm0, qword [0x140069c10]
mov dword [rbp - 0x21], eax
movzx eax, byte [0x140069c1c]
mov byte [rbp - 0x1d], al
mov dword [rsi], 0xa2
movsd qword [rbp - 0x29], xmm0
cmp r14d, 2
jl 0x14000567e
movdqa xmm2, xmmword [0x14006b710]
mov eax, 5
movdqa xmm3, xmmword [0x14006b730]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14006b8a0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [0x14006b7c0]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14006b7a0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140069c10]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x29], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14006b750]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14006b7a0]
movd xmm1, dword [rbp - 0x25]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x25], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x140005690
lea rax, [rbp - 0x29]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1400056d0
lea rdx, [rbp - 0x29]
jmp 0x140005743
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400057bf
movzx eax, byte [0x140069b48]
movsd xmm0, qword [0x140069b40]
movsd qword [rbp - 0x29], xmm0
xor byte [rbp - 0x28], 0x36
xor byte [rbp - 0x27], 0x37
xor byte [rbp - 0x26], 0x38
xor byte [rbp - 0x25], 0x39
xor byte [rbp - 0x24], 0x3a
xor byte [rbp - 0x23], 0x3b
xor byte [rbp - 0x22], 0x3c
xor al, 0x3d
mov dword [rsi], 0xa4
mov byte [rbp - 0x21], al
lea rax, [rbp - 0x29]
mov byte [rbp - 0x29], 0x4c
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140005736
lea rdx, [rbp - 0x29]
mov r8, rbx
mov rcx, rdi
call fcn.14000f390
cmp qword [rdi + 0x18], 0x10
jb 0x140005758
mov rdi, qword [rdi]
mov rcx, qword [0x1400728f0]
movss xmm1, dword [rcx + 0x3c08]
test rdi, rdi
jne 0x140005771
xorps xmm0, xmm0
jmp 0x1400057b3
mov rcx, qword [rcx + 0x3c00]
lea rdx, [rbp + 0x67]
mov qword [rsp + 0x30], r13
movaps xmm3, xmm9
mov qword [rsp + 0x28], rdi
movaps xmm2, xmm1
movss dword [rsp + 0x20], xmm8
call fcn.140038aa0
movss xmm0, dword [rbp + 0x67]
movss xmm1, dword [rbp + 0x6b]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
unpcklps xmm0, xmm1
movsd qword [r12], xmm0
mov byte [r15], r13b
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x60]
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
movaps xmm10, xmmword [rsp + 0x50]
add rsp, 0xa0
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret