Function at 0x180002bd8
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x50
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
cmp ecx, 0x5a
jne 0x180002e79
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
mov ecx, 0x12
call fcn.180002bd8
cvttss2si rax, xmm0
xorps xmm2, xmm2
xorps xmm0, xmm0
cvtsi2sd xmm2, rax
movaps xmm1, xmm2
divsd xmm1, qword [0x180030d88]
subsd xmm2, xmm1
divsd xmm1, xmm1
cvttsd2si rax, xmm1
cvtsi2sd xmm0, rax
subsd xmm2, xmm0
cvttsd2si eax, xmm2
cmp eax, 3
jle 0x180002cb5
movss xmm0, dword [0x180030e98]
call fcn.180002b2c
movsd xmm3, qword [0x180030d68]
movss xmm4, dword [0x180030df0]
movaps xmm0, xmm3
xorps xmm1, xmm1
subsd xmm0, xmm3
cvttsd2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
movd xmm2, eax
cvtdq2pd xmm2, xmm2
cvtss2sd xmm1, xmm0
addsd xmm3, xmm2
movaps xmm4, xmm0
mulsd xmm1, xmm3
subsd xmm2, xmm1
cvttsd2si eax, xmm2
cmp eax, 3
jl 0x180002c65
mov ebx, 0x41
call qword [sym.imp.USER32.dll_CreateMenu]
add ebx, ebx
cmp ebx, 0x14
jl 0x180002ca3
jmp 0x180002d50
call qword [sym.imp.USER32.dll_GetOpenClipboardWindow]
movsd xmm0, qword [0x180030da0]
call fcn.180003110
cvttsd2si edx, xmm0
lea eax, [rdx - 0x2e]
movsx ecx, al
sub edx, ecx
cmp edx, 0x3c
jg 0x180002d25
mov sil, 0x39
mov ebx, 0x25
jmp 0x180002d1c
call qword [sym.imp.USER32.dll_GetCapture]
mov ecx, ebx
call fcn.180002bd8
xorps xmm6, xmm6
mov ecx, ebx
cvtss2sd xmm6, xmm0
add sil, bl
call fcn.180002bd8
movsx eax, sil
cvttss2si ebx, xmm0
imul eax, ebx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm6, xmm0
cvttsd2si edx, xmm6
cmp edx, 0xd
jge 0x180002ce3
test edx, edx
jns 0x180002d50
mov ebx, 0x46
lea r8d, [rbx - 0x44]
movsx eax, r8b
movsx ecx, bl
imul ecx, eax
mov eax, 1
sub eax, r8d
mov r8d, eax
movsx ebx, cl
mov eax, ebx
cdq
idiv r8d
test eax, eax
js 0x180002d2e
mov ebx, 0x1c
add ebx, ebx
cmp ebx, 0x59
jle 0x180002d64
call qword [sym.imp.KERNEL32.dll_GetErrorMode]
jmp 0x180002d69
cmp ebx, 0x51
jg 0x180002d92
movsd xmm0, qword [0x180030d18]
call fcn.180003110
xorps xmm2, xmm2
movaps xmm1, xmm0
mulsd xmm1, qword [0x180030d70]
cvtsd2ss xmm1, xmm1
cvtss2sd xmm2, xmm1
addsd xmm2, xmm0
jmp 0x180002db8
movss xmm0, dword [0x180030ed8]
call fcn.180003164
movsd xmm2, qword [0x180030de8]
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
divsd xmm2, xmm1
cvttsd2si eax, xmm2
cmp eax, 0x4e
jle 0x180002d55
mov edi, 0xc
lea esi, [rdi + 0x29]
xorps xmm0, xmm0
cvtsi2sd xmm0, rdi
call fcn.180003110
mov rax, rdi
movaps xmm6, xmm0
cqo
xorps xmm0, xmm0
idiv rsi
mov rdi, rax
cvtsi2ss xmm0, rax
call fcn.180002b2c
movsx rsi, al
xorps xmm1, xmm1
mov rax, rsi
imul rax, rdi
cvtsi2sd xmm1, rax
subsd xmm6, xmm1
cvttsd2si eax, xmm6
cmp eax, 0xd
jl 0x180002e25
mov ecx, 0x3d
call fcn.180002bd8
mov ecx, 0x17
call fcn.180002bd8
movsd xmm6, qword [0x180030d30]
call qword [sym.imp.USER32.dll_GetCapture]
movaps xmm0, xmm6
subsd xmm0, xmm6
cvttsd2si rbx, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
call fcn.180002b2c
xorps xmm0, xmm0
movsx rcx, al
sub rbx, rcx
cvtsi2sd xmm0, rcx
addsd xmm6, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
subsd xmm0, xmm6
cvttsd2si eax, xmm0
cmp eax, 0x33
jne 0x180002e2d
jmp 0x180002dc9
movsd xmm6, qword [0x180030d40]
call qword [sym.imp.ole32.dll_OleUninitialize]
subsd xmm6, xmm6
cvtpd2ps xmm0, xmm6
call fcn.180002b2c
movsx rbx, al
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
call fcn.180003110
movss xmm7, dword [0x180030df0]
mov rax, rbx
cvttsd2si rcx, xmm0
cqo
xorps xmm0, xmm0
idiv rcx
cvtsi2sd xmm0, rax
subsd xmm6, xmm0
cvttsd2si eax, xmm6
cmp eax, 0xa
jge 0x180002fa1
xor eax, eax
xor edi, edi
cdq
mov ecx, 0x58
idiv edi
movd xmm8, eax
cvtdq2pd xmm8, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm7
movaps xmm1, xmm0
movaps xmm7, xmm0
divss xmm1, dword [0x180030c94]
cvtps2pd xmm0, xmm1
divsd xmm0, xmm8
cvttsd2si eax, xmm0
cmp eax, 0x73
jne 0x180002fdb
movsd xmm6, qword [0x180030d70]
movaps xmm0, xmm6
call fcn.180003110
cvttsd2si rax, xmm0
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movaps xmm1, xmm2
divsd xmm1, xmm6
movaps xmm0, xmm1
movaps xmm6, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
cmp eax, 4
je 0x180002f54
call qword [sym.imp.USER32.dll_EmptyClipboard]
call qword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
mov ecx, 1
call fcn.180002bd8
movsd xmm2, qword [0x180030ce0]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
cmp eax, 0x53
jge 0x180002f1f
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
movss xmm0, dword [0x180030ef8]
call fcn.180002b2c
movsx eax, al
mov ecx, edi
cmp eax, 0xa
jl 0x180002ee9
cmp eax, 0x36
jb 0x1800030c6
movsd xmm6, qword [0x180030e00]
mov ebx, 0x46
movsd xmm2, qword [0x180030dd0]
movaps xmm1, xmm6
mulsd xmm6, xmm6
cvttsd2si eax, xmm6
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
jmp 0x18000305a
movss xmm6, dword [0x180030ec0]
movss xmm7, dword [0x180030cc8]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movaps xmm0, xmm7
subss xmm0, xmm6
movaps xmm1, xmm0
movaps xmm6, xmm0
mulss xmm1, xmm7
cvttss2si eax, xmm1
movsx eax, al
movd xmm7, eax
cvtdq2ps xmm7, xmm7
addss xmm0, xmm7
cvttss2si eax, xmm0
cmp eax, 0x78
jle 0x180002feb
movsd xmm2, qword [0x180030da8]
movaps xmm1, xmm2
xorps xmm6, xmm6
subsd xmm1, xmm2
movaps xmm0, xmm2
cvtsd2ss xmm6, xmm1
call fcn.180003110
movaps xmm2, xmm0
cvtps2pd xmm0, xmm6
addsd xmm0, xmm2
cvttsd2si eax, xmm0
cmp eax, 0x75
jne 0x180003025
jmp 0x180002fdb
movaps xmm0, xmm2
mulsd xmm0, xmm2
movaps xmm2, xmm0
cvttsd2si eax, xmm0
cmp eax, 0x64
jg 0x180003050
cmp eax, ebx
jne 0x18000306f
call qword [sym.imp.KERNEL32.dll_GetThreadErrorMode]
jmp 0x180003075
call qword [sym.imp.USER32.dll_IsWow64Message]
movss xmm0, dword [0x180030ea8]
call fcn.180002b2c
movsd xmm1, qword [0x180030d80]
movsx ecx, al
cmp ecx, 0x27
jne 0x1800030bd
xorps xmm2, xmm2
movaps xmm0, xmm1
subsd xmm0, xmm2
xorps xmm2, xmm2
cvttsd2si rax, xmm0
cvtsi2sd xmm2, rax
addsd xmm1, xmm2
movaps xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si ecx, xmm0
cmp ecx, 0x27
je 0x180003095
cmp ecx, 0x36
jge 0x180002fb7
movss xmm2, dword [0x180030ce8]
divss xmm2, xmm2
movaps xmm1, xmm2
addss xmm2, xmm1
movaps xmm0, xmm2
addss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, 0xa
jge 0x1800030ce
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x20]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
add rsp, 0x50
pop rdi
ret