Function at 0x140119278
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3d8]
sub rsp, 0x4b0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
xor ebx, ebx
mov qword [rsp + 0x50], rcx
lea rcx, [0x1400442b8]
mov esi, ebx
mov dword [rsp + 0x40], ebx
lea edi, [rbx + 1]
call fcn.140129990
lea r14d, [rbx + 0x11]
mov ecx, r14d
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x48], rbx
mov r13d, ebx
mov qword [rsp + 0x38], rbx
call fcn.14011a710
test eax, eax
je 0x1401192fd
lea r14d, [rbx + 0x12]
mov ecx, r14d
call fcn.14011a710
test eax, eax
jne 0x140119338
mov r9d, 0x522
mov edi, ebx
mov esi, r9d
mov rcx, qword [0x140154018]
lea rbx, [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
mov edx, r14d
lea rax, [0x140044298]
jmp 0x1401193d5
call fcn.14011a104
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x140119389
mov edi, ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x140154018]
lea rbx, [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edx, 0x13
lea r8, [0x140044740]
jmp 0x140119a4f
mov ecx, 0x448
call fcn.1401296bc
xor r10d, r10d
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x1401193e1
lea r9d, [rax + 0xe]
mov edi, r10d
mov esi, r9d
mov rcx, qword [0x140154018]
lea rbx, [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
lea edx, [rax + 0x14]
lea rax, [0x140043880]
lea r8, [0x140044740]
jmp 0x140119a60
mov rax, qword [rsp + 0x58]
cmp dword [rax + 4], r10d
jbe 0x140119440
mov r13, qword [rsp + 0x48]
mov rsi, rax
mov eax, ebx
mov qword [rsp + 0x28], r10
lea rcx, [rax + rax*2]
movzx eax, word [rsi + rcx*8 + 0xc]
mov r9d, dword [rsi + rcx*8 + 8]
movzx r8d, word [rsi + rcx*8 + 0x1c]
mov edx, dword [rsi + rcx*8 + 0x18]
shr ax, 1
add r9, rsi
shr r8w, 1
mov rcx, r13
add rdx, rsi
mov word [rsp + 0x20], ax
call fcn.140118fbc
add ebx, edi
mov r10d, 0
cmp ebx, dword [rsi + 4]
jb 0x1401193f4
mov esi, r10d
mov r13d, esi
mov r15, qword [rsp + 0x48]
lea rbx, [0x140154018]
lea r14, [0x140044740]
cmp qword [r15 + 8], r10
je 0x140119900
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x140119900
movzx r12d, word [r15 + 0x2e]
lea rcx, [rbp - 0x70]
mov edx, 0x105
mov r9d, r12d
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119f1f
lea eax, [rcx + 0x5c]
lea rcx, [rbp - 0x70]
mov word [rbp - 0x6e], ax
call fcn.1401191e4
xor r10d, r10d
test eax, eax
jne 0x140119900
lea ecx, [rax + 0x5c]
mov word [rbp + r12*2 - 0x70], cx
lea ecx, [r12 + 1]
add rcx, rcx
cmp rcx, 0x20a
jae 0x140119f19
mov word [rbp + rcx - 0x70], r10w
mov eax, r10d
cmp dword [r15 + 0x30], r10d
jne 0x140119660
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetDriveTypeW]
xor r10d, r10d
cmp dword [r15 + 0x30], r10d
jne 0x140119660
cmp eax, 3
je 0x140119669
test eax, eax
je 0x140119900
mov r12, qword [r15 + 0x18]
test r12, r12
jne 0x14011959b
mov ecx, 0x1090
call fcn.1401296bc
xor ecx, ecx
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1401199ee
mov qword [rax], rcx
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
mov r12d, 0x40
lea rcx, [rax + 0x80c]
mov edx, r12d
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119998
mov r12, qword [rsp + 0x38]
movzx r9d, word [r15 + 0x2c]
mov r8, qword [r15 + 8]
lea rcx, [r12 + 0xc]
mov edx, 0x400
call fcn.14007ed70
xor r10d, r10d
test eax, eax
js 0x140119946
mov rcx, qword [rsp + 0x50]
mov rdx, r12
add rcx, 0x10
call fcn.140118fa0
test eax, eax
je 0x140119911
mov qword [rsp + 0x38], r10
jmp 0x140119900
mov ecx, 0x1090
call fcn.1401296bc
xor ecx, ecx
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140119b66
mov qword [rax], rcx
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
lea rcx, [rax + 0x80c]
mov edx, 0x40
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119b18
mov rcx, qword [rsp + 0x38]
movzx r9d, word [r12 + 8]
mov r8, qword [r12]
add rcx, 0x88c
mov edx, 0x400
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119abf
mov rcx, qword [rsp + 0x38]
movzx r9d, word [r15 + 0x2c]
mov r8, qword [r15 + 8]
add rcx, 0xc
mov edx, 0x400
call fcn.14007ed70
xor r10d, r10d
test eax, eax
js 0x140119a73
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
add rcx, 0x10
call fcn.140118fa0
test eax, eax
je 0x140119a1c
mov r12, qword [r12 + 0x10]
mov qword [rsp + 0x38], r10
test r12, r12
jne 0x14011959b
jmp 0x140119900
cmp eax, 3
jne 0x140119703
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
mov byte [rsp + 0x30], r10b
call fcn.14011a53c
xor r10d, r10d
test eax, eax
jne 0x1401196cb
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119900
test byte [rax + 0x1c], 4
je 0x140119900
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov rcx, qword [0x140154018]
lea r9, [rbp - 0x70]
mov rcx, qword [rcx + 0x10]
mov edx, 0x16
mov r8, r14
mov dword [rsp + 0x20], eax
call fcn.14011a870
xor r10d, r10d
jmp 0x140119900
cmp byte [rsp + 0x30], r10b
je 0x140119703
mov rcx, qword [0x140154018]
cmp rcx, rbx
je 0x140119900
test byte [rcx + 0x1c], 4
je 0x140119900
mov rcx, qword [rcx + 0x10]
lea r9, [rbp - 0x70]
mov edx, 0x17
mov r8, r14
call fcn.140118288
jmp 0x1401196c3
cmp dword [r15 + 0x30], r10d
jne 0x14011972a
lea rax, [rsp + 0x40]
lea r9, [rbp + 0x1a0]
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x28], rax
call fcn.14011a46c
jmp 0x140119779
mov r12d, 0x10
lea r8, [r15 + 0x34]
lea rcx, [rsp + 0x68]
mov edx, r12d
call fcn.14007edcc
xor ecx, ecx
test eax, eax
js 0x140119ed2
mov r12d, 0x100
lea r8, [r15 + 0x23e]
lea rcx, [rbp + 0x1a0]
mov edx, r12d
call fcn.14007edcc
xor ecx, ecx
test eax, eax
js 0x140119e83
mov eax, dword [r15 + 0x28]
mov dword [rsp + 0x40], eax
mov r12, qword [r15 + 0x18]
test r12, r12
jne 0x14011982c
mov ecx, 0xab8
call fcn.1401296bc
mov r13, rax
xor eax, eax
test r13, r13
je 0x140119cc4
mov qword [r13], rax
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
lea rcx, [r13 + 0xc]
lea edx, [rax + 0x40]
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119c74
lea rcx, [r13 + 0x88c]
lea r8, [rsp + 0x68]
lea edx, [r12 + 0x10]
call fcn.14007edcc
xor ecx, ecx
test eax, eax
js 0x140119c25
lea rcx, [r13 + 0x8ac]
lea r8, [rbp + 0x1a0]
mov edx, 0x100
call fcn.14007edcc
xor r10d, r10d
test eax, eax
js 0x140119bd3
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov dword [r13 + 0xaac], eax
call fcn.140118fa0
test eax, eax
je 0x140119b9e
mov r13d, r10d
jmp 0x140119900
mov ecx, 0xab8
call fcn.1401296bc
mov r13, rax
xor eax, eax
test r13, r13
je 0x140119e4e
mov qword [r13], rax
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
lea rcx, [r13 + 0xc]
lea edx, [rax + 0x40]
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119e08
movzx r9d, word [r12 + 8]
mov r8, qword [r12]
lea rcx, [r13 + 0x8c]
mov edx, 0x400
call fcn.14007ed70
xor ecx, ecx
test eax, eax
js 0x140119db4
lea rcx, [r13 + 0x88c]
lea r8, [rsp + 0x68]
mov edx, 0x10
call fcn.14007edcc
xor ecx, ecx
test eax, eax
js 0x140119d6f
lea rcx, [r13 + 0x8ac]
lea r8, [rbp + 0x1a0]
mov edx, 0x100
call fcn.14007edcc
xor r10d, r10d
test eax, eax
js 0x140119d27
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov dword [r13 + 0xaac], eax
call fcn.140118fa0
test eax, eax
je 0x140119cf2
mov r12, qword [r12 + 0x10]
mov r13d, r10d
test r12, r12
jne 0x14011982c
mov r15, qword [r15]
test r15, r15
jne 0x140119453
jmp 0x140119f78
mov edi, r10d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edx, 0x28
jmp 0x140119a4c
mov ecx, eax
mov edi, r10d
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
movzx r9d, word [r15 + 0x2c]
mov r8, qword [r15 + 8]
lea rcx, [r12 + 0xc]
mov edx, 0x400
call fcn.14007ed70
mov edx, 0x27
mov r9d, eax
lea rax, [0x140044620]
jmp 0x140119f60
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
mov rcx, qword [rsp + 0x38]
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
add rcx, 0x80c
mov rdx, r12
call fcn.14007ed70
mov edx, 0x26
mov r9d, eax
lea rax, [0x140044530]
jmp 0x140119f60
mov r9d, 0xe
mov edi, ecx
mov esi, r9d
mov rcx, qword [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
lea edx, [r9 + 0x17]
jmp 0x140119b8f
mov edi, r10d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edx, 0x2d
mov r8, r14
mov rcx, qword [0x140154018]
mov r9d, eax
lea rax, [0x140043890]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14011834c
jmp 0x140119f78
mov ecx, eax
mov edi, r10d
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
mov rcx, qword [rsp + 0x38]
movzx r9d, word [r15 + 0x2c]
mov r8, qword [r15 + 8]
add rcx, 0xc
mov edx, 0x400
call fcn.14007ed70
mov edx, 0x2c
jmp 0x140119989
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
mov rcx, qword [rsp + 0x38]
movzx r9d, word [r12 + 8]
mov r8, qword [r12]
add rcx, 0x88c
mov edx, 0x400
call fcn.14007ed70
mov edx, 0x2b
mov r9d, eax
lea rax, [0x1400445b0]
jmp 0x140119f60
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
mov rcx, qword [rsp + 0x38]
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
add rcx, 0x80c
mov edx, 0x40
call fcn.14007ed70
mov edx, 0x2a
jmp 0x1401199df
mov r9d, 0xe
mov edi, ecx
mov esi, r9d
mov rcx, qword [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
lea edx, [r9 + 0x1b]
lea rax, [0x140044598]
mov r8, r14
jmp 0x140119a60
mov edi, r10d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edx, 0x1e
jmp 0x140119a4c
mov ecx, eax
mov edi, r10d
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
lea rcx, [r13 + 0x8ac]
lea r8, [rbp + 0x1a0]
mov edx, 0x100
call fcn.14007edcc
mov edx, 0x1d
mov r9d, eax
lea rax, [0x1400444e0]
jmp 0x140119f60
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
lea rcx, [r13 + 0x88c]
lea r8, [rsp + 0x68]
mov edx, 0x10
call fcn.14007edcc
mov edx, 0x1c
mov r9d, eax
lea rax, [0x1400443c0]
jmp 0x140119f60
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
lea rcx, [r13 + 0xc]
mov edx, 0x40
call fcn.14007ed70
mov edx, 0x1b
mov r9d, eax
lea rax, [0x140044410]
jmp 0x140119f60
mov r9d, 0xe
mov edi, eax
mov esi, r9d
mov rcx, qword [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
lea edx, [r9 + 0xc]
jmp 0x140119e77
mov edi, r10d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edx, 0x24
jmp 0x140119a4c
mov ecx, eax
mov edi, r10d
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
lea rcx, [r13 + 0x8ac]
lea r8, [rbp + 0x1a0]
mov edx, 0x100
call fcn.14007edcc
mov edx, 0x23
jmp 0x140119c16
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
lea rcx, [r13 + 0x88c]
lea r8, [rsp + 0x68]
mov edx, 0x10
call fcn.14007edcc
mov edx, 0x22
jmp 0x140119c65
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
movzx r9d, word [r12 + 8]
mov r8, qword [r12]
lea rcx, [r13 + 0x8c]
mov edx, 0x400
call fcn.14007ed70
mov edx, 0x21
mov r9d, eax
lea rax, [0x140044470]
jmp 0x140119f60
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
movzx r9d, word [r15 + 0x2e]
mov r8, qword [r15 + 0x10]
lea rcx, [r13 + 0xc]
mov edx, 0x40
call fcn.14007ed70
mov edx, 0x20
jmp 0x140119cb5
mov r9d, 0xe
mov edi, eax
mov esi, r9d
mov rcx, qword [0x140154018]
cmp rcx, rbx
je 0x140119f78
test byte [rcx + 0x1c], 8
je 0x140119f78
lea edx, [r9 + 0x11]
lea rax, [0x140044370]
jmp 0x140119b96
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
lea r8, [r15 + 0x23e]
lea rcx, [rbp + 0x1a0]
mov rdx, r12
call fcn.14007edcc
mov edx, 0x19
mov r9d, eax
lea rax, [0x140044380]
jmp 0x140119f60
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
lea r8, [r15 + 0x34]
lea rcx, [rsp + 0x68]
mov rdx, r12
call fcn.14007edcc
mov edx, 0x18
mov r9d, eax
lea rax, [0x1400442d8]
jmp 0x140119f60
call fcn.14005e088
int3
mov edi, ecx
mov ecx, eax
call fcn.140129a10
mov esi, eax
mov rax, qword [0x140154018]
cmp rax, rbx
je 0x140119f78
test byte [rax + 0x1c], 8
je 0x140119f78
mov r8, qword [r15 + 0x10]
lea rcx, [rbp - 0x70]
mov r9, r12
mov edx, 0x105
call fcn.14007ed70
mov edx, 0x15
mov r9d, eax
lea rax, [0x140044320]
mov rcx, qword [0x140154018]
mov r8, r14
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx + 0x10]
call fcn.14011834c
mov rcx, r13
call qword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemFree]
cmp qword [rsp + 0x48], 0
je 0x140119fa9
lea rcx, [rsp + 0x48]
call fcn.140119ff8
lea rcx, [0x1400442b8]
call fcn.1401299d0
mov ecx, esi
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetLastError]
mov eax, edi
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.14005dc70
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret