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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x320
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14000c040]
xor rax, rsp
mov qword [rbp + 0x170], rax
xor r13d, r13d
movss xmm9, dword [0x140009ab4]
movss dword [rsp + 0x44], xmm9
movss xmm8, dword [0x140009ab0]
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x48], xmm8
lea rcx, [rbp + 0x130]
call fcn.140002200
movups xmm0, xmmword [rax]
movups xmmword [0x14000cba0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [0x14000cbb0], xmm1
movups xmm6, xmmword [rax + 0x20]
movups xmmword [0x14000cbc0], xmm6
movsd xmm0, qword [rax + 0x30]
movsd qword [0x14000cbd0], xmm0
mov eax, dword [rax + 0x38]
mov dword [0x14000cbd8], eax
movss xmm0, dword [0x1400099b8]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm7, xmm0
shufps xmm6, xmm6, 0xaa
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
mulsd xmm1, qword [0x140009a20]
divsd xmm1, qword [0x140009a40]
mulsd xmm1, qword [0x1400099f8]
cvtpd2ps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
divss xmm7, xmm0
movd xmm1, dword [0x14000c0c8]
cvtdq2ps xmm1, xmm1
mulss xmm7, xmm1
cvttss2si eax, xmm7
mov dword [0x14000c894], eax
mov r15d, r13d
mov rax, qword [0x14000c930]
mov rdx, qword [0x14000c928]
sub rax, rdx
sar rax, 5
test rax, rax
je 0x14000549c
mov r12d, r13d
movss xmm12, dword [0x140009b20]
xorps xmm13, xmm13
movss xmm14, dword [0x140009a80]
movss xmm15, dword [0x140009a70]
movsd xmm9, qword [0x140009a10]
lea rdi, [0x1400098c8]
mov rsi, r12
shl rsi, 5
mov rdx, qword [rsi + rdx]
add rdx, 0xc18
call fcn.140006790
movaps xmm11, xmm0
mov rdx, qword [0x14000c928]
mov rdx, qword [rsi + rdx]
add rdx, 0xbfc
call fcn.140006790
movaps xmm7, xmm0
mov rax, qword [0x14000c928]
mov rcx, qword [rsi + rax + 8]
add rcx, 0x798
mov dword [rbp + 0x2c], 0
lea rax, [rbp + 0x2c]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm6, dword [rbp + 0x2c]
mov rax, qword [0x14000c928]
mov rcx, qword [rsi + rax + 8]
add rcx, 0x7a0
mov dword [rbp + 0x24], 0
lea rax, [rbp + 0x24]
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0xa4], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x88]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm0, dword [rbp + 0x24]
addss xmm0, dword [0x1400099b4]
comiss xmm0, xmm6
setae r14b
mov rax, qword [0x14000c928]
mov rcx, qword [rsi + rax + 0x10]
add rcx, 0x2e0
mov qword [rbp + 0x78], 0
mov dword [rbp + 0x80], 0
lea rax, [rbp + 0x78]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], 0xc
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm1, dword [rbp + 0x80]
subss xmm1, dword [0x14000cbb8]
movss xmm0, dword [rbp + 0x7c]
subss xmm0, dword [0x14000cbb4]
movss xmm2, dword [rbp + 0x78]
subss xmm2, dword [0x14000cbb0]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140004030
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x14000403b
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
divss xmm6, xmm14
mov edx, dword [0x14000c890]
lea rcx, [rbp - 0x70]
call fcn.140006430
nop
mov r8, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
sub rax, r8
cmp rax, 7
jb 0x1400040f7
lea rax, [r8 + 7]
mov qword [rbp - 0x60], rax
lea rbx, [rbp - 0x70]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x70]
lea rax, [0x1400098cf]
cmp rax, rbx
jbe 0x1400040ab
lea rax, [rbx + r8]
cmp rdi, rax
ja 0x1400040ab
cmp rbx, rdi
ja 0x14000409c
mov rdi, r13
jmp 0x1400040b0
mov rdi, rbx
lea rax, [0x1400098c8]
sub rdi, rax
jmp 0x1400040b0
mov edi, 7
lea rcx, [rbx + 7]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [0x1400098c8]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rdi]
mov r8d, 7
sub r8, rdi
lea rdx, [0x1400098c8]
add rdx, 7
add rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x70]
jmp 0x14000410e
mov qword [rsp + 0x28], 7
mov edx, 7
lea rcx, [rbp - 0x70]
call fcn.140007460
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], r13
mov qword [rbp + 0xa0], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x98], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xa0]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140004191
lea rax, [rcx + 1]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x88]
cmp rdx, 0xf
cmova rax, qword [rbp + 0x88]
mov word [rax + rcx], 0x5d
lea rax, [rbp + 0x88]
jmp 0x1400041ab
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp + 0x88]
call fcn.140006d00
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], r13
mov qword [rbp + 0x148], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x130], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x140], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0x130]
cmp qword [rbp + 0x148], 0xf
cmova r8, qword [rbp + 0x130]
mov eax, dword [0x14000c0c8]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov qword [rsp + 0x20], r8
mov r9, qword [0x14000c888]
xor edx, edx
mov r8d, 0xffff0000
call fcn.140003790
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 0xf
jbe 0x140004266
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004261
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000550d
call fcn.140007aac
mov qword [rbp + 0x140], r13
mov qword [rbp + 0x148], 0xf
mov byte [rbp + 0x130], 0
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x1400042c0
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400042bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005514
call fcn.140007aac
mov qword [rbp + 0x98], r13
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140004314
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000430f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000551b
call fcn.140007aac
xor edx, edx
lea rcx, str.SorealWindow
call qword [sym.imp.USER32.dll_FindWindowA]
mov rdi, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
mov dword [rbp + 0x110], 0x18
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x114], xmm0
mov dword [rbp + 0x124], eax
lea rcx, [rbp + 0x110]
call qword [sym.imp.USER32.dll_GetCursorInfo]
cmp rbx, rdi
jne 0x1400043e7
cmp dword [rbp + 0x114], 0
jne 0x140004397
mov edx, 0x1869f
mov ecx, edx
call qword [sym.imp.USER32.dll_SetCursorPos]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindow]
mov rdx, rax
mov rcx, qword [0x14000c7e8]
jmp 0x1400043bc
mov ecx, 9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400043b3
mov edx, 0x1869f
mov ecx, edx
call qword [sym.imp.USER32.dll_SetCursorPos]
xor edx, edx
mov rcx, qword [0x14000c800]
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x14000c7e8]
call qword [sym.imp.USER32.dll_UpdateWindow]
ucomiss xmm11, xmm13
jp 0x1400043fb
jne 0x1400043fb
ucomiss xmm7, xmm13
jp 0x1400043fb
je 0x140005467
mov rdx, qword [0x14000c928]
cmp byte [rsi + rdx + 0x18], 0
jne 0x140005475
movss xmm0, dword [0x140009aac]
comiss xmm0, xmm6
jbe 0x140005475
movups xmm0, xmmword [0x14000cba0]
movaps xmmword [rbp + 0x130], xmm0
movups xmm1, xmmword [0x14000cbb0]
movaps xmmword [rbp + 0x140], xmm1
movups xmm0, xmmword [0x14000cbc0]
movaps xmmword [rbp + 0x150], xmm0
movsd xmm1, qword [0x14000cbd0]
movsd qword [rbp + 0x160], xmm1
mov eax, dword [0x14000cbd8]
mov dword [rbp + 0x168], eax
mov r8d, 0xf
mov rdx, qword [rsi + rdx + 8]
lea rcx, [rbp + 0x18]
call fcn.140002000
movsd xmm0, qword [rax]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x48], eax
lea r8, [rbp + 0x130]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.1400018e0
mov r8d, 6
mov rdx, qword [0x14000c928]
mov rdx, qword [rsi + rdx + 8]
lea rcx, [rbp]
call fcn.140002000
mov r8d, 0xf
mov rdx, qword [0x14000c810]
lea rcx, [rsp + 0x70]
call fcn.140002000
mov r8d, 0xf
mov rdx, qword [0x14000c928]
mov rdx, qword [rsi + rdx + 8]
lea rcx, [rbp - 0x80]
call fcn.140002000
movups xmm0, xmmword [0x14000cba0]
movaps xmmword [rbp + 0x130], xmm0
movups xmm1, xmmword [0x14000cbb0]
movaps xmmword [rbp + 0x140], xmm1
movups xmm0, xmmword [0x14000cbc0]
movaps xmmword [rbp + 0x150], xmm0
movsd xmm1, qword [0x14000cbd0]
movsd qword [rbp + 0x160], xmm1
mov eax, dword [0x14000cbd8]
mov dword [rbp + 0x168], eax
mov rdx, qword [0x14000c928]
xor r8d, r8d
mov rdx, qword [rsi + rdx + 8]
lea rcx, [rbp + 0xc]
call fcn.140002000
movsd xmm0, qword [rax]
movsd qword [rbp - 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x38], eax
lea r8, [rbp + 0x130]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.1400018e0
mov eax, dword [0x14000c0c8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm1, dword [rbp - 0x10]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
mov eax, dword [0x14000c0c0]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm6, dword [rbp - 0xc]
movaps xmm0, xmm6
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x1400045d3
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x1400045db
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
movss xmm1, dword [rbp - 0x80]
subss xmm1, dword [rsp + 0x70]
movss xmm2, dword [rbp - 0x7c]
subss xmm2, dword [rsp + 0x74]
movss xmm0, dword [rbp - 0x78]
subss xmm0, dword [rsp + 0x78]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14000462c
xorps xmm9, xmm9
sqrtss xmm9, xmm2
jmp 0x140004638
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
divss xmm9, xmm14
cmp byte [0x14000c0bc], 0
je 0x14000465b
movzx edx, r14b
mov rcx, qword [0x14000c928]
mov rcx, qword [rsi + rcx + 8]
call fcn.1400023e0
cmp byte [0x14000c0bd], 0
je 0x1400047d9
movss xmm7, dword [rbp - 0x1c]
subss xmm6, xmm7
andps xmm6, xmm12
cvtps2pd xmm0, xmm6
mulsd xmm0, qword [0x140009a00]
cvtpd2ps xmm8, xmm0
movaps xmm6, xmm14
minss xmm6, xmm11
mov dword [rbp + 0x30], 0x19505827
mov dword [rbp + 0x34], 0x88dced
mov edx, r13d
nop
movsxd rcx, edx
lea eax, [rdx + 0x7c]
xor byte [rbp + rcx + 0x30], al
inc edx
cmp edx, 7
jb 0x1400046a0
mov byte [rbp + 0x37], 0
xorps xmm2, xmm2
cvtss2sd xmm2, xmm9
movq r8, xmm2
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x130]
call fcn.140006830
cvttss2si edi, xmm7
mulss xmm8, dword [0x1400099c4]
movss xmm0, dword [rbp - 0x20]
subss xmm0, xmm8
cvttss2si ebx, xmm0
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9, qword [0x14000c888]
mov r8d, 0xff5cd1e5
mov edx, edi
mov ecx, ebx
call fcn.140003790
cvttss2si ecx, xmm6
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140009a18]
cvtpd2ps xmm8, xmm0
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm6, edx
cvtdq2ps xmm6, xmm6
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
movaps xmm0, xmm6
mulss xmm0, dword [0x1400099c4]
subss xmm7, xmm0
movaps xmm2, xmm6
addss xmm2, dword [0x140009a0c]
addss xmm2, dword [0x140009a4c]
lea eax, [rdi - 1]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm7
subss xmm0, dword [0x1400099c8]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
movss xmm3, dword [0x140009a48]
call fcn.140003830
cvttss2si ecx, xmm8
movss xmm1, dword [0x140009a94]
subss xmm1, xmm8
cvttss2si eax, xmm1
addss xmm6, dword [0x140009a4c]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
movss xmm3, dword [0x140009a38]
movaps xmm2, xmm6
movaps xmm0, xmm7
call fcn.140003830
movss xmm8, dword [rsp + 0x40]
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140005467
test r14b, r14b
je 0x140005467
movd xmm0, dword [0x14000c894]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm10
jb 0x140004843
movss xmm1, dword [0x140009aac]
comiss xmm1, xmm9
jb 0x140004843
movss xmm1, dword [rsp + 0x48]
comiss xmm1, xmm10
jbe 0x140004843
comiss xmm8, xmm9
jbe 0x140004843
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x48], xmm10
movd xmm1, r15d
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x44], xmm1
movss xmm1, dword [0x140009aa8]
comiss xmm1, xmm9
jbe 0x140005467
comiss xmm0, xmm10
jbe 0x140005467
mov rax, qword [0x14000c928]
mov rdx, qword [rsi + rax]
add rdx, 0x1968
call fcn.140006610
mov rbx, rax
mov qword [rbp + 0xc8], 0
mov dword [rbp + 0xd0], 0
lea rax, [rbp + 0xc8]
mov qword [rbp + 0x130], rax
lea rdx, [rbx + 0x260]
call fcn.140006610
lea rdi, [rax + 0x60]
mov qword [rbp + 0x138], rdi
mov qword [rbp + 0x140], 0xc
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0x10c]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [rbp + 0x24], r13d
lea rax, [rbp + 0x24]
mov qword [rbp + 0x130], rax
lea rax, [rbx + 0x228]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0x108]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rbp + 0x140], 0xc
cmp dword [rbp + 0x24], 0xffffffff
jne 0x140004a4b
mov qword [rbp + 0x38], 0
mov dword [rbp + 0x40], 0
lea rax, [rbp + 0x38]
mov qword [rbp + 0x130], rax
mov rax, qword [0x14000c928]
mov rcx, qword [rsi + rax + 0x10]
add rcx, 0x364
mov qword [rbp + 0x138], rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0x104]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm11, dword [rbp + 0x38]
movss xmm12, dword [rbp + 0x3c]
movss xmm10, dword [rbp + 0x40]
jmp 0x140004ad5
mov qword [rbp + 0x48], 0
mov dword [rbp + 0x50], 0
lea rax, [rbp + 0x48]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm11, dword [rbp + 0x48]
movss xmm12, dword [rbp + 0x4c]
movss xmm10, dword [rbp + 0x50]
mov qword [rbp + 0x68], 0
mov dword [rbp + 0x70], 0
lea rax, [rbp + 0x68]
mov qword [rbp + 0x130], rax
mov rax, qword [0x14000c880]
add rax, 0x6b8
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 0xc
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rbp + 0x58], 0
mov dword [rbp + 0x60], 0
lea rax, [rbp + 0x58]
mov qword [rbp + 0x130], rax
mov rax, qword [0x14000c880]
add rax, 0x8dc
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 0xc
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm6, dword [rbp + 0x5c]
movaps xmm2, xmm6
mulss xmm2, xmm6
movss xmm7, dword [rbp + 0x58]
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm2, xmm0
movss xmm8, dword [rbp + 0x60]
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140004c35
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140004c3d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, dword [0x1400099c0]
jbe 0x140004d7c
mov dword [rbp + 0x24], 0
lea rax, [rbp + 0x24]
mov qword [rbp + 0x130], rax
mov rax, qword [0x14000c880]
add rax, 0xc84
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [rbp + 0x2c], 0
lea rax, [rbp + 0x2c]
mov qword [rbp + 0x130], rax
mov rax, qword [0x14000c880]
add rax, 0xc88
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm0, dword [rbp + 0x24]
mulss xmm0, dword [0x1400099c0]
subss xmm6, xmm0
movss xmm1, dword [rbp + 0x2c]
mulss xmm1, dword [0x1400099c0]
addss xmm6, xmm1
mov r8d, dword [0x14000c808]
mov rdx, qword [0x14000c928]
mov rdx, qword [rsi + rdx + 8]
lea rcx, [rsp + 0x60]
call fcn.140002000
movss xmm0, dword [0x14000cbc8]
movss dword [rbp + 0xb0], xmm0
movsd xmm1, qword [0x14000cbb0]
movsd qword [rbp + 0x98], xmm1
mov eax, dword [0x14000cbb8]
mov dword [rbp + 0xa0], eax
addss xmm7, dword [rbp + 0x68]
movss dword [rbp + 0xa4], xmm7
addss xmm6, dword [rbp + 0x6c]
movss dword [rbp + 0xa8], xmm6
addss xmm8, dword [rbp + 0x70]
movss dword [rbp + 0xac], xmm8
movaps xmm6, xmm13
mov rdx, qword [0x14000c878]
add rdx, 0xf50
call fcn.140006610
mov rbx, rax
lea rdx, [rax + 0x2b8]
call fcn.140006610
mov rdi, rax
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x28]
mov qword [rbp + 0x130], rax
lea rcx, [rbx + 0x2d9]
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], 1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rbx, r13
movzx eax, byte [rbp + 0x28]
cmp al, 3
jae 0x140004f4c
lea rdx, [rdi + rax*8]
call fcn.140006610
mov rbx, rax
test rax, rax
je 0x140004f4c
mov dword [rbp + 0x24], 0
lea rax, [rbp + 0x24]
mov qword [rbp + 0x130], rax
lea rdx, [rbx + 0xf58]
call fcn.140006610
add rax, 0x118
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xec]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm6, dword [rbp + 0x24]
comiss xmm15, xmm9
jbe 0x140004f5f
movss xmm1, dword [0x140009a08]
jmp 0x14000500d
comiss xmm14, xmm9
jbe 0x140004f72
movss xmm1, dword [0x1400099f0]
jmp 0x14000500d
movss xmm0, dword [0x140009a84]
comiss xmm0, xmm9
jbe 0x140004f8d
movss xmm1, dword [0x1400099d0]
jmp 0x14000500d
movss xmm0, dword [0x140009a8c]
comiss xmm0, xmm9
jbe 0x140004fa5
movss xmm1, dword [0x1400099d4]
jmp 0x14000500d
movss xmm0, dword [0x140009a90]
comiss xmm0, xmm9
jbe 0x140004fbd
movss xmm1, dword [0x1400099d8]
jmp 0x14000500d
movss xmm0, dword [0x140009a98]
comiss xmm0, xmm9
jbe 0x140004fd5
movss xmm1, dword [0x1400099dc]
jmp 0x14000500d
movss xmm0, dword [0x140009a9c]
comiss xmm0, xmm9
jbe 0x140004fed
movss xmm1, dword [0x1400099e0]
jmp 0x14000500d
movss xmm0, dword [0x140009aa4]
comiss xmm0, xmm9
jbe 0x140005005
movss xmm1, dword [0x1400099e4]
jmp 0x14000500d
movss xmm1, dword [0x1400099e8]
movaps xmm7, xmm9
divss xmm7, xmm6
movaps xmm0, xmm7
mulss xmm0, xmm1
mulss xmm11, xmm0
mulss xmm12, xmm0
mulss xmm10, xmm0
comiss xmm9, xmm14
jbe 0x14000522c
test rbx, rbx
je 0x14000522c
mov dword [rbp + 0x24], r13d
lea rax, [rbp + 0x24]
mov qword [rbp + 0x130], rax
lea rax, [rbx + 0x20]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x130]
mov edx, 0x220004
mov rcx, qword [0x14000c8b8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x24]
xor eax, 0x66ff60d8
ror eax, 0x1d
mov ecx, eax
shl ecx, 0x10
xor ecx, eax
xor ecx, 0xd3579094
cmp ecx, dword [0x14000c8b4]
jne 0x1400050e7
movss xmm1, dword [0x140009a78]
jmp 0x1400051fe
cmp ecx, dword [0x14000c8a4]
jne 0x1400050fc
movss xmm1, dword [0x140009a74]
jmp 0x1400051fe
cmp ecx, dword [0x14000c870]
jne 0x140005111
movss xmm1, dword [0x140009a54]
jmp 0x1400051fe
cmp ecx, dword [0x14000c834]
jne 0x140005126
movss xmm1, dword [0x140009a60]
jmp 0x1400051fe
cmp ecx, dword [0x14000c7e4]
jne 0x14000513b
movss xmm1, dword [0x140009a58]
jmp 0x1400051fe
cmp ecx, dword [0x14000c8b0]
je 0x1400051f6
cmp ecx, dword [0x14000c8a0]
je 0x1400051f6
cmp ecx, dword [0x14000c840]
je 0x14000517c
cmp ecx, dword [0x14000c7fc]
je 0x14000517c
cmp ecx, dword [0x14000c844]
jne 0x140005174
movaps xmm1, xmm15
jmp 0x1400051fe
cmp ecx, dword [0x14000c8a8]
jne 0x140005186
movss xmm1, dword [0x140009a6c]
jmp 0x1400051fe
cmp ecx, dword [0x14000c84c]
jne 0x140005198
movss xmm1, dword [0x140009a50]
jmp 0x1400051fe
cmp ecx, dword [0x14000c7c0]
je 0x1400051ec
cmp ecx, dword [0x14000c874]
je 0x1400051ec
cmp ecx, dword [0x14000c80c]
jne 0x1400051ba
movss xmm1, dword [0x140009a5c]
jmp 0x1400051fe
cmp ecx, dword [0x14000c828]
jne 0x1400051cc
movss xmm1, dword [0x140009a54]
jmp 0x1400051fe
cmp ecx, dword [0x14000c7e0]
jne 0x1400051de
movss xmm1, dword [0x140009a7c]
jmp 0x1400051fe
cmp ecx, dword [0x14000c848]
je 0x1400051f6
movaps xmm1, xmm15
jmp 0x1400051fe
movss xmm1, dword [0x140009a64]
jmp 0x1400051fe
movss xmm1, dword [0x140009a68]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
movaps xmm2, xmm0
mulsd xmm2, qword [0x140009a28]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
mulsd xmm2, xmm0
cvtps2pd xmm1, xmm10
addsd xmm2, xmm1
cvtpd2ps xmm10, xmm2
movups xmm0, xmmword [rbp + 0x88]
movaps xmmword [rbp + 0x130], xmm0
movups xmm1, xmmword [rbp + 0x98]
movaps xmmword [rbp + 0x140], xmm1
movups xmm0, xmmword [rbp + 0xa8]
movaps xmmword [rbp + 0x150], xmm0
movsd xmm1, qword [rbp + 0xb8]
movsd qword [rbp + 0x160], xmm1
mov eax, dword [rbp + 0xc0]
mov dword [rbp + 0x168], eax
addss xmm11, dword [rsp + 0x60]
movss dword [rsp + 0x50], xmm11
addss xmm12, dword [rsp + 0x64]
movss dword [rsp + 0x54], xmm12
addss xmm10, dword [rsp + 0x68]
movss dword [rsp + 0x58], xmm10
lea r8, [rbp + 0x130]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400018e0
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14000c0c4]
jp 0x14000545e
jne 0x14000545e
mov eax, dword [0x14000c0c8]
cdq
sub eax, edx
sar eax, 1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mov eax, dword [0x14000c0c0]
cdq
sub eax, edx
sar eax, 1
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movaps xmm3, xmm13
movaps xmm2, xmm13
movss xmm7, dword [0x14000c0b8]
movss xmm6, dword [rbp - 0x30]
ucomiss xmm6, xmm13
jp 0x14000530d
je 0x14000535c
comiss xmm6, xmm4
jbe 0x14000533b
movaps xmm3, xmm4
subss xmm3, xmm6
xorps xmm3, xmmword [0x140009b30]
divss xmm3, xmm7
movaps xmm1, xmm3
addss xmm1, xmm4
movaps xmm0, xmm4
addss xmm0, xmm4
comiss xmm1, xmm0
jbe 0x14000533b
movaps xmm3, xmm13
comiss xmm4, xmm6
jbe 0x14000535c
movaps xmm3, xmm6
subss xmm3, xmm4
divss xmm3, xmm7
movaps xmm0, xmm3
addss xmm0, xmm4
comiss xmm13, xmm0
jbe 0x14000535c
movaps xmm3, xmm13
movss xmm4, dword [rbp - 0x2c]
ucomiss xmm4, xmm13
jp 0x140005369
je 0x1400053b8
comiss xmm4, xmm5
jbe 0x140005397
movaps xmm2, xmm5
subss xmm2, xmm4
xorps xmm2, xmmword [0x140009b30]
divss xmm2, xmm7
movaps xmm1, xmm2
addss xmm1, xmm5
movaps xmm0, xmm5
addss xmm0, xmm5
comiss xmm1, xmm0
jbe 0x140005397
movaps xmm2, xmm13
comiss xmm5, xmm4
jbe 0x1400053b8
movaps xmm2, xmm4
subss xmm2, xmm5
divss xmm2, xmm7
movaps xmm0, xmm2
addss xmm0, xmm5
comiss xmm13, xmm0
jbe 0x1400053b8
movaps xmm2, xmm13
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x134], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x148], xmm0
mov dword [rbp + 0x130], r13d
mov dword [rbp + 0x144], 1
cvttss2si rcx, xmm3
mov eax, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
movss xmm12, dword [0x140009b20]
andps xmm0, xmm12
psrldq xmm1, 4
movd eax, xmm1
comiss xmm0, dword [0x1400099c8]
cmova eax, ecx
mov dword [rbp + 0x138], eax
cvttss2si rcx, xmm2
mov eax, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
andps xmm0, xmm12
mov eax, dword [rbp + 0x13c]
comiss xmm0, dword [0x1400099c8]
cmova eax, ecx
mov dword [rbp + 0x13c], eax
mov r8d, 0x28
lea rdx, [rbp + 0x130]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x140005467
movss xmm12, dword [0x140009b20]
movss xmm8, dword [rsp + 0x40]
mov rdx, qword [0x14000c928]
inc r15d
inc r12
mov rcx, qword [0x14000c930]
sub rcx, rdx
sar rcx, 5
movsxd rax, r15d
cmp rax, rcx
jb 0x140003dce
movss xmm9, dword [rsp + 0x44]
movss dword [0x14000c0c4], xmm9
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.140007740
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3