Function at 0x41cbb0
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
sub rsp, 0x2e0
mov qword [rsp + 0xb0], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x004bf230]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov rsi, rdx
mov rbp, rcx
xor ebx, ebx
mov word [rsp + 0xc0], bx
xor edx, edx
mov r8d, 0x208
lea rcx, [r11 - 0x236]
call fcn.00449860
cmp qword [rsi + 0x20], 8
jb 0x41cc13
lea rdi, [rsi + 8]
mov rcx, qword [rdi]
jmp 0x41cc1a
lea rdi, [rsi + 8]
mov rcx, rdi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov r8d, 0x105
lea rdx, [rsp + 0xc0]
call fcn.0044504c
cmp byte [rbp + 0x51], bl
jne 0x41ced5
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, ebx
je 0x41ce0f
cmp eax, 1
je 0x41ce0f
cmp eax, 2
jne 0x41cd40
mov edx, 0x1255
lea rcx, [rsp + 0x80]
call fcn.00452494
nop
cmp qword [rax + 0x20], 8
jb 0x41cc9a
mov rdx, qword [rax + 8]
jmp 0x41cc9e
lea rdx, [rax + 8]
mov esi, 7
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x50]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0x50
mov rax, qword [rcx]
lea r8d, [rsi + 9]
lea rdx, [rsp + 0x50]
call qword [rax + 0x18]
nop
cmp qword [rsp + 0x70], 8
jb 0x41ccfa
mov rcx, qword [rsp + 0x58]
call fcn.00443d3c
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
cmp qword [rsp + 0xa0], 8
jb 0x41cd21
mov rcx, qword [rsp + 0x88]
call fcn.00443d3c
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], rbx
mov word [rsp + 0x88], bx
xor eax, eax
jmp 0x41d080
cmp eax, 3
je 0x41ced5
mov edx, 0x1256
lea rcx, [rsp + 0x80]
call fcn.00452494
nop
cmp qword [rax + 0x20], 8
jb 0x41cd69
mov rdx, qword [rax + 8]
jmp 0x41cd6d
lea rdx, [rax + 8]
mov esi, 7
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x50]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0x50
mov rax, qword [rcx]
lea r8d, [rsi + 9]
lea rdx, [rsp + 0x50]
call qword [rax + 0x18]
nop
cmp qword [rsp + 0x70], 8
jb 0x41cdc9
mov rcx, qword [rsp + 0x58]
call fcn.00443d3c
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
cmp qword [rsp + 0xa0], 8
jb 0x41cdf0
mov rcx, qword [rsp + 0x88]
call fcn.00443d3c
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], rbx
mov word [rsp + 0x88], bx
xor eax, eax
jmp 0x41d080
mov edx, 0x1254
lea rcx, [rsp + 0x80]
call fcn.00452494
nop
cmp qword [rax + 0x20], 8
jb 0x41ce2f
mov rdx, qword [rax + 8]
jmp 0x41ce33
lea rdx, [rax + 8]
mov esi, 7
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x50]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0x50
mov rax, qword [rcx]
lea r8d, [rsi + 9]
lea rdx, [rsp + 0x50]
call qword [rax + 0x18]
nop
cmp qword [rsp + 0x70], 8
jb 0x41ce8f
mov rcx, qword [rsp + 0x58]
call fcn.00443d3c
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
cmp qword [rsp + 0xa0], 8
jb 0x41ceb6
mov rcx, qword [rsp + 0x88]
call fcn.00443d3c
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], rbx
mov word [rsp + 0x88], bx
xor eax, eax
jmp 0x41d080
mov dword [rsp + 0x80], 0x126d
mov dword [rsp + 0x84], 0x1269
mov dword [rsp + 0x88], 0x126a
mov dword [rsp + 0x8c], 0x126c
mov dword [rsp + 0x90], 0x126e
mov dword [rsp + 0x94], 0x126b
mov eax, dword [0x004c6da0]
test al, 1
jne 0x41cf5f
or eax, 1
mov dword [0x004c6da0], eax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x80]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
lea rdx, [rsp + 0x50]
lea rcx, [0x004c5840]
call fcn.004528a0
nop
mov dword [rsp + 0xac], ebx
mov dword [rsp + 0xa8], ebx
cmp qword [rsi + 0x20], 8
jb 0x41cf77
mov rdi, qword [rdi]
movzx eax, byte [rbp + 0x51]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0xac]
mov rdx, rdi
lea rcx, [0x004c5840]
call fcn.00452dcc
cmp eax, ebx
je 0x41d07b
mov edx, dword [rsp + 0xac]
lea rcx, [rsp + 0x80]
call fcn.00452494
nop
cmp qword [rax + 0x20], 8
jb 0x41cfc8
mov rdx, qword [rax + 8]
jmp 0x41cfcc
lea rdx, [rax + 8]
mov esi, 7
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x50]
call fcn.00404e54
nop
mov rcx, qword [rbp + 0x48]
add rcx, 0x50
mov rax, qword [rcx]
mov r8d, dword [rsp + 0xa8]
lea rdx, [rsp + 0x50]
call qword [rax + 0x18]
cmp eax, 1
sete dil
cmp qword [rsp + 0x70], 8
jb 0x41d032
mov rcx, qword [rsp + 0x58]
call fcn.00443d3c
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
cmp qword [rsp + 0xa0], 8
jb 0x41d059
mov rcx, qword [rsp + 0x88]
call fcn.00443d3c
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], rbx
mov word [rsp + 0x88], bx
cmp dil, bl
sete bl
mov eax, ebx
jmp 0x41d080
mov eax, 1
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.00443d60
mov rbx, qword [rsp + 0x310]
add rsp, 0x2e0
pop rdi
pop rsi
pop rbp
ret