Function at 0x18001acd0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x180070338]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r14d, r9d
mov dword [rsp + 0x48], r9d
mov rdi, r8
mov qword [rbp - 0x80], r8
mov rsi, rdx
mov rdx, rcx
mov qword [rsp + 0x38], rcx
lea r15d, [r9 + 0x54]
mov dword [rsp + 0x34], r15d
cmp r9d, r15d
jae case.0x18001ad96.14
lea r9, [0x180000000]
xor r8d, r8d
movabs r11, 0x6666666666666667
movabs r10, 0x666666666666666
mov r12d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x60]
mov eax, dword [rsp + 0x34]
nop dword [rax]
cmp r14d, 0x10e
ja 0x18001b11e
je 0x18001b191
lea eax, [r14 - 4]
cmp eax, 0xce
ja case.0x18001ad96.15
movzx eax, byte [r9 + rax + 0x1b1f4]
mov ecx, dword [r9 + rax*4 + 0x1b1c4]
add rcx, r9
jmp rcx
mov dword [rsp + 0x50], 0x36
jmp case.0x18001ad96.15
mov byte [rsp + 0x40], 0
jmp case.0x18001ad96.15
mov rbx, r8
cmp qword [rdi + 0x10], 0
jbe case.0x18001ad96.15
nop dword [rax]
mov qword [rsp + 0x48], rbx
mov r9, rdx
mov r8, rdi
mov edx, 0xac
lea rcx, [rsp + 0x48]
call fcn.180027110
test al, al
jne 0x18001b15e
inc rbx
cmp rbx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x38]
jb 0x18001adc0
xor r8d, r8d
lea r9, [0x180000000]
movabs r10, 0x666666666666666
movabs r11, 0x6666666666666667
jmp case.0x18001ad96.15
lea rax, [rdi - 0x400e3000]
test rax, 0xffffffffffffefff
je 0x18001ae8b
mov dword [rsp + 0x70], r8d
mov ecx, 0x64
nop dword [rax]
mov eax, ecx
sub eax, 0x5d
je 0x18001ae8b
sub eax, 9
je 0x18001b165
sub eax, 5
je 0x18001ae85
sub eax, 7
je 0x18001ae71
cmp eax, 1
jne 0x18001ae7c
test r15, r15
je 0x18001ae8b
mov rax, qword [rsp + 0x70]
nop dword [rax]
cmp qword [r15 + 0x10], rax
jae 0x18001ae8b
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x18001ae60
jmp 0x18001ae8b
mov rax, qword [0x1800643ee]
mov r15, qword [rax + 0x18]
inc ecx
cmp ecx, 0x6b
jae 0x18001ae8b
jmp 0x18001ae30
mov eax, dword [0x180074acc]
cmp dword [rdx], 2
jb 0x18001af02
mov dword [rsp + 0x78], r8d
mov ecx, 0x64
nop word [rax + rax]
mov eax, ecx
sub eax, 0x5d
je 0x18001af02
sub eax, 9
je 0x18001b167
sub eax, 5
je 0x18001aefc
sub eax, 7
je 0x18001aee8
cmp eax, 1
jne 0x18001aef3
test r13, r13
je 0x18001af02
mov rax, qword [rsp + 0x78]
nop dword [rax]
cmp qword [r13 + 0x10], rax
jae 0x18001af02
mov r13, qword [r13 + 0x18]
test r13, r13
jne 0x18001aed0
mov r12d, dword [rdi + 4]
jmp case.0x18001ad96.15
mov rax, qword [0x1800643ee]
mov r13, qword [rax + 0x18]
inc ecx
cmp ecx, 0x6b
jae 0x18001af02
jmp 0x18001aea0
mov eax, dword [0x180074acc]
mov r12d, dword [rdi + 4]
jmp case.0x18001ad96.15
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x60], r8
jmp case.0x18001ad96.15
mov rbx, qword [rdi]
mov r14, qword [rdi + 8]
cmp rbx, r14
je 0x18001b115
nop word [rax + rax]
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x60], ILClone
mov byte [rbp - 0x78], 0
movzx ecx, r8w
mov word [rbp - 0x58], cx
mov dword [rbp - 0x54], r8d
mov edi, 0x105
mov eax, edi
sub eax, 0x105
je 0x18001afb9
cmp eax, 0x38
jne 0x18001afe8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x18001afa2
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x68]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x60], ILClone
mov byte [rbp - 0x78], 0
mov word [rdx + 0x20], cx
mov eax, dword [rbp - 0x54]
mov dword [rdx + 0x24], eax
add qword [rsi + 8], 0x28
mov rdx, qword [rsp + 0x38]
jmp 0x18001afe8
lea r8, [rbp - 0x78]
mov rcx, rsi
call fcn.180005aa0
movzx ecx, word [rbp - 0x58]
mov rdx, qword [rsp + 0x38]
jmp 0x18001afe8
lea rax, [rbp - 0x78]
cmp rax, rbx
je 0x18001afe1
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18001afcf
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp - 0x78]
call fcn.18002c030
mov rdx, qword [rsp + 0x38]
movzx ecx, word [rdx]
mov word [rbp - 0x58], cx
add edi, 0x38
cmp edi, 0x175
mov r8d, 0
jb 0x18001af51
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x18001b038
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b033
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b169
call fcn.18005869c
add rbx, 0x20
cmp rbx, r14
mov rdx, qword [rsp + 0x38]
mov r8d, 0
jne 0x18001af30
mov rdi, qword [rbp - 0x80]
mov r14d, dword [rsp + 0x48]
jmp 0x18001adf3
mov r8, qword [rdi + 8]
sub r8, qword [rdi]
sar r8, 5
mov rcx, qword [rsi + 0x10]
sub rcx, qword [rsi]
mov rax, r11
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x18001b09d
cmp r8, r10
ja 0x18001b1bc
mov rdx, r8
mov rcx, rsi
call fcn.18002b0d0
mov dword [rsp + 0x54], 0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x68]
mov edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [rsp + 0x58], eax
mov rdx, qword [rsp + 0x38]
jmp 0x18001adf0
mov qword [rsp + 0x68], r8
jmp case.0x18001ad96.15
mov ecx, r8d
movzx eax, byte [rsp + 0x30]
cmp dword [rsp + 0x58], 0
cmove ecx, eax
mov byte [rsp + 0x30], cl
cmp cl, 0
je case.0x18001ad96.15
lea r9, [rbp - 0x50]
mov r8d, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.SHELL32.dll_SHSetFolderPathA]
mov rdx, qword [rsp + 0x38]
jmp 0x18001adf0
mov r14d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x34]
add r14d, 7
mov dword [rsp + 0x48], r14d
cmp r14d, eax
jb 0x18001ad60
mov eax, dword [rsp + 0x40]
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.180058e50
mov rbx, qword [rsp + 0x228]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov byte [rsp + 0x40], 1
jmp case.0x18001ad96.14
jmp 0x18001b165
jmp 0x18001b167
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov eax, 0x80000000
mov ecx, 0x40000000
cmp dword [rdx], 0
cmove eax, ecx
test r12d, eax
je 0x18001b18c
mov eax, 1
jmp 0x18001b134
mov eax, r8d
jmp 0x18001b134
mov eax, dword [rdi]
test eax, eax
jns 0x18001b1ab
and eax, 0xf
sub eax, 4
mov ecx, 0xe000ed18
movzx eax, byte [rax + rcx]
shr eax, 4
jmp 0x18001b134
mov ecx, 0xe000e400
movzx eax, byte [rax + rcx]
shr eax, 4
jmp 0x18001b134
call fcn.18002b2c0
int3