Function at 0x180045be0
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp - 0x41], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1804e0010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, r8
mov rbx, rdx
mov qword [rbp - 0x39], rdx
xor r12d, r12d
mov dword [rbp - 0x49], r12d
mov rcx, r8
call fcn.18015b200
test al, al
jne 0x180045c60
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
xor r8d, r8d
lea rdx, [0x1803cd4c0]
mov rcx, rbx
call fcn.180005cd0
nop
mov dword [rbp - 0x49], 1
jmp 0x180046132
mov rdx, rdi
lea rcx, [rbp - 0x11]
call fcn.180005900
nop
mov edx, 0x24
lea rcx, [rbp - 0x11]
call fcn.18015fbe0
cmp qword [rbp - 1], 2
jne 0x180045ddb
lea rax, [rbp - 0x11]
mov rdx, qword [rbp - 0x11]
mov r8, qword [rbp + 7]
cmp r8, 8
cmovae rax, rdx
cmp word [rax + 2], 0x3a
jne 0x180045ddb
lea rcx, [rbp - 0x11]
cmp r8, 8
cmovae rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 5
jne 0x180045d06
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x180045d9c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045d97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180045d97
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, rdi
call fcn.18015b200
nop
mov rdx, qword [rbp + 7]
test al, al
jne 0x180045d5d
cmp rdx, 8
jb 0x180045e1e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045e19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180045e19
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp rdx, 8
jb 0x180045d9c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045d97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180045d97
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov word [rbp - 0x11], r12w
mov qword [rbp + 7], 7
mov qword [rbp - 1], r12
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
xor r8d, r8d
lea rdx, [0x1803cd4c0]
mov rcx, rbx
call fcn.180005cd0
mov dword [rbp - 0x49], 1
jmp 0x180046132
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x180045e1e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045e19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180045e19
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov word [rbp - 0x11], r12w
mov qword [rbp + 7], 7
mov qword [rbp - 1], r12
mov rdx, rdi
lea rcx, [rbp - 0x31]
call fcn.180005900
nop
mov rcx, qword [rbp - 0x21]
mov r15, rcx
cmp rcx, 1
jb 0x180045ef8
test rcx, rcx
je 0x180045ef8
lea r14, [rcx*2 - 2]
mov rdi, rcx
lea rsi, [rdi - 1]
cmp rcx, rsi
jbe 0x18004615d
lea rax, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae rax, qword [rbp - 0x31]
movzx edx, word [r14 + rax]
lea rcx, [0x1803cf7f8]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x180045ea5
mov rdi, rsi
sub r14, 2
test rsi, rsi
je 0x180045ea5
mov rcx, qword [rbp - 0x21]
jmp 0x180045e61
cmp rdi, r15
jae 0x180045ef4
mov r8, qword [rbp - 0x21]
cmp r8, rdi
jb 0x180046163
sub r15, rdi
mov rax, r8
sub rax, rdi
cmp rax, r15
cmovb r15, rax
lea rax, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae rax, qword [rbp - 0x31]
lea rcx, [rax + rdi*2]
sub r8, r15
mov qword [rbp - 0x21], r8
sub r8, rdi
lea r8, [r8*2 + 2]
lea rdx, [rcx + r15*2]
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [rbp - 0x21]
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae rdx, qword [rbp - 0x31]
test rcx, rcx
je 0x1800460b5
dec rcx
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea r9, [rdx + rax*2]
cmp word [r9], 0x5c
je 0x180045f44
nop dword [rax + rax]
cmp r9, rdx
je 0x1800460b5
sub r9, 2
cmp word [r9], 0x5c
jne 0x180045f30
sub r9, rdx
sar r9, 1
cmp r9, 0xffffffffffffffff
je 0x1800460b5
inc r9
xor r8d, r8d
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x31]
call fcn.18000fe40
nop
lea rcx, [rbp + 0xf]
call fcn.18015b200
test al, al
je 0x180045ff1
movups xmm0, xmmword [rbp + 0xf]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x1f]
movups xmmword [rbx + 0x10], xmm1
movdqa xmm0, xmmword [0x1803f7240]
movdqu xmmword [rbp + 0x1f], xmm0
mov word [rbp + 0xf], r12w
mov dword [rbp - 0x49], 1
movdqu xmmword [rbp + 0x1f], xmm0
mov word [rbp + 0xf], r12w
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x180046121
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004611c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004611c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
xor r8d, r8d
lea rdx, [0x1803cd4c0]
mov rcx, rbx
call fcn.180005cd0
mov dword [rbp - 0x49], 1
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x18004605d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046058
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180046058
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
movdqa xmm0, xmmword [0x1803f7240]
movdqu xmmword [rbp + 0x1f], xmm0
mov word [rbp + 0xf], r12w
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x180046121
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004611c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004611c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
xor r8d, r8d
lea rdx, [0x1803cd4c0]
mov rcx, rbx
call fcn.180005cd0
mov dword [rbp - 0x49], 1
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x180046121
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004611c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004611c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x19], 7
mov word [rbp - 0x31], r12w
mov rax, rbx
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180393f50
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.18000be20
int3
call fcn.18000be20
int3