Function at 0x180007b50
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x180089b10]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rbx, qword [rsp + 0x30]
lea esi, [rcx + 0x60c]
mov qword [rsp + 0x40], r8
mov r10, rdx
mov qword [rsp + 0x38], rdx
mov r14d, ecx
mov qword [rsp + 0x30], rbx
mov edi, ecx
mov r11d, 0x73
cmp ecx, esi
jae 0x180007e5b
lea edx, [r11 - 0x2b]
lea ecx, [rdx + 0x1b]
lea r8d, [r11 - 0x1f]
lea r15, [0x180095568]
lea r9d, [r11 - 0xe]
lea r12d, [r11 - 4]
lea r13d, [r11 - 7]
nop
cmp edi, 0x279
ja 0x180007d94
je 0x180007d83
cmp edi, 0x121
ja 0x180007cdd
je 0x180007cd0
mov eax, edi
sub eax, 0x69
je 0x180007c9a
sub eax, 0x56
je 0x180007c66
sub eax, 0xc
je 0x180007c56
cmp eax, 0x4a
jne 0x180007e46
lea r8d, [rax - 0x40]
lea rdx, [0x180095577]
lea ecx, [rax - 0x41]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
movzx eax, word [0x18007cc90]
movsd xmm0, qword [str.3238462643]
mov word [0x180095580], ax
movzx eax, byte [0x18007cc92]
mov byte [0x180095582], al
movsd qword [0x180095578], xmm0
jmp 0x180007e31
mov word [rsp + 0x60], dx
mov word [rsp + 0x61], r8w
jmp 0x180007e46
mov r8d, 0xa
lea rdx, [0x180095572]
lea ecx, [r8 - 7]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
mov r8d, 0xa
lea rdx, [0x180095573]
mov ecx, 0x1709
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
jmp 0x180007e31
mov r8d, 0xa
mov rdx, r15
lea ecx, [r8 - 7]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ltoa]
movsd xmm0, qword [str._14159265]
movzx eax, word [0x18007cc58]
movsd qword [0x180095569], xmm0
mov word [0x180095571], ax
jmp 0x180007e31
mov dword [rsp + 0x62], 0x2f5054
jmp 0x180007e46
mov eax, edi
sub eax, 0x16b
je 0x180007d51
sub eax, 0xc
je 0x180007d37
sub eax, 0x56
je 0x180007d03
cmp eax, 0x56
jne 0x180007e46
mov byte [rsp + 0x53], 0
jmp 0x180007e46
movzx eax, word [0x18007cc94]
lea rdx, str.HostLicensableResourceKey
mov word [rsp + 0x66], ax
lea rcx, [rsp + 0x50]
movzx eax, byte [0x18007cc96]
mov r8d, 3
mov byte [rsp + 0x68], al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x180007e31
mov r8d, 0xa
lea rdx, [rsp + 0x65]
lea ecx, [r8 - 9]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
jmp 0x180007e31
mov eax, 0x88
cmp eax, 0x88
je 0x180007d6a
cmp eax, 0x198
je 0x180008255
jmp 0x180007d72
mov rbx, r15
mov qword [rsp + 0x30], rbx
add eax, 0x110
cmp eax, 0x220
jbe 0x180007d56
jmp 0x180007e46
lea rdx, [0x18007cc68]
lea rcx, [rsp + 0x50]
jmp 0x180007e25
cmp edi, 0x427
ja 0x180007de6
je 0x180007ddf
mov eax, edi
sub eax, 0x2cf
je 0x180007dd8
sub eax, 0x56
je 0x180007dd0
sub eax, 0x56
je 0x180007dc8
cmp eax, 0x56
jne 0x180007e46
mov word [rsp + 0x5b], r11w
mov word [rsp + 0x5c], r9w
jmp 0x180007e46
mov word [rsp + 0x5a], r12w
jmp 0x180007e46
mov word [rsp + 0x59], r13w
jmp 0x180007e46
mov word [rsp + 0x58], cx
jmp 0x180007e46
mov byte [rsp + 0x70], 0
jmp 0x180007e46
mov eax, edi
sub eax, 0x47d
je 0x180007e19
sub eax, 0x56
je 0x180007e11
cmp eax, 0x56
jne 0x180007e46
lea r8d, [rax - 0x54]
lea rdx, [0x18007b7d8]
lea rcx, [rsp + 0x72]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x180007e31
mov word [rsp + 0x71], r12w
jmp 0x180007e46
lea rdx, [0x180075fd4]
lea rcx, [rsp + 0x70]
mov r8d, 1
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r11d, 0x73
lea edx, [r11 - 0x2b]
lea ecx, [rdx + 0x1b]
lea r9d, [r11 - 0xe]
lea r8d, [r11 - 0x1f]
add edi, 0x56
cmp edi, esi
jb 0x180007bd0
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea eax, [r14 + 0x12]
cmp r14d, eax
jae 0x180008255
mov r13, qword [rsp + 0x48]
lea rdx, [0x180000000]
mov r12d, dword [rsp + 0x50]
add r14d, 0xffffff35
mov ebx, dword [rsp + 0x50]
mov r15d, 0x12
nop word [rax + rax]
cmp r14d, 0x11
ja case.default.0x180007ea5
mov ecx, dword [rdx + r14*4 + 0x8284]
add rcx, rdx
jmp rcx
mov r8d, 2
lea rdx, [0x18007ccb4]
lea rcx, [rbp - 0x7b]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp case.default.0x180007ea5
mov rcx, qword [rsp + 0x48]
lea rax, [rbp - 0x70]
mov r9d, ebx
mov qword [rsp + 0x20], rax
mov r8, r13
mov edx, r12d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
jmp case.default.0x180007ea5
mov r8d, 2
lea rdx, [0x18007ccb8]
lea rcx, [rbp - 0x7a]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp case.default.0x180007ea5
xor ebx, ebx
mov rcx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x180007f10
mov rcx, qword [r8]
lea r9, [rsp + 0x50]
mov r8, r10
mov edx, 0x11c
call fcn.18004a690
jmp case.default.0x180007ea5
lea rax, [rsp + 0x60]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180007f33
mov rdx, qword [r10 + 0x18]
mov rcx, qword [r10 + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180007f7d
lea rax, [rcx + rsi]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x180007f63
mov rax, qword [r10]
lea rdi, [rax + rcx]
mov r8, rsi
mov rcx, rdi
lea rdx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rsi], 0
jmp 0x180007f95
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, r10
call fcn.180002030
cmp qword [0x1800886d8], 0x10
lea rdx, [0x1800886c0]
mov r8, qword [0x1800886d0]
cmovae rdx, qword [0x1800886c0]
mov rcx, qword [rsp + 0x38]
call fcn.180020210
jmp case.default.0x180007ea5
cmp qword [r8 + 0x38], 0x10
lea rdx, [r8 + 0x20]
jb 0x180007fd1
mov rdx, qword [r8 + 0x20]
mov r8, qword [r8 + 0x30]
mov rcx, r10
call fcn.180020210
jmp case.default.0x180007ea5
mov word [rbp - 0x7f], r11w
mov dword [rbp - 0x7e], 0x2d7265
jmp case.default.0x180007ea5
mov rcx, qword [r10 + 0x10]
mov rdx, qword [r10 + 0x18]
mov qword [rsp + 0x48], 0
cmp rcx, rdx
jae 0x180008028
lea rax, [rcx + 1]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x18000801d
mov rax, qword [r10]
mov word [rax + rcx], 0x20
jmp case.default.0x180007ea5
xor r8d, r8d
mov r9b, 0x20
mov rcx, r10
lea edx, [r8 + 1]
call fcn.180001ed0
jmp case.default.0x180007ea5
mov eax, dword [str.ction]
mov dword [rsp + 0x75], eax
movzx eax, word [0x18007ccc0]
mov word [rsp + 0x79], ax
mov byte [rbp - 0x80], 0
jmp case.default.0x180007ea5
cmp qword [0x1800886d8], 0x10
lea rdx, [0x1800886c0]
mov r8, qword [0x1800886d0]
mov rcx, r10
cmovae rdx, qword [0x1800886c0]
call fcn.180020210
jmp case.default.0x180007ea5
lea rcx, [rbp - 0x80]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180008090
mov eax, dword [0x18007ccc4]
mov dword [rcx], eax
jmp case.default.0x180007ea5
lea rcx, [rbp - 0x80]
dec rcx
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1800080b0
movzx eax, word [0x18007ccc8]
mov word [rcx], ax
jmp case.default.0x180007ea5
lea r9, [rsp + 0x70]
mov r8, r10
mov edx, 0x11c
lea rcx, [rsp + 0x58]
call fcn.18004a690
mov rcx, qword [rsp + 0x40]
add rcx, 0x40
cmp qword [rcx + 0x18], 0x10
jb 0x1800080f3
mov rcx, qword [rcx]
mov r8, qword [rsp + 0x38]
lea r9, [rbp - 0x80]
mov edx, 0x11c
call fcn.18004a690
jmp case.default.0x180007ea5
movzx eax, word [0x18007cccc]
mov word [rsp + 0x73], ax
movzx eax, byte [0x18007ccce]
mov byte [rsp + 0x75], al
jmp case.default.0x180007ea5
mov rdx, qword [r10 + 0x18]
mov rcx, qword [r10 + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x180008171
lea rax, [rcx + 3]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x18000814f
mov rax, qword [r10]
lea rdi, [rax + rcx]
mov r8d, 3
mov rcx, rdi
lea rdx, [0x18007ccd0]
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 3], 0
jmp case.default.0x180007ea5
xor r8d, r8d
mov qword [rsp + 0x20], 3
lea r9, [0x18007ccd0]
mov rcx, r10
lea edx, [r8 + 3]
call fcn.180002030
jmp case.default.0x180007ea5
mov rcx, qword [r10 + 0x10]
mov rdx, qword [r10 + 0x18]
cmp rcx, rdx
jae 0x1800081c1
lea rax, [rcx + 1]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x1800081b6
mov rax, qword [r10]
mov word [rax + rcx], 0x20
xor r13d, r13d
jmp case.default.0x180007ea5
xor r8d, r8d
mov r9b, 0x20
mov rcx, r10
lea edx, [r8 + 1]
call fcn.180001ed0
xor r13d, r13d
jmp case.default.0x180007ea5
cmp qword [r8 + 0x38], 0x10
lea rax, [r8 + 0x20]
jb 0x1800081e6
mov rax, qword [rax]
cmp byte [rax], 0x2f
je 0x180008226
mov rcx, qword [r10 + 0x10]
mov rdx, qword [r10 + 0x18]
cmp rcx, rdx
jae 0x180008214
lea rax, [rcx + 1]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x18000820c
mov rax, qword [r10]
mov word [rax + rcx], reloc.SHELL32.dll_PathMakeUniqueName
jmp 0x180008226
xor r8d, r8d
mov r9b, reloc.SHELL32.dll_PathMakeUniqueName
mov rcx, r10
lea edx, [r8 + 1]
call fcn.180001ed0
mov r12d, 0x36
mov r10, qword [rsp + 0x38]
lea rdx, [0x180000000]
mov r8, qword [rsp + 0x40]
inc r14d
mov r11d, 0x73
sub r15, 1
jne 0x180007e90
mov rbx, qword [rsp + 0x30]
mov rax, rbx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.18006fee0
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret