Function at 0x180004d10
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 - 0x430]
sub rsp, 0x530
mov rax, qword [0x18005a098]
xor rax, rsp
mov qword [rbp + 0x420], rax
mov r11d, r9d
mov dword [rsp + 0x64], r9d
mov r10, r8
mov qword [rbp - 0x80], r8
mov r8, rdx
mov qword [rsp + 0x68], rdx
mov r13, rcx
mov r9, qword [rbp + 0x490]
mov qword [rbp - 0x78], r9
mov rsi, qword [rbp + 0x498]
mov r12, qword [rbp + 0x4a0]
xor ecx, ecx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], cl
mov qword [rbp - 0x48], rcx
mov eax, 0xf
mov qword [rbp - 0x40], rax
mov byte [rbp - 0x58], cl
mov r14d, r11d
imul ebx, r11d, 0x6f0
mov dword [rsp + 0x70], ebx
movzx edx, byte [rsp + 0x60]
cmp r11d, ebx
movzx ebx, byte [rsp + 0x60]
mov byte [rsp + 0x60], dl
ja 0x1800052fa
mov edi, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x68]
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x74], eax
cmp r14d, 0x5a7e
ja 0x180005112
je 0x1800050f2
cmp r14d, 0xca
ja 0x180004f12
je 0x180004ebd
mov eax, r14d
sub eax, 0x1a
je 0x180004eb6
sub eax, 0x34
je 0x180004e2d
cmp eax, 0x5e
jne 0x180004e94
mov eax, 0x626f
mov word [rbp], ax
mov dword [rbp + 2], 0x65727261
mov eax, 0x64
mov word [rbp + 6], ax
jmp 0x180004e94
mov eax, dword [r8]
test eax, eax
je 0x1800051b4
cmp qword [r12 + 0x10], 0
je 0x1800051b4
cmp qword [rsi + 0x10], 0
je 0x1800051b4
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor edx, edx
mov r8d, 0xe5
lea rcx, [rbp - 0x38]
call fcn.180039e70
mov r9, qword [rbp - 0x78]
mov r11d, dword [rsp + 0x64]
mov r10, qword [rbp - 0x80]
mov r8, qword [rsp + 0x68]
movzx edx, byte [rsp + 0x60]
xor ecx, ecx
imul eax, r11d, 0x94
add r14d, eax
cmp r14d, dword [rsp + 0x70]
jbe 0x180004dd2
mov rax, qword [rbp - 0x40]
mov r10, qword [rbp - 0x70]
jmp 0x18000530a
mov qword [r12 + 0x10], rcx
jmp 0x180004e94
mov r8, rcx
mov edx, 0xe4
cmp edx, 0xe4
jne 0x180004ef4
mov rax, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180004edc
mov rax, qword [r12]
mov rcx, qword [rsi]
movzx eax, byte [rcx + rax]
sub al, 0x67
cmp al, 0x13
ja 0x180005269
lea rax, [rcx + 1]
mov qword [rsi], rax
add edx, 0x9cc0
cmp edx, 0x9cc0
jbe 0x180004ec5
inc r8
cmp r8, 4
jb 0x180004ec0
mov bl, 1
jmp 0x180004e88
cmp r14d, 0xe1
je 0x180004f90
cmp r14d, 0x2d66
jne 0x180004e94
mov rcx, qword [r12 + 0x10]
cmp qword [rsi + 0x10], rcx
cmovae rcx, qword [rsi + 0x10]
mov qword [rsp + 0x78], rcx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0x10f
lea r8, [rbp - 0x38]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.180008c30
mov r9, qword [rbp - 0x78]
cmp r9, r12
je 0x180004e7f
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180004f77
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, r9
call fcn.180015250
jmp 0x180004e7b
mov r11d, 0x36
cmp r11d, 0x36
je 0x180004fe9
cmp r11d, 0x1c44
je 0x180004fc5
cmp r11d, 0x3852
jne 0x1800050d9
movzx eax, word [r12 + 2]
lea rsi, [rsi + rax*2]
add r12, 4
jmp 0x1800050d9
cmp word [r12 + 2], 0
jne 0x1800050d9
mov r11d, dword [rsp + 0x64]
movzx edx, byte [rsp + 0x60]
xor ecx, ecx
mov r14d, 0x82f5
jmp 0x180004e94
cmp word [r12], 0
je 0x1800050d9
nop word [rax + rax]
mov edx, 0xe6
nop word [rax + rax]
mov eax, edx
sub eax, 0xe6
je 0x1800050a7
sub eax, 1
je 0x18000507a
sub eax, 1
je 0x180005062
cmp eax, 1
jne 0x1800050b7
movzx ecx, word [rsi + 2]
imul ecx, r15d
movzx eax, word [r10]
imul eax, edi
add ecx, eax
shr ecx, 0xf
mov word [rsi + 2], cx
movzx ecx, word [rsi + 4]
imul ecx, r15d
movzx eax, word [r9]
imul eax, edi
add ecx, eax
shr ecx, 0xf
mov word [rsi + 4], cx
jmp 0x1800050b7
movzx ecx, word [r8]
imul ecx, edi
movzx eax, word [rsi]
imul eax, r15d
add ecx, eax
shr ecx, 0xf
mov word [rsi], cx
jmp 0x1800050b7
mov r15d, 0x8000
sub r15d, edi
mov rax, qword [rbp + 0x4a8]
movzx eax, word [rax]
imul edi, eax
shr edi, 0xf
movzx eax, word [rsi + 6]
imul eax, r15d
shr eax, 0xf
add ax, di
mov word [rsi + 6], ax
jmp 0x1800050b7
movzx edi, word [r12]
movzx eax, word [r13]
imul edi, eax
shr edi, 0xf
inc edx
cmp edx, 0xea
jb 0x180005010
add r12, 2
add rsi, 8
cmp word [r12], 0
jne 0x180005000
add r11d, 0x1c0e
cmp r11d, 0x542a
jbe 0x180004f96
jmp 0x180004f90
mov rax, qword [r10]
mov qword [rsp + 0x78], rax
lea r8, [rsp + 0x78]
mov edx, 0x32
lea rcx, [rbp - 0x58]
call fcn.18001b7a0
jmp 0x180004e7b
cmp r14d, 0x641c
je 0x180005194
cmp r14d, 0x82f5
je 0x180004fde
cmp r14d, 0xc78c
je 0x180005176
cmp r14d, 0x12afc
je 0x18000515a
cmp r14d, 0x18e6c
jne 0x180004e94
mov qword [rbp - 0x70], rcx
mov dl, 1
mov byte [rsp + 0x60], dl
mov dword [rsp + 0x74], ecx
jmp 0x180004e94
mov dword [rbp + 0x10], 0x697279
mov dword [rbp + 0x13], 0x696c6c
mov eax, 0x63
mov word [rbp + 0x16], ax
jmp 0x180004e94
mov eax, 0x72
mov word [rbp + 0xa], ax
mov eax, 0x7365
mov word [rbp + 0xb], ax
mov dword [rbp + 0xd], 0x637369
jmp 0x180004e94
mov eax, 0x64
mov word [rbp + 7], ax
mov eax, 0x69
mov word [rbp + 8], ax
mov eax, 0x65
mov word [rbp + 9], ax
jmp 0x180004e94
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1800051f1
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800051ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005673
call fcn.1800431e4
xor ecx, ecx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x18000523c
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005237
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800056ce
call fcn.1800431e4
movzx eax, bl
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.1800436f0
mov rbx, qword [rsp + 0x570]
add rsp, 0x530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1800052a4
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000529f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005673
call fcn.1800431e4
mov qword [rbp - 0x48], 0
mov byte [rbp - 0x58], 0
mov qword [rbp - 0x40], 0xf
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1800052f3
inc rdx
mov rcx, qword [rbp - 0x38]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1800052ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800056ce
call fcn.1800431e4
xor al, al
jmp 0x18000523f
mov r10, qword [rbp - 0x70]
mov qword [rbp - 0x70], r10
mov ecx, dword [rsp + 0x70]
mov dword [rsp + 0x74], ecx
lea r14d, [r11 + 0xd]
cmp r11d, r14d
jae 0x180005644
lea esi, [r11 - 0xac]
mov r12d, dword [rsp + 0x68]
mov r13d, dword [rsp + 0x68]
mov r15, qword [rbp - 0x60]
mov edi, dword [rsp + 0x68]
lea r8, [0x180000000]
cmp esi, 0x1e
ja case.0x18000534b.12
mov ecx, dword [r8 + rsi*4 + 0x56d8]
add rcx, r8
jmp rcx
mov r12d, 0xa
jmp case.0x18000534b.12
xor eax, eax
mov r13d, eax
test dl, dl
je case.0x18000534b.12
lea rdx, [rbp - 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetCommTimeouts]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180005509
lea rax, [rbp]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov r15, rax
mov dword [rsp + 0x70], 0xa
jmp 0x180005509
cmp dword [rbp - 0x68], 2
jb 0x1800053fd
mov edi, 0x29
nop
mov eax, edi
sub eax, 0x27
je 0x18000552f
sub eax, 1
je 0x1800053dd
cmp eax, 1
jne 0x1800053ec
xor eax, eax
mov word [rbp + 0x20], ax
jmp 0x1800053ec
lea rdx, [rbp + 0x20]
mov ecx, 0x1ff
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
dec edi
cmp edi, 0x26
ja 0x1800053c0
mov r11d, dword [rsp + 0x64]
movzx edx, byte [rsp + 0x60]
mov edi, 0xa
jmp case.0x18000534b.12
xor eax, eax
mov qword [rbp - 0x60], rax
lea r9, [rbp - 0x68]
xor r8d, r8d
lea edx, [rax + 0x34]
xor ecx, ecx
call fcn.18001b7a0
test al, al
jne 0x180005509
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x180005461
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000545c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005673
call fcn.1800431e4
xor eax, eax
mov qword [rbp - 0x48], rax
mov byte [rbp - 0x58], al
jmp 0x1800052b0
xor edx, edx
mov ecx, 0xf0
call fcn.1800041b0
cmp eax, 3
setae bl
jmp 0x180005509
xor eax, eax
mov ecx, eax
movzx eax, dl
test r15, r15
cmovne ecx, eax
movzx edx, cl
mov byte [rsp + 0x60], cl
jmp case.0x18000534b.12
mov dword [rbp - 0x78], 0xa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x18], xmm0
mov dword [rbp - 8], eax
jmp case.0x18000534b.12
xor eax, eax
mov dword [rbp - 0x80], eax
mov dword [rsp + 0x78], eax
jmp case.0x18000534b.12
xor eax, eax
mov dword [rsp + 0x68], eax
jmp case.0x18000534b.12
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x48], edi
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x20], eax
mov r9d, r12d
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x74]
mov rcx, r10
call qword [sym.imp.GDI32.dll_GdiTransparentBlt]
mov r11d, dword [rsp + 0x64]
movzx edx, byte [rsp + 0x60]
inc r11d
mov dword [rsp + 0x64], r11d
inc esi
cmp r11d, r14d
jae 0x180005640
mov r10, qword [rbp - 0x70]
jmp 0x180005330
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x18000556d
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005568
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180005568
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800431e4
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], al
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1800055bc
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800055b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800055b7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800431e4
mov al, 1
jmp 0x18000523f
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1800055fa
inc rdx
mov rcx, qword [rbp - 0x58]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1800055f5
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005673
call fcn.1800431e4
xor eax, eax
mov byte [rbp - 0x58], al
mov qword [rbp - 0x40], 0xf
mov qword [rbp - 0x48], rax
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x18000523c
inc rdx
mov rcx, qword [rbp - 0x38]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180005237
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
jmp 0x180005229
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x18000567f
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000567a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000567a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800431e4
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], al
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x18000523c
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005237
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180005237
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3