Function at 0x140042b00
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov rax, qword [0x14017a608]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x1e0]
mov rdi, r9
mov qword [rsp + 0x48], rax
mov ebx, r8d
xor eax, eax
mov qword [rsp + 0x50], r9
mov r15b, al
mov byte [rsp + 0x30], al
mov qword [rsp + 0x40], rax
mov r12b, al
mov byte [rsp + 0x32], al
mov r13d, eax
mov byte [rsp + 0x33], al
mov rsi, rdx
mov byte [rsp + 0x31], al
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x38], rax
mov rcx, qword [0x14017a048]
lea rdx, [0x14017a048]
lea r14d, [rax + 1]
cmp rcx, rdx
je 0x140042bb2
test byte [rcx + 0x1c], r14b
je 0x140042bb2
cmp byte [rcx + 0x19], 4
jb 0x140042bb2
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x5e]
lea r8, [0x14015aeb8]
call fcn.140006b98
xor eax, eax
lea rdx, [0x14017a048]
mov byte [rdi], al
mov rcx, qword [0x14017a048]
cmp rcx, rdx
je 0x140042c29
test byte [rcx + 0x1c], r14b
je 0x140042bf2
cmp byte [rcx + 0x19], 4
jb 0x140042bf2
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov edx, 0x5f
mov r9, rsi
call fcn.1400112c8
mov rcx, qword [0x14017a048]
lea rdx, [0x14017a048]
cmp rcx, rdx
je 0x140042c29
test byte [rcx + 0x1c], r14b
je 0x140042c29
cmp byte [rcx + 0x19], 4
jb 0x140042c29
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov edx, 0x60
mov r9d, ebx
call fcn.140006bc4
mov rcx, qword [0x14017a048]
lea rdx, [0x14017a048]
test rsi, rsi
jne 0x140042c6b
mov ebx, 0x80070057
cmp rcx, rdx
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
lea edi, [rsi + 2]
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [rsi + 0x61]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
call fcn.140006b98
jmp 0x14004331e
mov edi, 2
cmp ebx, edi
je 0x140042ca9
lea eax, [rbx - 4]
cmp eax, edi
ja 0x140042c80
mov r15b, r14b
jmp 0x140042cae
mov ebx, 0x80070057
cmp rcx, rdx
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
mov edx, 0x62
jmp 0x140042c56
mov byte [rsp + 0x30], r14b
lea r8, [rsp + 0x32]
xor edx, edx
mov rcx, rsi
call fcn.14008ad78
mov ebx, eax
xor eax, eax
test ebx, ebx
jns 0x140042d2d
cmp ebx, 0x8078011a
je 0x140042d23
cmp ebx, 0x8078006f
je 0x140042d23
cmp ebx, 0x80780071
je 0x140042d23
mov rcx, qword [0x14017a048]
lea r8, [0x14017a048]
cmp rcx, r8
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [rax + 0x63]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov r9d, ebx
call fcn.140006bc4
jmp 0x14004331e
mov ebx, 0x80780083
jmp 0x14004331e
cmp byte [rsp + 0x32], al
jne 0x140042d23
mov r8d, 0x104
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
nop dword [rax + rax]
test eax, eax
jne 0x140042dcf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [0x14017a048]
lea r8, [0x14017a048]
cmp rcx, r8
je 0x140042d9a
test byte [rcx + 0x1c], 1
je 0x140042d9a
cmp byte [rcx + 0x19], dil
jb 0x140042d9a
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov edx, 0x64
mov dword [rsp + 0x20], eax
mov r9, rsi
call fcn.14003d060
lea eax, [rbx - 2]
mov r14d, 1
lea rdi, [0x14017a048]
cmp eax, r14d
jbe 0x140042dc5
test ebx, ebx
jle 0x140043325
movzx ebx, bx
or ebx, 0x80070000
jmp 0x140043325
mov ebx, 0x80780057
jmp 0x140043325
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
nop dword [rax + rax]
sub eax, edi
je 0x140043313
sub eax, 1
je 0x140042e30
sub eax, 1
je 0x140042e0e
mov r14d, 1
lea rdi, [0x14017a048]
cmp eax, r14d
jne 0x140042dc5
mov ebx, 0x80780082
jmp 0x140043325
lea r8, [0x140158424]
mov edx, 0x748
lea rcx, str.base_stor_blbengine_serviceengine.cpp
call fcn.14008ac24
mov ebx, 0x80780083
jmp 0x140043318
lea rdx, [rsp + 0x31]
lea rcx, [rsp + 0x60]
call fcn.14013b0c4
mov ebx, eax
xor eax, eax
test ebx, ebx
jns 0x140042ee9
cmp ebx, 0x80780076
jne 0x140042e9d
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x140042f3d
test byte [rcx + 0x1c], r14b
je 0x140042f3d
cmp byte [rcx + 0x19], 4
jb 0x140042f3d
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x64]
lea r8, [0x14015aeb8]
call fcn.140006b98
jmp 0x140042f3d
cmp ebx, 0x80070003
jne 0x140042eaf
mov ebx, 0x8078007c
jmp 0x140043318
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [r14 + 0x65]
jmp 0x140042d0b
cmp byte [rsp + 0x31], al
je 0x140042f37
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x140042f2d
test byte [rcx + 0x1c], r14b
je 0x140042f2d
cmp byte [rcx + 0x19], dil
jb 0x140042f2d
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x66]
lea r9, [rsp + 0x60]
lea r8, [0x14015aeb8]
call fcn.1400112c8
mov ebx, 0x80780077
jmp 0x14004331e
mov r14d, 1
lea r8, [rsp + 0x34]
mov dl, r14b
lea rcx, [rsp + 0x60]
call fcn.14013a39c
xor edx, edx
mov ebx, eax
test eax, eax
jns 0x140042fa5
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
mov edx, 0x68
lea r9, [rsp + 0x60]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov dword [rsp + 0x20], ebx
call fcn.140011330
jmp 0x14004331e
mov eax, dword [rsp + 0x34]
bt eax, 0xb
jae 0x140042ffc
mov rcx, qword [0x14017a048]
lea r8, [0x14017a048]
cmp rcx, r8
je 0x140042ff5
test byte [rcx + 0x1c], r14b
je 0x140042ff5
cmp byte [rcx + 0x19], 4
jb 0x140042ff5
mov rcx, qword [rcx + 0x10]
lea r9, [rsp + 0x60]
mov edx, 0x69
mov dword [rsp + 0x20], eax
lea r8, [0x14015aeb8]
call fcn.140011330
mov rcx, qword [0x14017a048]
xor edx, edx
mov ebx, 0x807800c7
jmp 0x140043003
mov rcx, qword [0x14017a048]
or r14, 0xffffffffffffffff
test r15b, r15b
je 0x1400430c4
mov rax, r14
inc rax
cmp word [rsi + rax*2], dx
jne 0x140043013
cmp word [rsi + rax*2 - 2], 0x3a
jne 0x140043063
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x140043059
test byte [rcx + 0x1c], r14b
je 0x140043059
cmp byte [rcx + 0x19], dil
jb 0x140043059
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x69]
mov r9, rsi
lea r8, [0x14015aeb8]
call fcn.1400112c8
mov ebx, 0x80780057
jmp 0x14004331e
mov byte [rsp + 0x31], dl
mov rcx, rsi
lea rdx, [rsp + 0x31]
call fcn.1401068bc
xor edx, edx
mov ebx, eax
test eax, eax
jns 0x1400430b4
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
lea r14d, [rdx + 1]
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [r14 + 0x6a]
jmp 0x140042d0b
cmp byte [rsp + 0x31], dl
jne 0x1400430c4
mov ebx, 0x80780057
jmp 0x140043318
inc r14
cmp word [rsi + r14*2], dx
jne 0x1400430c4
mov r8, r14
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
xor ecx, ecx
test eax, eax
movzx r14d, cl
lea eax, [rcx + 1]
cmove r14d, eax
cmp byte [rsp + 0x30], cl
je 0x14004310c
test r14b, r14b
jne 0x14004310c
mov ebx, 0x80780057
mov r14d, eax
jmp 0x14004331e
test r15b, r15b
je 0x140043309
mov byte [rsp + 0x30], cl
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140091588
mov ebx, eax
test eax, eax
jns 0x140043166
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [r14 + 0x6b]
jmp 0x140042d0b
mov r15, qword [rsp + 0x40]
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.140139f4c
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x1400431ba
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [r14 + 0x6c]
jmp 0x140042d0b
cmp byte [rsp + 0x30], cl
jne 0x1400431ca
mov ebx, 0x80780084
jmp 0x140043318
test r15, r15
je 0x140043268
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14013bc60
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x140043236
mov rcx, qword [0x14017a048]
lea rdi, [0x14017a048]
cmp rcx, rdi
je 0x140043226
test dword [rcx + 0x1c], 0x200
je 0x140043226
cmp byte [rcx + 0x19], 3
jb 0x140043226
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov edx, 0x6e
mov dword [rsp + 0x20], eax
mov r9, r15
call fcn.140011330
mov r13, qword [rsp + 0x38]
mov r14d, 1
jmp 0x140043325
mov r13, qword [rsp + 0x38]
test r14b, r14b
je 0x140043258
mov rcx, r13
call fcn.14008e7a0
xor ecx, ecx
test al, al
je 0x140043258
mov ebx, 0x80780193
jmp 0x140043318
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140043268
mov qword [rax], r13
mov r13, rcx
mov byte [rsp + 0x30], cl
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140106730
mov ebx, eax
xor eax, eax
test ebx, ebx
jns 0x1400432b3
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [r14 + 0x6e]
jmp 0x140042d0b
cmp byte [rsp + 0x30], al
je 0x1400432c0
mov ebx, 0x80780085
jmp 0x140043318
lea rdx, [rsp + 0x33]
mov rcx, rsi
call fcn.1401069a0
mov ebx, eax
test eax, eax
jns 0x140043304
mov rcx, qword [0x14017a048]
lea rax, [0x14017a048]
mov r14d, 1
cmp rcx, rax
je 0x14004331e
test byte [rcx + 0x1c], r14b
je 0x14004331e
cmp byte [rcx + 0x19], dil
jb 0x14004331e
lea edx, [r14 + 0x6f]
mov r9, rsi
jmp 0x140042f8c
mov r12b, byte [rsp + 0x33]
mov rax, qword [rsp + 0x50]
mov byte [rax], r12b
jmp 0x140043318
mov ebx, 0x8078012f
mov r14d, 1
lea rdi, [0x14017a048]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
test r13, r13
je 0x14004334a
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14017a048]
cmp rcx, rdi
je 0x140043377
test byte [rcx + 0x1c], r14b
je 0x140043377
cmp byte [rcx + 0x19], 4
jb 0x140043377
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015aeb8]
mov edx, 0x71
call fcn.140006b98
mov eax, ebx
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.140001d90
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret