Function at 0x140003b60
Capabilities:
Get disk information

Disassembly:
push rbx
push rbp
push r12
push r13
push r14
sub rsp, 0x180
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rsp + 0x160], rax
xor bpl, bpl
mov r14d, r9d
mov r12d, r8d
mov r13d, edx
mov rbx, rcx
mov rax, 0xffffffffffffffff
test rcx, rcx
je 0x140003d88
inc rax
cmp byte [rcx + rax], bpl
jne 0x140003ba1
cmp rax, 5
jb 0x140003eeb
cmp byte [rcx], 0x5c
jne 0x140003eeb
cmp byte [rcx + 1], 0x5c
jne 0x140003eeb
cmp byte [rcx + 3], 0x5c
jne 0x140003eeb
mov qword [rsp + 0x1b8], rsi
lea rdx, str._GLOBALROOT
mov qword [rsp + 0x178], rdi
mov r8d, 0xe
mov qword [rsp + 0x170], r15
call fcn.1400a1ff0
test eax, eax
jne 0x140003c43
lea rdx, [rbx + 0xe]
test rdx, rdx
jne 0x140003c10
xor eax, eax
lea rdx, [rbx + 0xe]
jmp 0x140003c20
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], bpl
jne 0x140003c17
inc rax
lea rcx, [rsp + 0x50]
mov edi, 0x104
cmp rax, rdi
cmovb rdi, rax
mov r8, rdi
call fcn.140093550
mov byte [rsp + rdi + 0x4f], bpl
jmp 0x140003c6a
lea rcx, [rbx + 4]
mov r8d, 0x104
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceA]
mov ecx, dword [rsp + 0x50]
mov edx, 0x3f3f3f
test eax, eax
cmove ecx, edx
mov dword [rsp + 0x50], ecx
mov eax, 0xc0000000
xor esi, esi
test r12d, r12d
mov r15d, 0x80000000
cmovne r15d, eax
mov eax, 3
nop dword [rax]
nop word [rax + rax]
mov r8d, 1
mov qword [rsp + 0x30], 0
test r14d, r14d
mov dword [rsp + 0x28], 0x80
mov edx, r15d
mov dword [rsp + 0x20], eax
cmovne r8d, eax
mov rcx, rbx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140003da8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x140003ce4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x140003d56
test esi, esi
jne 0x140003d0a
lea rdx, [rsp + 0x50]
lea rcx, str.Notice:_Volume_Device_Path_is__s
call fcn.140041aa0
mov rdx, rbx
lea rcx, str.Waiting_for_access_on__s...
call fcn.140041aa0
jmp 0x140003d38
test r14d, r14d
jne 0x140003d38
cmp esi, 0x32
jle 0x140003d38
lea rcx, str.Warning:_Could_not_obtain_exclusive_rights._Retrying_with_write_sharing_enabled...
call fcn.140041aa0
xor r8d, r8d
mov dl, 7
mov ecx, 0x1388
mov r14d, 1
call fcn.140026280
movzx ebp, al
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc esi
mov eax, 3
cmp esi, 0x96
jl 0x140003c90
call fcn.140041e50
mov r8, rax
lea rcx, [0x1400d6da8]
mov rdx, rbx
call fcn.140041aa0
mov rsi, qword [rsp + 0x1b8]
mov rax, rdi
mov rdi, qword [rsp + 0x178]
mov r15, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140092060
add rsp, 0x180
pop r14
pop r13
pop r12
pop rbp
pop rbx
ret
test r12d, r12d
je 0x140003dd1
test r14d, r14d
lea rax, str.shared
lea r8, str.exclusive
mov rdx, rbx
cmovne r8, rax
lea rcx, str.Opened__s_for__s_write_access
call fcn.140041aa0
test r13d, r13d
je 0x140003d6d
xor r14d, r14d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], r14
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov edx, 0x90083
mov rcx, rdi
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140003e16
lea rcx, str.I_O_boundary_checks_disabled
call fcn.140041aa0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rsi, [rax + 0x3a98]
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], r14d
xor r8d, r8d
mov edx, 0x90018
mov qword [rsp + 0x20], r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140003d6d
test dword [0x140111620], 0x80000000
jne 0x140003e85
lea ecx, [rax + 0x64]
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, rsi
jb 0x140003e30
call fcn.140041e50
mov r8, rax
lea rcx, str.Could_not_lock_access_to__s:__s
mov rdx, rbx
call fcn.140041aa0
test dword [0x140111620], 0x80000000
jne 0x140003ebf
test bpl, bpl
jne 0x140003ebf
xor r8d, r8d
mov dl, 7
mov ecx, 0x1388
call fcn.140026280
movzx ebp, al
and bpl, 7
cmp bpl, 1
je 0x140003d6d
test rdi, rdi
je 0x140003d6d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, 0xffffffffffffffff
jmp 0x140003d6d
mov rax, 0xffffffffffffffff
jmp 0x140003d88