Function at 0x14029f890
Capabilities:
Get common file path
Get disk information

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x300
movaps xmmword [rsp + 0x2f0], xmm6
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x2e8], rax
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call fcn.1400c7802
mov rcx, rbx
call fcn.14029f088
mov ebp, eax
cmp byte [rbx + 0x17], 0
jns 0x14029f8ee
mov rcx, qword [rsp + 0xb0]
call fcn.140153bcc
mov bl, 1
test bpl, bpl
je 0x14029f921
mov rcx, qword [rsp + 0x2e8]
xor rcx, rsp
call fcn.140156fe0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x2f0]
add rsp, 0x300
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x2c0]
mov qword [rbx + 0x20], r15
movaps xmm6, xmmword [0x1402fccc0]
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rsi
call fcn.14029f2d2
cmp byte [rbx], 0
jne 0x14029f959
xor ebx, ebx
jmp 0x14029f8f5
lea rsi, [rsp + 0x70]
mov qword [rsi + 0x10], r15
movaps xmmword [rsi], xmm6
mov rcx, rsi
mov rdx, rdi
call fcn.1400c7802
movzx r9d, byte [rsi + 0x17]
test r9b, r9b
jns 0x14029fa59
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1402a0018
mov rsi, qword [rsp + 0x70]
cmp word [rsi + rax*2 - 2], 0x5c
je 0x14029fa95
cmp byte [rsp + 0x2c0], 0
je 0x1402a0013
cmp byte [rsp + 0x87], 0
js 0x14029f9bc
lea rdx, [rsp + 0x70]
jmp 0x14029f9c1
mov rdx, qword [rsp + 0x70]
lea rsi, [rsp + 0x2c8]
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14029f9da
mov rcx, qword [rsp + 0x2c8]
call fcn.1401740e4
mov bl, 1
test eax, eax
je 0x14029fa17
cmp byte [rsp + 0x2c0], 0
je 0x14029fa6a
lea rdx, str.DeviceDeviceApi
mov rcx, rsi
call fcn.1401e0626
test al, al
je 0x14029fa6a
lea rdx, str.DeviceDeviceApiCMApi
lea rcx, [rsp + 0x70]
call fcn.1401e0626
test al, al
je 0x14029fa6a
cmp byte [rsp + 0x87], 0
jns 0x14029fa2b
mov rcx, qword [rsp + 0x70]
call fcn.140153bcc
cmp byte [rsp + 0x2c0], 0
je 0x14029f8f5
cmp byte [rsp + 0x2df], 0
jns 0x14029f8f5
mov rcx, qword [rsp + 0x2c8]
call fcn.140153bcc
jmp 0x14029f8f5
test r9, r9
je 0x1402a0018
mov rax, r9
jmp 0x14029f991
lea rbx, [rsp + 0x70]
mov rcx, rbx
mov rdx, rbx
call fcn.14029f6af
mov ebp, eax
mov rcx, rbx
call fcn.14029f76e
test al, al
jne 0x14029faf9
test bpl, bpl
jne 0x14029fd06
xor ebx, ebx
jmp 0x14029fa17
test r9b, r9b
jns 0x14029fa9f
mov r9, qword [rsp + 0x78]
dec r9
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xb0]
lea rsi, [rsp + 0x70]
mov rdx, rsi
xor r8d, r8d
call fcn.1400dffce
cmp byte [rsi + 0x17], 0
jns 0x14029fad7
mov rcx, qword [rsp + 0x70]
call fcn.140153bcc
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x14029f99d
call fcn.14012ba60
mov rcx, rax
call fcn.1401508a0
test al, al
jne 0x14029fd97
call fcn.140123640
test al, al
jne 0x14029fc59
mov qword [rsp + 0x90], 0
lea rdi, [rsp + 0xb0]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.140159120
cmp byte [rsp + 0x87], 0
js 0x14029fb50
lea rax, [rsp + 0x70]
jmp 0x14029fb55
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
lea rcx, [rsp + 0x90]
mov dword [rcx], eax
mov rdx, rdi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor ebx, ebx
cmp eax, 2
jb 0x14029fa17
cmp eax, 0x104
je 0x14029fa17
lea rcx, [rsp + 0xb0]
call fcn.14015468c
cmp byte [rsp + 0x2c0], 0
je 0x14029ff9a
mov edi, eax
movzx eax, byte [rsp + 0x87]
test al, al
js 0x14029fbb4
and eax, 0x7f
jmp 0x14029fbb9
mov rax, qword [rsp + 0x78]
lea rcx, [rdi + rax]
add rcx, 0xfffffffffffffffe
movzx eax, byte [rsp + 0x2df]
test al, al
js 0x14029fbd4
mov edx, eax
and edx, 0x7f
jmp 0x14029fbdc
mov rdx, qword [rsp + 0x2d0]
cmp rcx, rdx
jne 0x14029fa91
mov rcx, rsi
test al, al
jns 0x14029fbf4
mov rcx, qword [rsp + 0x2c8]
lea rdx, [rsp + 0xb0]
mov r8, rdi
call fcn.1401742a0
test eax, eax
jne 0x14029fa91
cmp byte [rsp + 0x2c0], 0
je 0x1402a0013
cmp byte [rsp + 0x87], 0
js 0x14029fc2b
lea rdx, [rsp + 0x70]
jmp 0x14029fc30
mov rdx, qword [rsp + 0x70]
add rdx, 4
cmp byte [rsp + 0x2df], 0
jns 0x14029fc46
mov rsi, qword [rsp + 0x2c8]
lea rcx, [rsi + rdi*2]
call fcn.1401740e4
test eax, eax
sete bl
jmp 0x14029fa17
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov rdx, rdi
call fcn.1400c7802
mov rcx, rbx
call fcn.14029f396
mov edi, eax
cmp byte [rbx + 0x17], 0
jns 0x14029fc89
mov rcx, qword [rsp + 0xb0]
call fcn.140153bcc
test edi, edi
jne 0x14029fa91
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
xor eax, eax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm0
cmp byte [rsp + 0x2c0], 0
je 0x1402a0013
lea rdi, [rsp + 0xb0]
lea r8, [rsp + 0x90]
mov rcx, rsi
mov rdx, rdi
call fcn.1402a0063
test al, al
jne 0x14029ff9c
xor ebx, ebx
cmp byte [rsp + 0xa7], 0
jns 0x14029fd77
mov rcx, qword [rsp + 0x90]
call fcn.140153bcc
jmp 0x14029fd77
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
cmp byte [rsp + 0x2c0], 0
je 0x1402a0013
lea rdi, [rsp + 0xb0]
mov rcx, rsi
mov rdx, rdi
call fcn.14029f7d1
test al, al
jne 0x14029fd46
xor ebx, ebx
jmp 0x14029fd77
cmp byte [rsp + 0x87], 0
jns 0x14029fd55
mov rbx, qword [rsp + 0x70]
cmp byte [rsp + 0xc7], 0
jns 0x14029fd67
mov rdi, qword [rsp + 0xb0]
mov rcx, rdi
mov rdx, rbx
call fcn.1401740e4
test eax, eax
sete bl
cmp byte [rsp + 0xc7], 0
jns 0x14029fa17
mov rcx, qword [rsp + 0xb0]
call fcn.140153bcc
jmp 0x14029fa17
lea r14, [rsp + 0xb0]
mov r8d, 0x208
mov rcx, r14
xor edx, edx
call fcn.140159120
mov rcx, r14
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rbx, [rsp + 0x90]
mov qword [rbx + 0x10], r15
movaps xmmword [rbx], xmm6
mov rcx, r14
call fcn.14015468c
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.14012d7cc
mov qword [rsp + 0x60], r15
movaps xmmword [rsp + 0x50], xmm6
cmp byte [rsp + 0x87], 0
js 0x14029fe0f
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x14029fe23
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.1400ca766
movzx eax, byte [rsp + 0xa7]
mov r14d, eax
and r14d, 0x7f
test al, al
cmovs rbx, qword [rsp + 0x90]
cmovs r14, qword [rsp + 0x98]
test r14, r14
je 0x14029fe69
add r14, r14
xor r12d, r12d
movzx ecx, word [rbx + r12]
call fcn.140153cc8
mov word [rbx + r12], ax
add r12, 2
cmp r14, r12
jne 0x14029fe51
lea rax, [rsp + 0x50]
movzx ecx, byte [rax + 0x17]
mov ebx, ecx
and ebx, 0x7f
test cl, cl
mov r14, qword [rax]
cmovns r14, rax
cmovs rbx, qword [rax + 8]
test rbx, rbx
je 0x14029fea8
add rbx, rbx
xor r12d, r12d
movzx ecx, word [r14 + r12]
call fcn.140153cc8
mov word [r14 + r12], ax
add r12, 2
cmp rbx, r12
jne 0x14029fe90
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x90]
call fcn.1402a001c
test rax, rax
je 0x14029fef0
cmp byte [rsp + 0x67], 0
jns 0x14029fed0
mov rcx, qword [rsp + 0x50]
call fcn.140153bcc
cmp byte [rsp + 0xa7], 0
jns 0x14029fb0e
mov rcx, qword [rsp + 0x90]
call fcn.140153bcc
jmp 0x14029fb0e
lea r14, [rsp + 0xb0]
mov rcx, r14
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
lea rbx, [rsp + 0x30]
mov qword [rbx + 0x10], r15
movaps xmmword [rbx], xmm6
mov rcx, r14
call fcn.14015468c
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.14012d7cc
movzx r8d, byte [rsp + 0xa7]
test r8b, r8b
js 0x14029ff3c
and r8d, 0x7f
jmp 0x14029ff44
mov r8, qword [rsp + 0x98]
movzx eax, byte [rsp + 0x47]
test al, al
js 0x14029ff52
and eax, 0x7f
jmp 0x14029ff5c
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0x50]
mov rcx, r14
xor edx, edx
mov r9, rbx
call fcn.140237562
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.14007e722
cmp byte [rsp + 0x47], 0
jns 0x14029febf
mov rcx, qword [rsp + 0x30]
call fcn.140153bcc
jmp 0x14029febf
ud2
lea rsi, [rsp + 0x50]
mov qword [rsi + 0x10], r15
movaps xmmword [rsi], xmm6
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x70]
mov r8d, 3
mov rcx, rsi
mov r9, 0xffffffffffffffff
call fcn.1400dffce
cmp byte [rsi + 0x17], 0
jns 0x14029ffd7
mov rsi, qword [rsp + 0x50]
cmp byte [rsp + 0xc7], 0
jns 0x14029ffe9
mov rdi, qword [rsp + 0xb0]
mov rcx, rdi
mov rdx, rsi
call fcn.1401740e4
test eax, eax
sete bl
cmp byte [rsp + 0x67], 0
jns 0x14029fce9
mov rcx, qword [rsp + 0x50]
call fcn.140153bcc
jmp 0x14029fce9
call fcn.1401e1808
int3