Function at 0x140182db0
Capabilities:
Get disk information

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf90]
mov eax, 0x1090
call fcn.1400be3f0
sub rsp, rax
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x10c8], rbx
mov qword [rsp + 0x10d0], rsi
mov qword [rsp + 0x10d8], rdi
mov rax, qword [0x1404a90f8]
xor rax, rsp
mov qword [rbp + 0xf80], rax
mov r13, rcx
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp - 0x80]
call fcn.1400c0ec0
lea rdx, [rbp - 0x80]
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
lea rdi, [rbp - 0x80]
xor esi, esi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], esi
xor r14d, r14d
mov dword [rsp + 0x38], r14d
lea r15, [0x1402901c8]
cmp word [rbp - 0x80], r14w
je 0x140182f85
cmp word [rdi], r14w
je 0x140182ea4
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x50]
call fcn.140047a60
lea rbx, [rax + 4]
and rbx, 0xfffffffffffffffc
lea rcx, [rbx + 0x17]
call fcn.1400be2cc
xor ecx, ecx
xchg dword [rax], ecx
mov qword [rax + 8], rbx
lea rbx, [rax + 0x10]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.140048640
mov r14d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
jmp 0x140182eab
lea rbx, [0x1402901d8]
mov qword [rsp + 0x48], rbx
lea r12d, [r14 + 1]
cmp r12d, dword [rsp + 0x30]
jle 0x140182f29
mov eax, r12d
test r12d, r12d
jns 0x140182ec8
lea eax, [r12 + 1]
sar eax, 1
lea r15d, [r12 + 8]
add r15d, eax
and r15d, 0xfffffff8
cmp dword [rsp + 0x30], r15d
je 0x140182f22
test r15d, r15d
jle 0x140182f0e
movsxd rdx, r15d
test rsi, rsi
jne 0x140182ef9
lea rcx, [rdx*8]
call fcn.1400c1e7c
jmp 0x140182f09
lea rdx, [rdx*8]
mov rcx, rsi
call fcn.1400c1bc8
mov rsi, rax
jmp 0x140182f18
mov rcx, rsi
call fcn.1400c1bd0
xor esi, esi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], r15d
lea r15, [0x1402901c8]
movsxd rax, r14d
mov r14d, r12d
mov dword [rsp + 0x38], r12d
lea rcx, [rsi + rax*8]
test rcx, rcx
je 0x140182f4c
mov qword [rcx], rbx
lea rbx, [0x1402901d8]
mov qword [rsp + 0x48], rbx
lea rcx, [rbx - 0x10]
cmp rcx, r15
je 0x140182f70
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x140182f65
call fcn.1400bd658
mov rsi, qword [rsp + 0x28]
mov r14d, dword [rsp + 0x38]
nop
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x140182f70
cmp word [rdi], ax
jne 0x140182e53
lea eax, [r14 - 1]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x68], rcx
cdqe
inc rax
lea rdx, [rsi + rax*8]
mov r8, rdx
sub r8, rsi
sar r8, 3
lea r9, [rsp + 0x68]
mov rcx, rsi
call fcn.140048b00
xor edi, edi
test r14d, r14d
jle 0x1401830b5
lea r15, [0x1404b1f80]
lea r12, [0x1402901d8]
cmp edi, r14d
setb al
mov rdx, r15
test al, al
cmovne rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.1401810f0
mov ecx, dword [r13 + 0x10]
inc ecx
mov edx, dword [r13 + 8]
cmp ecx, edx
jle 0x14018304d
mov eax, ecx
test ecx, ecx
jns 0x140182ffc
lea eax, [rcx + 1]
sar eax, 1
lea ebx, [rcx + 8]
add ebx, eax
and ebx, 0xfffffff8
cmp edx, ebx
je 0x14018304d
mov rcx, qword [r13]
test ebx, ebx
jle 0x14018303c
movsxd rdx, ebx
test rcx, rcx
jne 0x140183029
lea rcx, [rdx*8]
call fcn.1400c1e7c
jmp 0x140183036
lea rdx, [rdx*8]
call fcn.1400c1bc8
mov qword [r13], rax
jmp 0x140183049
call fcn.1400c1bd0
mov qword [r13], 0
mov dword [r13 + 8], ebx
movsxd rcx, dword [r13 + 0x10]
lea eax, [rcx + 1]
mov dword [r13 + 0x10], eax
mov rax, qword [r13]
lea rdx, [rax + rcx*8]
mov rax, qword [rsp + 0x40]
test rdx, rdx
je 0x140183075
mov qword [rdx], rax
mov rax, r12
mov qword [rsp + 0x40], rax
lea rcx, [rax - 0x10]
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x14018309a
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x140183095
call fcn.1400bd658
mov r14d, dword [rsp + 0x38]
inc edi
add rsi, 8
cmp edi, r14d
jl 0x140182fcf
mov rsi, qword [rsp + 0x28]
lea r15, [0x1402901c8]
test r14d, r14d
jle 0x1401830f0
mov ebx, r14d
nop dword [rax]
mov rax, qword [rsi]
mov qword [rsp + 0x78], rax
lea rcx, [rax - 0x10]
cmp rcx, r15
je 0x1401830e1
or eax, 0xffffffff
lock xadd dword [rcx], eax
test eax, eax
jne 0x1401830e1
call fcn.1400bd658
add rsi, 8
sub rbx, 1
jne 0x1401830c0
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
call fcn.1400c1bd0
mov rcx, qword [rbp + 0xf80]
xor rcx, rsp
call fcn.1400bd5f0
lea r11, [rsp + 0x1090]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret