Function at 0x14008df00
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0x490
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov esi, r8d
mov r13, rdx
xor edi, edi
mov dword [rsp + 0x30], edi
mov dword [rdx], edi
test r8d, r8d
je 0x14008df4c
call fcn.140089660
mov esi, eax
mov edx, 0x104
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea rcx, [rsp + 0x370]
call fcn.1400b3390
lea r11, [rsp + 0x370]
lea rcx, [rsp + 0x150]
nop
movzx eax, byte [r11]
mov byte [rcx], al
add r11, 1
add rcx, 1
test al, al
jne 0x14008df80
lea rcx, [rsp + 0x150]
call fcn.1400b3390
lea rcx, [rsp + 0x150]
call fcn.1400b68d0
mov byte [rsp + 0x40], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x41]
call fcn.1400c2840
lea r11, [rsp + 0x40]
mov qword [rsp + 0x20], r11
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x29]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea r11, [rsp + 0x40]
lea rcx, [rsp + 0x260]
nop
movzx eax, byte [r11]
mov byte [rcx], al
add r11, 1
add rcx, 1
test al, al
jne 0x14008dff0
lea rcx, [rsp + 0x260]
call fcn.1400b3390
lea rcx, [rsp + 0x260]
call fcn.1400b68d0
xor r9d, r9d
xor r8d, r8d
lea rdx, str..dll
lea rcx, [0x140167680]
call fcn.1400894c0
lea rcx, [0x140167680]
call fcn.1400c3380
test edi, edi
jne 0x14008e2ab
test esi, esi
je 0x14008e069
xor r9d, r9d
xor r8d, r8d
mov edx, 0x104
lea rbx, [0x140167570]
mov rcx, rbx
call fcn.140089310
jmp 0x14008e085
xor r9d, r9d
xor r8d, r8d
lea rdx, str..dll
lea rbx, [0x140167570]
mov rcx, rbx
call fcn.1400894c0
mov rdx, rbx
mov ecx, 0x1391
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14008e2b2
test esi, esi
je 0x14008e0be
xor r9d, r9d
mov edx, 0x104
lea r8d, [rax + 1]
lea rcx, [0x140167df0]
call fcn.140089310
jmp 0x14008e0d7
xor r9d, r9d
xor r8d, r8d
lea rdx, str..dll
lea rcx, [0x140167df0]
call fcn.1400894c0
lea rdx, [0x140167df0]
mov ecx, 0x1395
call fcn.14008dc00
mov dword [rsp + 0x30], eax
mov edx, 0x5c
lea rcx, [0x140167df0]
call fcn.1400c2dd0
mov r12, rax
test rax, rax
je 0x14008e152
lea rdx, [rsp + 0x40]
lea rax, [0x140167f00]
movzx ecx, byte [rdx]
mov byte [rax], cl
add rdx, 1
add rax, 1
test cl, cl
jne 0x14008e111
lea rcx, [0x140167f00]
call fcn.1400b3390
lea rdi, [0x140167f00]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [r12 + rcx + 1]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008e140
lea rdx, [0x140167f00]
mov ecx, 0x1398
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14008e2b2
test esi, esi
je 0x14008e191
lea r9, [rsp + 0x40]
mov edx, 0x104
lea r8d, [rax + 3]
lea rcx, [0x140168010]
call fcn.140089310
jmp 0x14008e1ac
lea r9, [rsp + 0x40]
xor r8d, r8d
lea rdx, [0x1400e4e84]
lea rcx, [0x140168010]
call fcn.1400894c0
lea rdx, [0x140168010]
mov ecx, 0x1399
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14008e2b2
test esi, esi
je 0x14008e1ee
lea r9, [rsp + 0x150]
mov edx, 0x104
lea r8d, [rax + 8]
lea rcx, [0x140168120]
call fcn.140089310
jmp 0x14008e20c
lea r9, [rsp + 0x150]
xor r8d, r8d
lea rdx, str..dll
lea rcx, [0x140168120]
call fcn.1400894c0
lea rdx, [0x140168120]
mov ecx, 0x1397
call fcn.14008dc00
mov dword [rsp + 0x30], eax
mov edx, 0x5c
lea rcx, [0x140168120]
call fcn.1400c2dd0
mov r12, rax
test rax, rax
je 0x14008e292
lea rdx, [rsp + 0x260]
lea rax, [0x140168230]
nop
nop
movzx ecx, byte [rdx]
mov byte [rax], cl
add rdx, 1
add rax, 1
test cl, cl
jne 0x14008e250
lea rcx, [0x140168230]
call fcn.1400b3390
lea rdi, [0x140168230]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [r12 + rcx + 1]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14008e280
lea rdx, [0x140168230]
mov ecx, 0xb5
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14008e2b2
lea rbx, [0x140167570]
cmp dword [0x140167de4], 0
je 0x14008e3e2
test edi, edi
jne 0x14008e3bb
test esi, esi
je 0x14008e2f0
xor r9d, r9d
mov edx, 0x104
lea r8d, [rdi + 9]
lea r12, [0x140168560]
mov rcx, r12
call fcn.140089310
mov rcx, r12
call fcn.1400b6490
jmp 0x14008e319
lea r12, [0x140168560]
mov rcx, r12
nop
nop
movzx eax, byte [rbx]
mov byte [rcx], al
add rbx, 1
add rcx, 1
test al, al
jne 0x14008e300
mov rcx, r12
call fcn.1400b6490
mov edx, 0x104
lea rcx, [0x140168450]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea rcx, [0x140168450]
call fcn.1400b3390
lea rdi, [0x140168450]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rax, qword [str.drivers_]
mov qword [rdi - 1], rax
movzx eax, byte [0x1400fda28]
mov byte [rdi + 7], al
lea rdi, [0x140168450]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor r8d, r8d
nop
movzx eax, byte [r12 + r8]
mov byte [rdi + r8 - 1], al
add r8, 1
test al, al
jne 0x14008e370
lea rdi, [0x140168450]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov eax, dword [str..sys]
mov dword [rdi - 1], eax
movzx eax, byte [0x1400fda18]
mov byte [rdi + 3], al
lea rdx, [0x140168450]
mov ecx, 0x1396
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x14008e3e2
lea r8, str.vsext
lea rdx, str.._s
lea rcx, [0x140168670]
call fcn.1400c2cf0
cmp dword [0x140161bf0], 0
je 0x14008e441
test edi, edi
jne 0x14008e542
test esi, esi
je 0x14008e411
xor r9d, r9d
mov edx, 0x104
lea r8d, [rdi + 5]
lea rcx, [0x140167790]
call fcn.140089310
jmp 0x14008e42a
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400e4e84]
lea rcx, [0x140167790]
call fcn.1400894c0
lea rdx, [0x140167790]
mov ecx, 0x1393
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x14008e542
test esi, esi
je 0x14008e467
xor r9d, r9d
mov edx, 0x104
lea r8d, [rdi + 6]
lea rcx, [0x1401678a0]
call fcn.140089310
jmp 0x14008e480
xor r9d, r9d
xor r8d, r8d
lea rdx, str..dll
lea rcx, [0x1401678a0]
call fcn.1400894c0
lea rdx, [0x1401678a0]
mov ecx, 0x1392
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14008e542
test esi, esi
je 0x14008e4bd
xor r9d, r9d
mov edx, 0x104
lea r8d, [rax + 7]
lea rcx, [0x140167bd0]
call fcn.140089310
jmp 0x14008e4d6
xor r9d, r9d
xor r8d, r8d
lea rdx, str..dll
lea rcx, [0x140167bd0]
call fcn.1400894c0
mov r9d, 1
mov r8d, 0x8f
lea rdx, [0x140167bd0]
mov rcx, qword [0x140167678]
call fcn.1400b8c10
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14008e542
lea rcx, [0x140167bd0]
call fcn.140039ad0
test esi, esi
je 0x14008e529
xor r9d, r9d
mov edx, 0x104
lea r8d, [rdi + 0xa]
lea rcx, [0x140168340]
call fcn.140089310
jmp 0x14008e542
xor r9d, r9d
xor r8d, r8d
lea rdx, str..dll
lea rcx, [0x140168340]
call fcn.1400894c0
mov dword [r13], 1
test edi, edi
jne 0x14008e5c4
lea edx, [rdi + 4]
lea r8d, [rdi + 0x47]
lea rcx, str.shell32.dll
call fcn.1400b36e0
test eax, eax
jne 0x14008e5c4
test esi, esi
je 0x14008e583
xor r9d, r9d
mov edx, 0x104
lea r8d, [rdi + 4]
lea rcx, [0x140167ce0]
call fcn.140089310
jmp 0x14008e59c
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400e4e84]
lea rcx, [0x140167ce0]
call fcn.1400894c0
lea rdx, [0x140167ce0]
mov ecx, 0x1394
call fcn.14008dc00
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14008e5c4
lea rcx, [0x140167ce0]
call fcn.140039ad0
nop
mov eax, edi
jmp 0x14008e5cc
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.1400c2a20
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret