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

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
cmp byte [0x180096fd0], 0
je 0x1800033db
mov qword [rax + 0x18], rbx
mov ecx, 1
mov rbx, qword [0x1800b6280]
mov qword [rax + 0x20], rdi
mov qword [rax - 0x10], r14
mov qword [rax - 0x18], r15
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
mov ecx, 2
and al, 1
mov byte [rbx + 0x130], al
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
mov r14d, 4
and al, 1
mov ecx, r14d
mov byte [rbx + 0x131], al
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rbx + 0x132], al
call fcn.180001230
mov rax, qword [0x1800b6280]
lea r15d, [r14 + 0x1b]
movups xmm0, xmmword [str.JXSURI]
or dword [rax + 0x1d08], 2
cmp byte [0x180082359], 0
mov dword [rax + 0x1d28], 0x43480000
mov dword [rax + 0x1d2c], 0x437a0000
mov dword [rax + 0x1d10], 1
movzx eax, word [0x180082358]
mov edi, dword [0x1800963f0]
mov word [rbp - 0x19], ax
movups xmmword [rbp - 0x29], xmm0
je 0x180001fc1
xor r8d, r8d
cmp edi, 2
jl 0x180001f85
movdqa xmm0, xmmword [str.8888888888888888]
lea rcx, [rbp - 0x25]
movdqa xmm5, xmmword [0x180087d90]
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm7, xmmword [0x180087dc0]
movdqa xmmword [rbp - 0x39], xmm0
mov edx, dword [rbp - 0x39]
movd xmm6, r14d
movd xmm8, r15d
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180001e80
cmp r8d, 0x12
jge 0x180001fc1
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0x12
jl 0x180001f90
xor edx, edx
lea rcx, [rbp - 0x29]
lea r8d, [rdx + 0x22]
call fcn.180012120
mov rax, qword [0x1800b6280]
mov rcx, qword [rax + 0x1c10]
cmp byte [rcx + 0x93], 0
jne 0x180002000
mov eax, dword [rcx + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180033fc0
mov rax, qword [0x1800b6280]
mov rdx, qword [rax + 0x1c10]
cmp qword [rdx + 0x178], 0
movss xmm8, dword [rdx + 0x220]
jne 0x180002024
cmp qword [rax + 0x2020], 0
je 0x18000202d
movss xmm8, dword [rdx + 0x1f0]
cmp byte [0x180086a87], 0
subss xmm8, dword [rdx + 0xd8]
mov rax, qword [str.nPIN_QM_zVNH_]
mov dword [rbp + 0x73], 0x41700000
mov qword [rbp + 0x67], rax
mulss xmm8, dword [0x180087bdc]
subss xmm8, dword [0x180087c84]
movss dword [rbp + 0x6f], xmm8
je 0x1800021b1
cmp edi, 2
jl 0x180002174
movdqa xmm2, xmmword [0x180087d90]
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
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
movd dword [rbp + 0x67], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp + 0x6b]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x6b], xmm2
jmp 0x1800021b1
lea r9, [rbp + 0x67]
xor r8d, r8d
nop dword [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x180002180
lea rdx, [rbp + 0x6f]
movaps xmmword [rsp + 0x60], xmm9
lea rcx, [rbp + 0x67]
call fcn.180031e00
movss xmm9, dword [0x180087d18]
test al, al
mov eax, dword [str.uPIX_]
xorps xmm0, xmm0
movzx r8d, byte [0x1800823dc]
movaps xmm1, xmm9
movss dword [rbp + 0x6f], xmm8
xorps xmm8, xmm8
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x73], 0x41700000
je 0x180002204
mov dword [0x1800b62e8], 0
call fcn.180015490
xor byte [rbp + 0x68], 0x39
lea rdx, [rbp + 0x6f]
xor byte [rbp + 0x69], 0x3a
lea rcx, [rbp + 0x67]
xor byte [rbp + 0x6a], 0x3b
xor r8b, 0x3c
mov byte [rbp + 0x6b], r8b
mov byte [rbp + 0x67], 0x4d
call fcn.180031e00
test al, al
je 0x18000223f
mov ecx, 1
mov dword [0x1800b62e8], ecx
jmp 0x180002245
mov ecx, dword [0x1800b62e8]
mov rax, qword [0x1800b6280]
mov rax, qword [rax + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x180002274
mov eax, dword [rax + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180033fc0
mov ecx, dword [0x1800b62e8]
test ecx, ecx
je 0x1800025c6
cmp ecx, 1
je 0x180002290
mov dword [0x1800b62e8], 0
jmp 0x18000339a
cmp byte [0x180082343], 0
movsd xmm0, qword [str.kM_OIN]
mov eax, dword [0x180082340]
movsd qword [rbp - 0x39], xmm0
mov dword [rbp - 0x31], eax
je 0x1800023fd
xor ebx, ebx
cmp edi, 2
jl 0x1800023c2
movdqa xmm2, xmmword [0x180087d90]
mov ebx, 8
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.kM_OIN]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, ebx
lea r8, [rbp - 0x39]
add r8, rax
nop dword [rax]
mov eax, 0x51eb851f
lea r8, [r8 + 1]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
inc ebx
sub al, cl
add al, 0x38
xor byte [r8 - 1], al
cmp ebx, 0xc
jl 0x1800023d0
lea rdx, [0x180096fd1]
lea rcx, [rbp - 0x39]
call fcn.180033090
movzx eax, word [0x1800823b8]
xor r8d, r8d
mov word [rbp - 0x19], ax
movzx eax, byte [0x1800823ba]
mov byte [rbp - 0x17], al
movups xmm0, xmmword [str.hXTR_]
movups xmmword [rbp - 0x29], xmm0
cmp edi, 2
jl 0x180002575
movdqa xmm0, xmmword [str.8888888888888888]
lea rcx, [rbp - 0x25]
movdqa xmm5, xmmword [0x180087d90]
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm7, xmmword [0x180087dc0]
movdqa xmmword [rbp - 0x39], xmm0
mov edx, dword [rbp - 0x39]
movd xmm6, r14d
movd xmm8, r15d
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180002470
cmp r8d, 0x13
jge 0x1800025b1
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0x13
jl 0x180002580
lea rdx, [0x1800b62d0]
lea rcx, [rbp - 0x29]
call fcn.180033090
jmp 0x18000339a
mov eax, dword [0x180086ac0]
xor r8d, r8d
movsd xmm0, qword [str.kR_WYIQQ_]
mov dword [rbp - 0x31], eax
movzx eax, byte [0x180086ac4]
movsd qword [rbp - 0x39], xmm0
lea ebx, [r8 + 8]
mov byte [rbp - 0x2d], al
cmp edi, 2
jl 0x1800026f8
movdqa xmm2, xmmword [0x180087d90]
mov r8d, ebx
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.kR_WYIQQ_]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x180002710
lea rdx, [0x180096fd4]
lea rcx, [rbp - 0x39]
call fcn.180033090
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.180015490
cmp byte [0x180086aaf], 0
mov r8, qword [str.W_VUXM_zvn_]
mov qword [rbp + 0x67], r8
je 0x1800028c0
cmp edi, 2
jl 0x18000287d
movdqa xmm2, xmmword [0x180087d90]
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
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
movd dword [rbp + 0x67], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp + 0x6b]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x6b], xmm2
jmp 0x1800028c0
lea r9, [rbp + 0x67]
xor r8d, r8d
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, ebx
jl 0x180002890
mov r8d, 0x40000a0
lea rdx, [0x1800b4528]
lea rcx, [rbp + 0x67]
call fcn.18003af10
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.180015490
cmp byte [0x1800823a1], 0
movups xmm0, xmmword [str.qWLROTS_a_a______I]
movzx eax, word [0x1800823a0]
mov word [rbp - 0x19], ax
movups xmmword [rbp - 0x29], xmm0
je 0x180002aa1
xor r8d, r8d
cmp edi, 2
jl 0x180002a5a
movdqa xmm0, xmmword [str.8888888888888888]
lea rcx, [rbp - 0x25]
movdqa xmm5, xmmword [0x180087d90]
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm7, xmmword [0x180087dc0]
movdqa xmmword [rbp - 0x39], xmm0
mov edx, dword [rbp - 0x39]
movaps xmmword [rsp + 0x50], xmm10
movd xmm6, r14d
movd xmm10, r15d
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, ebx
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm10
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm10
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180002950
movaps xmm10, xmmword [rsp + 0x50]
cmp r8d, 0x12
jge 0x180002aa1
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0x12
jl 0x180002a70
mov r8d, 0x40000a0
lea rdx, [0x1800b4548]
lea rcx, [rbp - 0x29]
call fcn.18003af10
mov rax, qword [0x1800b6280]
mov rax, qword [rax + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x180002ae0
mov eax, dword [rax + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180033fc0
cmp byte [0x18008237b], 0
movsd xmm0, qword [0x180082370]
mov eax, dword [0x180082378]
movsd qword [rbp - 0x39], xmm0
mov dword [rbp - 0x31], eax
je 0x180002c51
xor r8d, r8d
cmp edi, 2
jl 0x180002c11
movdqa xmm2, xmmword [0x180087d90]
mov r8d, ebx
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x180082370]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop dword [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x180002c20
lea rdx, [0x180096fd5]
lea rcx, [rbp - 0x39]
call fcn.180033090
mov eax, dword [str.l_V_]
movaps xmm1, xmm9
movzx r8d, byte [0x1800823d4]
movaps xmm0, xmm8
mov dword [rbp + 0x67], eax
call fcn.180015490
xor byte [rbp + 0x68], 0x39
lea rdx, [0x1800b4498]
xor byte [rbp + 0x69], 0x3a
lea rcx, [rbp + 0x67]
xor byte [rbp + 0x6a], 0x3b
xor r8b, 0x3c
mov byte [rbp + 0x6b], r8b
mov r8d, 0x40000a0
mov byte [rbp + 0x67], 0x54
call fcn.18003af10
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.180015490
mov eax, dword [0x180082318]
xor r8d, r8d
movsd xmm4, qword [0x180082310]
mov dword [rbp - 0x31], eax
movzx eax, word [0x18008231c]
mov word [rbp - 0x2d], ax
movzx eax, byte [0x18008231e]
mov byte [rbp - 0x2b], al
movsd qword [rbp - 0x39], xmm4
cmp edi, 2
jl 0x180002df3
movdqa xmm2, xmmword [0x180087d90]
mov r8d, ebx
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x180082310]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop dword [rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xf
jl 0x180002e00
mov r8d, 0x40000a0
lea rdx, [0x1800b44b8]
lea rcx, [rbp - 0x39]
call fcn.18003af10
cmp byte [0x180086a7b], 0
movsd xmm0, qword [str.W_YPX]
mov eax, dword [0x180086a78]
movsd qword [rbp - 0x39], xmm0
mov dword [rbp - 0x31], eax
je 0x180002fc1
xor r8d, r8d
cmp edi, 2
jl 0x180002f78
movdqa xmm2, xmmword [0x180087d90]
mov r8d, ebx
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.W_YPX]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x180002f90
lea rdx, [0x180096fd3]
lea rcx, [rbp - 0x39]
call fcn.180033090
mov eax, dword [0x180086a88]
movaps xmm1, xmm9
movzx r8d, byte [0x180086a8c]
movaps xmm0, xmm8
mov dword [rbp + 0x67], eax
call fcn.180015490
xor byte [rbp + 0x68], 0x39
lea rdx, [0x1800b44a8]
xor byte [rbp + 0x69], 0x3a
lea rcx, [rbp + 0x67]
xor byte [rbp + 0x6a], 0x3b
xor r8b, 0x3c
mov byte [rbp + 0x6b], r8b
mov r8d, 0x40000a0
mov byte [rbp + 0x67], 0x42
call fcn.18003af10
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.180015490
mov eax, dword [0x1800823c8]
xor r8d, r8d
movsd xmm4, qword [str.qWLROTS_a]
mov dword [rbp - 0x31], eax
movzx eax, word [0x1800823cc]
mov word [rbp - 0x2d], ax
movzx eax, byte [0x1800823ce]
mov byte [rbp - 0x2b], al
movsd qword [rbp - 0x39], xmm4
cmp edi, 2
jl 0x180003163
movdqa xmm2, xmmword [0x180087d90]
mov r8d, ebx
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.qWLROTS_a]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop dword [rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xf
jl 0x180003170
mov r8d, 0x40000a0
lea rdx, [0x1800b4508]
lea rcx, [rbp - 0x39]
call fcn.18003af10
mov rax, qword [0x1800b6280]
mov rax, qword [rax + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x1800031e0
mov eax, dword [rax + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180033fc0
cmp byte [0x180082335], 0
mov eax, dword [0x180082330]
movsd xmm0, qword [0x180082328]
mov dword [rbp - 0x31], eax
movzx eax, word [0x180082334]
mov word [rbp - 0x2d], ax
movsd qword [rbp - 0x39], xmm0
je 0x180003361
xor r8d, r8d
cmp edi, 2
jl 0x18000331c
movdqa xmm2, xmmword [0x180087d90]
mov r8d, ebx
movdqa xmm4, xmmword [0x180087e80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180087db0]
movdqa xmm0, xmm2
mov eax, dword [str.8888888888888888]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, r14d
movd xmm5, r15d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x180082328]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x39], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180087dc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
movd xmm1, dword [rbp - 0x35]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x35], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop word [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x180003330
lea rdx, [0x180096fd2]
lea rcx, [rbp - 0x39]
call fcn.180033090
mov rax, qword [0x1800b6280]
mov rax, qword [rax + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x18000339a
mov eax, dword [rax + 0x184]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180033fc0
call fcn.180014580
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov r15, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18000340e
cmp dword [0x1800b62ec], 0
jne 0x18000340e
cmp byte [0x180096fd0], 0
mov dword [0x1800b62ec], 1
sete byte [0x180096fd0]
jmp 0x180003428
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180003428
mov dword [0x1800b62ec], 0
mov ecx, 0x78
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18000343f
mov byte [0x1800b62d0], 1
add rsp, 0xb0
pop rbp
ret