Function at 0x14000b0dc
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc20
mov qword [r11 - 0x420], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x14007c478]
xor rax, rsp
mov qword [rsp + 0xc18], rax
mov rbx, rdx
mov r13, rcx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x2a8], r8
lea r14, str.base_stor_vss_tools_vssagent_vsdoc.cpp
mov qword [r11 - 0x998], r14
lea r12, str.CVssXmlDiagDocument::GetDisks
mov qword [r11 - 0x990], r12
lea rax, str.TST__
mov qword [r11 - 0x988], rax
mov dword [rsp + 0x2c8], 0x379
mov dword [rsp + 0x2cc], 9
mov dword [rsp + 0x2d0], 0xdc
xor r15d, r15d
mov dword [rsp + 0x350], 0x1000000
xor edx, edx
lea r8d, [r15 + 0x78]
lea rcx, [r11 - 0x970]
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x150]
call fcn.14004058c
nop
lea rax, str.Disk_Devices
test rbx, rbx
cmove rbx, rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str.DiskDevices
lea rdx, [rsp + 0x108]
mov rcx, r13
call fcn.14001f25c
nop
lea rdx, str.__Getting_the_list_of_disks...
lea rcx, [rsp + 0x150]
call fcn.140041860
nop
movups xmm0, xmmword [0x140054500]
movdqu xmmword [rsp + 0x890], xmm0
lea r9d, [r15 + 0x12]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x890]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
nop dword [rax + rax]
mov rdi, rax
mov qword [rsp + 0x1c8], rax
cmp rax, 0xffffffffffffffff
je 0x14000e947
xorps xmm0, xmm0
movups xmmword [rsp + 0x8a0], xmm0
movups xmmword [rsp + 0x8b0], xmm0
mov dword [rsp + 0x8a0], 0x20
mov ebx, r15d
mov dword [rsp + 0xe8], ebx
lea rax, [rsp + 0x8a0]
mov qword [rsp + 0x20], rax
mov r9d, ebx
lea r8, [rsp + 0x890]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
nop dword [rax + rax]
test eax, eax
jne 0x14000b2b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x103
jne 0x14000e990
mov dword [rsp + 0x158], r15d
jmp 0x14000e839
mov qword [rsp + 0x138], r15
lea rax, vtable.CVssAutoCppPtr_struct__SP_DEVICE_INTERFACE_DETAIL_DATA_W____ptr64_.0
mov qword [rsp + 0x130], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x8c0], xmm0
movups xmmword [rsp + 0x8d0], xmm0
mov dword [rsp + 0x8c0], 0x20
mov dword [rsp + 0xc8], r15d
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x8a0]
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
nop dword [rax + rax]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14000eaa7
cmp dword [rsp + 0xc8], r15d
je 0x14000eaa7
mov ecx, dword [rsp + 0xc8]
lea rdx, [0x140054410]
call fcn.140043b28
mov rsi, rax
mov qword [rsp + 0x138], rax
test rax, rax
je 0x14000e9dd
mov dword [rax], 8
lea rax, [rsp + 0x8c0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, dword [rsp + 0xc8]
mov r8, rsi
lea rdx, [rsp + 0x8a0]
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
nop dword [rax + rax]
test eax, eax
je 0x14000e9fc
lea rdi, [rsi + 4]
mov qword [rsp + 0x1e0], r14
mov qword [rsp + 0x1e8], r12
lea rbx, str.TST__
mov qword [rsp + 0x1f0], rbx
mov dword [rsp + 0x1f8], 0x3d0
mov dword [rsp + 0x1fc], 9
mov dword [rsp + 0x200], 0xdc
mov dword [rsp + 0x280], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x208]
call sub.msvcrt.dll_memset
mov r9, rdi
lea r8, str.PATH:__s
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x150]
call fcn.140041324
lea rcx, [rdi + 8]
mov r8d, reloc.OLEAUT32.dll_SetErrorInfo
lea rdx, [rsp + 0x8e0]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
nop dword [rax + rax]
test eax, eax
jne 0x14000b650
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov dword [rsp + 0x158], ebx
mov qword [rsp + 0x1e0], r14
mov qword [rsp + 0x1e8], r12
lea rax, str.TST__
mov qword [rsp + 0x1f0], rax
mov dword [rsp + 0x1f8], 0x3db
mov dword [rsp + 0x1fc], 9
mov dword [rsp + 0x200], 0xdc
mov dword [rsp + 0x280], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x208]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x20], ebx
mov r9, rdi
lea r8, str.Error_getting_the_DOS_device_for__s__0x_08lx__n
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x150]
call fcn.140041324
mov qword [rsp + 0x28], rdi
lea rax, str.__s_
mov qword [rsp + 0x20], rax
mov r9d, 0xd
lea r8, str.Disk
lea rdx, [rsp + 0x298]
mov rcx, r13
call fcn.14001f25c
nop
mov r8, rdi
lea rdx, str.StorageDevice
lea rcx, [rsp + 0x298]
call fcn.140004f4c
lea rax, [rsp + 0x360]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0x360], rcx
test rcx, rcx
je 0x14000b56d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x2a0]
mov qword [rsp + 0x368], rcx
test rcx, rcx
je 0x14000b590
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
lea r9, str.0x_08lx
lea r8, str.Error_QueryDosDeviceW
lea rdx, [rsp + 0x360]
mov rcx, r13
call fcn.14001f4fc
lea r8, [rsp + 0x298]
lea rdx, [rsp + 0x7c8]
lea rcx, [rsp + 0x108]
call fcn.140005fe8
nop
mov rcx, qword [rsp + 0x7d0]
test rcx, rcx
je 0x14000b5f2
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x7c8]
test rcx, rcx
je 0x14000b60d
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x2a0]
test rcx, rcx
je 0x14000b628
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x298]
test rcx, rcx
je 0x14000b643
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, rsi
call fcn.1400434b8
jmp 0x14000e762
mov qword [rsp + 0x1e0], r14
mov qword [rsp + 0x1e8], r12
mov qword [rsp + 0x1f0], rbx
mov dword [rsp + 0x1f8], 0x3e5
mov dword [rsp + 0x1fc], 9
mov dword [rsp + 0x200], 0xdc
mov dword [rsp + 0x280], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x208]
call sub.msvcrt.dll_memset
lea r9, [rsp + 0x8e0]
lea r8, str.DOS_Device:__s_n
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x150]
call fcn.140041324
lea r9, [rsp + 0x8e0]
lea r8, str._GLOBALROOT_s
mov edx, reloc.OLEAUT32.dll_SetErrorInfo
lea rcx, [rsp + 0xa70]
call fcn.140002d64
mov dword [rsp + 0x158], eax
test eax, eax
js 0x14000ea45
mov qword [rsp + 0x2b0], r15
and word [rsp + 0x2d8], 0
and qword [rsp + 0x2dc], 0
mov qword [rsp + 0x2e8], r15
and qword [rsp + 0x2f0], 0
mov dword [rsp + 0x2f8], r15d
mov qword [rsp + 0x300], r15
mov word [rsp + 0x308], r15w
mov qword [rsp + 0x318], r15
lea rax, vtable.CVssAutoString_class_CVssAutoCOMPtr_unsigned_short_int____ptr64__.0
mov qword [rsp + 0x310], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x2b8], xmm0
movups xmmword [rsp + 0x2c8], xmm0
mov dword [rsp + 0x30], 0x80000000
xor r9d, r9d
lea r8, [rsp + 0xa70]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140023e60
mov dword [rsp + 0x158], eax
test eax, eax
jns 0x14000ba05
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov dword [rsp + 0x158], ebx
mov qword [rsp + 0x1e0], r14
mov qword [rsp + 0x1e8], r12
lea rax, str.TST__
mov qword [rsp + 0x1f0], rax
mov dword [rsp + 0x1f8], 0x3f8
mov dword [rsp + 0x1fc], 9
mov dword [rsp + 0x200], 0xdc
mov dword [rsp + 0x280], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x208]
call sub.msvcrt.dll_memset
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0xa70]
lea r8, str.CreateFile__s___0x_08lx____ld_
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x150]
call fcn.140041324
lea rax, [rsp + 0x8e0]
mov qword [rsp + 0x28], rax
lea rax, str.__s_
mov qword [rsp + 0x20], rax
mov r9d, 0xd
lea r8, str.Disk
lea rdx, [rsp + 0x140]
mov rcx, r13
call fcn.14001f25c
nop
lea r8, [rsp + 0x8e0]
lea rdx, str.Device
lea rcx, [rsp + 0x140]
call fcn.140004f4c
mov r8, rdi
lea rdx, str.StorageDevice
lea rcx, [rsp + 0x140]
call fcn.140004f4c
lea r8, [rsp + 0xa70]
lea rdx, str.UserModeDevice
lea rcx, [rsp + 0x140]
call fcn.140004f4c
lea rax, [rsp + 0x370]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x370], rcx
test rcx, rcx
je 0x14000b910
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x378], rcx
test rcx, rcx
je 0x14000b933
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa70]
mov qword [rsp + 0x20], rax
lea r9, str._s__0x_08lx_
lea r8, str.Error_CreateFile
lea rdx, [rsp + 0x370]
mov rcx, r13
call fcn.14001f4fc
lea r8, [rsp + 0x140]
lea rdx, [rsp + 0x7d8]
lea rcx, [rsp + 0x108]
call fcn.140005fe8
nop
mov rcx, qword [rsp + 0x7e0]
test rcx, rcx
je 0x14000b9a2
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x7d8]
test rcx, rcx
je 0x14000b9bd
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14000b9d8
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14000b9f3
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
lea rcx, [rsp + 0x2b0]
call fcn.1400242a8
jmp 0x14000b643
mov dword [rsp + 0x2dc], r15d
mov dword [rsp + 0x2f0], r15d
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, 0x2d1080
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140024474
mov dword [rsp + 0x158], eax
test eax, eax
jns 0x14000bb71
lea rax, [rsp + 0x8e0]
mov qword [rsp + 0x28], rax
lea rax, str.__s_
mov qword [rsp + 0x20], rax
mov r9d, 0xd
lea r8, str.Disk
lea rdx, [rsp + 0x288]
mov rcx, r13
call fcn.14001f25c
nop
lea r8, [rsp + 0x8e0]
lea rdx, str.Device
lea rcx, [rsp + 0x288]
call fcn.140004f4c
mov r8, rdi
lea rdx, str.StorageDevice
lea rcx, [rsp + 0x288]
call fcn.140004f4c
lea rax, [rsp + 0x380]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x380], rcx
test rcx, rcx
je 0x14000baee
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x290]
mov qword [rsp + 0x388], rcx
test rcx, rcx
je 0x14000bb11
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
lea r9, str._0x_08lx_
lea r8, str.IOCTL_STORAGE_GET_DEVICE_NUMBER_FAILURE
lea rdx, [rsp + 0x380]
mov rcx, r13
call fcn.14001f4fc
nop
mov rcx, qword [rsp + 0x290]
test rcx, rcx
je 0x14000bb56
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x288]
test rcx, rcx
je 0x14000bb71
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
lea r8, [rsp + 0x848]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140021d24
mov ebx, dword [rsp + 0x84c]
mov dword [rsp + 0x28], ebx
lea rax, str..PHYSICALDRIVE_d
mov qword [rsp + 0x20], rax
mov r9d, 0xd
lea r8, str.Disk
lea rdx, [rsp + 0x80]
mov rcx, r13
call fcn.14001f25c
nop
lea rax, [rsp + 0x390]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x390], rcx
test rcx, rcx
je 0x14000bbf6
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x398], rcx
test rcx, rcx
je 0x14000bc19
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x848]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.DeviceType
lea rdx, [rsp + 0x390]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x3a0], rcx
test rcx, rcx
je 0x14000bc75
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x3a8], rcx
test rcx, rcx
je 0x14000bc98
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x20], ebx
lea r9, [0x14005851c]
lea r8, str.DeviceNumber
lea rdx, [rsp + 0x3a0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x3b0], rcx
test rcx, rcx
je 0x14000bced
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x3b8], rcx
test rcx, rcx
je 0x14000bd10
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x850]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.PartitionNumber
lea rdx, [rsp + 0x3b0]
mov rcx, r13
call fcn.14001f4fc
lea r8, [rsp + 0x8e0]
lea rdx, str.Device
lea rcx, [rsp + 0x80]
call fcn.140004f4c
mov r8, rdi
lea rdx, str.StorageDevice
lea rcx, [rsp + 0x80]
call fcn.140004f4c
lea r8, [rsp + 0xa70]
lea rdx, str.UserModeDevice
lea rcx, [rsp + 0x80]
call fcn.140004f4c
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, 0x560038
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140024474
mov dword [rsp + 0x158], eax
test eax, eax
js 0x14000bff3
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140021f28
lea rax, [rsp + 0x3c0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x3c0], rcx
test rcx, rcx
je 0x14000be14
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x3c8], rcx
test rcx, rcx
je 0x14000be37
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rbx, qword [rsp + 0xe0]
mov qword [rsp + 0x20], rbx
lea r9, str.0x_016I64x
lea r8, str.GptFlags
lea rdx, [rsp + 0x3c0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x3d0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x3d0], rcx
test rcx, rcx
je 0x14000be95
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x3d8], rcx
test rcx, rcx
je 0x14000beb8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movabs rax, 0x1000000000000000
test rax, rbx
lea r9, [0x140057a90]
lea r12, [0x140057a88]
cmovne r9, r12
lea r8, str.GptReadonly
lea rdx, [rsp + 0x3d0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x3e0], rcx
test rcx, rcx
je 0x14000bf21
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x3e8], rcx
test rcx, rcx
je 0x14000bf44
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movabs rax, 0x4000000000000000
test rax, rbx
lea r9, [0x140057a90]
cmovne r9, r12
lea r8, str.GptHidden
lea rdx, [rsp + 0x3e0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x3f0], rcx
test rcx, rcx
je 0x14000bfa6
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x3f8], rcx
test rcx, rcx
je 0x14000bfc9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
lea r9, [0x140057a90]
test rbx, rbx
cmovs r9, r12
lea r8, str.GptNoDriveLetter
lea rdx, [rsp + 0x3f0]
mov rcx, r13
call fcn.14001f4fc
jmp 0x14000c07f
lea rax, [rsp + 0x400]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x400], rcx
test rcx, rcx
je 0x14000c026
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x408], rcx
test rcx, rcx
je 0x14000c049
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa70]
mov qword [rsp + 0x20], rax
lea r9, str._s__0x_08lx_
lea r8, str.Error_IOCTL_VOLUME_GET_GPT_ATTRIBUTES
lea rdx, [rsp + 0x400]
mov rcx, r13
call fcn.14001f4fc
and qword [rsp + 0x1d0], 0
mov dword [rsp + 0x2dc], r15d
mov dword [rsp + 0x2f0], r15d
lea r8, [rsp + 0x1d0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140022120
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, 0x2d1400
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140024474
mov dword [rsp + 0x158], eax
mov rcx, qword [rsp + 0x80]
test eax, eax
js 0x14000c818
mov rdi, qword [rsp + 0x300]
mov qword [rsp + 0x98], rdi
lea rax, [rsp + 0x410]
mov qword [rsp + 0x858], rax
mov qword [rsp + 0x410], rcx
test rcx, rcx
je 0x14000c134
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x418], rcx
test rcx, rcx
je 0x14000c157
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rdi]
mov dword [rsp + 0x20], eax
lea rsi, [0x140058ec0]
mov r9, rsi
lea r8, str.Page80.Version
lea rdx, [rsp + 0x410]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x420]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x420], rcx
test rcx, rcx
je 0x14000c1b1
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x428], rcx
test rcx, rcx
je 0x14000c1d4
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rdi + 4]
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, str.Page80.Size
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x430]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x430], rcx
test rcx, rcx
je 0x14000c228
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x438], rcx
test rcx, rcx
je 0x14000c24b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [rdi + 8]
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, str.Page80.DeviceType
lea rdx, [rsp + 0x430]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x440]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x440], rcx
test rcx, rcx
je 0x14000c2a0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x448], rcx
test rcx, rcx
je 0x14000c2c3
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [rdi + 9]
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, str.Page80.DeviceTypeModifier
lea rdx, [rsp + 0x440]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x450]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x450], rcx
test rcx, rcx
je 0x14000c318
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x458], rcx
test rcx, rcx
je 0x14000c33b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [rdi + 0xa]
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, str.Page80.RemovableMedia
lea rdx, [rsp + 0x450]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x460]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x460], rcx
test rcx, rcx
je 0x14000c390
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x468], rcx
test rcx, rcx
je 0x14000c3b3
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [rdi + 0xb]
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, str.Page80.CommandQueuing
lea rdx, [rsp + 0x460]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x470]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x470], rcx
test rcx, rcx
je 0x14000c408
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x478], rcx
test rcx, rcx
je 0x14000c42b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov ecx, dword [rdi + 0x1c]
mov edx, ecx
call fcn.140020208
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea r9, str._d___s_
lea r8, str.Page80.BusType
lea rdx, [rsp + 0x470]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x480]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x480], rcx
test rcx, rcx
je 0x14000c48f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x488], rcx
test rcx, rcx
je 0x14000c4b2
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rdi + 0x20]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.Page80.RawPropertiesLength
lea rdx, [rsp + 0x480]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x490]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x490], rcx
test rcx, rcx
je 0x14000c50a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x498], rcx
test rcx, rcx
je 0x14000c52d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x20], 0x28
lea r9, [0x14005851c]
lea r8, str.Page80.sizeof_STORAGE_DEVICE_DESCRIPTOR
lea rdx, [rsp + 0x490]
mov rcx, r13
call fcn.14001f4fc
nop
mov ebx, dword [rsp + 0x2f8]
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x4a0], rcx
test rcx, rcx
je 0x14000c58e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x4a8], rcx
test rcx, rcx
je 0x14000c5b1
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x30], ebx
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
lea r9, str.Page80.VendorId
lea r8, [rsp + 0x4a0]
lea rdx, [rsp + 0x150]
mov rcx, r13
call fcn.14001e9d4
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x4b0], rcx
test rcx, rcx
je 0x14000c613
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x4b8], rcx
test rcx, rcx
je 0x14000c636
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x30], ebx
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
lea r9, str.Page80.ProductId
lea r8, [rsp + 0x4b0]
lea rdx, [rsp + 0x150]
mov rcx, r13
call fcn.14001e9d4
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x4c0], rcx
test rcx, rcx
je 0x14000c698
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x4c8], rcx
test rcx, rcx
je 0x14000c6bb
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x30], ebx
mov eax, dword [rdi + 0x14]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
lea r9, str.Page80.ProductRevision
lea r8, [rsp + 0x4c0]
lea rdx, [rsp + 0x150]
mov rcx, r13
call fcn.14001e9d4
lea rax, [rsp + 0x4d0]
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x4d0], rcx
test rcx, rcx
je 0x14000c71d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x4d8], rcx
test rcx, rcx
je 0x14000c740
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x30], ebx
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
lea r9, str.Page80.SerialNumber
lea r8, [rsp + 0x4d0]
lea rdx, [rsp + 0x150]
mov rcx, r13
call fcn.14001e9d4
nop
jmp 0x14000c78d
mov ebx, dword [rsp + 0x2f8]
mov eax, dword [rdi + 4]
cmp ebx, eax
jbe 0x14000c7a5
add eax, 0x100
cmp ebx, eax
cmova ebx, eax
lea rax, [rsp + 0x4e0]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x4e0], rcx
test rcx, rcx
je 0x14000c7d8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x4e8], rcx
test rcx, rcx
je 0x14000c7fb
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x20], ebx
mov r9, rdi
lea r8, str.Page80.IdentifierData
lea rdx, [rsp + 0x4e0]
call fcn.14001e530
jmp 0x14000c88f
lea rax, [rsp + 0x4f0]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x4f0], rcx
test rcx, rcx
je 0x14000c843
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x4f8], rcx
test rcx, rcx
je 0x14000c866
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
lea r9, str._0x_08lx_
lea r8, str.Page80.StorageDeviceProperty_FAILURE
lea rdx, [rsp + 0x4f0]
mov rcx, r13
call fcn.14001f4fc
mov qword [rsp + 0x1d0], 2
mov dword [rsp + 0x2dc], r15d
mov dword [rsp + 0x2f0], r15d
lea r8, [rsp + 0x1d0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140022120
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, 0x2d1400
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140024474
mov dword [rsp + 0x158], eax
mov rcx, qword [rsp + 0x80]
test eax, eax
js 0x14000d053
mov rbx, qword [rsp + 0x300]
lea rax, [rsp + 0x500]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x500], rcx
test rcx, rcx
je 0x14000c93f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x508], rcx
test rcx, rcx
je 0x14000c962
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rbx]
mov dword [rsp + 0x20], eax
lea r14, [0x140058ec0]
mov r9, r14
lea r8, str.Page83.Version
lea rdx, [rsp + 0x500]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x510]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x510], rcx
test rcx, rcx
je 0x14000c9bc
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x518], rcx
test rcx, rcx
je 0x14000c9df
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rbx + 4]
mov dword [rsp + 0x20], eax
mov r9, r14
lea r8, str.Page83.Size
lea rdx, [rsp + 0x510]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x520]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x520], rcx
test rcx, rcx
je 0x14000ca33
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x528], rcx
test rcx, rcx
je 0x14000ca56
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rbx + 8]
mov dword [rsp + 0x20], eax
mov r9, r14
lea r8, str.Page83.NumberOfIdentifiers
lea rdx, [rsp + 0x520]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x530]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x530], rcx
test rcx, rcx
je 0x14000caaa
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x538], rcx
test rcx, rcx
je 0x14000cacd
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov dword [rsp + 0x20], 0x10
lea r9, [0x14005851c]
lea r8, str.Page83.sizeof_STORAGE_DEVICE_ID_DESCRIPTOR
lea rdx, [rsp + 0x530]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x540]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x540], rcx
test rcx, rcx
je 0x14000cb26
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x548], rcx
test rcx, rcx
je 0x14000cb49
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rbx + 4]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.Page83.data
lea rdx, [rsp + 0x540]
call fcn.14001e530
mov esi, dword [rbx + 8]
mov dword [rsp + 0x858], esi
add rbx, 0xc
mov qword [rsp + 0x98], rbx
mov edi, r15d
mov dword [rsp + 0xa0], edi
cmp edi, esi
jae 0x14000d0ca
mov dword [rsp + 0x28], edi
lea rax, str.STORAGE_IDENTIFIER__d
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, str.Identifier
lea rdx, [rsp + 0xd0]
mov rcx, r13
call fcn.14001f25c
nop
lea rax, [rsp + 0x550]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x550], rcx
test rcx, rcx
je 0x14000cbf0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x558], rcx
test rcx, rcx
je 0x14000cc13
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov ecx, dword [rbx + 4]
mov edx, ecx
call fcn.140020348
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea r9, str._d___s_
lea r8, str.Type
lea rdx, [rsp + 0x550]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x560]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x560], rcx
test rcx, rcx
je 0x14000cc77
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x568], rcx
test rcx, rcx
je 0x14000cc9a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov edx, dword [rbx + 0xc]
mov ecx, edx
test edx, edx
je 0x14000ccc8
sub ecx, 1
je 0x14000ccbf
cmp ecx, 1
je 0x14000ccb6
lea rax, str.Unknown
jmp 0x14000cccf
lea rax, str._StorageIdAssocTarget_
jmp 0x14000cccf
lea rax, str._StorageIdAssocPort_
jmp 0x14000cccf
lea rax, str._StorageIdAssocDevice_
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
lea r9, str._d___s_
lea r8, str.Association
lea rdx, [rsp + 0x560]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x570]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x570], rcx
test rcx, rcx
je 0x14000cd29
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x578], rcx
test rcx, rcx
je 0x14000cd4c
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov edx, dword [rbx]
mov ecx, edx
test edx, edx
je 0x14000cd79
sub ecx, 1
je 0x14000cd70
cmp ecx, 1
je 0x14000cd67
lea rax, str.Unknown
jmp 0x14000cd80
lea rax, str._StorageIdCodeSetAscii_
jmp 0x14000cd80
lea rax, str._StorageIdCodeSetBinary_
jmp 0x14000cd80
lea rax, str._StorageIdCodeSetReserved_
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
lea r9, str._d___s_
lea r8, str.CodeSet
lea rdx, [rsp + 0x570]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x580]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x580], rcx
test rcx, rcx
je 0x14000cdda
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x588], rcx
test rcx, rcx
je 0x14000cdfd
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, word [rbx + 8]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.IdentifierSize
lea rdx, [rsp + 0x580]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x590]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x590], rcx
test rcx, rcx
je 0x14000ce56
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x598], rcx
test rcx, rcx
je 0x14000ce79
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, word [rbx + 8]
lea r9, [rbx + 0x10]
mov dword [rsp + 0x20], eax
lea r8, str.Identifier
lea rdx, [rsp + 0x590]
call fcn.14001e530
nop
jmp 0x14000cec5
mov rcx, qword [rsp + 0xd0]
cmp word [rbx + 0xa], r15w
je 0x14000cf43
lea rax, [rsp + 0x5a0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x5a0], rcx
test rcx, rcx
je 0x14000ceff
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x5a8], rcx
test rcx, rcx
je 0x14000cf22
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, word [rbx + 0xa]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.IdentifierData
lea rdx, [rsp + 0x5a0]
call fcn.14001e530
jmp 0x14000cfb3
lea rax, [rsp + 0x5b0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x5b0], rcx
test rcx, rcx
je 0x14000cf6e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x5b8], rcx
test rcx, rcx
je 0x14000cf91
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, word [rbx + 8]
add eax, 0x10
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.IdentifierData
lea rdx, [rsp + 0x5b0]
call fcn.14001e530
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x7e8]
lea rcx, [rsp + 0x80]
call fcn.140005fe8
nop
mov rcx, qword [rsp + 0x7f0]
test rcx, rcx
je 0x14000cfec
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x7e8]
test rcx, rcx
je 0x14000d007
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
movzx eax, word [rbx + 0xa]
add rbx, rax
mov qword [rsp + 0x98], rbx
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x14000d031
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14000d04c
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
inc edi
jmp 0x14000cb80
lea rax, [rsp + 0x5c0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x5c0], rcx
test rcx, rcx
je 0x14000d07e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x5c8], rcx
test rcx, rcx
je 0x14000d0a1
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
lea r9, str._0x_08lx_
lea r8, str.StorageDeviceIdProperty_FAILURE
lea rdx, [rsp + 0x5c0]
mov rcx, r13
call fcn.14001f4fc
mov r12b, r15b
mov byte [rsp + 0xa4], r15b
mov dword [rsp + 0x2dc], r15d
mov dword [rsp + 0x2f0], r15d
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, 0x70050
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140024474
mov dword [rsp + 0x158], eax
test eax, eax
js 0x14000e379
mov r14, qword [rsp + 0x300]
mov qword [rsp + 0x98], r14
mov ecx, dword [r14]
test ecx, ecx
je 0x14000dbfd
sub ecx, 1
je 0x14000d22a
cmp ecx, 1
mov rcx, qword [rsp + 0x80]
je 0x14000d1be
lea rax, [rsp + 0x5d0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x5d0], rcx
test rcx, rcx
je 0x14000d17d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x5d8], rcx
test rcx, rcx
je 0x14000d1a0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14]
lea r9, str._d__Unknown_
lea r8, str.PartitionStyle
lea rdx, [rsp + 0x5d0]
jmp 0x14000e605
lea rax, [rsp + 0x5e0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x5e0], rcx
test rcx, rcx
je 0x14000d1e9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x5e8], rcx
test rcx, rcx
je 0x14000d20c
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14]
lea r9, str._d__Raw_
lea r8, str.PartitionStyle
lea rdx, [rsp + 0x5e0]
jmp 0x14000e605
lea rax, [rsp + 0x5f0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x5f0], rcx
test rcx, rcx
je 0x14000d25d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x5f8], rcx
test rcx, rcx
je 0x14000d280
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14]
mov dword [rsp + 0x20], eax
lea r9, str._d__GPT_
lea r8, str.PartitionStyle
lea rdx, [rsp + 0x5f0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x600]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x600], rcx
test rcx, rcx
je 0x14000d2d8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x608], rcx
test rcx, rcx
je 0x14000d2fb
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + 0x17]
movzx ecx, byte [r14 + 0x16]
movzx edx, byte [r14 + 0x15]
movzx r8d, byte [r14 + 0x14]
movzx r9d, byte [r14 + 0x13]
movzx r10d, byte [r14 + 0x12]
movzx r11d, byte [r14 + 0x11]
movzx ebx, byte [r14 + 0x10]
movzx edi, word [r14 + 0xe]
movzx esi, word [r14 + 0xc]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
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 eax, dword [r14 + 8]
mov dword [rsp + 0x20], eax
lea r9, str._.8x__.4x__.4x__.2x_.2x__.2x_.2x_.2x_.2x_.2x_.2x
lea r8, str.GuidSignature
lea rdx, [rsp + 0x600]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x610]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x610], rcx
test rcx, rcx
je 0x14000d3b2
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x618], rcx
test rcx, rcx
je 0x14000d3d5
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14 + 4]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.PartitionsCount
lea rdx, [rsp + 0x610]
mov rcx, r13
call fcn.14001f4fc
mov ebx, r15d
mov dword [rsp + 0xa0], ebx
cmp ebx, dword [r14 + 4]
jae 0x14000e3fa
mov dword [rsp + 0x28], ebx
lea rax, str.GPT_PARTITION__d
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, str.Partition
lea rdx, [rsp + 0xa8]
mov rcx, r13
call fcn.14001f25c
nop
lea rax, [rsp + 0x620]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x620], rcx
test rcx, rcx
je 0x14000d470
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x628], rcx
test rcx, rcx
je 0x14000d493
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, ebx
lea r13, [rax + rax*8]
shl r13, 4
mov eax, dword [r14 + r13 + 0x30]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.PartitionStyle
lea rdx, [rsp + 0x620]
mov rbx, qword [rsp + 0xf0]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x630]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x630], rcx
test rcx, rcx
je 0x14000d4ff
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x638], rcx
test rcx, rcx
je 0x14000d522
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [r14 + r13 + 0x38]
mov qword [rsp + 0x20], rax
lea r9, str.0x_016I64x
lea r8, str.StartingOffset
lea rdx, [rsp + 0x630]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x640]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x640], rcx
test rcx, rcx
je 0x14000d57d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x648], rcx
test rcx, rcx
je 0x14000d5a0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [r14 + r13 + 0x40]
mov qword [rsp + 0x20], rax
lea r9, str.0x_016I64x
lea r8, str.PartitionLength
lea rdx, [rsp + 0x640]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x650]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x650], rcx
test rcx, rcx
je 0x14000d5fb
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x658], rcx
test rcx, rcx
je 0x14000d61e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14 + r13 + 0x48]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.PartitionNumber
lea rdx, [rsp + 0x650]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x660]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x660], rcx
test rcx, rcx
je 0x14000d678
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x668], rcx
test rcx, rcx
je 0x14000d69b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + r13 + 0x4c]
mov dword [rsp + 0x20], eax
lea r9, [0x14005851c]
lea r8, str.RewritePartition
lea rdx, [rsp + 0x660]
mov rcx, rbx
call fcn.14001f4fc
movups xmm0, xmmword [r14 + r13 + 0x50]
movdqu xmmword [rsp + 0x858], xmm0
mov qword [rsp + 0x888], 7
mov qword [rsp + 0x880], r15
mov word [rsp + 0x870], r15w
mov r8d, 7
lea rdx, str.Unknown
lea rcx, [rsp + 0x868]
call fcn.140021944
nop
mov r12, qword [rsp + 0x858]
mov rbx, qword [rsp + 0x860]
cmp r12, qword [0x14005f968]
jne 0x14000d746
cmp rbx, qword [0x14005f970]
jne 0x14000d746
mov r8d, 6
lea rdx, str.Unused
lea rcx, [rsp + 0x868]
call fcn.140021944
cmp r12, qword [0x14005f928]
jne 0x14000d772
cmp rbx, qword [0x14005f930]
jne 0x14000d772
mov r8d, 6
lea rdx, str.System
lea rcx, [rsp + 0x868]
call fcn.140021944
cmp r12, qword [0x14005f938]
jne 0x14000d79e
cmp rbx, qword [0x14005f940]
jne 0x14000d79e
mov r8d, 0xd
lea rdx, str.MSFT_Reserved
lea rcx, [rsp + 0x868]
call fcn.140021944
cmp r12, qword [0x14005f978]
jne 0x14000d7ca
cmp rbx, qword [0x14005f980]
jne 0x14000d7ca
mov r8d, 5
lea rdx, str.Basic
lea rcx, [rsp + 0x868]
call fcn.140021944
cmp r12, qword [0x14005f948]
jne 0x14000d7f6
cmp rbx, qword [0x14005f950]
jne 0x14000d7f6
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, str.LDM_Metadata
lea rcx, [rsp + 0x868]
call fcn.140021944
cmp r12, qword [0x14005f958]
jne 0x14000d822
cmp rbx, qword [0x14005f960]
jne 0x14000d822
mov r8d, 8
lea rdx, str.LDM_Data
lea rcx, [rsp + 0x868]
call fcn.140021944
lea rax, [rsp + 0x670]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x670], rcx
test rcx, rcx
je 0x14000d855
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x678], rcx
test rcx, rcx
je 0x14000d878
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
lea r14, [rsp + 0x870]
cmp qword [rsp + 0x888], 8
cmovae r14, qword [rsp + 0x870]
movzx eax, byte [rsp + 0x867]
movzx ecx, byte [rsp + 0x866]
movzx edx, byte [rsp + 0x865]
movzx r8d, byte [rsp + 0x864]
movzx r9d, byte [rsp + 0x863]
movzx r10d, byte [rsp + 0x862]
movzx r11d, byte [rsp + 0x861]
movzx ebx, bl
movzx edi, word [rsp + 0x85e]
movzx esi, word [rsp + 0x85c]
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
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], r12d
lea r9, str._.8x__.4x__.4x__.2x_.2x__.2x_.2x_.2x_.2x_.2x_.2x___s_
lea r8, str.GPT.Type
lea rdx, [rsp + 0x670]
mov rbx, qword [rsp + 0xf0]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x680]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x680], rcx
test rcx, rcx
je 0x14000d970
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x688], rcx
test rcx, rcx
je 0x14000d993
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov r14, qword [rsp + 0x98]
lea rax, [r14 + 0x78]
add rax, r13
mov qword [rsp + 0x20], rax
lea r9, [0x140055b68]
lea r8, str.GPT.Name
lea rdx, [rsp + 0x680]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x690]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x690], rcx
test rcx, rcx
je 0x14000d9f8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x698], rcx
test rcx, rcx
je 0x14000da1b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [r14 + r13 + 0x70]
mov qword [rsp + 0x20], rax
lea r9, str.0x_016I64x
lea r8, str.GPT.Attributes
lea rdx, [rsp + 0x690]
mov rcx, rbx
call fcn.14001f4fc
lea rax, [rsp + 0x6a0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x6a0], rcx
test rcx, rcx
je 0x14000da76
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x6a8], rcx
test rcx, rcx
je 0x14000da99
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + r13 + 0x6f]
movzx ecx, byte [r14 + r13 + 0x6e]
movzx edx, byte [r14 + r13 + 0x6d]
movzx r8d, byte [r14 + r13 + 0x6c]
movzx r9d, byte [r14 + r13 + 0x6b]
movzx r10d, byte [r14 + r13 + 0x6a]
movzx r11d, byte [r14 + r13 + 0x69]
movzx ebx, byte [r14 + r13 + 0x68]
movzx edi, word [r14 + r13 + 0x66]
movzx esi, word [r14 + r13 + 0x64]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
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 eax, dword [r14 + r13 + 0x60]
mov dword [rsp + 0x20], eax
lea r9, str._.8x__.4x__.4x__.2x_.2x__.2x_.2x_.2x_.2x_.2x_.2x
lea r8, str.GPT.PartitionId
lea rdx, [rsp + 0x6a0]
mov r13, qword [rsp + 0xf0]
mov rcx, r13
call fcn.14001f4fc
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0x7f8]
lea rcx, [rsp + 0x80]
call fcn.140005fe8
nop
mov rcx, qword [rsp + 0x800]
test rcx, rcx
je 0x14000db69
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x7f8]
test rcx, rcx
je 0x14000db84
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
cmp qword [rsp + 0x888], 8
jb 0x14000db9c
mov rcx, qword [rsp + 0x870]
call fcn.1400434b8
mov qword [rsp + 0x888], 7
mov qword [rsp + 0x880], r15
mov word [rsp + 0x870], r15w
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14000dbd4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14000dbef
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov ebx, dword [rsp + 0xa0]
inc ebx
jmp 0x14000d3fe
lea rax, [rsp + 0x6b0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x6b0], rcx
test rcx, rcx
je 0x14000dc30
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x6b8], rcx
test rcx, rcx
je 0x14000dc53
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14]
mov dword [rsp + 0x20], eax
lea r9, str._d__MBR_
lea r8, str.PartitionStyle
lea rdx, [rsp + 0x6b0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x6c0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x6c0], rcx
test rcx, rcx
je 0x14000dcab
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x6c8], rcx
test rcx, rcx
je 0x14000dcce
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14 + 4]
mov dword [rsp + 0x20], eax
lea r12, [0x14005851c]
mov r9, r12
lea r8, str.PartitionsCount
lea rdx, [rsp + 0x6c0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x6d0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x6d0], rcx
test rcx, rcx
je 0x14000dd2a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x6d8], rcx
test rcx, rcx
je 0x14000dd4d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14 + 8]
mov dword [rsp + 0x20], eax
lea r9, str.0x_08lx
lea r8, str.MbrSignature
lea rdx, [rsp + 0x6d0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x6e0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x6e0], rcx
test rcx, rcx
je 0x14000dda6
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x6e8], rcx
test rcx, rcx
je 0x14000ddc9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + 0x17]
movzx ecx, byte [r14 + 0x16]
movzx edx, byte [r14 + 0x15]
movzx r8d, byte [r14 + 0x14]
movzx r9d, byte [r14 + 0x13]
movzx r10d, byte [r14 + 0x12]
movzx r11d, byte [r14 + 0x11]
movzx ebx, byte [r14 + 0x10]
movzx edi, word [r14 + 0xe]
movzx esi, word [r14 + 0xc]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
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 eax, dword [r14 + 8]
mov dword [rsp + 0x20], eax
lea r9, str._.8x__.4x__.4x__.2x_.2x__.2x_.2x_.2x_.2x_.2x_.2x
lea r8, str.GuidSignature
lea rdx, [rsp + 0x6e0]
mov rcx, r13
call fcn.14001f4fc
mov edi, r15d
cmp edi, dword [r14 + 4]
jae 0x14000e371
mov dword [rsp + 0x28], edi
lea rax, str.MBR_PARTITION__d
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, str.Partition
lea rdx, [rsp + 0xb8]
mov rcx, r13
call fcn.14001f25c
nop
lea rax, [rsp + 0x6f0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x6f0], rcx
test rcx, rcx
je 0x14000debb
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x6f8], rcx
test rcx, rcx
je 0x14000dede
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, edi
lea rbx, [rax + rax*8]
add rbx, rbx
mov eax, dword [r14 + rbx*8 + 0x30]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.PartitionStyle
lea rdx, [rsp + 0x6f0]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x700]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x700], rcx
test rcx, rcx
je 0x14000df3d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x708], rcx
test rcx, rcx
je 0x14000df60
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [r14 + rbx*8 + 0x38]
mov qword [rsp + 0x20], rax
lea r9, str.0x_016I64x
lea r8, str.StartingOffset
lea rdx, [rsp + 0x700]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x710]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x710], rcx
test rcx, rcx
je 0x14000dfbb
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x718], rcx
test rcx, rcx
je 0x14000dfde
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [r14 + rbx*8 + 0x40]
mov qword [rsp + 0x20], rax
lea r9, str.0x_016I64x
lea r8, str.PartitionLength
lea rdx, [rsp + 0x710]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x720]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x720], rcx
test rcx, rcx
je 0x14000e039
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x728], rcx
test rcx, rcx
je 0x14000e05c
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14 + rbx*8 + 0x48]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.PartitionNumber
lea rdx, [rsp + 0x720]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x730]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x730], rcx
test rcx, rcx
je 0x14000e0b2
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x738], rcx
test rcx, rcx
je 0x14000e0d5
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + rbx*8 + 0x4c]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.RewritePartition
lea rdx, [rsp + 0x730]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x740]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x740], rcx
test rcx, rcx
je 0x14000e12c
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x748], rcx
test rcx, rcx
je 0x14000e14f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + rbx*8 + 0x50]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.MBR.PartitionType
lea rdx, [rsp + 0x740]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x750]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x750], rcx
test rcx, rcx
je 0x14000e1a6
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x758], rcx
test rcx, rcx
je 0x14000e1c9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + rbx*8 + 0x51]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.MBR.BootIndicator
lea rdx, [rsp + 0x750]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x760]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x760], rcx
test rcx, rcx
je 0x14000e220
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x768], rcx
test rcx, rcx
je 0x14000e243
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
movzx eax, byte [r14 + rbx*8 + 0x52]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.MBR.RecognizedPartition
lea rdx, [rsp + 0x760]
mov rcx, r13
call fcn.14001f4fc
lea rax, [rsp + 0x770]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x770], rcx
test rcx, rcx
je 0x14000e29a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x778], rcx
test rcx, rcx
je 0x14000e2bd
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [r14 + rbx*8 + 0x54]
mov dword [rsp + 0x20], eax
mov r9, r12
lea r8, str.MBR.HiddenSectors
lea rdx, [rsp + 0x770]
mov rcx, r13
call fcn.14001f4fc
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0x808]
lea rcx, [rsp + 0x80]
call fcn.140005fe8
nop
mov rcx, qword [rsp + 0x810]
test rcx, rcx
je 0x14000e319
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x808]
test rcx, rcx
je 0x14000e334
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14000e34f
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14000e36a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
inc edi
jmp 0x14000de50
mov r12b, 1
jmp 0x14000e402
lea rax, [rsp + 0x780]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x780], rcx
test rcx, rcx
je 0x14000e3ac
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x788], rcx
test rcx, rcx
je 0x14000e3cf
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
lea r9, str._0x_08lx_
lea r8, str.IOCTL_DISK_GET_DRIVE_LAYOUT_EX_FAILURE
lea rdx, [rsp + 0x780]
mov rcx, r13
call fcn.14001f4fc
jmp 0x14000e402
mov r12b, byte [rsp + 0xa4]
test r12b, r12b
je 0x14000e692
mov dword [rsp + 0x2dc], r15d
mov dword [rsp + 0x2f0], r15d
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, 0x704008
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140024474
mov dword [rsp + 0x158], eax
test eax, eax
js 0x14000e613
mov dword [rsp + 0xa0], r15d
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140022220
lea rax, [rsp + 0x790]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x790], rcx
test rcx, rcx
je 0x14000e4af
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x798], rcx
test rcx, rcx
je 0x14000e4d2
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
lea r9, str.0x_08lx
lea r8, str.MBR.CurrentSignature
lea rdx, [rsp + 0x790]
mov rcx, r13
call fcn.14001f4fc
mov dword [rsp + 0xa0], r15d
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x2b0]
call fcn.140022418
mov rcx, qword [rsp + 0x80]
test al, al
jne 0x14000e59a
lea rax, [rsp + 0x7a0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x7a0], rcx
test rcx, rcx
je 0x14000e557
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x7a8], rcx
test rcx, rcx
je 0x14000e57a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
lea r9, str._none_
lea r8, str.MBR.PreviousSignature
lea rdx, [rsp + 0x7a0]
mov rcx, r13
call fcn.14001f4fc
jmp 0x14000e611
lea rax, [rsp + 0x7b0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x7b0], rcx
test rcx, rcx
je 0x14000e5c5
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x7b8], rcx
test rcx, rcx
je 0x14000e5e8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0xa0]
lea r9, str.0x_08lx
lea r8, str.MBR.PreviousSignature
lea rdx, [rsp + 0x7b0]
mov dword [rsp + 0x20], eax
mov rcx, r13
call fcn.14001f4fc
jmp 0x14000e692
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0xf8], rcx
test rcx, rcx
je 0x14000e646
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x100], rcx
test rcx, rcx
je 0x14000e669
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
lea r9, str._0x_08lx_
lea r8, str.IOCTL_PARTMGR_QUERY_DISK_SIGNATURE_FAILURE
lea rdx, [rsp + 0xf8]
mov rcx, r13
call fcn.14001f4fc
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x2b0]
mov rcx, r13
call fcn.14000aaac
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x818]
lea rcx, [rsp + 0x108]
call fcn.140005fe8
nop
mov rcx, qword [rsp + 0x820]
test rcx, rcx
je 0x14000e6e3
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x818]
test rcx, rcx
je 0x14000e6fe
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14000e719
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14000e734
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
lea rcx, [rsp + 0x2b0]
call fcn.1400242a8
nop
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x14000e754
call fcn.1400434b8
lea r14, str.base_stor_vss_tools_vssagent_vsdoc.cpp
lea r12, str.CVssXmlDiagDocument::GetDisks
lea rax, [0x1400531a0]
mov qword [rsp + 0x138], r15
mov qword [rsp + 0x130], rax
mov ebx, dword [rsp + 0xe8]
inc ebx
mov rdi, qword [rsp + 0x1c8]
jmp 0x14000b259
cmp rdi, 0xffffffffffffffff
je 0x14000e84e
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
nop dword [rax + rax]
cmp qword [rsp + 0x2a8], r15
jne 0x14000e8c0
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xf8], rcx
test rcx, rcx
je 0x14000e88b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x100], rcx
test rcx, rcx
je 0x14000e8ae
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
lea rdx, [rsp + 0xf8]
mov rcx, r13
call fcn.14001f468
jmp 0x14000e8d6
lea r8, [rsp + 0x108]
mov rdx, qword [rsp + 0x2a8]
call fcn.14002bf68
nop
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x14000e8f1
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x14000e90c
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
lea rcx, [rsp + 0x150]
call fcn.1400406a0
mov rcx, qword [rsp + 0xc18]
xor rcx, rsp
call fcn.1400438c0
lea r11, [rsp + 0xc20]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x392
mov r9, r12
lea r8, str.VHWDOCC
mov rdx, r14
lea rcx, [rsp + 0x1e0]
call fcn.1400400dc
lea r8, str.SetupDiGetClassDevs___NULL__NULL__DIGCF_DEVICEINTERFACE__DIGCF_PRESENT_
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.140041e40
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x3a3
mov r9, r12
lea r8, str.VHWDOCC
mov rdx, r14
lea rcx, [rsp + 0x1e0]
call fcn.1400400dc
mov r9d, ebx
lea r8, str.SetupDiEnumDeviceInterfaces_devInfo__NULL______d____
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.140041e40
nop
mov dword [rsp + 0x1c0], 0x8007000e
lea rdx, [0x1400793e8]
lea rcx, [rsp + 0x1c0]
call sub.msvcrt.dll__CxxThrowException
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x3cc
mov r9, r12
lea r8, str.VHWDOCC
mov rdx, r14
lea rcx, [rsp + 0x1e0]
call fcn.1400400dc
lea r8, str.SetupDiGetDeviceInterfaceDetail_devInfo____detail__dwBytes__NULL___
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.140041e40
mov dword [rsp + 0x30], 0xdc
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 0x3f0
mov r9, r12
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x1e0]
call fcn.1400400dc
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.1400046e0
mov r8d, eax
lea rax, [rsp + 0x8e0]
mov qword [rsp + 0x20], rax
lea r9, str.StringCchPrintfW__s_
lea rcx, [rsp + 0x150]
call fcn.140042060
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x3c2
mov r9, r12
lea r8, str.VHWDOCC
mov rdx, r14
lea rcx, [rsp + 0x1e0]
call fcn.1400400dc
lea rcx, str.TRUE
lea r9, str.FALSE
test ebx, ebx
cmovne r9, rcx
lea r8, str.SetupDiGetDeviceInterfaceDetail_devInfo____NULL__0____NULL_:__s
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.140041e40
int3