Function at 0x100036024
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, 0x70
mov rax, qword [0x10003d110]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbx, rdx
lea rdx, [0x100022fd8]
mov rbp, rcx
call fcn.100033ebc
xor r14d, r14d
cmp al, r14b
jne 0x10003607a
lea rdx, [0x100023058]
mov rcx, rbp
call fcn.100033ebc
mov edx, 0x800
cmp al, r14b
je 0x10003607f
mov edx, 0x104
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
lea r12d, [rax + 1]
mov eax, edx
not rcx
sub rcx, r12
cmp rcx, rax
jae 0x10003645d
mov rcx, qword [rbp + 0x28]
call fcn.100039c5c
lea rdx, [0x100022fd8]
mov rcx, rbp
movzx r13d, ax
mov word [rsp + 0x50], ax
lea eax, [r12 + 0x2d]
mov word [rsp + 0x52], ax
mov word [rsp + 0x54], ax
mov word [rsp + 0x56], r13w
mov word [rsp + 0x58], r14w
call fcn.100033ebc
lea r15d, [r12 + 2]
cmp al, r14b
je 0x100036164
lea rdi, [0x100024814]
mov rsi, rbx
mov rcx, r15
repe cmpsw word [rsi], word [rdi]
je 0x10003615a
lea rdx, [rsp + 0x52]
mov r8, r15
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsncmp]
cmp eax, r14d
je 0x10003615a
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsstr]
cmp rax, r14
jne 0x10003615a
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
cmp rcx, r15
jb 0x100036155
lea rcx, [rbx + rcx*2 - 6]
lea rdx, [rsp + 0x50]
mov r8, r15
call qword [sym.imp.msvcrt.dll_wcsncmp]
mov r12d, r14d
cmp eax, r14d
setne r12b
cmp r12d, r14d
jne 0x100036164
mov edi, 0xc00d132b
jmp 0x100036462
lea rdx, [0x100022fd8]
mov rcx, rbp
call fcn.100033ebc
mov r12d, 2
cmp al, r14b
je 0x1000361b9
mov rcx, rbx
call fcn.100039cf8
cmp al, r14b
je 0x10003624c
lea r8d, [r12 + 2]
lea rdx, [0x100024820]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsncmp]
cmp eax, r14d
je 0x10003624c
add rbx, 4
mov edi, r14d
jmp 0x1000363ff
lea rdx, [0x100023018]
mov rcx, rbp
call fcn.100033ebc
cmp al, r14b
jne 0x100036232
lea rdx, [0x100022a78]
mov rcx, rbp
call fcn.100033ebc
cmp al, r14b
jne 0x1000361b1
lea rdx, [0x100023048]
mov rcx, rbp
call fcn.100033ebc
cmp al, r14b
je 0x1000362bf
cmp word [rbx], 0x41
mov edi, 0xc00d1327
jb 0x10003620a
cmp word [rbx], 0x5a
jbe 0x10003621e
cmp word [rbx], 0x61
jb 0x100036462
cmp word [rbx], 0x7a
ja 0x100036462
cmp word [rbx + 2], r13w
jne 0x1000362b8
add rbx, 4
jmp 0x100036284
add rbx, r12
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswdigit]
cmp eax, r14d
jne 0x10003622f
cmp word [rbx], r13w
je 0x100036256
cmp word [rbx], r14w
je 0x10003626d
mov edi, 0xc00d1327
jmp 0x100036462
cmp word [rbx], r14w
je 0x10003626d
add rbx, r12
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswdigit]
cmp eax, r14d
jne 0x10003625c
movzx eax, word [rbx]
mov edi, 0xc00d1327
neg ax
sbb ecx, ecx
and edi, ecx
jmp 0x1000363fa
add rbx, r12
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswdigit]
cmp eax, r14d
jne 0x100036281
cmp word [rbx], r13w
jne 0x1000362a9
add rbx, r12
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswdigit]
cmp eax, r14d
jne 0x100036298
cmp word [rbx], r14w
jne 0x100036462
jmp 0x1000361b1
cmp word [rbx + 2], r14w
jmp 0x1000362ad
lea rdx, [0x100023058]
mov rcx, rbp
call fcn.100033ebc
cmp al, r14b
je 0x10003639f
lea rcx, [rsp + 0x30]
mov edi, 0xc00d1327
call fcn.10002fbf0
lea rcx, [rsp + 0x30]
mov r8d, r15d
mov rdx, rbx
call fcn.10002fd60
cmp eax, r14d
jl 0x100036393
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 5
jne 0x100036393
lea rdx, [0x100021d40]
lea rcx, [rsp + 0x40]
call fcn.100030a5c
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.100030a5c
mov rcx, qword [rsp + 0x20]
cmp rcx, r14
je 0x100036345
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
jmp 0x100036348
mov esi, r14d
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x10003635a
call qword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x10003635d
mov eax, r14d
add eax, r12d
cmp esi, eax
jne 0x10003637f
lea rdx, [0x100021d40]
lea rcx, [rsp + 0x20]
mov r8d, r12d
call fcn.1000306dc
cmp eax, r12d
cmove edi, r14d
lea rcx, [rsp + 0x20]
call fcn.100030020
lea rcx, [rsp + 0x40]
call fcn.100030020
lea rcx, [rsp + 0x30]
call fcn.100030020
jmp 0x1000363fa
lea rdx, [0x100023098]
mov rcx, rbp
call fcn.100033ebc
cmp al, r14b
jne 0x1000363d6
lea rdx, [0x100022ad8]
mov rcx, rbp
call fcn.100033ebc
cmp al, r14b
jne 0x1000363d6
cmp word [rbx], r13w
jne 0x10003624c
jmp 0x1000361b1
lea rdx, [0x100024830]
mov r8d, 4
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, r14d
je 0x1000361b1
mov edi, 0xc00d1327
cmp edi, r14d
jl 0x100036462
cmp rbx, r14
je 0x100036462
mov rcx, qword [rbp + 0x28]
lea rdx, [0x100024808]
call fcn.10002fba4
cmp al, r14b
jne 0x100036455
mov rcx, qword [rbp + 0x28]
call fcn.100039ca0
cmp rax, r14
je 0x100036462
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcspbrk]
cmp rax, r14
je 0x100036462
mov edi, 0xc00d1325
jmp 0x100036462
movzx ecx, word [rbx]
call qword [sym.imp.SHLWAPI.dll_PathGetCharTypeW]
cmp eax, r14d
je 0x100036438
cmp eax, 4
je 0x100036438
add rbx, r12
cmp word [rbx], r14w
jne 0x10003643f
jmp 0x100036462
mov edi, 0xc00d1331
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.10003a9b0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret