Function at 0x1400536f0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x140]
sub rsp, 0x240
cmp qword [0x1400dfb10], 0
je 0x1400548fc
mov rcx, qword [0x1400dfb18]
test rcx, rcx
je 0x1400548fc
mov qword [rsp + 0x238], rbx
movaps xmmword [rsp + 0x160], xmm15
movss xmm15, dword [0x1400c9488]
call fcn.140048c40
mov rbx, rax
test rax, rax
je 0x1400548eb
lea rcx, [rax + 0xb0]
mov qword [rsp + 0x228], rdi
xor edi, edi
mov qword [rbp - 0x78], rcx
mov rcx, qword [0x1400dfcc8]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rdi
lea r8, [rbp - 0x80]
mov qword [rbp - 0x70], rax
mov r9d, 0x28
mov qword [rsp + 0x30], rdi
mov edx, 0x220914
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x208], r15
mov qword [rbp - 0x20], rdi
mov word [rbp - 0x60], 0x100
mov dword [rbp - 0x5e], edi
mov word [rbp - 0x5a], di
mov dword [rbp - 0x80], 0x55aa556
mov qword [rbp - 0x68], 8
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r15, qword [rbp - 0x20]
test r15, r15
je 0x1400548db
mov rcx, qword [0x1400dfcc8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x78], rax
lea r8, [rbp - 0x80]
lea rax, [rbp + 0x150]
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x70], rax
mov r9d, 0x28
mov eax, dword [rcx]
mov edx, 0x220914
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rbp + 0x150], rdi
mov word [rbp - 0x60], 0x100
mov dword [rbp - 0x5e], edi
mov word [rbp - 0x5a], di
mov dword [rbp - 0x80], 0x55aa556
mov qword [rbp - 0x68], 8
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x1400548db
mov rcx, qword [0x1400dfcc8]
add rdx, 0x28
call fcn.140075d00
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.140047d30
mov rcx, rax
call fcn.140047420
test al, al
je 0x1400548db
mov rcx, qword [0x1400dfcc8]
lea r8, [rbp - 0x80]
mov rax, qword [0x1400dfb18]
mov r9d, 0x28
add rax, 0x840
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x78], rax
mov edx, 0x220914
lea rax, [rbp - 0x18]
mov qword [rsp + 0x30], rdi
mov qword [rbp - 0x70], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x220], r12
mov qword [rbp - 0x18], rdi
mov word [rbp - 0x60], 0x100
mov dword [rbp - 0x5e], edi
mov word [rbp - 0x5a], di
mov dword [rbp - 0x80], 0x55aa556
mov qword [rbp - 0x68], 8
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r12, qword [rbp - 0x18]
test r12, r12
je 0x1400548d3
mov rcx, qword [0x1400dfcc8]
lea r8, [rbp - 0x80]
mov rax, qword [0x1400dfb10]
mov r9d, 0x28
add rax, 0x454
mov qword [rbp - 0x4c], rdi
mov qword [rbp - 0x78], rax
mov edx, 0x220914
lea rax, [rbp - 0x50]
mov dword [rbp - 0x50], edi
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x70], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x30], rdi
movaps xmmword [rsp + 0x1a0], xmm11
xorps xmm11, xmm11
mov dword [rsp + 0x28], edi
mov word [rbp - 0x60], 0x100
mov dword [rbp - 0x5e], edi
mov word [rbp - 0x5a], di
mov dword [rbp - 0x80], 0x55aa556
mov qword [rbp - 0x68], 0xc
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm0, dword [rbp - 0x50]
ucomiss xmm0, xmm11
jp 0x1400539b0
jne 0x1400539b0
movss xmm0, dword [rbp - 0x4c]
ucomiss xmm0, xmm11
jp 0x1400539b0
jne 0x1400539b0
movss xmm0, dword [rbp - 0x48]
ucomiss xmm0, xmm11
jp 0x1400539b0
je 0x1400548ca
mov rcx, qword [0x1400dfcc8]
lea r8, [rbp - 0x80]
mov rax, qword [0x1400dfb10]
xorps xmm0, xmm0
mov qword [rsp + 0x230], rsi
add rax, 0x30c
mov qword [rsp + 0x218], r13
xorps xmm1, xmm1
mov qword [rsp + 0x210], r14
mov r9d, 0x28
movaps xmmword [rsp + 0x1f0], xmm6
mov edx, 0x220914
movaps xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1d0], xmm8
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x20]
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm1
mov qword [rsp + 0x38], rdi
movaps xmmword [rsp + 0x1c0], xmm9
mov qword [rbp - 0x70], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x30], rdi
movaps xmmword [rsp + 0x1b0], xmm10
mov dword [rsp + 0x28], edi
movaps xmmword [rsp + 0x170], xmm14
mov word [rbp - 0x60], 0x100
mov dword [rbp - 0x5e], edi
mov word [rbp - 0x5a], di
mov dword [rbp - 0x80], 0x55aa556
mov qword [rbp - 0x68], 0x40
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rsi, qword [0x1400dfb40]
xorps xmm0, xmm0
mov r13, qword [0x1400dfb48]
movaps xmm9, xmm15
movss xmm14, dword [0x1400c9184]
unpcklps xmm0, xmm11
movd r14d, xmm11
movaps xmm10, xmm0
movsd qword [rbp - 0x40], xmm0
movss dword [rbp + 0x150], xmm15
mov dword [rbp + 0x160], r14d
mov qword [rbp + 0x168], rdi
mov eax, 4
cmp rsi, r13
je 0x1400541d5
mov ebx, dword [rbp + 0x150]
movabs r12, 0x21800000a1f20
movaps xmmword [rsp + 0x180], xmm13
xor r15d, r15d
movss xmm13, dword [0x1400c91fc]
movaps xmmword [rsp + 0x190], xmm12
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x1400dfcc8]
lea r8, [rsp + 0x40]
mov rax, qword [rsi]
mov r9d, 0x28
add rax, 0x274
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rax
mov edx, 0x220914
lea rax, [rbp + 0x158]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x50], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], r15d
mov dword [rbp + 0x158], r15d
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], r15d
mov word [rsp + 0x66], r15w
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 4
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [rbp + 0x158], 0
jne 0x1400541a9
mov rcx, qword [0x1400dfcc8]
lea r8, [rsp + 0x40]
mov rax, qword [rsi]
mov r9d, 0x28
add rax, 0x5e0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rax
mov edx, 0x220914
lea rax, [rbp + 0x158]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x50], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], r15d
mov qword [rbp + 0x158], r15
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], r15d
mov word [rsp + 0x66], r15w
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp qword [rbp + 0x158], 0
je 0x1400541a9
mov rcx, qword [0x1400dfcc8]
lea r8, [rsp + 0x40]
mov rax, qword [rsi]
mov r9d, 0x28
add rax, 0xc8
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rax
mov edx, 0x220914
lea rax, [rbp + 0x158]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x50], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], r15d
mov qword [rbp + 0x158], r15
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], r15d
mov word [rsp + 0x66], r15w
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rax, qword [rbp + 0x158]
test rax, rax
je 0x1400541a9
mov rcx, qword [0x1400dfcc8]
lea r8, [rsp + 0x40]
add rax, 0x50
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rax
mov r9d, 0x28
lea rax, [rbp + 0x158]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x50], rax
mov edx, 0x220914
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], r15d
mov qword [rbp + 0x158], r15
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], r15d
mov word [rsp + 0x66], r15w
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdi, qword [rbp + 0x158]
test rdi, rdi
je 0x1400541a2
call fcn.14006e590
mov edx, dword [rax + 0x48]
test edx, edx
je 0x140053d8c
sub edx, 1
je 0x140053d5f
cmp edx, 1
jne 0x140053dd2
mov ebx, 0x2f
jmp 0x140053dd2
call fcn.1400954e0
mov ebx, eax
mov eax, 0x67b23a55
imul ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x4f
sub ebx, ecx
inc ebx
cmp ebx, 0x31
ja 0x140053dc0
movsxd rax, ebx
bt r12, rax
jmp 0x140053dbe
call fcn.1400954e0
mov ebx, eax
mov eax, 0x67b23a55
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x4f
sub ebx, eax
inc ebx
cmp ebx, 0x31
ja 0x140053dc0
movabs rcx, 0x39800000a1f20
bt rcx, rbx
jb 0x140053dcd
lea eax, [rbx - 0x4a]
cmp eax, 1
jbe 0x140053dcd
cmp ebx, 0x4f
jl 0x140053dd2
mov ebx, 0x14
mov qword [rsp + 0x38], r15
lea r8, [rsp + 0x40]
mov qword [rsp + 0x30], r15
mov r9d, 0x28
mov eax, ebx
mov edx, 0x220914
add rax, 4
mov dword [rsp + 0x28], r15d
mov qword [rbp + 0x158], r15
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], r15d
lea rcx, [rdi + rax*8]
mov word [rsp + 0x66], r15w
mov qword [rsp + 0x48], rcx
lea rax, [rbp + 0x158]
mov rcx, qword [0x1400dfcc8]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 8
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rbp + 0x158]
lea rdx, [rbp - 0x30]
call fcn.140047f30
movss xmm10, dword [rbp - 0x30]
ucomiss xmm10, xmm11
movss xmm8, dword [rbp - 0x28]
movss xmm9, dword [rbp - 0x2c]
jp 0x140053e90
jne 0x140053e90
ucomiss xmm9, xmm11
jp 0x140053e90
jne 0x140053e90
ucomiss xmm8, xmm11
jp 0x140053e90
je 0x140054193
movups xmm0, xmmword [rbp + 0x20]
lea r9, [rbp - 0x10]
movups xmm1, xmmword [rbp + 0x30]
lea r8, [rsp + 0x40]
movaps xmm12, xmm10
movd r12d, xmm8
unpcklps xmm12, xmm9
lea rdx, [rbp]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rbp + 0x50]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movsd qword [rbp - 0x30], xmm12
movsd qword [rbp - 0x10], xmm12
mov dword [rbp - 8], r12d
call fcn.140048f00
call fcn.14006ebf0
movd xmm6, dword [rax + 8]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm14
call fcn.14006ebf0
movaps xmm1, xmm13
movd xmm0, dword [rax + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm14
subss xmm0, dword [rbp]
call fcn.1400af540
subss xmm6, dword [rbp + 4]
movaps xmm7, xmm0
movaps xmm1, xmm13
movaps xmm0, xmm6
call fcn.1400af540
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x140053f3e
xorps xmm6, xmm6
sqrtss xmm6, xmm7
jmp 0x140053f49
movaps xmm0, xmm7
call fcn.1400b0b08
movaps xmm6, xmm0
call fcn.14006e590
comiss xmm6, dword [rax + 0x6c]
jae 0x140054189
movss xmm0, dword [rbp - 0x4c]
movss xmm2, dword [rbp - 0x50]
subss xmm0, xmm9
movss xmm1, dword [rbp - 0x48]
subss xmm2, xmm10
subss xmm1, xmm8
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140053f9b
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x140053fa6
movaps xmm0, xmm2
call fcn.1400b0b08
movaps xmm6, xmm0
ucomiss xmm6, xmm11
jp 0x140053fb2
je 0x140054189
movups xmm0, xmmword [rbp + 0x20]
lea r9, [rbp - 0x80]
movups xmm1, xmmword [rbp + 0x30]
lea r8, [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [rbp + 0x10]
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rbp + 0x50]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movsd qword [rbp - 0x80], xmm12
mov dword [rbp - 0x78], r12d
call fcn.140048f00
movss xmm8, dword [rbp + 0x10]
ucomiss xmm8, xmm11
movss xmm7, dword [rbp + 0x14]
jp 0x140054011
jne 0x140054011
ucomiss xmm7, xmm11
jp 0x140054011
je 0x140054189
mov rax, qword gs:[0x58]
mov edi, dword [0x1400dffc8]
mov r14d, 4
mov r15, qword [rax]
cmp edi, dword [r14 + r15]
jle 0x140054086
lea rcx, [0x1400dffc8]
call fcn.140084018
mov edi, dword [0x1400dffc8]
cmp edi, 0xffffffff
jne 0x140054086
xor eax, eax
lea rcx, [0x1400b5a90]
xorps xmm0, xmm0
mov qword [0x1400dfd48], rax
movdqu xmmword [0x1400dfd50], xmm0
mov qword [0x1400dfd60], rax
mov qword [0x1400dfd68], rax
call fcn.140083de4
lea rcx, [0x1400dffc8]
call fcn.140083fac
mov edi, dword [0x1400dffc8]
movd xmm0, dword [0x1400dfd50]
movaps xmm1, xmm13
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm14
subss xmm0, xmm7
call fcn.1400af540
movaps xmm7, xmm0
cmp edi, dword [r14 + r15]
jle 0x1400540fe
lea rcx, [0x1400dffc8]
call fcn.140084018
xor r15d, r15d
cmp dword [0x1400dffc8], 0xffffffff
jne 0x140054101
xorps xmm1, xmm1
mov qword [0x1400dfd48], r15
lea rcx, [0x1400b5a90]
mov qword [0x1400dfd60], r15
movdqu xmmword [0x1400dfd50], xmm1
mov qword [0x1400dfd68], r15
call fcn.140083de4
lea rcx, [0x1400dffc8]
call fcn.140083fac
jmp 0x140054101
xor r15d, r15d
movd xmm0, dword [0x1400dfd54]
movaps xmm1, xmm13
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm14
subss xmm0, xmm8
call fcn.1400af540
movaps xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm7
ucomiss xmm0, xmm1
ja 0x140054137
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14005413f
movaps xmm0, xmm1
call fcn.1400b0b08
comiss xmm15, xmm0
jbe 0x140054182
mov rdi, qword [rsi]
movaps xmm15, xmm0
movaps xmm0, xmm12
mov dword [rbp + 0x160], r12d
mov r14d, r12d
movsd qword [rbp - 0x40], xmm0
movaps xmm10, xmm0
movss dword [rbp + 0x150], xmm6
mov qword [rbp + 0x168], rdi
movaps xmm9, xmm6
movabs r12, 0x21800000a1f20
jmp 0x1400541a9
mov r14d, dword [rbp + 0x160]
movabs r12, 0x21800000a1f20
movsd xmm10, qword [rbp - 0x40]
movss xmm9, dword [rbp + 0x150]
mov rdi, qword [rbp + 0x168]
add rsi, 8
cmp rsi, r13
jne 0x140053b10
movaps xmm13, xmmword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0x190]
mov r15, qword [rbp - 0x20]
mov r12, qword [rbp - 0x18]
mov eax, 4
mov r13, qword [rsp + 0x218]
test rdi, rdi
jne 0x140054200
movaps xmm0, xmm11
movss dword [0x1400dfc38], xmm11
unpcklps xmm0, xmm11
movsd qword [0x1400dfc30], xmm0
jmp 0x140054886
mov edx, eax
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400dfd1c], eax
jle 0x140054246
lea rcx, [0x1400dfd1c]
call fcn.140084018
cmp dword [0x1400dfd1c], 0xffffffff
jne 0x140054246
lea rcx, [0x1400dfcf0]
call fcn.140037400
lea rcx, [0x1400dfd1c]
call fcn.140083fac
lea rcx, [rbp + 0x150]
call fcn.140037400
mov rbx, qword [rbp + 0x150]
mov rax, rbx
sub rax, qword [0x1400dfcf0]
cmp rax, 0x1e8480
jl 0x140054319
mov rcx, qword [0x1400dfcc8]
lea rdx, [r15 + 0x2ac]
call fcn.140075c00
mov rcx, qword [0x1400dfcc8]
lea rax, [r15 + 0x2e0]
xor esi, esi
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x50], rax
lea r8, [rsp + 0x40]
mov eax, dword [rcx]
mov r9d, 0x28
mov rcx, qword [rcx + 8]
mov edx, 0x220914
mov qword [rsp + 0x30], rsi
movaps xmm6, xmm0
mov dword [rsp + 0x28], esi
mov qword [rbp + 0x150], rsi
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], esi
mov word [rsp + 0x66], si
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rbp + 0x150]
movaps xmm1, xmm6
call fcn.140052940
mov qword [0x1400dfcf0], rbx
jmp 0x14005431b
xor esi, esi
movss xmm6, dword [0x1400dcd60]
lea rcx, [rbp + 0x10]
movss xmm7, dword [0x1400dcd64]
mov rdx, rdi
movss xmm8, dword [0x1400dcd68]
call fcn.140051eb0
movss xmm0, dword [0x1400c91a4]
lea r9, [rbp - 0x80]
movss dword [rsp + 0x38], xmm9
lea r8, [rbp - 0x10]
movss dword [rsp + 0x30], xmm6
lea rdx, [rbp - 0x30]
movss xmm3, dword [rax]
lea rcx, [rbp]
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
mov eax, dword [rbp - 0x48]
mulss xmm3, xmm0
mov dword [rbp - 8], eax
mulss xmm1, xmm0
mov dword [rbp - 0x28], r14d
mulss xmm2, xmm0
movsd xmm0, qword [rbp - 0x50]
unpcklps xmm3, xmm1
movss dword [rsp + 0x28], xmm7
movsd qword [rbp - 0x80], xmm3
movss dword [rbp - 0x78], xmm2
movss dword [rsp + 0x20], xmm8
movsd qword [rbp - 0x10], xmm0
movsd qword [rbp - 0x30], xmm10
call fcn.140052290
movss xmm6, dword [rbp - 0x4c]
movss xmm10, dword [rbp - 0x50]
movss xmm8, dword [rbp - 0x48]
movsd xmm0, qword [rax]
mov ecx, dword [rax + 8]
movsd qword [rbp - 0x7c], xmm0
subss xmm6, dword [rbp - 0x78]
subss xmm10, dword [rbp - 0x7c]
movsd qword [0x1400dfc30], xmm0
movd xmm0, ecx
subss xmm8, xmm0
mov dword [0x1400dfc38], ecx
movaps xmm1, xmm6
mulss xmm1, xmm6
movaps xmm9, xmm10
mulss xmm9, xmm10
movaps xmm0, xmm8
mulss xmm0, xmm8
addss xmm1, xmm9
addss xmm1, xmm0
movaps xmm7, xmm1
movss dword [rbp + 0x150], xmm1
rsqrtss xmm0, xmm7
mulss xmm7, xmm0
movaps xmm0, xmm6
call fcn.14009580c
ucomiss xmm7, xmm7
setp al
cmp al, 1
jne 0x140054461
mulss xmm0, xmm0
xorps xmm2, xmm2
addss xmm0, xmm9
movss xmm2, xmm0
movss dword [rbp + 0x150], xmm0
rsqrtss xmm0, xmm2
mulss xmm2, xmm0
movaps xmm7, xmm2
divss xmm6, xmm7
movaps xmm0, xmm6
call fcn.1400ac7a8
xorps xmm8, xmmword [0x1400c9ab0]
movaps xmm9, xmm0
mulss xmm9, dword [0x1400c9294]
movaps xmm1, xmm8
movaps xmm0, xmm10
call fcn.1400ac994
movss xmm7, dword [0x1400c92b0]
movaps xmm10, xmm0
movss xmm0, dword [0x1400c94b4]
comiss xmm0, xmm9
xorps xmm10, xmmword [0x1400c9ab0]
mulss xmm10, dword [0x1400c9294]
jbe 0x1400544c0
movaps xmm9, xmm0
jmp 0x1400544ca
comiss xmm9, xmm7
jbe 0x1400544ca
movaps xmm9, xmm7
movss xmm8, dword [0x1400c94c0]
comiss xmm8, xmm10
movss xmm6, dword [0x1400c93b4]
jbe 0x1400544e8
addss xmm10, xmm6
jmp 0x1400544f3
comiss xmm10, xmm6
jbe 0x1400544f3
subss xmm10, xmm6
ucomiss xmm9, xmm9
setp al
cmp al, 1
jne 0x14005450d
ucomiss xmm10, xmm10
setp al
cmp al, 1
je 0x140054886
call fcn.14006e590
cmp byte [rax + 0x20], 0
je 0x140054886
call fcn.14006e590
cmp dword [rax + 0x24], 0
jne 0x1400546f6
mov rcx, qword [0x1400dfcc8]
lea r8, [rsp + 0x40]
mov rax, qword [0x1400dfb18]
mov r9d, 0x28
add rax, 0x600
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], rax
mov edx, 0x220914
lea rax, [rbp + 0x158]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x50], rax
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], esi
mov qword [rbp + 0x158], rsi
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], esi
mov word [rsp + 0x66], si
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rax, qword [rbp + 0x158]
test rax, rax
je 0x140054886
mov rcx, qword [0x1400dfcc8]
lea rbx, [rax + 0x44]
lea rax, [rbp + 0x150]
mov qword [rbp + 0x150], 0
mov qword [rsp + 0x38], rsi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov r9d, 0x28
mov eax, dword [rcx]
mov edx, 0x220914
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov word [rsp + 0x60], 0x100
mov dword [rsp + 0x62], esi
mov word [rsp + 0x66], si
mov dword [rsp + 0x40], 0x55aa556
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
subss xmm9, dword [rbp + 0x150]
movss xmm1, dword [0x1400c94bc]
subss xmm10, dword [rbp + 0x154]
comiss xmm1, xmm9
jbe 0x14005465b
addss xmm9, xmm6
movss xmm0, dword [0x1400c9310]
comiss xmm9, xmm0
jbe 0x14005466e
addss xmm9, xmm8
comiss xmm1, xmm10
jbe 0x140054679
addss xmm10, xmm6
comiss xmm10, xmm0
jbe 0x140054684
addss xmm10, xmm8
comiss xmm9, xmm7
jbe 0x140054694
comiss xmm0, xmm9
jb 0x140054694
movaps xmm9, xmm7
call fcn.14006e590
mov ecx, dword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140054886
divss xmm9, dword [0x1400c91d4]
mov qword [rsp + 0x48], rbx
lea rax, [rbp + 0x158]
mov qword [rsp + 0x58], 8
divss xmm10, dword [0x1400c91d4]
addss xmm9, dword [rbp + 0x150]
addss xmm10, dword [rbp + 0x154]
unpcklps xmm9, xmm10
movsd qword [rbp + 0x158], xmm9
jmp 0x14005482c
call fcn.14006e590
cmp dword [rax + 0x24], 1
jne 0x140054886
call fcn.14006e590
mov ecx, dword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140054886
mulss xmm9, dword [0x1400c9140]
mulss xmm9, xmm14
movaps xmm0, xmm9
call fcn.1400ace20
movaps xmm8, xmm0
movaps xmm0, xmm9
call fcn.1400b0410
mulss xmm10, dword [0x1400c9140]
movaps xmm7, xmm0
mulss xmm10, xmm14
movaps xmm0, xmm10
call fcn.1400ace20
movaps xmm9, xmm0
movaps xmm0, xmm10
call fcn.1400b0410
movaps xmm6, xmm0
movaps xmm0, xmm11
call fcn.1400ace20
movaps xmm10, xmm0
movaps xmm0, xmm11
call fcn.1400b0410
movaps xmm4, xmm0
mov qword [rsp + 0x58], 0x10
movaps xmm5, xmm0
lea rax, [r12 + 0x4c]
movaps xmm3, xmm6
mov qword [rsp + 0x48], rax
movaps xmm11, xmm9
mulss xmm6, xmm8
lea rax, [rbp - 0x80]
mulss xmm11, xmm8
movaps xmm0, xmm10
mulss xmm9, xmm7
movaps xmm2, xmm10
mulss xmm5, xmm6
movaps xmm1, xmm11
mulss xmm0, xmm9
mulss xmm3, xmm7
addss xmm5, xmm0
mulss xmm1, xmm4
movaps xmm0, xmm4
mulss xmm2, xmm6
mulss xmm0, xmm9
shufps xmm5, xmm5, 0xe1
mulss xmm11, xmm10
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm10
mulss xmm3, xmm4
movss xmm5, xmm2
addss xmm1, xmm0
shufps xmm5, xmm5, 0xc6
subss xmm11, xmm3
mulss xmm1, dword [0x1400c949c]
movss xmm5, xmm1
shufps xmm5, xmm5, 0x27
movss xmm5, xmm11
shufps xmm5, xmm5, 0x39
movups xmmword [rbp - 0x80], xmm5
movdqa xmmword [rbp - 0x80], xmm5
mov rcx, qword [0x1400dfcc8]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x38], rsi
mov r9d, 0x28
mov qword [rsp + 0x50], rax
mov edx, 0x220914
mov qword [rsp + 0x30], rsi
mov eax, dword [rcx]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x61], esi
mov word [rsp + 0x65], si
mov byte [rsp + 0x67], 0
mov dword [rsp + 0x40], 0x55aa556
mov dword [rsp + 0x44], eax
mov byte [rsp + 0x60], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movaps xmm14, xmmword [rsp + 0x170]
mov r14, qword [rsp + 0x210]
movaps xmm10, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x1a0]
mov r12, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov r15, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x238]
movaps xmm15, xmmword [rsp + 0x160]
add rsp, 0x240
pop rbp
ret