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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movaps xmmword [rsp + 0x2e0], xmm6
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x2d8], rax
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.1400eb674
mov rcx, rdi
call fcn.140158aa0
mov ebp, eax
cmp byte [rdi + 0x17], 0
jns 0x1402423e7
mov rcx, qword [rsp + 0xd0]
call fcn.14010cc0c
mov dil, 1
test bpl, bpl
je 0x140242419
mov rcx, qword [rsp + 0x2d8]
xor rcx, rsp
call fcn.14010fba0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
movaps xmm6, xmmword [0x14029bb90]
lea rdi, [rsp + 0x90]
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.140159186
cmp byte [rdi + 0x18], 0
jne 0x140242444
xor edi, edi
jmp 0x1402423ef
movabs r14, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x70]
mov qword [rbx + 0x10], r14
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rsi
call fcn.1400eb674
movzx r9d, byte [rbx + 0x17]
test r9b, r9b
jns 0x1402425b7
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140242b26
mov rbx, qword [rsp + 0x70]
cmp word [rbx + rax*2 - 2], 0x5c
jne 0x1402424ed
test r9b, r9b
jns 0x140242498
mov r9, qword [rsp + 0x78]
dec r9
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xd0]
lea rbx, [rsp + 0x70]
mov rdx, rbx
xor r8d, r8d
call fcn.1400a0996
cmp byte [rbx + 0x17], 0
jns 0x1402424d0
mov rcx, qword [rsp + 0x70]
call fcn.14010cc0c
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x70], xmm0
cmp byte [rsp + 0xa8], 0
je 0x140242b23
cmp byte [rsp + 0x87], 0
jns 0x14024250c
mov rdx, qword [rsp + 0x70]
jmp 0x140242511
lea rdx, [rsp + 0x70]
cmp byte [rsp + 0xa7], 0
jns 0x140242523
mov rdi, qword [rsp + 0x90]
mov rcx, rdi
call fcn.14012aec0
mov dil, 1
test eax, eax
je 0x140242575
cmp byte [rsp + 0xa8], 0
je 0x140242759
lea rdx, str.DeviceDeviceApi
lea rcx, [rsp + 0x90]
call fcn.1400ffb4a
test al, al
je 0x140242759
lea rdx, str.DeviceDeviceApiCMApi
lea rcx, [rsp + 0x70]
call fcn.1400ffb4a
test al, al
je 0x140242759
cmp byte [rsp + 0x87], 0
jns 0x140242589
mov rcx, qword [rsp + 0x70]
call fcn.14010cc0c
cmp byte [rsp + 0xa8], 0
je 0x1402423ef
cmp byte [rsp + 0xa7], 0
jns 0x1402423ef
mov rcx, qword [rsp + 0x90]
call fcn.14010cc0c
jmp 0x1402423ef
test r9, r9
je 0x140242b26
mov rax, r9
jmp 0x140242486
lea rbx, [rsp + 0xd0]
mov r8d, 0x208
mov rcx, rbx
xor edx, edx
call fcn.140111cd0
mov rcx, rbx
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rdi, [rsp + 0xb0]
mov qword [rdi + 0x10], r14
movaps xmmword [rdi], xmm6
mov rcx, rbx
call fcn.14010ced4
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.1400eb6d2
mov qword [rsp + 0x60], r14
movaps xmmword [rsp + 0x50], xmm6
cmp byte [rsp + 0x87], 0
js 0x140242640
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x140242654
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.1400a089a
movzx eax, byte [rsp + 0xc7]
mov ebx, eax
and ebx, 0x7f
test al, al
cmovs rdi, qword [rsp + 0xb0]
cmovs rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x140242698
add rbx, rbx
xor r15d, r15d
movzx ecx, word [rdi + r15]
call fcn.14010d558
mov word [rdi + r15], ax
add r15, 2
cmp rbx, r15
jne 0x140242680
lea rax, [rsp + 0x50]
movzx ecx, byte [rax + 0x17]
mov edi, ecx
and edi, 0x7f
test cl, cl
mov rbx, qword [rax]
cmovns rbx, rax
cmovs rdi, qword [rax + 8]
test rdi, rdi
je 0x1402426d7
add rdi, rdi
xor r15d, r15d
movzx ecx, word [rbx + r15]
call fcn.14010d558
mov word [rbx + r15], ax
add r15, 2
cmp rdi, r15
jne 0x1402426bf
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xb0]
call fcn.140242b36
test rax, rax
je 0x14024298f
cmp byte [rsp + 0x67], 0
jns 0x140242703
mov rcx, qword [rsp + 0x50]
call fcn.14010cc0c
cmp byte [rsp + 0xc7], 0
jns 0x14024279b
mov rcx, qword [rsp + 0xb0]
call fcn.14010cc0c
jmp 0x14024279b
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov rdx, rsi
call fcn.1400eb674
mov rcx, rdi
call fcn.140158004
mov esi, eax
cmp byte [rdi + 0x17], 0
jns 0x140242750
mov rcx, qword [rsp + 0xd0]
call fcn.14010cc0c
test esi, esi
jne 0x14024277f
jmp 0x140242a39
lea rdi, [rsp + 0x70]
mov rcx, rdi
mov rdx, rdi
call fcn.140158b1a
mov ebx, eax
mov rcx, rdi
call fcn.140158336
test al, al
jne 0x140242786
test bl, bl
jne 0x1402428f8
xor edi, edi
jmp 0x140242575
call fcn.1400e9c40
mov rcx, rax
call fcn.140101e90
test al, al
jne 0x1402425c8
call fcn.1400deda0
test al, al
jne 0x140242720
mov qword [rsp + 0xb0], 0
lea rsi, [rsp + 0xd0]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.140111cd0
cmp byte [rsp + 0x87], 0
js 0x1402427dd
lea rax, [rsp + 0x70]
jmp 0x1402427e2
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
lea rcx, [rsp + 0xb0]
mov dword [rcx], eax
mov rdx, rsi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor edi, edi
cmp eax, 2
jb 0x140242575
cmp eax, 0x104
je 0x140242575
lea rcx, [rsp + 0xd0]
call fcn.14010ced4
cmp byte [rsp + 0xa8], 0
je 0x140242b29
mov esi, eax
movzx eax, byte [rsp + 0x87]
test al, al
js 0x140242841
and eax, 0x7f
jmp 0x140242846
mov rax, qword [rsp + 0x78]
lea rcx, [rsi + rax]
add rcx, 0xfffffffffffffffe
movzx eax, byte [rsp + 0xa7]
test al, al
js 0x140242861
mov edx, eax
and edx, 0x7f
jmp 0x140242869
mov rdx, qword [rsp + 0x98]
cmp rcx, rdx
jne 0x14024277f
test al, al
js 0x140242880
lea rcx, [rsp + 0x90]
jmp 0x140242888
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xd0]
mov r8, rsi
call fcn.14010e3d8
test eax, eax
jne 0x14024277f
cmp byte [rsp + 0xa8], 0
je 0x140242b2f
cmp byte [rsp + 0x87], 0
js 0x1402428bf
lea rdx, [rsp + 0x70]
jmp 0x1402428c4
mov rdx, qword [rsp + 0x70]
add rdx, 4
cmp byte [rsp + 0xa7], 0
js 0x1402428dc
lea rax, [rsp + 0x90]
jmp 0x1402428e4
mov rax, qword [rsp + 0x90]
lea rcx, [rax + rsi*2]
call fcn.14012aec0
test eax, eax
sete dil
jmp 0x140242575
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0
cmp byte [rsp + 0xa8], 0
je 0x140242b2c
lea rcx, [rsp + 0x90]
lea rsi, [rsp + 0xd0]
mov rdx, rsi
call fcn.140158399
test al, al
jne 0x14024293d
xor edi, edi
jmp 0x14024296f
cmp byte [rsp + 0x87], 0
jns 0x14024294c
mov rdi, qword [rsp + 0x70]
cmp byte [rsp + 0xe7], 0
jns 0x14024295e
mov rsi, qword [rsp + 0xd0]
mov rcx, rsi
mov rdx, rdi
call fcn.14012aec0
test eax, eax
sete dil
cmp byte [rsp + 0xe7], 0
jns 0x140242575
mov rcx, qword [rsp + 0xd0]
call fcn.14010cc0c
jmp 0x140242575
lea rbx, [rsp + 0xd0]
mov rcx, rbx
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
lea rdi, [rsp + 0x30]
mov qword [rdi + 0x10], r14
movaps xmmword [rdi], xmm6
mov rcx, rbx
call fcn.14010ced4
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.1400eb6d2
movzx r8d, byte [rsp + 0xc7]
test r8b, r8b
js 0x1402429db
and r8d, 0x7f
jmp 0x1402429e3
mov r8, qword [rsp + 0xb8]
movzx eax, byte [rsp + 0x47]
test al, al
js 0x1402429f1
and eax, 0x7f
jmp 0x1402429fb
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x50]
mov rcx, rbx
xor edx, edx
mov r9, rdi
call fcn.1401c2450
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.1400e28a8
cmp byte [rsp + 0x47], 0
jns 0x1402426f2
mov rcx, qword [rsp + 0x30]
call fcn.14010cc0c
jmp 0x1402426f2
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
xor eax, eax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xc0], rax
movaps xmmword [rsp + 0xb0], xmm0
cmp byte [rsp + 0xa8], 0
je 0x140242b32
lea rcx, [rsp + 0x90]
lea rsi, [rsp + 0xd0]
lea r8, [rsp + 0xb0]
mov rdx, rsi
call fcn.140158bdb
test al, al
je 0x140242b01
lea rdi, [rsp + 0x50]
mov qword [rdi + 0x10], r14
movaps xmmword [rdi], xmm6
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x70]
mov r8d, 3
mov rcx, rdi
mov r9, 0xffffffffffffffff
call fcn.1400a0996
cmp byte [rdi + 0x17], 0
jns 0x140242acb
mov rdi, qword [rsp + 0x50]
cmp byte [rsp + 0xe7], 0
jns 0x140242add
mov rsi, qword [rsp + 0xd0]
mov rcx, rsi
mov rdx, rdi
call fcn.14012aec0
test eax, eax
sete dil
cmp byte [rsp + 0x67], 0
jns 0x140242b03
mov rcx, qword [rsp + 0x50]
call fcn.14010cc0c
jmp 0x140242b03
xor edi, edi
cmp byte [rsp + 0xc7], 0
jns 0x14024296f
mov rcx, qword [rsp + 0xb0]
call fcn.14010cc0c
jmp 0x14024296f
int3
int3
int3
int3
int3
int3