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

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2880
call fcn.100010660
sub rsp, rax
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov qword [rsp + 0x28b0], rbx
mov qword [rsp + 0x28b8], rbp
mov qword [rsp + 0x28c8], rsi
mov rax, qword [0x100013110]
xor rax, rsp
mov qword [rsp + 0x2870], rax
mov edi, r8d
mov dword [rsp + 0x78], r8d
mov dword [rsp + 0x88], edx
mov dword [rsp + 0x44], ecx
xor r15d, r15d
mov rbp, r15
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::constructor_void____ptr64
nop
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x48], r15d
lea eax, [r15 + 0x41]
mov dword [rsp + 0x40], eax
lea r14d, [r15 + 1]
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x7c], r15d
mov dword [rsp + 0x80], r15d
mov dword [rsp + 0x84], r15d
mov dword [rsp + 0x64], r15d
mov eax, edi
neg eax
sbb edi, edi
and edi, 0xfffff000
add edi, 0x1010
mov dword [rsp + 0xb0], r15d
mov esi, 0x1fc
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0xb4]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x2b0], 5
mov dword [rsp + 0x2b4], 0x10
mov dword [rsp + 0x2b8], r15d
lea ebx, [r15 + 0x7e]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x2bc]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x340], r15
mov qword [rsp + 0x348], r15
mov dword [rsp + 0x350], r15d
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x354]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x550], 0xa
mov dword [rsp + 0x554], 0x1000
mov dword [rsp + 0x558], r15d
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x55c]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x5e0], r15
mov qword [rsp + 0x5e8], r15
mov dword [rsp + 0x5f0], r15d
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x5f4]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x7f0], 0xf
mov dword [rsp + 0x7f4], edi
mov dword [rsp + 0x7f8], r15d
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x7fc]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x880], r15
mov qword [rsp + 0x888], r15
mov dword [rsp + 0x890], r15d
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x894]
call sub.msvcrt.dll_memset
lea r13d, [r15 + 8]
mov dword [rsp + 0xa90], r13d
mov dword [rsp + 0xa94], edi
mov dword [rsp + 0xa98], r15d
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0xa9c]
call sub.msvcrt.dll_memset
mov qword [rsp + 0xb20], r15
mov qword [rsp + 0xb28], r15
mov dword [rsp + 0xb30], r15d
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0xb34]
call sub.msvcrt.dll_memset
mov dword [rsp + 0xd30], 0x14
mov dword [rsp + 0xd34], 0x10
mov dword [rsp + 0xd38], r15d
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0xd3c]
call sub.msvcrt.dll_memset
mov qword [rsp + 0xdc0], r15
mov qword [rsp + 0xdc8], r15
mov dword [rsp + 0xdd0], r15d
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0xdd4]
call sub.msvcrt.dll_memset
mov dword [rsp + 0xfd0], 0x32
mov dword [rsp + 0xfd4], 0x80010
mov dword [rsp + 0xfd8], r15d
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0xfdc]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x1060], r15
mov qword [rsp + 0x1068], r15
mov ecx, 0x3f8
call fcn.10000ff8a
mov r12, rax
mov qword [rsp + 0x90], rax
cmp rax, r15
jne 0x100006b38
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [rbx + 0x1e]
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.10000a170
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.100008a54
nop
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::destructor_void____ptr64
jmp 0x10000752f
call fcn.10000dec0
mov rbx, rax
mov qword [rsp + 0x58], rax
cmp rax, r15
jne 0x100006b98
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x9c
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.10000a170
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.100008a54
mov rcx, r12
call fcn.10000ff7e
nop
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::destructor_void____ptr64
jmp 0x10000752f
call fcn.10000dec0
mov rsi, rax
mov qword [rsp + 0x70], rax
cmp rax, r15
jne 0x100006c07
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x9c
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.10000a170
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.100008a54
cmp dword [rbx], 9
jne 0x100006bef
lea rcx, [rsp + 0x58]
call fcn.10000df60
mov rcx, r12
call fcn.10000ff7e
nop
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::destructor_void____ptr64
jmp 0x10000752f
lea rdi, [rsp + 0x1220]
xor eax, eax
mov ecx, 0xfe
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1a30]
mov edx, 0x105
mov rcx, rdx
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1c40]
mov rcx, rdx
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1210]
lea ecx, [rax + 3]
rep stosb byte [rdi], al
lea rdi, [rsp + 0x2670]
lea r13d, [rdx - 5]
mov rcx, r13
rep stosb byte [rdi], al
lea rdi, [rsp + 0x2270]
mov rcx, r13
rep stosb byte [rdi], al
lea rdi, [rsp + 0x2470]
mov rcx, r13
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1420]
mov ecx, 0x1fc
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1820]
lea ecx, [rdx - 1]
rep stosb byte [rdi], al
lea rdi, [rsp + 0x2060]
mov rcx, rdx
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1e50]
mov rcx, rdx
rep stosb byte [rdi], al
lea ecx, [rax + 0x45]
call fcn.100008cb8
mov rdx, rax
mov r8d, r13d
lea rcx, [rsp + 0xb0]
call fcn.100009ec8
lea ecx, [r13 - 0x3b]
call fcn.100008cb8
mov rdx, rax
mov r8d, r13d
lea rcx, [rsp + 0x350]
call fcn.100009ec8
mov ecx, 0x47
call fcn.100008cb8
mov rdx, rax
mov r8d, r13d
lea rcx, [rsp + 0x5f0]
call fcn.100009ec8
mov ecx, 0x53
call fcn.100008cb8
mov rdx, rax
mov r8d, r13d
lea rcx, [rsp + 0x890]
call fcn.100009ec8
lea ecx, [r13 - 0x45]
call fcn.100008cb8
mov rdx, rax
mov r8d, r13d
lea rcx, [rsp + 0xb30]
call fcn.100009ec8
mov ecx, 0x4b
call fcn.100008cb8
mov rdx, rax
mov r8d, r13d
lea rcx, [rsp + 0xdd0]
call fcn.100009ec8
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov edi, eax
mov dword [rsp + 0x1210], eax
lea edx, [r13 + 4]
lea rcx, [rsp + 0x1a30]
call qword [sym.imp.msvcrt.dll__wgetcwd]
cmp rax, r15
jne 0x100006dd7
lea ecx, [r13 - 0x64]
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.10000a170
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.100008a54
cmp dword [rbx], 9
jne 0x100006db0
lea rcx, [rsp + 0x58]
call fcn.10000df60
cmp dword [rsi], 9
jne 0x100006dbf
lea rcx, [rsp + 0x70]
call fcn.10000df60
mov rcx, r12
call fcn.10000ff7e
nop
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::destructor_void____ptr64
jmp 0x10000752f
mov edx, 0x104
lea rcx, [rsp + 0x1c40]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp eax, r15d
jne 0x100006e52
mov ecx, 0x9c
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.10000a170
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call fcn.100008a54
cmp dword [rbx], 9
jne 0x100006e2b
lea rcx, [rsp + 0x58]
call fcn.10000df60
cmp dword [rsi], 9
jne 0x100006e3a
lea rcx, [rsp + 0x70]
call fcn.10000df60
mov rcx, r12
call fcn.10000ff7e
nop
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::destructor_void____ptr64
jmp 0x10000752f
lea r13, [rsp + 0x107c]
mov eax, 0x41
lea r15d, [rax - 0x27]
mov r12d, dword [rsp + 0x48]
mov rcx, r14
test edi, r14d
je 0x100006f32
mov eax, r12d
add rax, rax
lea rdi, [rsp + rax*8 + 0x1070]
mov eax, dword [rsp + 0x40]
movzx r9d, ax
lea r8, [0x100001820]
mov edx, 4
mov rcx, rdi
call fcn.1000082b0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [r13 - 4], eax
mov r9, rdi
lea r8, [0x100001828]
mov edx, 0x1fb
lea rcx, [rsp + 0x1420]
call fcn.1000082b0
mov dword [rsp + 0x38], 0x104
lea rax, [rsp + 0x2060]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x84]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x7c]
mov r8d, 0x104
lea rdx, [rsp + 0x1e50]
lea rcx, [rsp + 0x1420]
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov dword [r13], eax
mov ecx, 1
add r12d, ecx
add r13, 0x10
mov eax, dword [rsp + 0x40]
mov edi, dword [rsp + 0x1210]
add r14d, r14d
add ax, cx
mov dword [rsp + 0x40], eax
sub r15, rcx
jne 0x100006e6b
mov dword [rsp + 0x48], r12d
mov rax, qword [0x1000143c8]
lea r13, [rax + 0x10]
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x98], rdi
xor r14d, r14d
mov dword [rsp + 0x40], r14d
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0xa0], rcx
cmp qword [rax], r14
mov r12, qword [rsp + 0x90]
jbe 0x10000743a
lea rcx, [0x1000143d8]
mov r15d, dword [rsp + 0x44]
cmp rdi, qword [r13 + 8]
je 0x10000703c
mov rdi, qword [r13 + 8]
mov qword [rsp + 0x98], rdi
mov rax, qword [0x1000143d8]
cmp rax, rcx
je 0x100006fc7
mov rbp, qword [rax + 0x10]
cmp qword [rbp + 0x50], rdi
je 0x10000703c
mov rax, qword [rax]
cmp rax, rcx
jne 0x100006fb5
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov edx, 8
mov r8d, 0x120
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rdx, rax
cmp rax, r14
jne 0x100007000
mov rbp, r14
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
jmp 0x10000703c
lea rbp, [rax + 0x20]
mov qword [rax + 0x10], rbp
mov qword [rbp + 0x50], rdi
mov qword [rax + 8], rax
mov qword [rax], rax
mov rax, qword [0x1000143e0]
lea rcx, [0x1000143d8]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov qword [rax], rdx
mov qword [0x1000143e0], rdx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov word [rsp + 0x1220], r14w
mov edi, 0x80
test byte [r13 + 0x20], dil
je 0x1000070b2
mov rcx, qword [r13]
cmp r14w, word [rcx + 0x40]
je 0x10000706a
mov rax, qword [rcx + 0x48]
cmp r14w, word [rax]
jne 0x10000706a
mov word [rcx + 0x40], r14w
movzx edi, word [rcx + 0x40]
shr edi, 1
mov rdx, qword [rcx + 0x48]
cmp rdx, r14
je 0x1000070a4
cmp edi, 0xfe
jae 0x1000070a4
mov r8d, 0xfe
lea rcx, [rsp + 0x1220]
call fcn.100009ec8
mov word [rsp + rdi*2 + 0x1220], r14w
mov edi, 0x80
jmp 0x1000070b2
mov word [rsp + 0x1220], r14w
mov edi, 0x80
mov rax, qword [0x100014910]
cmp rax, r14
je 0x1000070cd
cmp rbp, r14
je 0x1000070cd
cmp qword [rbp + 0x50], rax
jne 0x100007407
movzx ecx, word [r13 + 0x1e]
cmp cx, di
jae 0x1000070dc
movzx eax, cx
jmp 0x1000070de
mov eax, edi
cdqe
lea rdx, [rax + rax*2]
cmp cx, di
jae 0x1000070ee
movzx eax, cx
jmp 0x1000070f0
mov eax, edi
cdqe
lea rcx, [rax + rax*2]
mov eax, 1
lea rdi, [0x1000137b0]
add dword [rdi + rcx*8 + 0x10], eax
cmp word [0x100014810], r14w
je 0x100007135
xor r9d, r9d
mov r8d, eax
mov rdx, qword [rdi + rdx*8 + 8]
lea rcx, [0x100014810]
call fcn.10000a08c
cmp eax, r14d
jne 0x100007407
mov eax, 1
cmp word [rsp + 0x1220], r14w
jne 0x100007152
cmp byte [0x100013794], r14b
je 0x100007407
jmp 0x100007205
cmp word [0x100014410], r14w
je 0x100007205
xor r9d, r9d
mov r8d, eax
lea rdx, [0x100014410]
lea rcx, [rsp + 0x1220]
call fcn.1000098e8
cmp eax, 0xffffffff
je 0x10000718e
cdqe
lea rcx, [rsp + rax*2 + 0x1220]
cmp rcx, r14
jne 0x100007205
lea rdi, [rsp + 0x1220]
lea rax, [0x100014410]
cmp rax, r14
je 0x1000071ae
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r14d, eax
xor eax, eax
cmp word [rsp + 0x1220], ax
je 0x100007404
xor r15d, r15d
lea r12, [0x100014410]
mov r9d, r14d
mov r8d, 1
mov rdx, r12
mov rcx, rdi
call fcn.10000a08c
cmp eax, r15d
je 0x1000071eb
add rdi, 2
cmp word [rdi], r15w
jne 0x1000071c8
xor r14d, r14d
cmp word [rdi], r14w
mov r12, qword [rsp + 0x90]
mov r15d, dword [rsp + 0x44]
je 0x100007407
mov edi, dword [rbp + 0x50]
mov edx, edi
mov rcx, r12
call fcn.100007cc4
cmp eax, r14d
je 0x100007407
lea r9, [rsp + 0x1220]
cmp word [rsp + 0x1220], r14w
lea rax, [0x10000161c]
cmove r9, rax
lea r8, [0x100001830]
mov edx, 0x1fb
lea rcx, [rsp + 0x1420]
call fcn.1000082b0
cmp dword [rsi], 9
jne 0x10000727e
mov dword [rsp + 0x20], r14d
mov r9d, 1
lea r8, [rsp + 0x1420]
mov edx, 0x20000
mov rcx, rsi
call fcn.10000dddc
cmp eax, 0xffffffff
jne 0x100007407
mov r8d, 0x104
lea rdx, [0x10000161c]
lea rcx, [rsp + 0x1820]
call fcn.100009ec8
lea r11, [rsp + 0x64]
mov qword [rsp + 0x30], r11
lea rax, [rsp + 0x1c40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1a30]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x48]
lea r8, [rsp + 0x1070]
lea rdx, [rsp + 0x1820]
lea rcx, [rsp + 0x1420]
call fcn.100007568
cmp eax, r14d
jne 0x10000730f
cmp dword [rsp + 0x64], 1
jne 0x100007407
cmp dword [rsi], 9
jne 0x100007407
xor r8d, r8d
lea rdx, [rsp + 0x1420]
mov rcx, rsi
call fcn.10000dfdc
jmp 0x100007407
xor edx, edx
mov rcx, rbx
call fcn.10000e21c
mov r9, qword [r13 + 0x10]
lea r8, [0x100001740]
mov edx, 0x1fb
lea rcx, [rsp + 0x1420]
call fcn.1000082b0
xor r9d, r9d
lea r8, [rsp + 0x1420]
mov r14d, dword [rsp + 0x68]
mov edx, r14d
mov rcx, rbx
call fcn.10000e320
xor r9d, r9d
mov r8, qword [rsp + 0x50]
mov edx, r14d
mov rcx, rbx
call fcn.10000e320
xor r9d, r9d
mov r8, r12
mov edx, r14d
mov rcx, rbx
call fcn.10000e320
mov r9d, edi
lea r8, [0x100001740]
mov edx, 0x1fb
lea rcx, [rsp + 0x1420]
call fcn.1000082b0
xor r9d, r9d
lea r8, [rsp + 0x1420]
mov edx, r14d
mov rcx, rbx
call fcn.10000e320
xor r9d, r9d
mov r8, qword [rbp + 0x40]
mov edx, r14d
mov rcx, rbx
call fcn.10000e320
xor eax, eax
cmp qword [rsp + 0xa0], rax
jne 0x1000073d9
lea r8d, [rax + 0x32]
mov edx, r15d
lea rcx, [rsp + 0x1820]
call fcn.100007b9c
xor r9d, r9d
lea r8, [rsp + 0x1820]
mov edx, r14d
mov rcx, rbx
call fcn.10000e320
inc r14d
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x60], 1
xor r14d, r14d
jmp 0x100007407
xor r14d, r14d
mov edx, dword [rsp + 0x40]
inc edx
mov dword [rsp + 0x40], edx
add r13, 0x28
mov ecx, edx
mov rax, qword [0x1000143c8]
cmp rcx, qword [rax]
mov rdi, qword [rsp + 0x98]
lea rcx, [0x1000143d8]
jb 0x100006f93
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0xfd0]
mov edx, 0x50
cmp ecx, 1
cmove eax, edx
mov dword [rsp + 0xfd0], eax
cmp dword [rsp + 0x60], r14d
jne 0x10000747a
lea ecx, [rdx + 1]
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x30
call fcn.10000a170
jmp 0x1000074fe
mov ecx, 0xb7
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x30
call fcn.10000a170
mov ecx, 0xbd
call fcn.100008cb8
mov rdx, rax
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x30
call fcn.10000a170
mov eax, dword [rsp + 0x44]
cmp eax, 3
je 0x1000074d8
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x30
lea rdx, [0x100001760]
call fcn.10000a170
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x88], 1
jne 0x1000074e6
bts eax, 0xc
mov r9, rbx
mov r8d, eax
lea rdx, [rsp + 0xb0]
mov ecx, 6
call fcn.10000fb58
cmp dword [rbx], 9
jne 0x10000750d
lea rcx, [rsp + 0x58]
call fcn.10000df60
cmp dword [rsi], 9
jne 0x10000751c
lea rcx, [rsp + 0x70]
call fcn.10000df60
mov rcx, r12
call fcn.10000ff7e
nop
lea rcx, [rsp + 0x50]
call sub.framedynos.dll_public:_void___cdecl_CHString::destructor_void____ptr64
mov rcx, qword [rsp + 0x2870]
xor rcx, rsp
call fcn.10000ff20
lea r11, [rsp + 0x2880]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret