Function at 0x140058600
Capabilities:
Interact with driver via ioctl

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
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 [0x1400d9bc0]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov r14, r8
mov rsi, rdx
lea r13, [rsp + 0x1d8]
mov rbp, qword [r13]
xor r12d, r12d
mov qword [r13], r12
lea rax, [rsp + 0x1d8]
mov r15, qword [rax]
mov qword [rax], r12
xorps xmm13, xmm13
movsd qword [rsp + 0xb8], xmm13
mov rax, qword [0x1400da030]
mov rdx, qword [rax]
add rdx, 0x110
mov rcx, qword [0x1400d9fb8]
call fcn.1400417a0
mov rdi, rax
mov rax, qword [0x1400da030]
mov rdx, qword [rax]
add rdx, 0x120
mov rcx, qword [0x1400d9fb8]
call fcn.1400417a0
mov rbx, rax
mov rdx, rax
mov rcx, qword [0x1400d9fb8]
call fcn.1400415f0
movaps xmm10, xmm0
lea rdx, [rbx + 0x20]
mov rcx, qword [0x1400d9fb8]
call fcn.1400415f0
movaps xmm12, xmm0
lea rdx, [rbx + 0x1d0]
mov rcx, qword [0x1400d9fb8]
call fcn.1400415f0
movaps xmm6, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x78], xmm1
movsd qword [rsp + 0x88], xmm13
mov dword [rsp + 0xcc], r12d
mov qword [rsp + 0xd0], rdi
lea rax, [rsp + 0x78]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 0x18
mov eax, dword [0x1400d9fb0]
mov dword [rsp + 0xc8], eax
mov qword [rsp + 0x38], r12
lea r9d, [r12 + 0x20]
lea r8, [rsp + 0xc8]
mov rcx, qword [0x1400d9fa8]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
cmp byte [0x1400d9ef1], r12b
mov edx, 0x222404
jne 0x1400587a5
mov edx, 0x220c58
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm9, xmmword [rsp + 0x78]
movsd xmm8, qword [rsp + 0x88]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm11, xmm0
mulsd xmm11, qword [0x1400b5d28]
movsd xmm6, qword [0x1400b5d68]
mulsd xmm10, xmm6
movaps xmm1, xmm12
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm10, xmm0
mulsd xmm10, qword [0x1400b5d28]
mulsd xmm10, xmm6
mulsd xmm10, xmm6
mov rax, qword [0x1400da030]
mov rdx, qword [rax + 0x20]
add rdx, 0x394
mov rcx, qword [0x1400d9fb8]
call fcn.140041550
movaps xmm3, xmm0
mulss xmm3, dword [0x1400b5d4c]
lea rax, [rsp + 0x1d8]
mov qword [rax], r15
movups xmmword [0x1400d9b48], xmm9
unpcklpd xmm8, xmm11
movups xmmword [0x1400d9b58], xmm8
movups xmm2, xmmword [rsp + 0xb0]
movsd xmm2, xmm10
movups xmmword [0x1400d9b68], xmm2
movsd xmm0, qword [rsp + 0xc0]
movss xmm0, xmm3
movsd qword [0x1400d9b78], xmm0
movsd xmm0, qword [r14]
ucomisd xmm0, xmm13
jp 0x14005888d
jne 0x14005888d
mov qword [rsi], r12
mov qword [rsi + 8], r12
jmp 0x140058b43
mulsd xmm11, qword [0x1400b5d00]
divsd xmm11, qword [0x1400b5d38]
mulsd xmm10, qword [0x1400b5d00]
divsd xmm10, qword [0x1400b5d38]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm11
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm10
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm12, xmm12
cvtss2sd xmm12, xmm0
movsd qword [rsp + 0x58], xmm12
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm11, xmm11
cvtss2sd xmm11, xmm0
movsd qword [rsp + 0x40], xmm11
cvtpd2ps xmm6, xmm13
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
movsd qword [rsp + 0x50], xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
movsd qword [rsp + 0x68], xmm5
movaps xmm6, xmm9
mulsd xmm6, xmm7
movsd qword [rsp + 0x60], xmm6
movaps xmm15, xmm5
mulsd xmm15, xmm7
cvtpd2ps xmm0, xmm7
cvtps2pd xmm4, xmm0
movaps xmm1, xmm12
mulsd xmm1, xmm8
cvtpd2ps xmm0, xmm1
cvtps2pd xmm3, xmm0
movaps xmm2, xmm9
xorps xmm2, xmmword [0x140064c40]
mulsd xmm2, xmm8
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
cvtps2pd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movaps xmm1, xmm5
mulsd xmm1, xmm11
movaps xmm0, xmm6
mulsd xmm0, xmm12
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm2, xmm0
movsd qword [rsp + 0x70], xmm2
movaps xmm1, xmm5
mulsd xmm1, xmm8
cvtpd2ps xmm0, xmm1
cvtps2pd xmm10, xmm0
movaps xmm2, xmm9
mulsd xmm2, xmm11
movaps xmm0, xmm15
mulsd xmm0, xmm12
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm7, xmm0
movsd xmm14, qword [r14 + 0x10]
subsd xmm14, qword [0x1400d9b58]
movsd xmm12, qword [r14 + 8]
subsd xmm12, qword [0x1400d9b50]
movsd xmm11, qword [r14]
subsd xmm11, qword [0x1400d9b48]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm11
mulsd xmm3, xmm12
addsd xmm1, xmm3
mulsd xmm4, xmm14
addsd xmm1, xmm4
movsd xmm9, qword [0x140064b60]
maxsd xmm9, xmm1
xorps xmm8, xmm8
cvtsi2ss xmm8, dword [0x1400da14c]
mulss xmm8, dword [0x140060290]
movss xmm0, dword [0x1400d9b78]
mulss xmm0, dword [0x1400640f0]
divss xmm0, dword [0x140064b94]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm1, xmm8
divss xmm1, xmm0
cvtps2pd xmm3, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [0x1400da150]
mulss xmm2, dword [0x140060290]
cvtps2pd xmm4, xmm2
movsd xmm0, qword [rsp + 0x50]
mulsd xmm0, qword [rsp + 0x58]
mulsd xmm15, qword [rsp + 0x40]
addsd xmm0, xmm15
xorps xmm0, xmmword [0x140064c40]
cvtsd2ss xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm11
mulsd xmm7, xmm12
addsd xmm1, xmm7
mulsd xmm10, xmm14
addsd xmm1, xmm10
mulsd xmm1, xmm3
divsd xmm1, xmm9
subsd xmm4, xmm1
movq xmm1, xmm6
mulsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm0, qword [rsp + 0x58]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm11
movsd xmm0, qword [rsp + 0x70]
mulsd xmm0, xmm12
addsd xmm1, xmm0
movsd xmm0, qword [rsp + 0x48]
mulsd xmm0, xmm14
addsd xmm1, xmm0
mulsd xmm1, xmm3
divsd xmm1, xmm9
cvtps2pd xmm0, xmm8
addsd xmm1, xmm0
movsd qword [rsi], xmm1
movsd qword [rsi + 8], xmm4
mov rax, rsi
mov qword [r13], rbp
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14005aa20
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, 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 rdi
ret