Function at 0x140005540
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov rax, qword [0x14004c040]
xor rax, rsp
mov qword [rbp + 0x440], rax
movsx ebx, cl
mov dword [rbp + 0x378], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x368], xmm0
xor r15d, r15d
mov qword [rbp + 0x368], r15
mov byte [rbp + 0x370], r15b
lea eax, [rbx - 0x61]
cmp al, 0x19
setbe cl
lea eax, [rbx - 0x41]
cmp al, 0x19
setbe al
or cl, al
je 0x1400055e9
mov r8d, ebx
lea rdx, str._c:_
lea rcx, [rbp + 0x360]
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x360]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 5
jne 0x1400055e9
movzx ecx, bl
call fcn.14000dd70
mov qword [rbp + 0x368], rax
cmp rax, 0xffffffffffffffff
jne 0x140005630
mov qword [rbp + 0x368], r15
mov edx, ebx
lea rcx, [0x140044d30]
call fcn.140003140
nop
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x14000560a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.1400109c0
mov rbx, qword [rsp + 0x590]
add rsp, 0x550
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov byte [rbp + 0x370], bl
mov edx, ebx
lea rcx, [0x140044d68]
call fcn.140003140
lea rdx, [rbp + 0x390]
mov rcx, qword [rbp + 0x368]
call fcn.14000dec0
test al, al
je 0x14000566e
lea rdx, [rbp + 0x417]
lea rcx, [0x140044d90]
call fcn.140003140
lea rcx, [0x140044da8]
call fcn.140003140
lea r8, [rbp + 0x378]
lea rdx, [rbp + 0x380]
call fcn.1400089a0
mov rdx, qword [rax]
add rdx, 0x18
cmp qword [rdx + 0x18], 0xf
jbe 0x14000569e
mov rdx, qword [rdx]
lea rcx, str._t_s_n
call fcn.140003140
lea rax, [rbp + 0x368]
mov qword [rbp + 0x380], rax
lea rcx, [0x140044dc0]
call fcn.140003140
lea rdx, [rbp + 0x360]
lea rcx, [rbp + 0x380]
call fcn.14000d9c0
test al, al
jne 0x1400056ec
lea rcx, [0x140044dd8]
call fcn.140003140
jmp 0x1400055f8
lea rcx, [0x140044a9c]
call fcn.140003140
xorps xmm0, xmm0
movups xmmword [rbp + 0x340], xmm0
mov qword [rbp + 0x350], r15
mov qword [rbp + 0x358], 0xf
mov byte [rbp + 0x340], 0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x368]
call fcn.14000e550
test al, al
je 0x14000573d
movzx esi, byte [rsp + 0x31]
shr esi, 4
and esi, 1
jmp 0x140005742
mov esi, 2
mov ecx, dword [rbp + 0x378]
sub ecx, 2
je 0x1400059a1
sub ecx, 1
je 0x140005a13
sub ecx, 1
je 0x14000591d
sub ecx, 1
je 0x1400058e0
cmp ecx, 1
jne 0x140005a4c
lea rcx, [0x1400450c0]
call fcn.140003140
movzx eax, byte [rbp + 0x364]
test al, 8
jne 0x140005798
lea rcx, [0x140044fa0]
jmp 0x140005a46
test al, 0x10
jne 0x1400057a8
lea rcx, [0x140045050]
jmp 0x140005a46
cmp esi, 1
jne 0x1400057b9
lea rcx, [0x1400450f0]
jmp 0x14000587c
lea rcx, [0x140044fe8]
call fcn.140003140
mov qword [rbp + 0x350], r15
lea rax, [rbp + 0x340]
cmp qword [rbp + 0x358], 0xf
cmova rax, qword [rbp + 0x340]
mov byte [rax], 0
lea r8, [rbp + 0x340]
xor edx, edx
lea rcx, [rbp + 0x368]
call fcn.140005ab0
movzx ebx, al
cmp qword [rbp + 0x350], 0
jne 0x140005816
lea rcx, [0x140045008]
call fcn.140003140
jmp 0x140005839
lea rdx, [rbp + 0x340]
cmp qword [rbp + 0x358], 0xf
cmova rdx, qword [rbp + 0x340]
lea rcx, [0x140045024]
call fcn.140003140
test bl, bl
je 0x140005a4c
mov ebx, r15d
nop dword [rax]
nop dword [rax + rax]
mov edx, 5
sub edx, ebx
lea rcx, str._r_t_u
call fcn.140003140
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 5
jb 0x140005850
lea rcx, [0x140045148]
call fcn.140003140
lea rcx, [0x140045168]
call fcn.140003140
lea rax, [rbp + 0x340]
cmp qword [rbp + 0x358], 0xf
mov edx, 1
cmova rax, qword [rbp + 0x340]
mov qword [rbp + 0x350], r15
mov byte [rax], 0
lea r8, [rbp + 0x340]
lea rcx, [rbp + 0x368]
call fcn.140005ab0
cmp qword [rbp + 0x350], 0
jne 0x140005979
lea rcx, [0x140045008]
jmp 0x140005a46
lea rcx, [0x140044f50]
call fcn.140003140
test esi, esi
jne 0x1400058fc
lea rcx, [0x140045028]
jmp 0x140005a46
test byte [rbp + 0x364], 0x10
jne 0x140005911
lea rcx, [0x140045050]
jmp 0x140005a46
lea rcx, [0x1400450a0]
jmp 0x140005888
lea rcx, [0x140044f50]
call fcn.140003140
cmp esi, 1
jne 0x14000593a
lea rcx, [0x140044f78]
jmp 0x140005a46
test byte [rbp + 0x364], 8
jne 0x14000594f
lea rcx, [0x140044fa0]
jmp 0x140005a46
lea rcx, [0x140044fe8]
call fcn.140003140
lea rax, [rbp + 0x340]
cmp qword [rbp + 0x358], 0xf
cmova rax, qword [rbp + 0x340]
xor edx, edx
jmp 0x1400058a9
lea rdx, [rbp + 0x340]
cmp qword [rbp + 0x358], 0xf
cmova rdx, qword [rbp + 0x340]
lea rcx, [0x140045024]
call fcn.140003140
jmp 0x140005a4c
lea rcx, [0x140044e18]
call fcn.140003140
movzx edi, byte [rbp + 0x364]
test dil, 8
lea r14, [0x140044e28]
lea rbx, [0x140044e30]
mov rdx, rbx
cmovne rdx, r14
lea rcx, [0x140044e38]
call fcn.140003140
test dil, 0x10
mov rdx, rbx
cmovne rdx, r14
lea rcx, [0x140044e60]
call fcn.140003140
test dil, 1
cmovne rbx, r14
mov rdx, rbx
lea rcx, [0x140044e90]
call fcn.140003140
lea rcx, [0x140044a9c]
call fcn.140003140
lea rcx, [0x140044ed0]
call fcn.140003140
test esi, esi
je 0x140005a3f
sub esi, 1
je 0x140005a36
cmp esi, 1
jne 0x140005a4c
lea rcx, [0x140044f28]
jmp 0x140005a46
lea rcx, [0x140044f08]
jmp 0x140005a46
lea rcx, [0x140044ee8]
call fcn.140003140
nop
mov rdx, qword [rbp + 0x358]
cmp rdx, 0xf
jbe 0x140005a89
inc rdx
mov rcx, qword [rbp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005a84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aa7
call fcn.1400109e0
mov qword [rbp + 0x350], r15
mov qword [rbp + 0x358], 0xf
mov byte [rbp + 0x340], 0
jmp 0x1400055f8
call fcn.14001a174
int3