Function at 0x18009ba10
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
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 [0x180101040]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov r13, rcx
mov rax, qword [rcx + 0x78]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x5c], xmm0
mov rax, qword [rcx + 0xa8]
mov rbx, qword [rax + 8]
mov rax, qword [rcx + 0x70]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x44], xmm0
mov rax, qword [rcx + 0x90]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x38], xmm0
mov rax, qword [rcx + 0x98]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x78], xmm0
mov rax, qword [rcx + 0xb0]
mov rsi, qword [rax + 8]
mov qword [rsp + 0x60], rsi
mov rax, qword [rcx + 0x88]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x58], xmm0
mov rax, qword [rcx + 0x80]
movss xmm0, dword [rax + 8]
movss dword [rbp - 0x78], xmm0
cmp byte [rcx + 0x48], 0
je 0x18009cc4a
call fcn.18004b7d0
mov rcx, rax
call fcn.18004bfa0
test al, al
je 0x18009cc4a
cmp byte [0x1801c55d0], 0
jne 0x18009cc4a
test rbx, rbx
je 0x18009bb6c
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18009bb6c
movss xmm2, dword [0x1800e3f78]
movaps xmm0, xmm2
unpcklps xmm0, xmm2
movsd qword [r13 + 0xd0], xmm0
movss dword [r13 + 0xd8], xmm2
jmp 0x18009cc4a
mov rax, qword [0x1801c5628]
mov r15, qword [rax + 8]
mov qword [rsp + 0x30], r15
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.1800b0be0
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1800b0d50
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.1800b1330
call fcn.18004b7d0
mov rdx, qword [rax + 0xa0]
test rdx, rdx
je 0x18009bbcd
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov qword [rbp - 8], rax
jmp 0x18009bbd5
mov qword [rbp - 8], 0
xor edi, edi
mov qword [rbp - 0x10], rdi
movss xmm15, dword [0x1800e3f74]
movss xmm9, dword [0x1800e3f30]
movss dword [rsp + 0x3c], xmm9
movss dword [rsp + 0x40], xmm15
lea rdx, [rbp]
lea rcx, [rbp - 8]
call fcn.180098e50
nop
mov r12, qword [rbp]
movss xmm6, dword [rsp + 0x24]
movss xmm7, dword [rsp + 0x20]
movss xmm12, dword [0x1800e45d0]
movsd xmm14, qword [0x1800e3c90]
mov r14, qword [rbp + 8]
cmp r12, r14
je 0x18009c548
nop dword [rax + rax]
mov rdx, qword [r12]
test rdx, rdx
je 0x18009bc66
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov rbx, rax
mov qword [rbp - 0x20], rax
jmp 0x18009bc6c
xor ebx, ebx
mov qword [rbp - 0x20], rbx
test rbx, rbx
je 0x18009c514
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x18009c514
call fcn.18009d510
cmp byte [rax + 0x48], 0
je 0x18009bcff
call fcn.18009d510
mov rsi, rax
mov qword [rbp - 0x70], 0
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rbx
call r8
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.180095a50
test al, al
je 0x18009bcff
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009bcfa
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18009c536
call fcn.18009f200
cmp byte [rax + 0x48], 0
je 0x18009bd61
call fcn.18009f200
mov qword [rbp - 0x68], 0
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x68]
call fcn.180095da0
test al, al
je 0x18009bd61
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009bd5c
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18009c536
lea rdx, [rbp - 0x40]
call fcn.1800b0b80
lea rcx, [rbp - 0x40]
call fcn.180040750
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov rbx, qword [rbp - 0x20]
mov r8, rbx
mov rdx, qword [r15]
call r9
test al, al
jne 0x18009c4f5
mov rsi, qword [0x1801c55e0]
cmp dword [0x1801bd154], 7
jne 0x18009bdc7
mov rax, qword [rsi]
mov r9, qword [rax + 0x100]
mov r8, qword [0x1801c58b8]
mov rdx, rbx
mov rcx, rsi
call r9
test al, al
je 0x18009bde0
mov r9, rbx
mov r8, qword [0x1801c5708]
mov rdx, qword [r15]
mov rcx, rsi
call fcn.1800a7d50
test al, al
jne 0x18009be02
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009bdfd
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18009c536
mov rsi, qword [0x1801c55e0]
test rdi, rdi
je 0x18009be7e
mov rax, qword [rsi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call r9
test al, al
jne 0x18009be77
mov rdx, rdi
mov rcx, rsi
cmp dword [0x1801bd154], 7
jne 0x18009be61
mov r8, qword [0x1801c5a90]
call fcn.180095260
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
subsd xmm1, xmm14
cvtpd2ps xmm9, xmm1
mov rsi, qword [0x1801c55e0]
xorps xmm13, xmm13
jmp 0x18009be90
mov rax, qword [rsi]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801c56c8]
call r9
jmp 0x18009be43
mov rsi, qword [0x1801c55e0]
xorps xmm13, xmm13
cvtps2pd xmm0, xmm13
subsd xmm0, xmm14
cvtpd2ps xmm9, xmm0
movaps xmm8, xmm6
xorps xmm7, xmm12
xorps xmm8, xmm12
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
cmp dword [0x1801bd154], 7
jne 0x18009bf68
mov rax, qword [rax + 0x2f8]
mov r8, qword [0x1801c5a88]
call rax
mov r14, rax
test rax, rax
je 0x18009bf04
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rsi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xb8]
mov rdx, r14
call rax
mov r15, rsi
jmp 0x18009bf0e
xor esi, esi
mov qword [rsp + 0x28], rsi
xor r15d, r15d
mov r8, qword [0x1801c55e0]
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0x28]
call fcn.1800c6c90
nop
mov r14, qword [0x1801c55e0]
test r14, r14
je 0x18009bf50
test r15, r15
je 0x18009bf50
mov rax, qword [r14]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
mov rcx, r14
call r8
mov r14, qword [0x1801c55e0]
movss xmm6, dword [rsp + 0x7c]
movss xmm0, dword [rbp - 0x7c]
movss xmm10, dword [rbp - 0x80]
mov r15, qword [rsp + 0x30]
jmp 0x18009bfd8
mov rax, qword [rax + 0x338]
mov r8, qword [0x1801c5940]
call rax
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rax, qword [rsi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c5948]
mov rdx, rbx
mov rcx, rsi
call r9
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
mov rax, qword [rsi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c56d0]
mov rdx, rbx
mov rcx, rsi
call r9
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x7c], xmm6
movss dword [rbp - 0x80], xmm10
movss dword [rbp - 0x7c], xmm0
mov r14, qword [0x1801c55e0]
addss xmm9, xmm10
addss xmm6, xmm13
subss xmm6, dword [rsp + 0x68]
cvtps2pd xmm6, xmm6
addss xmm0, xmm13
subss xmm0, dword [rsp + 0x70]
xorps xmm11, xmm11
cvtss2sd xmm11, xmm0
movaps xmm1, xmm11
mulsd xmm1, xmm11
movaps xmm0, xmm6
mulsd xmm0, xmm6
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18009c023
sqrtpd xmm10, xmm1
jmp 0x18009c02f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm10, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x1800e3f04]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x1800e3d00]
cvtpd2ps xmm6, xmm3
subss xmm6, dword [0x1800e3ec8]
subss xmm9, dword [rsp + 0x6c]
cvtps2pd xmm0, xmm9
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x1800e45c0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x1800e3f04]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x1800e3d00]
cvtpd2ps xmm0, xmm2
xorps xmm6, xmm12
subss xmm7, xmm6
xorps xmm0, xmm12
subss xmm8, xmm0
unpcklps xmm7, xmm8
movq rcx, xmm7
call fcn.1800c6420
mov qword [rsp + 0x28], rax
movss xmm9, dword [rsp + 0x28]
comiss xmm13, xmm9
jbe 0x18009c0cf
xorps xmm9, xmm12
mov rax, qword [r14]
mov rdx, rbx
mov rcx, r14
cmp dword [0x1801bd154], 7
jne 0x18009c17b
mov rax, qword [rax + 0x2f8]
mov r8, qword [0x1801c5a88]
call rax
mov r14, rax
test rax, rax
je 0x18009c137
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rsi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xb8]
mov rdx, r14
call rax
mov r14, rsi
jmp 0x18009c141
xor esi, esi
mov qword [rsp + 0x28], rsi
xor r14d, r14d
mov r8, qword [0x1801c55e0]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x28]
call fcn.1800c6c90
nop
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009c179
test r14, r14
je 0x18009c179
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
nop
jmp 0x18009c1e3
mov rax, qword [rax + 0x338]
mov r8, qword [0x1801c5940]
call rax
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
mov rax, qword [r14]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c5948]
mov rdx, rbx
mov rcx, r14
call r9
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rax, qword [r14]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c56d0]
mov rdx, rbx
mov rcx, r14
call r9
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rbp - 0x60], xmm7
movss dword [rbp - 0x5c], xmm6
movss dword [rbp - 0x58], xmm1
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.1800b0be0
mov rsi, qword [0x1801c55e0]
mov r15, rax
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
cmp dword [0x1801bd154], 7
jne 0x18009c2ba
mov rax, qword [rax + 0x2f8]
mov r8, qword [0x1801c5a88]
call rax
mov r14, rax
test rax, rax
je 0x18009c261
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rsi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [0x1801c55e0]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xb8]
mov rdx, r14
call rax
mov r14, rsi
jmp 0x18009c26b
xor esi, esi
mov qword [rsp + 0x28], rsi
xor r14d, r14d
mov r8, qword [0x1801c55e0]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x28]
call fcn.1800c6c90
nop
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009c2a4
test r14, r14
je 0x18009c2a4
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
nop
movss xmm8, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
movss xmm10, dword [rsp + 0x4c]
jmp 0x18009c328
mov rax, qword [rax + 0x338]
mov r8, qword [0x1801c5940]
call rax
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
mov rax, qword [rsi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c5948]
mov rdx, rbx
mov rcx, rsi
call r9
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
mov rax, qword [rsi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c56d0]
mov rdx, rbx
mov rcx, rsi
call r9
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm8
movss dword [rsp + 0x4c], xmm10
movss dword [rsp + 0x50], xmm0
movss xmm7, dword [r15 + 8]
subss xmm7, xmm0
movss xmm6, dword [r15 + 4]
subss xmm6, xmm10
movss xmm0, dword [r15]
subss xmm0, xmm8
cvtps2pd xmm0, xmm0
movsd xmm10, qword [0x1800e3cf8]
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
cvtps2pd xmm0, xmm6
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
cvtps2pd xmm0, xmm7
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x18009c396
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x18009c39f
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm0, xmm9
andps xmm0, xmmword [0x1800e45b0]
movss xmm1, dword [rsp + 0x44]
comiss xmm1, xmm0
jb 0x18009c4e0
movss xmm0, dword [rsp + 0x5c]
comiss xmm0, xmm6
jb 0x18009c4e0
mov r8, qword [0x1801c5a48]
mov rdx, rbx
mov rcx, qword [0x1801c55e0]
call fcn.180095260
movaps xmm7, xmm0
mov rcx, qword [r13 + 0xc8]
mov edx, dword [rcx + 8]
sub edx, 1
je 0x18009c493
cmp edx, 1
je 0x18009c446
comiss xmm15, xmm6
jbe 0x18009c4e0
test rdi, rdi
je 0x18009c426
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
movaps xmm15, xmm6
jmp 0x18009c4d9
movss xmm8, dword [rsp + 0x3c]
comiss xmm8, xmm9
jbe 0x18009c4e0
test rdi, rdi
je 0x18009c473
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
movss dword [rsp + 0x3c], xmm9
jmp 0x18009c4d9
movss xmm8, dword [rsp + 0x40]
comiss xmm8, xmm7
jbe 0x18009c4e0
test rdi, rdi
je 0x18009c4bc
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801c55e0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
movss dword [rsp + 0x40], xmm7
mov rdi, rax
mov qword [rbp - 0x10], rax
mov r14, qword [rbp + 8]
mov r15, qword [rsp + 0x30]
movss xmm7, dword [rsp + 0x20]
movss xmm6, dword [rsp + 0x24]
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009c512
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18009c536
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009c536
test rbx, rbx
je 0x18009c536
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
add r12, 8
cmp r12, r14
jne 0x18009bc40
mov rsi, qword [rsp + 0x60]
lea rcx, [rbp]
call fcn.180098d40
test rdi, rdi
jne 0x18009c5a4
mov dword [r13 + 0xd0], 0x7fc00000
mov dword [r13 + 0xd4], 0x7fc00000
mov dword [r13 + 0xd8], 0x7fc00000
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009c59f
test rdi, rdi
je 0x18009c59f
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801c55e0]
jmp 0x18009cc2e
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x10]
call fcn.1800b0be0
mov rbx, qword [0x1801c55e0]
mov rax, qword [rbx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c59c0]
mov rdx, rdi
mov rcx, rbx
call r9
xorps xmm13, xmm13
cvtsd2ss xmm13, xmm0
mov rax, qword [rbx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c59b8]
mov rdx, rdi
mov rcx, rbx
call r9
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
mov rax, qword [rbx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801c5820]
mov rdx, rdi
mov rcx, rbx
call r9
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
mov rbx, qword [0x1801c55e0]
mov rax, qword [rbx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call r9
test al, al
jne 0x18009c675
mov rdx, rdi
mov rcx, rbx
cmp dword [0x1801bd154], 7
jne 0x18009c65f
mov r8, qword [0x1801c5a90]
call fcn.180095260
jmp 0x18009c678
mov rax, qword [rbx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801c56c8]
call r9
jmp 0x18009c678
xorps xmm0, xmm0
xorps xmm4, xmm4
cvtss2sd xmm0, xmm0
subsd xmm0, xmm14
xorps xmm11, xmm11
cvtsd2ss xmm11, xmm0
movss xmm2, dword [rbp - 0x18]
movaps xmm15, xmm2
addss xmm15, xmm4
movaps xmm0, xmm11
movss xmm1, dword [rbp - 0x1c]
addss xmm0, xmm1
movss dword [rsp + 0x3c], xmm0
movss xmm3, dword [rbp - 0x20]
movaps xmm0, xmm3
addss xmm0, xmm4
movss dword [rsp + 0x44], xmm0
movaps xmm12, xmm9
addss xmm12, xmm4
addss xmm11, xmm10
movaps xmm14, xmm13
addss xmm14, xmm4
movaps xmm0, xmm3
subss xmm0, dword [rsp + 0x68]
cvtps2pd xmm7, xmm0
subss xmm1, dword [rsp + 0x6c]
cvtps2pd xmm0, xmm1
movsd qword [rsp + 0x60], xmm0
movaps xmm0, xmm2
subss xmm0, dword [rsp + 0x70]
cvtps2pd xmm8, xmm0
movaps xmm1, xmm8
mulsd xmm1, xmm8
movaps xmm0, xmm7
mulsd xmm0, xmm7
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18009c722
sqrtpd xmm6, xmm1
jmp 0x18009c72d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x1800e3f04]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x1800e3d00]
cvtpd2ps xmm0, xmm3
subss xmm0, dword [0x1800e3ec8]
movss dword [rsp + 0x5c], xmm0
movaps xmm1, xmm6
movsd xmm0, qword [rsp + 0x60]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x1800e45c0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x1800e3f04]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x1800e3d00]
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x44]
subss xmm0, dword [rsp + 0x68]
cvtps2pd xmm6, xmm0
movss xmm1, dword [rsp + 0x3c]
subss xmm1, dword [rsp + 0x6c]
cvtps2pd xmm0, xmm1
movsd qword [rsp + 0x60], xmm0
movaps xmm0, xmm15
subss xmm0, dword [rsp + 0x70]
cvtps2pd xmm8, xmm0
movaps xmm1, xmm8
mulsd xmm1, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm6
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18009c7f3
sqrtpd xmm7, xmm1
jmp 0x18009c7fe
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm7, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x1800e3f04]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x1800e3d00]
cvtpd2ps xmm6, xmm3
subss xmm6, dword [0x1800e3ec8]
movaps xmm1, xmm7
movsd xmm0, qword [rsp + 0x60]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x1800e45c0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x1800e3f04]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x1800e3d00]
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x30], xmm0
movss xmm8, dword [rsp + 0x20]
movss xmm1, dword [0x1800e45d0]
xorps xmm8, xmm1
movss xmm7, dword [rsp + 0x24]
xorps xmm7, xmm1
xorps xmm6, xmm1
movaps xmm2, xmm8
subss xmm2, xmm6
xorps xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
unpcklps xmm2, xmm1
movq rcx, xmm2
call fcn.1800c6420
mov qword [rsp + 0x28], rax
movss xmm0, dword [rsp + 0x5c]
xorps xmm0, xmmword [0x1800e45d0]
subss xmm8, xmm0
movss xmm0, dword [rsp + 0x40]
xorps xmm0, xmmword [0x1800e45d0]
subss xmm7, xmm0
unpcklps xmm8, xmm7
movq rcx, xmm8
call fcn.1800c6420
mov qword [rsp + 0x60], rax
movss xmm8, dword [rsp + 0x38]
movaps xmm6, xmm8
xorps xmm6, xmmword [0x1800e45d0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss xmm7, dword [0x1800e3f60]
divss xmm0, xmm7
subss xmm8, xmm6
mulss xmm8, xmm0
addss xmm8, xmm6
movss dword [rsp + 0x38], xmm8
test rsi, rsi
je 0x18009c98e
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18009c95c
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [rsp + 0x58]
test ax, ax
js 0x18009c962
subss xmm8, xmm6
movss dword [rsp + 0x38], xmm8
jmp 0x18009c962
movss xmm6, dword [rsp + 0x58]
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18009c98e
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x18009c98e
addss xmm8, xmm6
movss dword [rsp + 0x38], xmm8
movss xmm8, dword [rsp + 0x28]
addss xmm8, dword [rsp + 0x38]
movss xmm6, dword [rbp - 0x78]
divss xmm8, xmm6
addss xmm8, dword [rsp + 0x20]
call fcn.18004b7d0
movsd xmm0, qword [rax + 0x84]
movsd qword [rsp + 0x48], xmm0
mov ebx, dword [rax + 0x8c]
call fcn.18004b7d0
movss xmm4, dword [rax + 0x90]
movss xmm2, dword [rsp + 0x24]
comiss xmm2, dword [rsp + 0x40]
ja 0x18009cab4
movss xmm0, dword [rsp + 0x30]
comiss xmm0, xmm2
ja 0x18009cab4
movd xmm0, ebx
subss xmm0, xmm9
movss xmm1, dword [rsp + 0x4c]
subss xmm1, xmm10
subss xmm9, dword [rbp - 0x18]
subss xmm10, dword [rbp - 0x1c]
movaps xmm3, xmm4
mulss xmm3, xmm9
addss xmm3, xmm0
movaps xmm2, xmm4
mulss xmm2, xmm10
addss xmm2, xmm1
movaps xmm1, xmm13
subss xmm1, dword [rbp - 0x20]
mulss xmm1, xmm4
movss xmm0, dword [rsp + 0x48]
subss xmm0, xmm13
addss xmm1, xmm0
unpcklps xmm1, xmm2
movsd qword [r13 + 0xd0], xmm1
movss dword [r13 + 0xd8], xmm3
mov byte [r13 + 0xe8], 0
mov rbx, qword [0x1801c55e0]
movss xmm9, dword [rsp + 0x78]
movaps xmm6, xmm9
xorps xmm6, xmmword [0x1800e45d0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm7
subss xmm9, xmm6
mulss xmm9, xmm0
addss xmm9, xmm6
addss xmm9, dword [rsp + 0x24]
mov r8, rbx
movaps xmm0, xmm8
unpcklps xmm0, xmm9
jmp 0x18009cbfd
movss xmm1, dword [rsp + 0x64]
divss xmm1, xmm6
addss xmm1, xmm2
movss xmm7, dword [rsp + 0x2c]
divss xmm7, xmm6
addss xmm7, xmm2
movaps xmm0, xmm2
subss xmm0, xmm1
movss xmm3, dword [0x1800e45b0]
andps xmm0, xmm3
subss xmm2, xmm7
andps xmm2, xmm3
movd xmm3, ebx
xorps xmm6, xmm6
subss xmm3, xmm6
comiss xmm0, xmm2
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x48]
subss xmm0, xmm6
jbe 0x18009cb4c
subss xmm2, dword [0x1800e3c04]
subss xmm3, xmm12
subss xmm2, xmm11
subss xmm12, xmm15
subss xmm11, dword [rsp + 0x3c]
mulss xmm12, xmm4
mulss xmm11, xmm4
addss xmm3, xmm12
addss xmm2, xmm11
movaps xmm1, xmm14
subss xmm1, dword [rsp + 0x44]
subss xmm0, xmm14
jmp 0x18009cb8f
movaps xmm7, xmm1
subss xmm2, dword [0x1800e3c08]
subss xmm3, xmm9
subss xmm2, xmm10
subss xmm9, dword [rbp - 0x18]
subss xmm10, dword [rbp - 0x1c]
mulss xmm9, xmm4
mulss xmm10, xmm4
addss xmm3, xmm9
addss xmm2, xmm10
movaps xmm1, xmm13
subss xmm1, dword [rbp - 0x20]
subss xmm0, xmm13
mulss xmm1, xmm4
addss xmm1, xmm0
unpcklps xmm1, xmm2
movsd qword [r13 + 0xd0], xmm1
movss dword [r13 + 0xd8], xmm3
mov byte [r13 + 0xe8], 1
movss xmm9, dword [rsp + 0x78]
movaps xmm6, xmm9
xorps xmm6, xmmword [0x1800e45d0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800e3f60]
subss xmm9, xmm6
mulss xmm9, xmm0
addss xmm9, xmm6
addss xmm7, xmm9
mov r8, qword [0x1801c55e0]
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movq rdx, xmm0
mov rcx, r15
call fcn.1800b13f0
nop
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009cc2e
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801c55e0]
test rcx, rcx
je 0x18009cc4a
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x18009cc4a
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.1800c6fb0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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