Function at 0x1400457d0
Capabilities:
Encode data using xor
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x3a8]
sub rsp, 0x498
mov rax, qword [0x140063040]
xor rax, rsp
mov qword [rbp + 0x2d0], rax
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x58]
mov qword [r11 + 0x10], rdi
add rcx, 0xff3a20
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x98], xmm12
movaps xmmword [r11 - 0xa8], xmm13
movaps xmmword [r11 - 0xc8], xmm15
call fcn.140047ae0
cmp dword [rbp - 0x58], 0
movsd xmm12, qword [0x14005a4a0]
movsd xmm13, qword [0x14005a498]
movsd xmm15, qword [0x14005a478]
movss xmm6, dword [0x14005a4c4]
je 0x140046cb1
movdqa xmm10, xmmword [0x14005a620]
movss xmm7, dword [0x14005a560]
mov qword [rsp + 0x4c0], r12
lea r12, [0x1401486f0]
mov qword [rsp + 0x490], r13
mov r13d, 0x64
mov qword [rsp + 0x488], r14
xor r14d, r14d
mov qword [rsp + 0x480], r15
mov r15d, r14d
mov qword [rsp + 0x4b0], rsi
movaps xmmword [rsp + 0x420], xmm11
movaps xmmword [rsp + 0x3f0], xmm14
mov dword [rbp - 0x7c], r14d
nop
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x64]
add rcx, qword [0x1400593a8]
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x38]
add rcx, qword [0x1400593b8]
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x34]
add rcx, qword [0x1400593b0]
call fcn.140047ae0
mov ecx, dword [rbp - 0x64]
lea rdx, [rbp - 0x30]
sub ecx, dword [rbp - 0x38]
mov dword [rbp - 0x64], ecx
add ecx, dword [rbp - 0x34]
add rcx, 0x1ae8
call fcn.140047ae0
mov eax, dword [rbp - 0x30]
and eax, 0x80000001
jge 0x140045942
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
mov ecx, r14d
mov eax, r15d
setne cl
and eax, 1
cmp eax, ecx
je 0x140046c5e
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x2c]
add rcx, 0xfea180
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x28]
add rcx, 0xfea160
call fcn.140047ae0
cmp r15d, 0x11
jbe 0x140045995
mov dword [rbp - 0x60], r14d
jmp 0x140046c5e
mov eax, dword [rbp - 0x28]
add eax, dword [rbp - 0x2c]
add rax, 0x7f4
mov edx, r15d
lea rcx, [rax + rdx*4]
lea rdx, [rbp - 0x60]
call fcn.140047ae0
mov ecx, dword [rbp - 0x60]
test ecx, ecx
je 0x140046c5e
lea eax, [rcx + 0x20]
movsxd rbx, eax
lea rdx, [rbp - 0x20]
lea eax, [rcx + 0x1c]
movsxd rcx, eax
call fcn.140047ae0
lea rdx, [rbp - 0x24]
mov rcx, rbx
call fcn.140047ae0
mov ebx, dword [rbp - 0x24]
xor ebx, dword [rbp - 0x20]
je 0x140046c5e
mov edi, ebx
lea rcx, [rbx + 0xdd8]
lea rdx, [rbp - 0x1c]
mov qword [rbp - 0x40], rdi
call fcn.140047ae0
mov eax, dword [rbp - 0x1c]
test eax, eax
je 0x140046c5e
cmp byte [0x14014925d], 0
lea rdx, [rax + 0x34]
mov qword [rbp + 0x18], r14
jne 0x140045ab6
mov rax, qword [0x1401492f0]
mov rcx, qword [rax]
cmp qword [rcx + 0x80], 0
je 0x140045ad6
mov rax, qword [0x140149300]
xor r9d, r9d
mov qword [rbp + 0xe0], rax
xor r8d, r8d
mov dword [rsp + 0x48], r14d
lea rax, [rbp - 0x5c]
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0x18]
mov qword [rbp + 0x100], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 0x28
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0xe8], rdx
xor edx, edx
mov qword [rbp + 0xf8], 4
mov rcx, qword [rcx + 0x80]
mov dword [rsp + 0x28], 0x999920e3
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
jmp 0x140045ad6
mov rcx, qword [0x140149300]
lea rax, [rbp + 0x18]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x5c]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cvttss2si esi, dword [rbp - 0x5c]
test esi, esi
je 0x140046c5e
cmp byte [0x1401492d4], 0
jne 0x140045af9
cmp byte [0x1401492b1], 0
je 0x140045c47
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x80]
add rcx, 0xfe9ce0
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x18]
add rcx, 0xfe9cd0
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x14]
add rcx, 0xfe9ccc
call fcn.140047ae0
mov ecx, dword [rbp - 0x80]
lea eax, [r15*4]
sub ecx, dword [rbp - 0x18]
mov edx, dword [rbp - 0x14]
add edx, ecx
mov dword [rbp - 0x80], ecx
add rdx, 0x1aec
movsxd rcx, eax
add rcx, rdx
lea rdx, [rbp - 0x10]
call fcn.140047ae0
mov edx, dword [rbp - 0x10]
add edx, 8
mov qword [rbp + 0x168], r14
cmp byte [0x14014925d], 0
jne 0x140045c21
mov rax, qword [0x1401492f0]
mov rcx, qword [rax]
cmp qword [rcx + 0x80], 0
je 0x140045c47
mov rax, qword [0x140149300]
xor r9d, r9d
mov qword [rbp + 0x108], rax
xor r8d, r8d
mov dword [rsp + 0x48], r14d
lea rax, [rbp + 0x210]
mov qword [rbp + 0x118], rax
lea rax, [rbp + 0x168]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x108]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 0x28
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x140]
mov qword [rbp + 0x110], rdx
xor edx, edx
mov qword [rbp + 0x120], 0x40
mov rcx, qword [rcx + 0x80]
mov dword [rsp + 0x28], 0x999920e3
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
jmp 0x140045c47
mov rcx, qword [0x140149300]
lea rax, [rbp + 0x168]
mov r9d, 0x40
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x210]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rcx, [rbx + 0x644]
lea rdx, [rsp + 0x78]
call fcn.140047ae0
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x140045c9b
lea rcx, [rax + 0x38]
lea rdx, [rsp + 0x78]
call fcn.140047ae0
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x140045c9b
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x78]
call fcn.140047ae0
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x140045c9b
lea ecx, [rax + 0xe8]
lea rdx, [rbp + 0x20]
call fcn.140047ce0
lea rcx, [rbx + 0x47c]
lea rdx, [rbp - 0x54]
call fcn.140047ae0
mov eax, dword [rbp - 0x54]
test eax, eax
je 0x140045cd2
lea rcx, [rax + 0x50]
lea rdx, [rbp - 0x68]
call fcn.140047ae0
mov eax, dword [rbp - 0x68]
test eax, eax
je 0x140045cd2
lea ecx, [rax + 0x40]
lea rdx, [rbp - 0x50]
call fcn.140047ce0
mov rcx, qword [0x1401492f8]
lea rdx, [rsp + 0x68]
add rcx, 0xff3a20
call fcn.140047ae0
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140045d46
lea rcx, [rax + 0x5c4]
lea rdx, [rsp + 0x68]
call fcn.140047ae0
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140045d46
lea rcx, [rax + 0x38]
lea rdx, [rsp + 0x68]
call fcn.140047ae0
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140045d46
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x68]
call fcn.140047ae0
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140045d46
lea ecx, [rax + 0xe8]
lea rdx, [rbp + 0x40]
call fcn.140047ce0
movss xmm0, dword [rbp + 0x20]
lea rdx, [rbp + 0x50]
movss xmm1, dword [rbp + 0x24]
lea rcx, [rbp + 0x30]
addss xmm1, dword [0x14005a3f0]
mov r9d, dword [0x1401492d0]
cmp esi, 0x64
mov r8d, dword [0x14014930c]
mov r14d, esi
movss dword [rbp + 0x30], xmm0
cmovge r14d, r13d
movss xmm0, dword [rbp + 0x28]
movss dword [rbp + 0x34], xmm1
movss dword [rbp + 0x38], xmm0
call fcn.14003f290
test al, al
je 0x140046c5b
movsd xmm0, qword [rbp - 0x50]
lea rdx, [rbp + 0xa0]
mov eax, dword [rbp - 0x48]
lea rcx, [rbp + 0x90]
mov r9d, dword [0x1401492d0]
mov r8d, dword [0x14014930c]
movsd qword [rbp + 0x90], xmm0
mov dword [rbp + 0x98], eax
call fcn.14003f290
test al, al
je 0x140046c5b
cmp byte [0x14014925f], 0
je 0x140045def
lea rdx, [0x1401487d0]
mov ecx, ebx
call fcn.14003f5e0
cmp byte [0x1401492c6], 0
xorps xmm11, xmm11
movss xmm9, dword [rbp + 0x54]
movss xmm14, dword [rbp + 0x50]
movss xmm6, dword [rbp + 0xa4]
je 0x140045edd
movaps xmm0, xmm9
subss xmm0, xmm6
comiss xmm11, xmm0
jbe 0x140045e26
mulss xmm0, xmm7
mov ecx, dword [0x140148650]
xorps xmm1, xmm1
cvttss2si r9d, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mov ecx, dword [0x140148654]
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm1, rcx
mov ecx, dword [0x140148658]
mov r8d, eax
mov eax, dword [0x14014865c]
divsd xmm0, xmm12
divsd xmm1, xmm13
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x60], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
lea rcx, [rbp + 0x60]
movss dword [rbp + 0x64], xmm0
divsd xmm1, xmm15
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movss dword [rbp + 0x68], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x6c], xmm0
call fcn.140002db0
mov dword [rbp + 0x168], eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
cvttss2si ecx, xmm14
cvttss2si r10d, xmm9
sub ecx, eax
lea rax, [rbp + 0x168]
mov qword [rsp + 0x20], rax
mov edx, r10d
call fcn.14003e340
cmp byte [0x1401492d6], 0
je 0x140045f11
mov eax, dword [0x14014930c]
cvttss2si r8d, dword [rbp + 0xa0]
cdq
mov qword [rsp + 0x20], r12
sub eax, edx
mov edx, dword [0x1401492d0]
sar eax, 1
mov ecx, eax
cvttss2si r9d, xmm6
call fcn.14003e240
movaps xmm0, xmm9
subss xmm0, xmm6
comiss xmm11, xmm0
jbe 0x140045f23
mulss xmm0, xmm7
cvttss2si eax, xmm0
cvttss2si ebx, xmm14
test eax, eax
jns 0x140045f32
inc eax
sar eax, 1
cmp byte [0x14014925a], 0
cvttss2si r13d, xmm9
lea r12d, [rax + rbx]
je 0x140046029
xor ecx, ecx
movaps xmm0, xmm9
test r14w, r14w
subss xmm0, xmm6
cmovne cx, r14w
comiss xmm11, xmm0
jbe 0x140045f67
mulss xmm0, xmm7
cvttss2si r9d, xmm0
subss xmm6, xmm9
mov eax, r9d
cdq
and edx, 3
add eax, edx
sar eax, 2
sub ebx, eax
movzx eax, cx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
divss xmm0, dword [0x14005a4f8]
cvttss2si rdi, xmm0
cmp cx, 0x64
ja 0x140045fbe
cmp cx, 0x4b
ja 0x140045fbe
cmp cx, 0x28
jbe 0x140045fb5
movups xmm0, xmmword [0x140148700]
jmp 0x140045fc5
movups xmm0, xmmword [0x140148610]
jmp 0x140045fc5
movups xmm0, xmmword [0x140148650]
lea rax, [0x1401487b0]
add r9d, 2
lea edx, [r13 - 1]
mov qword [rsp + 0x20], rax
lea ecx, [rbx - 6]
mov r8d, 5
movups xmmword [rbp + 0x168], xmm0
call fcn.14003eab0
mov eax, edi
lea ecx, [rbx - 5]
xorps xmm0, xmm0
movd xmm1, r13d
cvtdq2ps xmm1, xmm1
mov r9d, edi
mov r8d, 3
cvtsi2ss xmm0, rax
lea rax, [rbp + 0x168]
mov qword [rsp + 0x20], rax
subss xmm6, xmm0
addss xmm6, xmm1
cvttss2si edx, xmm6
call fcn.14003eab0
cmp byte [0x1401492d4], 0
mov ebx, esi
movss xmm15, dword [rbp - 0x48]
movss xmm6, dword [rbp - 0x4c]
movss xmm7, dword [rbp - 0x50]
movss xmm12, dword [rbp + 0x48]
movss xmm8, dword [rbp + 0x44]
movss xmm13, dword [rbp + 0x40]
je 0x1400465a1
movaps xmm11, xmm14
mov dword [rbp + 0x70], 9
subss xmm11, dword [0x14005a4f4]
movaps xmm10, xmm9
mov dword [rbp + 0x74], 9
subss xmm10, dword [0x14005a4ec]
lea rax, [rbp + 0x70]
mov dword [rbp + 0x78], 9
mov r9d, 0x1a
mov dword [rbp + 0x7c], 0xff
cvttss2si edi, xmm11
mov r8d, 0x9b
mov dword [rbp + 0x80], 0x1c
mov dword [rbp + 0x84], 0x36
mov dword [rbp + 0x88], 0x3a
mov dword [rbp + 0x8c], 0xff
mov qword [rsp + 0x20], rax
cvttss2si ebx, xmm10
mov ecx, edi
mov edx, ebx
call fcn.14003eab0
lea rax, [rbp + 0x80]
mov r9d, 0x19
mov r8d, 0x1e
mov qword [rsp + 0x20], rax
mov edx, ebx
mov ecx, edi
call fcn.14003eab0
movaps xmm0, xmm12
movaps xmm1, xmm13
subss xmm0, xmm15
movaps xmm2, xmm8
subss xmm2, xmm6
subss xmm1, xmm7
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14004613f
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140046147
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, dword [0x140059950]
lea rdx, [rbp + 0x160]
mov dword [rbp + 0x160], eax
lea rcx, [rbp + 0x188]
movzx eax, byte [0x140059954]
xorps xmm2, xmm2
xor byte [rbp + 0x161], 0x39
xor al, 0x3c
xor byte [rbp + 0x162], 0x3a
xor byte [rbp + 0x163], 0x3b
cvtss2sd xmm2, xmm0
mov byte [rbp + 0x160], 0x25
mov byte [rbp + 0x164], al
movq r8, xmm2
call fcn.140039750
movss xmm6, dword [0x14005a4d0]
lea rax, [rbp + 0x188]
movaps xmm0, xmm10
mov qword [rsp + 0x30], rax
addss xmm0, dword [0x14005a4ac]
movaps xmm1, xmm11
mov byte [rsp + 0x28], 0
addss xmm1, dword [0x14005a4c4]
lea r9, [rbp + 8]
mov dword [rbp + 8], 0
mov dword [rbp + 0xc], 0xcb
cvttss2si r15d, xmm0
mov dword [rbp + 0x10], 0xff
mov dword [rbp + 0x14], 0xff
mov byte [rsp + 0x20], 0
movaps xmm0, xmm6
cvttss2si edx, xmm1
mov r8d, r15d
movd ecx, xmm0
call fcn.14003d110
mov eax, dword [0x140059dc4]
lea rdx, [rbp + 0x158]
mov dword [rbp + 0x158], eax
lea rcx, [rbp + 0x1a8]
movzx eax, word [0x140059dc8]
mov r8d, esi
xor byte [rbp + 0x159], 0x39
xor byte [rbp + 0x15a], 0x3a
xor byte [rbp + 0x15b], 0x3b
mov word [rbp + 0x15c], ax
xor al, 0x3c
xor byte [rbp + 0x15d], 0x3d
mov byte [rbp + 0x15c], al
mov byte [rbp + 0x158], 0x25
call fcn.140047de0
movaps xmm0, xmm10
lea rax, [rbp + 0x1a8]
subss xmm0, dword [0x14005a4ac]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 8]
movaps xmm1, xmm11
mov byte [rsp + 0x28], 0
addss xmm1, dword [0x14005a508]
mov byte [rsp + 0x20], 0
cvttss2si r8d, xmm0
movaps xmm0, xmm6
cvttss2si edx, xmm1
movd ecx, xmm0
call fcn.14003d110
cmp word [0x140059ae6], 0
mov ebx, esi
mov rax, qword [0x140059ae0]
mov qword [rbp + 0x168], rax
je 0x140046395
cmp dword [0x140063010], 2
jl 0x140046351
movdqa xmm3, xmmword [0x14005a620]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14005a9a0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14005a9a0]
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm3
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14005a640]
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x168]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14005a660]
xorps xmm2, xmm0
movq qword [rbp + 0x168], xmm2
jmp 0x140046395
lea r9, [rbp + 0x168]
xor r8d, r8d
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x38
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x140046360
lea r9, [rbp + 0x210]
mov edx, 0x20
lea r8, [rbp + 0x168]
lea rcx, [rbp + 0x250]
call fcn.140039690
movaps xmm0, xmm11
mov dword [rbp - 0x78], 0xc9
addss xmm0, dword [0x14005a4e8]
lea rax, [rbp + 0x250]
mov dword [rbp - 0x74], 0x10
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x78]
mov byte [rsp + 0x28], 0
mov r8d, r15d
mov dword [rbp - 0x70], 0x10
cvttss2si edx, xmm0
mov dword [rbp - 0x6c], 0xff
mov byte [rsp + 0x20], 0
movaps xmm0, xmm6
movd ecx, xmm0
call fcn.14003d980
movss xmm2, dword [0x14005a42c]
lea rcx, [rbp + 0x168]
movdqa xmm0, xmmword [0x14005a810]
movaps xmm7, xmm11
addss xmm10, dword [0x14005a4e4]
addss xmm7, dword [0x14005a50c]
movups xmmword [rbp + 0x168], xmm0
movaps xmm1, xmm11
movaps xmm6, xmm10
addss xmm1, xmm2
addss xmm6, dword [0x14005a4b8]
movaps xmm0, xmm7
subss xmm0, xmm2
movss dword [rbp - 4], xmm1
movss dword [rbp - 0xc], xmm0
movaps xmm0, xmm6
subss xmm0, xmm2
movss dword [rbp - 8], xmm0
movaps xmm0, xmm10
addss xmm0, xmm2
movss dword [rbp], xmm0
call fcn.140002db0
movss xmm0, dword [0x14005a42c]
lea r8, [rbp - 0xc]
mov rcx, qword [0x140149260]
lea rdx, [rbp - 4]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0xf
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm0
call fcn.14001e7c0
movdqa xmm0, xmmword [0x14005a810]
lea rcx, [rbp + 0x168]
movups xmmword [rbp + 0x168], xmm0
movss dword [rsp + 0x70], xmm7
movss dword [rsp + 0x74], xmm6
movss dword [rsp + 0x60], xmm11
movss dword [rsp + 0x64], xmm10
call fcn.140002db0
movss xmm0, dword [0x14005a42c]
lea r8, [rsp + 0x70]
mov rcx, qword [0x140149260]
lea rdx, [rsp + 0x60]
movss dword [rsp + 0x30], xmm0
xorps xmm11, xmm11
mov dword [rsp + 0x28], 0xf
mov r9d, eax
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm11
call fcn.14001e7c0
cmp r14d, 0x32
lea rax, [0x140148650]
lea rdx, [0x140148630]
cmovge rdx, rax
lea r9, [0x140148610]
cmp r14d, 0x14
mov eax, r14d
cmovge r9, rdx
cdq
mov qword [rsp + 0x20], r9
sub eax, edx
mov r9d, 6
sar eax, 1
mov ecx, edi
cvttss2si edx, xmm10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x14005a470]
cvttss2si r8d, xmm0
call fcn.14003eab0
movss xmm6, dword [rbp - 0x4c]
movss xmm7, dword [rbp - 0x50]
movdqa xmm10, xmmword [0x14005a620]
mov r15d, dword [rbp - 0x7c]
cmp byte [0x1401492b1], 0
je 0x140046703
cmp word [0x140059ae6], 0
mov rax, qword [0x140059ae0]
mov qword [rbp + 0x168], rax
je 0x140046695
cmp dword [0x140063010], 2
jl 0x14004664d
movdqa xmm2, xmm10
movdqa xmm0, xmm10
punpckldq xmm2, xmm10
pmuldq xmm2, xmmword [0x14005a9a0]
punpckhdq xmm0, xmm10
pmuldq xmm0, xmmword [0x14005a9a0]
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14005a640]
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x168]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14005a660]
xorps xmm2, xmm0
movq qword [rbp + 0x168], xmm2
jmp 0x140046695
lea r9, [rbp + 0x168]
xor r8d, r8d
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x38
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x140046660
lea r9, [rbp + 0x210]
mov edx, 0x20
lea r8, [rbp + 0x168]
lea rcx, [rbp + 0x290]
call fcn.140039690
movaps xmm0, xmm9
lea rax, [rbp + 0x290]
subss xmm0, dword [0x14005a4d8]
mov qword [rsp + 0x30], rax
lea r9, [0x140148610]
movaps xmm1, xmm14
mov byte [rsp + 0x28], 0
subss xmm1, dword [0x14005a4e4]
mov byte [rsp + 0x20], 0
cvttss2si r8d, xmm0
movss xmm0, dword [0x14005a4d0]
cvttss2si edx, xmm1
movd ecx, xmm0
call fcn.14003d980
cmp byte [0x1401492c2], 0
je 0x14004679f
mov eax, dword [0x140059ee4]
lea rdx, [rbp + 0x150]
mov dword [rbp + 0x150], eax
lea rcx, [rbp + 0x1c8]
movzx eax, word [0x140059ee8]
mov r8d, ebx
xor byte [rbp + 0x151], 0x39
xor byte [rbp + 0x152], 0x3a
xor byte [rbp + 0x153], 0x3b
mov word [rbp + 0x154], ax
xor al, 0x3c
xor byte [rbp + 0x155], 0x3d
mov byte [rbp + 0x154], al
mov byte [rbp + 0x150], 0x25
call fcn.140047de0
movss xmm0, dword [0x14005a4d0]
lea rax, [rbp + 0x1c8]
mov qword [rsp + 0x30], rax
lea r9, [0x140148610]
movd ecx, xmm0
mov r8d, r13d
mov byte [rsp + 0x28], 0
mov edx, r12d
mov byte [rsp + 0x20], 0
call fcn.14003d110
cmp byte [0x1401492c0], 0
je 0x1400469bc
subss xmm8, xmm6
xorps xmm0, xmm0
subss xmm13, xmm7
subss xmm12, xmm15
mulss xmm8, xmm8
mulss xmm13, xmm13
mulss xmm12, xmm12
addss xmm8, xmm13
addss xmm8, xmm12
ucomiss xmm0, xmm8
ja 0x1400467e7
xorps xmm2, xmm2
sqrtss xmm2, xmm8
jmp 0x1400467f3
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm2, xmm0
cmp byte [0x14005a397], 0
mov rax, qword [0x14005a390]
mov qword [rbp + 0x168], rax
je 0x140046951
cmp dword [0x140063010], 2
jl 0x140046908
movdqa xmm5, xmmword [0x14005a630]
movdqa xmm1, xmm10
movdqa xmm3, xmmword [0x14005a9a0]
movdqa xmm0, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm10
pmulld xmm0, xmmword [0x14005a640]
psubd xmm1, xmm0
movd xmm0, dword [rbp + 0x168]
andps xmm1, xmmword [0x14005a650]
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x14005a670]
xorps xmm1, xmm0
movdqa xmm0, xmm5
movd dword [rbp + 0x168], xmm1
movdqa xmm1, xmm5
punpckldq xmm1, xmm5
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm5
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm5
pmulld xmm0, xmmword [0x14005a640]
psubd xmm1, xmm0
movd xmm0, dword [rbp + 0x16c]
andps xmm1, xmmword [0x14005a650]
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x14005a670]
xorps xmm1, xmm0
movd dword [rbp + 0x16c], xmm1
jmp 0x140046951
lea r9, [rbp + 0x168]
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x140046920
cvtss2sd xmm2, xmm2
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x1e8]
movq r8, xmm2
call fcn.140039750
cmp byte [0x1401492c2], 0
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
je 0x140046986
addss xmm0, dword [0x14005a4d4]
cvttss2si r8d, xmm0
lea rax, [rbp + 0x1e8]
mov edx, r12d
lea r9, [0x140148610]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
movss xmm0, dword [0x14005a4d0]
movd ecx, xmm0
call fcn.14003d110
xor r14d, r14d
cmp byte [0x1401492c7], r14b
je 0x140046c29
cmp byte [0x1400630d8], r14b
jne 0x140046c29
mov eax, dword [0x14014930c]
xorps xmm0, xmm0
movss xmm1, dword [rbp + 0x58]
cdq
sub eax, edx
subss xmm1, xmm11
sar eax, 1
mov r8d, r14d
cvtsi2ss xmm0, eax
mov eax, dword [0x1401492d0]
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm1
subss xmm14, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm14, xmm14
subss xmm9, xmm0
movss xmm0, dword [0x140148b88]
cvtps2pd xmm0, xmm0
mulss xmm9, xmm9
mulsd xmm0, qword [0x14005a480]
addss xmm9, xmm14
addss xmm9, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm9
comisd xmm0, xmm1
jbe 0x140046c29
mov ecx, dword [0x140149384]
test ecx, ecx
je 0x140046a98
sub ecx, 1
je 0x140046a8e
cmp ecx, 1
jne 0x140046a9e
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, 2
mov r8d, 5
test al, 1
cmovne r8d, ebx
jmp 0x140046aa3
mov ebx, 2
mov r8d, ebx
jmp 0x140046aa3
mov r8d, 5
mov ebx, 2
mov rcx, qword [rbp - 0x40]
lea rax, [0x14004f5e0]
mov eax, dword [rax + r8*4]
lea rdx, [rsp + 0x7c]
add rcx, 0x88
add rcx, rax
call fcn.140047ae0
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x140046b0c
lea rcx, [rax + 0x38]
lea rdx, [rsp + 0x7c]
call fcn.140047ae0
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x140046b0c
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x7c]
call fcn.140047ae0
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x140046b0c
lea ecx, [rax + 0xe8]
lea rdx, [rbp + 0xb0]
call fcn.140047ce0
movsd xmm0, qword [rbp + 0xb0]
lea rdx, [rbp + 0xd0]
mov eax, dword [rbp + 0xb8]
lea rcx, [rbp + 0xc0]
mov r9d, dword [0x1401492d0]
mov r8d, dword [0x14014930c]
movsd qword [rbp + 0xc0], xmm0
mov dword [rbp + 0xc8], eax
call fcn.14003f290
test al, al
je 0x140046c29
movss xmm0, dword [0x140148b8c]
addss xmm0, dword [0x14005a46c]
movd xmm1, dword [0x14014930c]
movsxd rcx, dword [0x140149380]
movss xmm6, dword [rbp + 0xd0]
movss xmm7, dword [rbp + 0xd4]
cvtps2pd xmm2, xmm0
mov dword [rbp + 0x168], 1
mov dword [rbp + 0x16c], ebx
mov dword [rbp + 0x170], 0xa0
mov dword [rbp + 0x174], 0x14
mov dword [rbp + 0x178], 9
movd xmm0, dword [0x1401492d0]
cvtps2pd xmm6, xmm6
mov dword [rbp + 0x17c], 0x12
mov dword [rbp + 0x180], 0x11
mov ecx, dword [rbp + rcx*4 + 0x168]
cvtps2pd xmm7, xmm7
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [0x14005a440]
mulsd xmm1, qword [0x14005a440]
subsd xmm7, xmm0
subsd xmm6, xmm1
divsd xmm7, xmm2
divsd xmm6, xmm2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140046c29
cvttsd2si r8d, xmm7
xor r9d, r9d
mov ecx, 1
mov qword [rsp + 0x20], r14
cvttsd2si edx, xmm6
call qword [sym.imp.USER32.dll_mouse_event]
movsd xmm12, qword [0x14005a4a0]
lea r12, [0x1401486f0]
movss xmm7, dword [0x14005a560]
mov r13d, 0x64
movsd xmm13, qword [0x14005a498]
movsd xmm15, qword [0x14005a478]
jmp 0x140046c5e
xor r14d, r14d
inc r15d
mov dword [rbp - 0x7c], r15d
cmp r15d, 0xf
jle 0x1400458d0
movaps xmm14, xmmword [rsp + 0x3f0]
movaps xmm11, xmmword [rsp + 0x420]
mov r15, qword [rsp + 0x480]
mov r14, qword [rsp + 0x488]
mov r13, qword [rsp + 0x490]
mov r12, qword [rsp + 0x4c0]
mov rsi, qword [rsp + 0x4b0]
movss xmm6, dword [0x14005a4c4]
cmp byte [0x1401492c4], 0
movss xmm10, dword [0x14005a400]
je 0x140046efa
mov rax, qword [0x140149260]
lea rcx, [rbp - 0x78]
xorps xmm1, xmm1
xorps xmm0, xmm0
movss xmm8, dword [rax + 0x10]
lea rdi, [rax + 0x1cc8]
movss xmm9, dword [rax + 0x14]
mov eax, dword [0x1401487d0]
mulss xmm8, xmm10
mulss xmm9, xmm10
cvtsi2sd xmm0, rax
mov eax, dword [0x1401487d4]
cvtsi2sd xmm1, rax
mov eax, dword [0x1401487d8]
divsd xmm0, xmm12
divsd xmm1, xmm13
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x78], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x1401487dc]
movss dword [rbp - 0x74], xmm0
divsd xmm1, xmm15
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movss dword [rbp - 0x70], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x6c], xmm0
call fcn.140002db0
movss xmm1, dword [0x14005a3c4]
xorps xmm0, xmm0
movzx ecx, al
mov r8d, eax
shr r8d, 0x18
movss dword [rsp + 0x74], xmm9
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movss dword [rsp + 0x64], xmm9
mulss xmm0, xmm1
movss dword [rbp - 0x78], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
lea rcx, [rbp - 0x78]
mulss xmm0, xmm1
movss dword [rbp - 0x74], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r8d
mulss xmm0, xmm1
movss dword [rbp - 0x70], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movaps xmm1, xmm8
subss xmm1, xmm6
movss dword [rbp - 0x6c], xmm0
movaps xmm0, xmm8
addss xmm0, xmm6
movss dword [rsp + 0x70], xmm1
movss dword [rsp + 0x60], xmm0
call fcn.140002db0
movss xmm7, dword [0x14005a3ec]
lea rdx, [rsp + 0x70]
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea r8, [rsp + 0x60]
mov rcx, rdi
mov ebx, eax
call fcn.14001e640
movaps xmm0, xmm9
movss dword [rsp + 0x70], xmm8
subss xmm0, xmm6
movss dword [rsp + 0x74], xmm0
movaps xmm1, xmm9
movss dword [rsp + 0x60], xmm8
addss xmm1, xmm6
movss dword [rsp + 0x20], xmm7
mov r9d, ebx
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rcx, rdi
movss dword [rsp + 0x64], xmm1
call fcn.14001e640
movss xmm6, dword [0x14005a454]
lea r8, [rsp + 0x60]
movaps xmm0, xmm8
movss dword [rsp + 0x74], xmm9
subss xmm0, xmm6
movss dword [rsp + 0x64], xmm9
mov r9d, ebx
movss dword [rsp + 0x20], xmm7
lea rdx, [rsp + 0x70]
mov rcx, rdi
movss dword [rsp + 0x70], xmm0
movaps xmm0, xmm8
addss xmm0, xmm6
movss dword [rsp + 0x60], xmm0
call fcn.14001e640
movaps xmm0, xmm9
movss dword [rsp + 0x70], xmm8
subss xmm0, xmm6
movss dword [rsp + 0x60], xmm8
addss xmm9, xmm6
movss dword [rsp + 0x20], xmm7
mov r9d, ebx
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rcx, rdi
movss dword [rsp + 0x74], xmm0
movss dword [rsp + 0x64], xmm9
call fcn.14001e640
cmp byte [0x14014925b], 0
movaps xmm15, xmmword [rsp + 0x3e0]
movaps xmm13, xmmword [rsp + 0x400]
movaps xmm9, xmmword [rsp + 0x440]
movaps xmm8, xmmword [rsp + 0x450]
movaps xmm7, xmmword [rsp + 0x460]
mov rdi, qword [rsp + 0x4b8]
je 0x140047032
mov eax, dword [0x140148610]
lea rcx, [rbp - 0x78]
movss xmm6, dword [0x140148b88]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [0x140148614]
cvtsi2sd xmm1, rax
mov eax, dword [0x140148618]
divsd xmm0, xmm12
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x78], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x14014861c]
movss dword [rbp - 0x74], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x14014930c]
cdq
sub eax, edx
sar eax, 1
movss dword [rbp - 0x70], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm6
movss dword [rbp - 0x6c], xmm0
movd xmm0, eax
mov eax, dword [0x1401492d0]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm10
movss dword [rsp + 0x60], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si r8d, xmm1
movss dword [rsp + 0x64], xmm0
call fcn.140002db0
mov rcx, qword [0x140149260]
lea rdx, [rsp + 0x60]
movss xmm0, dword [0x14005a42c]
mov r9d, eax
cvttss2si eax, xmm6
add rcx, 0x1cc8
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r8d
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.14001ef60
cmp dword [rbp - 0x58], 0
movaps xmm12, xmmword [rsp + 0x410]
movaps xmm10, xmmword [rsp + 0x430]
movaps xmm6, xmmword [rsp + 0x470]
je 0x140047180
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x7c]
add rcx, qword [0x1400593a8]
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp + 0x168]
add rcx, qword [0x1400593b8]
call fcn.140047ae0
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x68]
add rcx, qword [0x1400593b0]
call fcn.140047ae0
mov ecx, dword [rbp - 0x7c]
lea rdx, [rbp - 0x54]
sub ecx, dword [rbp + 0x168]
mov dword [rbp - 0x7c], ecx
add ecx, dword [rbp - 0x68]
add rcx, 0x1ae8
call fcn.140047ae0
cmp byte [0x140149259], 0
je 0x14004711f
mov rcx, qword [0x1401492f8]
lea rdx, [rbp - 0x80]
add rcx, 0xfe9dd0
call fcn.140047ae0
cmp dword [rbp - 0x80], 0
je 0x14004711f
mov ecx, 0x79
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14004711f
mov edx, dword [rbp - 0x80]
lea rax, [rbp - 0x40]
mov rcx, qword [0x140149300]
lea r8, [rsp + 0x50]
add rdx, 0x3c
mov byte [rsp + 0x50], 4
mov r9d, 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x1401492c3], 0
lea rdx, [rsp + 0x58]
mov ebx, dword [rbp + 0x168]
lea rcx, [rbx + 0x60]
je 0x14004714a
call fcn.140047e40
cmp byte [rsp + 0x58], 1
je 0x140047180
mov byte [rsp + 0x50], 1
jmp 0x14004715b
call fcn.140047e40
cmp byte [rsp + 0x58], 0
je 0x140047180
mov byte [rsp + 0x50], 0
mov rcx, qword [0x140149300]
lea rax, [rbp - 0x40]
mov r9d, 1
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
lea rdx, [rbx + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [rbp + 0x2d0]
xor rcx, rsp
call fcn.140048750
add rsp, 0x498
pop rbx
pop rbp
ret