Function at 0x140009b20
Capabilities:
Get disk information
Get disk information via ioctl
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1110]
mov eax, 0x1210
call fcn.1400b3400
sub rsp, rax
mov rax, qword [0x140193440]
xor rax, rsp
mov qword [rbp + 0x10a0], rax
xor ebx, ebx
mov qword [rbp - 0x68], rdx
mov esi, r8d
mov dword [rsp + 0x78], ebx
mov r14, rdx
mov dword [rbp - 0x74], ebx
mov edi, ecx
mov dword [rbp - 0x78], r9d
xor edx, edx
mov dword [rbp - 0x80], 0x7060401
mov r8d, 0x100
mov dword [rbp - 0x7c], 0xef0e0c0b
lea rcx, [rbp - 0x60]
mov r15d, ebx
mov r12d, r9d
call fcn.140136540
xor edx, edx
lea rcx, [rbp + 0xa0]
mov r8d, 0x1000
call fcn.140136540
test r14, r14
je 0x14000a929
xor edx, edx
mov dword [0x1401e90a0], ebx
mov r8d, 0x580
lea rcx, [0x1401e90a8]
call fcn.140136540
mov r13d, 1
mov byte [r14], bl
mov r8d, r13d
xor r9d, r9d
xor edx, edx
mov ecx, edi
call fcn.140006090
mov rbx, rax
test rax, rax
je 0x140009c18
mov dword [rsp + 0x38], esi
xor r9d, r9d
mov qword [rsp + 0x30], r14
xor r8d, r8d
xor r14d, r14d
xor edx, edx
mov qword [rsp + 0x28], r14
mov rcx, rax
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
jne 0x140009c2e
jmp 0x140009c1b
xor r14d, r14d
test r12d, r12d
jne 0x140009c2e
mov edx, edi
lea rcx, str.No_volume_information_for_drive_0x_02x
call fcn.14004f2f0
mov rcx, rbx
call fcn.1400e8c70
mov ecx, edi
call fcn.140005f90
mov r9d, r13d
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.140005bf0
mov rcx, rbx
mov qword [rbp - 0x70], rax
mov r13, rax
call fcn.1400e8c70
cmp r13, 0xffffffffffffffff
je 0x14000a929
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x74]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rbp - 0x60]
mov dword [rsp + 0x28], 0x100
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x700a0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14000a900
cmp dword [rsp + 0x74], r15d
jbe 0x14000a900
mov r8, qword [rbp - 0x4c]
mov rcx, qword [rbp - 0x48]
mov qword [0x1401e9080], rcx
mov dword [0x1401e9090], r8d
mov dword [0x1401e9094], 0xffffffff
cmp r8d, 0x200
jae 0x140009cfd
test r12d, r12d
jne 0x140009cf3
mov edx, edi
lea rcx, str.Warning:_Drive_0x_02x_reports_a_sector_size_of__d___Correcting_to_512_bytes.
call fcn.14004f2f0
mov rcx, qword [0x1401e9080]
mov dword [0x1401e9090], 0x200
mov eax, dword [rbp - 0x50]
mov ebx, 1
mov dword [0x1401e908c], eax
mov eax, dword [rbp - 0x58]
mov dword [0x1401e9098], eax
test r12d, r12d
jne 0x140009d6a
mov r8d, ebx
xor edx, edx
call fcn.14004ffe0
cmp dword [0x1401e9098], 0xc
lea rdx, str.Removable
mov r9d, dword [0x1401e9090]
lea rcx, str.Disk_type:__s__Disk_size:__s__Sector_size:__d_bytes
mov r8, rax
lea rax, str.FIXED
cmove rdx, rax
call fcn.14004f2f0
mov r9d, dword [rbp - 0x50]
lea rcx, str.Cylinders:__lli__Tracks_per_cylinder:__d__Sectors_per_track:__d
mov r8d, dword [rbp - 0x54]
mov rdx, qword [rbp - 0x60]
call fcn.14004f2f0
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x74]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rbp + 0xa0]
mov dword [rsp + 0x28], 0x1000
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x70050
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14000a8ed
cmp dword [rsp + 0x74], r15d
jbe 0x14000a8ed
mov eax, dword [rbp + 0xa0]
movaps xmmword [rsp + 0x1200], xmm6
movaps xmmword [rsp + 0x11f0], xmm7
movaps xmmword [rsp + 0x11e0], xmm8
movaps xmmword [rsp + 0x11d0], xmm9
movaps xmmword [rsp + 0x11c0], xmm10
movaps xmmword [rsp + 0x11b0], xmm11
test eax, eax
je 0x14000a3d8
cmp eax, 1
je 0x140009e1c
mov dword [0x1401e909c], r14d
test r12d, r12d
jne 0x14000a8a1
lea rcx, str.Partition_type:_RAW
call fcn.14004f2f0
jmp 0x14000a8a1
mov dword [0x1401e909c], ebx
test r12d, r12d
jne 0x140009efb
mov edx, dword [rbp + 0xa4]
lea rcx, str.Partition_type:_GPT__NB_Partitions:__d
call fcn.14004f2f0
movzx ecx, byte [rbp + 0xb6]
movzx edx, byte [rbp + 0xb5]
movzx r8d, byte [rbp + 0xb4]
movzx eax, byte [rbp + 0xb7]
movzx r10d, byte [rbp + 0xb3]
movzx r11d, byte [rbp + 0xb2]
movzx ebx, byte [rbp + 0xb1]
movzx edi, byte [rbp + 0xb0]
movzx esi, word [rbp + 0xae]
movzx r9d, word [rbp + 0xac]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], ecx
lea rcx, [0x1401e2e50]
mov dword [rsp + 0x50], edx
lea rdx, str._08X__04X__04X__02X_02X__02X_02X_02X_02X_02X_02X
mov dword [rsp + 0x48], r8d
mov r8d, dword [rbp + 0xa8]
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
call fcn.14004ee10
lea rdx, [0x1401e2e50]
lea rcx, str.Disk_GUID:__s
call fcn.14004f2f0
mov r9, qword [rbp + 0xc0]
lea rcx, str.Max_parts:__d__Start_Offset:__lli__Usable___lli_bytes
mov r8, qword [rbp + 0xb8]
mov edx, dword [rbp + 0xc8]
call fcn.14004f2f0
mov r9d, dword [rbp + 0xa4]
mov r15d, r14d
mov dword [rsp + 0x70], r14d
test r9d, r9d
je 0x14000a8a1
movsd xmm9, qword [0x140176fe0]
lea rdx, [0x140000000]
movsd xmm8, qword [0x140176f68]
lea r12, [0x1401570c0]
movsd xmm10, qword [0x140176fc0]
movsd xmm11, qword [0x140176f90]
mov rdi, qword [0x140158028]
mov r14, qword [0x140158020]
mov r10, qword [0x140157a68]
mov r13, qword [0x140157a60]
mov r11, qword [0x140158038]
mov rsi, qword [0x140158030]
nop
mov ebx, r15d
cmp r15d, 0x10
jae 0x140009fd1
imul r8, rbx, 0x58
lea rcx, [rbx + rbx*8]
shl rcx, 4
mov rax, qword [rbp + rcx + 0xd8]
mov qword [r8 + rdx + 0x1e90f0], rax
mov rax, qword [rbp + rcx + 0xe0]
mov qword [r8 + rdx + 0x1e90f8], rax
lea rdx, [rbp + 0x118]
add rdx, rcx
lea rax, [0x1401e90a8]
sub r8, rdx
add r8, rax
nop dword [rax]
movzx eax, word [rdx]
mov word [r8 + rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x140009fc0
inc dword [0x1401e90a0]
lea r8, [rbx + rbx*8]
shl r8, 4
lea rdx, [rbp + 0x118]
add rdx, r8
mov rax, rbx
xor ecx, ecx
nop
movzx eax, word [rdx + rcx*2]
cmp ax, word [r12 + rcx*2]
jne 0x14000a017
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r12 + rcx*2 + 2]
jne 0x14000a017
add rcx, 2
cmp rcx, 0xa
jne 0x140009ff0
xor r12d, r12d
jmp 0x14000a01e
sbb r12d, r12d
or r12d, 1
cmp dword [rbp - 0x78], 0
jne 0x14000a2ee
lea rdx, [rbp + 0xf0]
add rdx, r8
lea r11, [0x140194560]
xor r8d, r8d
mov r9, r11
xor r10d, r10d
test rdx, rdx
je 0x14000a06b
mov rax, qword [r9]
test rax, rax
je 0x14000a06b
mov rcx, qword [rdx]
sub rcx, qword [rax]
jne 0x14000a05f
mov rcx, qword [rdx + 8]
sub rcx, qword [rax + 8]
xor eax, eax
test rcx, rcx
sete al
test eax, eax
jne 0x14000a07b
inc r8d
inc r10
add r9, 0x10
cmp r8d, 0x68
jb 0x14000a042
cmp r8d, 0x68
jae 0x14000a08b
add r10, r10
mov rax, qword [r11 + r10*8 + 8]
jmp 0x14000a093
mov rcx, rdx
call fcn.14004fe10
lea rcx, str.__UEFI:NTFS_
test r12d, r12d
lea rdi, [0x1401564ce]
mov r9, rax
mov r8, rdi
lea edx, [r15 + 1]
cmove r8, rcx
lea rcx, str.Partition__d_s:_r_n__Type:__s
call fcn.14004f2f0
lea rbx, [rbx + rbx*8]
shl rbx, 4
cmp word [rbp + rbx + 0x118], 0
je 0x14000a0e7
lea rdx, [rbp + 0x118]
add rdx, rbx
lea rcx, str.__Name:__S
call fcn.14004f2f0
mov rdx, qword [rbp + rbx + 0xd8]
mov rcx, qword [rbp - 0x70]
call fcn.1400096a0
mov rdx, rax
lea rcx, str.__Detected_File_System:__s
call fcn.14004f2f0
mov rcx, qword [rbp + rbx + 0xe0]
xorps xmm7, xmm7
test rcx, rcx
js 0x14000a11e
cvtsi2sd xmm7, rcx
jmp 0x14000a133
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm7, rax
addsd xmm7, xmm7
xor ebx, ebx
comisd xmm9, xmm7
ja 0x14000a14a
inc rbx
mulsd xmm7, xmm8
cmp rbx, 5
jl 0x14000a135
test rbx, rbx
jne 0x14000a171
mov rax, qword [0x140196210]
lea r9, str._s_d_s__s
mov qword [rsp + 0x38], rax
cvttsd2si ecx, xmm7
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], ecx
jmp 0x14000a1c0
movaps xmm6, xmm7
movaps xmm0, xmm7
mulsd xmm6, xmm10
call fcn.140135bc0
lea rax, str._s_0.0f_s__s
mulsd xmm0, xmm10
lea r9, str._s_0.1f_s__s
subsd xmm6, xmm0
comisd xmm11, xmm6
cmova r9, rax
lea rax, [0x140000000]
mov rax, qword [rax + rbx*8 + 0x196210]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
movsd qword [rsp + 0x28], xmm7
lea r13, [0x1401e2e30]
mov qword [rsp + 0x20], rdi
mov rcx, r13
mov r8, 0xffffffffffffffff
mov edx, 0x20
call fcn.140004fd0
mov eax, r15d
lea r8, [rbp + 0x100]
mov byte [0x1401e2e4f], 0
lea r15, [rax + rax*8]
shl r15, 4
add r8, r15
jne 0x14000a203
xor r10d, r10d
jmp 0x14000a279
movzx ecx, byte [r8 + 0xe]
movzx edx, byte [r8 + 0xd]
movzx eax, byte [r8 + 0xf]
movzx r10d, byte [r8 + 0xc]
movzx r11d, byte [r8 + 0xb]
movzx ebx, byte [r8 + 0xa]
movzx edi, byte [r8 + 9]
movzx esi, byte [r8 + 8]
movzx r14d, word [r8 + 6]
movzx r9d, word [r8 + 4]
mov r8d, dword [r8]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], ecx
lea rcx, [0x1401e2e50]
mov dword [rsp + 0x50], edx
lea rdx, str._08X__04X__04X__02X_02X__02X_02X_02X_02X_02X_02X
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r14d
call fcn.14004ee10
lea r10, [0x1401e2e50]
mov ecx, dword [0x1401e9090]
mov r8, r13
mov rax, qword [rbp + r15 + 0xd8]
mov r9, qword [rbp + r15 + 0xe0]
cqo
idiv rcx
mov rdx, r10
mov rcx, rax
mov rax, qword [rbp + r15 + 0x110]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, str.__ID:__s_r_n__Size:__s___lli_bytes__r_n__Start_Sector:__lli__Attributes:_0x_016llX
call fcn.14004f2f0
mov r9d, dword [rbp + 0xa4]
mov r10, qword [0x140157a68]
mov r11, qword [0x140158038]
mov rdi, qword [0x140158028]
mov r14, qword [0x140158020]
mov r13, qword [0x140157a60]
mov rsi, qword [0x140158030]
jmp 0x14000a2f9
mov eax, r15d
lea r15, [rax + rax*8]
shl r15, 4
mov rax, qword [rbp + r15 + 0xd8]
mov ecx, dword [0x1401e9090]
cqo
idiv rcx
cmp dword [0x1401e9094], eax
jb 0x14000a31a
mov dword [0x1401e9094], eax
test r12d, r12d
je 0x14000a365
lea rdx, [rbp + 0xf0]
add rdx, r15
je 0x14000a3af
mov rcx, qword [rdx]
sub rcx, r14
jne 0x14000a33e
mov rcx, qword [rdx + 8]
sub rcx, rdi
xor eax, eax
test rcx, rcx
sete al
test eax, eax
jne 0x14000a365
mov rcx, qword [rdx]
sub rcx, r13
jne 0x14000a359
mov rcx, qword [rdx + 8]
sub rcx, r10
xor eax, eax
test rcx, rcx
sete al
test eax, eax
je 0x14000a36b
dec dword [0x1401e90a0]
mov r15d, dword [rsp + 0x70]
lea rax, [rbp + 0xf0]
lea rcx, [r15 + r15*8]
shl rcx, 4
add rax, rcx
je 0x14000a3b4
mov rcx, qword [rax]
sub rcx, rsi
jne 0x14000a393
mov rcx, qword [rax + 8]
sub rcx, r11
xor eax, eax
test rcx, rcx
mov ecx, dword [rsp + 0x78]
sete al
test eax, eax
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x78], ecx
jmp 0x14000a3b4
mov r15d, dword [rsp + 0x70]
inc r15d
lea rdx, [0x140000000]
mov dword [rsp + 0x70], r15d
lea r12, [0x1401570c0]
cmp r15d, r9d
jb 0x140009f70
jmp 0x14000a8a1
mov ecx, dword [rbp + 0xa4]
mov dword [0x1401e909c], r14d
test ecx, ecx
je 0x14000a407
lea rax, [rbp + 0xf0]
cmp byte [rax], r15b
je 0x14000a3fb
inc dword [0x1401e90a0]
add rax, 0x90
sub rcx, 1
jne 0x14000a3f0
lea rbx, [0x1401564ce]
cmp byte [rbp + 0xf0], r15b
je 0x14000a445
cmp qword [rbp + 0xd8], r15
jne 0x14000a445
test r12d, r12d
jne 0x14000a438
lea rdx, str.Super_Floppy_Disk
lea rcx, str.Partition_type:_SFD___s__or_unpartitioned
call fcn.14004f2f0
mov edx, 1
mov r15d, edx
mov dword [rbp - 0x74], edx
jmp 0x14000a4bd
test r12d, r12d
jne 0x14000a490
mov edx, dword [0x1401e90a0]
lea rcx, str.Partition_type:_MBR__NB_Partitions:__d
call fcn.14004f2f0
mov edx, dword [rbp + 0xa8]
lea rcx, str.Disk_ID:_0x_08X__s
cmp edx, 0x49464555
mov eax, r14d
mov r8, rbx
sete al
mov dword [0x1401e9640], eax
lea rax, str._UEFI_target_
cmove r8, rax
call fcn.14004f2f0
jmp 0x14000a4a6
cmp dword [rbp + 0xa8], 0x49464555
mov eax, r14d
sete al
mov dword [0x1401e9640], eax
mov r8d, r12d
lea rdx, str.Drive
mov rcx, r13
call fcn.140008620
mov edx, 1
xor r12d, r12d
cmp dword [rbp + 0xa4], r12d
jbe 0x14000a8a1
movsd xmm9, qword [0x140176fe0]
lea rbx, [0x140000000]
movsd xmm8, qword [0x140176f68]
lea rcx, str.__UEFI:NTFS_
movsd xmm10, qword [0x140176fc0]
movsd xmm11, qword [0x140176f90]
nop
xor esi, esi
lea rdi, [r12 + r12*8]
add rdi, rdi
mov dword [rsp + 0x70], esi
movzx r14d, byte [rbp + rdi*8 + 0xf0]
test r14b, r14b
je 0x14000a88d
cmp r14b, 4
jne 0x14000a544
test r15d, r15d
je 0x14000a5d3
cmp qword [0x1401e9080], 0x1000000
jg 0x14000a8a1
jmp 0x14000a5d3
cmp r14b, 0xef
jne 0x14000a5d3
mov ecx, dword [0x1401e9090]
call fcn.1400c4f6c
mov rbx, rax
test rax, rax
je 0x14000a5c5
mov rdx, qword [rbp + rdi*8 + 0xd8]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x14000a5bd
mov r8d, dword [0x1401e9090]
lea r9, [rsp + 0x74]
mov rdx, rbx
mov qword [rsp + 0x20], rsi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000a5bd
lea rcx, [rbx + 0x2b]
mov r8d, 9
lea rdx, str.UEFI_NTFS
call fcn.1400fe370
test eax, eax
sete sil
mov dword [rsp + 0x70], esi
mov rcx, rbx
call fcn.1400e8c70
lea rcx, str.__UEFI:NTFS_
lea rbx, [0x140000000]
mov r8d, dword [rbp - 0x78]
lea rdi, [0x1401564ce]
test r8d, r8d
jne 0x14000a605
test esi, esi
mov edx, r15d
mov r8, rdi
cmovne r8, rcx
xor edx, 1
add edx, r12d
lea rcx, str.Partition__d_s:
call fcn.14004f2f0
mov r8d, dword [rbp - 0x78]
xor ecx, ecx
lea rax, [rbp - 0x80]
nop dword [rax + rax]
cmp r14b, byte [rax]
je 0x14000a621
inc ecx
inc rax
cmp ecx, 8
jb 0x14000a610
jmp 0x14000a629
mov dword [rsp + 0x78], 1
cmp r12d, 0x10
jae 0x14000a65d
mov eax, r12d
lea rdx, [r12 + r12*8]
add rdx, rdx
imul rcx, rax, 0x58
mov rax, qword [rbp + rdx*8 + 0xd8]
mov qword [rcx + rbx + 0x1e90f0], rax
mov rax, qword [rbp + rdx*8 + 0xe0]
mov qword [rcx + rbx + 0x1e90f8], rax
test r8d, r8d
jne 0x14000a833
test r15d, r15d
je 0x14000a670
xor r13d, r13d
jmp 0x14000a673
mov r13d, r14d
cmp r14b, 7
je 0x14000a67e
test r15d, r15d
je 0x14000a68c
mov rax, qword [rbp - 0x68]
cmp byte [rax], 0
je 0x14000a68c
mov r15, rax
jmp 0x14000a6cd
xor eax, eax
lea r8, [0x140194be0]
xor edx, edx
mov rcx, r8
nop word [rax + rax]
cmp byte [rcx], r14b
je 0x14000a6b5
inc eax
inc rdx
add rcx, 0x10
cmp eax, 0x90
jb 0x14000a6a0
cmp eax, 0x90
jae 0x14000a6c6
add rdx, rdx
mov r15, qword [r8 + rdx*8 + 8]
jmp 0x14000a6cd
lea r15, [0x140157998]
lea rcx, [r12 + r12*8]
xorps xmm7, xmm7
add rcx, rcx
mov rdx, qword [rbp + rcx*8 + 0xe0]
test rdx, rdx
js 0x14000a6eb
cvtsi2sd xmm7, rdx
jmp 0x14000a700
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm7, rax
addsd xmm7, xmm7
xor ebx, ebx
comisd xmm9, xmm7
ja 0x14000a717
inc rbx
mulsd xmm7, xmm8
cmp rbx, 5
jl 0x14000a702
test rbx, rbx
jne 0x14000a73e
mov rax, qword [0x140196210]
lea r9, str._s_d_s__s
mov qword [rsp + 0x38], rax
cvttsd2si ecx, xmm7
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], ecx
jmp 0x14000a78d
movaps xmm6, xmm7
movaps xmm0, xmm7
mulsd xmm6, xmm10
call fcn.140135bc0
lea rax, str._s_0.0f_s__s
mulsd xmm0, xmm10
lea r9, str._s_0.1f_s__s
subsd xmm6, xmm0
comisd xmm11, xmm6
cmova r9, rax
lea rax, [0x140000000]
mov rax, qword [rax + rbx*8 + 0x196210]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
movsd qword [rsp + 0x28], xmm7
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rdi
mov edx, 0x20
lea rcx, [0x1401e2e30]
call fcn.140004fd0
mov ecx, dword [0x1401e9090]
lea rax, [0x140156fd8]
lea rsi, [r12 + r12*8]
mov byte [0x1401e2e4f], 0
add rsi, rsi
lea rdi, [0x140156fdc]
mov r9, qword [rbp + rsi*8 + 0xd8]
cmp byte [rbp + rsi*8 + 0xf1], 0
cmovne rdi, rax
mov rax, r9
cqo
idiv rcx
mov rcx, qword [rbp - 0x70]
mov rdx, r9
mov rbx, rax
call fcn.1400096a0
mov r9, rax
mov qword [rsp + 0x38], rdi
mov rax, qword [rbp + rsi*8 + 0xe0]
lea rcx, str.__Type:__s__0x_02x__r_n__Detected_File_System:__s_r_n__Size:__s___lld_bytes__r_n__Start_Sector:__lld__Boot:__s
mov qword [rsp + 0x30], rbx
mov r8d, r13d
mov qword [rsp + 0x28], rax
mov rdx, r15
lea rax, [0x1401e2e30]
mov qword [rsp + 0x20], rax
call fcn.14004f2f0
mov r13, qword [rbp - 0x70]
mov ecx, dword [0x1401e9090]
lea rax, [r12 + r12*8]
add rax, rax
mov rax, qword [rbp + rax*8 + 0xd8]
cqo
idiv rcx
cmp dword [0x1401e9094], eax
jb 0x14000a85b
mov dword [0x1401e9094], eax
cmp r14b, 0xea
je 0x14000a868
cmp dword [rsp + 0x70], 0
je 0x14000a86e
dec dword [0x1401e90a0]
lea rbx, [0x140000000]
mov edx, 1
lea rcx, str.__UEFI:NTFS_
cmp r14b, 0xee
jne 0x14000a88d
mov dword [0x1401e963c], edx
mov r15d, dword [rbp - 0x74]
inc r12d
cmp r12d, dword [rbp + 0xa4]
jb 0x14000a500
mov rax, qword [rbp - 0x70]
movaps xmm11, xmmword [rsp + 0x11b0]
movaps xmm10, xmmword [rsp + 0x11c0]
movaps xmm9, xmmword [rsp + 0x11d0]
movaps xmm8, xmmword [rsp + 0x11e0]
movaps xmm7, xmmword [rsp + 0x11f0]
movaps xmm6, xmmword [rsp + 0x1200]
test rax, rax
je 0x14000a8e7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x78]
jmp 0x14000a92b
test r12d, r12d
jne 0x14000a91b
call fcn.14004fba0
lea rcx, str.Could_not_get_layout_for_drive_0x_02x:__s
jmp 0x14000a911
test r12d, r12d
jne 0x14000a91b
call fcn.14004fba0
lea rcx, str.Could_not_get_geometry_for_drive_0x_02x:__s
mov r8, rax
mov edx, edi
call fcn.14004f2f0
test r13, r13
je 0x14000a929
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rbp + 0x10a0]
xor rcx, rsp
call fcn.1400b2a30
mov rbx, qword [rsp + 0x1268]
add rsp, 0x1210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret