Function at 0x100004de8
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x10000f100]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r15, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0x1f8]
xor ebx, ebx
mov r13d, ebx
mov r14, r9
mov r12, rdx
mov rbp, rcx
lea rcx, [rsp + 0x60]
mov r9, r14
mov r8, r12
mov edx, 0x100
mov qword [rsp + 0x28], rsi
inc r13d
mov dword [rsi + 0x200], ebx
mov byte [rsi], bl
mov dword [rsi + 0x220], ebx
mov qword [rsi + 0x228], rbx
mov qword [rsp + 0x20], rbx
call fcn.1000028cc
cmp eax, ebx
je 0x10000515c
cmp dword [rsp + 0x1f0], ebx
jne 0x100004f74
lea rcx, [rsp + 0x60]
xor r8d, r8d
mov edx, 0x8000
call fcn.1000061b0
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x100004eb5
lea r9, [rsp + 0x60]
lea r8, [0x1000013d0]
lea rdx, [0x1000015c8]
mov rcx, rsi
call fcn.100002688
mov edx, ebx
jmp 0x100004f26
mov r8, qword [rbp + 0x38]
cmp r8, rbx
je 0x100004ef6
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.1000068a8
cmp eax, ebx
je 0x100004ef6
movzx eax, word [rsp + 0x1d8]
cmp word [rsp + 0x50], ax
jne 0x100004eed
movzx eax, word [rsp + 0x1e0]
cmp word [rsp + 0x52], ax
je 0x100004f19
lea rdx, [0x100001d38]
jmp 0x100004f05
cmp dword [rsi + 0x200], ebx
jne 0x100004f19
lea rdx, [0x100001c10]
lea r9, [rsp + 0x60]
lea r8, [0x1000013d0]
mov rcx, rsi
call fcn.100002688
mov rcx, rdi
call fcn.100006014
mov edx, 1
cmp dword [rsi + 0x200], ebx
je 0x100005189
cmp r13d, 1
jg 0x100004f3c
cmp edx, ebx
je 0x100004f74
lea r9, [0x1000013d0]
lea r8, [0x100001d60]
lea rcx, [rbp + 0x168]
mov edx, 0x200
mov qword [rsp + 0x20], rsi
call fcn.1000032d0
lea rdx, [rbp + 0x168]
lea rcx, [0x100001d6c]
call qword [sym.imp.msvcrt.dll_printf]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x60]
repne scasb al, byte [rdi]
mov dword [rsp + 0x40], 0x5c3a78
not rcx
dec rcx
cmp rcx, 2
jb 0x100004fbe
movzx ecx, byte [rsp + 0x60]
call qword [sym.imp.msvcrt.dll_isalpha]
cmp eax, ebx
je 0x100004fbe
cmp byte [rsp + 0x61], 0x3a
jne 0x100004fbe
movsx ecx, byte [rsp + 0x60]
call qword [sym.imp.msvcrt.dll_toupper]
mov edi, eax
sub dil, 0x40
jmp 0x100004fc7
call qword [sym.imp.msvcrt.dll__getdrive]
mov dil, al
lea rcx, [rsp + 0x40]
add dil, 0x40
mov byte [rsp + 0x40], dil
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
lea rbx, [rbp + 0x168]
lea r9, [0x100001d74]
mov edx, 0x200
mov rcx, rbx
cmp eax, 2
jne 0x100005016
movsx eax, dil
lea r8, [0x100001d80]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
call fcn.1000032d0
jmp 0x10000502c
lea r8, [0x100001e20]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
call fcn.1000032d0
lea rcx, [0x100001b84]
mov rdx, rbx
call qword [sym.imp.msvcrt.dll_printf]
mov r8, qword [sym.imp.msvcrt.dll__iob]
lea rcx, [rsp + 0x60]
mov edx, 0xff
call qword [sym.imp.msvcrt.dll_fgets]
xor ebx, ebx
cmp rax, rbx
je 0x100005195
or r9, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x60]
mov rcx, r9
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp ecx, ebx
jle 0x100005086
movsxd rax, ecx
cmp byte [rsp + rax + 0x5f], 0xa
jne 0x100005086
mov byte [rsp + rax + 0x5f], bl
xor eax, eax
lea rdi, [rsp + 0x60]
mov rcx, r9
repne scasb al, byte [rdi]
not rcx
cmp rcx, 1
je 0x10000514f
lea rdi, [rsp + 0x60]
mov edx, 0x100
mov rcx, r12
sub rdi, r12
lea rax, [rdx + 0x7ffffefe]
cmp rax, rbx
je 0x1000050cd
mov al, byte [rdi + rcx]
cmp al, bl
je 0x1000050cd
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1000050af
cmp rdx, rbx
jne 0x1000050d5
dec rcx
xor eax, eax
mov byte [rcx], bl
mov rdi, r12
mov rcx, r9
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx - 2]
cdqe
add rax, r12
cmp byte [rax], bl
je 0x100005107
cmp byte [rax], 0x5c
je 0x100005107
cmp byte [rax], 0x2f
je 0x100005107
cmp byte [rax], 0x3a
je 0x100005107
mov byte [rax + 1], 0x5c
mov byte [rax + 2], bl
lea rcx, [rbp + 0x768]
mov rdi, r12
mov edx, 0x100
sub rdi, rcx
mov r8d, ebx
lea rax, [rdx + 0x7ffffefe]
cmp rax, rbx
je 0x10000513a
mov al, byte [rdi + rcx]
cmp al, bl
je 0x10000513a
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x10000511c
cmp rdx, rbx
jne 0x100005148
dec rcx
mov r8d, 0x8007007a
cmp r8d, ebx
mov byte [rcx], bl
jl 0x100005190
cmp dword [rsp + 0x1e8], ebx
jne 0x100004e2f
xor eax, eax
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.10000d2f0
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 1
jmp 0x10000515e
mov eax, r9d
jmp 0x10000515e
lea rdx, [0x100001e90]
mov rcx, rsi
call fcn.100002688
or eax, 0xffffffff
jmp 0x10000515e