Function at 0x44e880
Capabilities:
Get disk information

Disassembly:
push rbp
push r13
push rdi
push rsi
push rbx
sub rsp, 0x90
mov rbp, rsp
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
nop
xor ebx, ebx
call sub.kernel32.dll_GetLogicalDrives
mov dword [rbp + 0x50], eax
xor eax, eax
mov dword [rbp + 0x54], eax
mov eax, 1
mov ecx, dword [rbp + 0x54]
shl eax, cl
mov ecx, dword [rbp + 0x50]
test eax, ecx
je 0x44eac7
mov rcx, qword [rbp + 0x48]
mov rdx, qword [0x0044e140]
mov r8d, 1
mov r9d, ebx
add r9d, 1
movsxd r9, r9d
call fcn.00414390
mov r13d, dword [rbp + 0x54]
movsxd r13, r13d
lea rcx, [rbp + 0x68]
mov edx, dword [rbp + 0x54]
add dx, 0x41
call fcn.004112e0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov rcx, r13
imul rcx, rcx, 0xb
lea rcx, [rax + rcx*4 + 8]
mov rdx, qword [rbp + 0x68]
lea r8, [0x0044eb28]
call fcn.004116c0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov rcx, r13
imul rcx, rcx, 0xb
mov rcx, qword [rax + rcx*4 + 8]
call fcn.004112a0
mov rcx, rax
call sub.kernel32.dll_GetDriveTypeW
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx]
mov rdx, r13
imul rdx, rdx, 0xb
mov dword [rcx + rdx*4 + 0x10], eax
mov ecx, 0x104
call fcn.00409240
mov rsi, rax
mov ecx, 0x104
call fcn.00409240
mov rdi, rax
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov rcx, r13
imul rcx, rcx, 0xb
mov rcx, qword [rax + rcx*4 + 8]
call fcn.004112a0
mov rcx, rax
mov rdx, rsi
mov r8d, 0x104
xor r9, r9
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x8c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x38], 0x104
call sub.kernel32.dll_GetVolumeInformationW
lea rcx, [rbp + 0x60]
mov rdx, rsi
call fcn.00437ae0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov rcx, r13
imul rcx, rcx, 0xb
lea rcx, [rax + rcx*4]
mov rdx, qword [rbp + 0x60]
xor r8, r8
call fcn.00410ea0
lea rcx, [rbp + 0x58]
mov rdx, rdi
call fcn.00437ae0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov rcx, r13
imul rcx, rcx, 0xb
lea rcx, [rax + rcx*4 + 0x24]
mov rdx, qword [rbp + 0x58]
xor r8, r8
call fcn.00410ea0
mov rcx, rsi
call fcn.00409270
mov rcx, rdi
call fcn.00409270
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov rcx, r13
imul rcx, rcx, 0xb
mov rcx, qword [rax + rcx*4 + 8]
call fcn.004112a0
mov rcx, rax
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x80]
xor r9, r9
mov rax, qword [0x006eda70]
call qword [rax]
test eax, eax
je 0x44ea96
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
imul r13, r13, 0xb
mov rcx, qword [rbp + 0x80]
mov qword [rax + r13*4 + 0x14], rcx
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x54]
movsxd rcx, ecx
imul rcx, rcx, 0xb
mov rdx, qword [rbp + 0x78]
mov qword [rax + rcx*4 + 0x1c], rdx
jmp 0x44eac4
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
imul r13, r13, 0xb
mov qword [rax + r13*4 + 0x14], 0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x54]
movsxd rcx, ecx
imul rcx, rcx, 0xb
mov qword [rax + rcx*4 + 0x1c], 0
add ebx, 1
mov eax, dword [rbp + 0x54]
add eax, 1
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x54]
cmp eax, 0x1a
jne 0x44e8bc
nop
nop
lea rcx, [rbp + 0x58]
mov edx, 3
call fcn.0040fd80
mov rax, qword [rbp + 0x48]
lea rsp, [rbp + 0x90]
pop rbx
pop rsi
pop rdi
pop r13
pop rbp
ret