Function at 0x180067f50
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f0]
sub rsp, 0x3f0
mov rax, qword [0x18007b358]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov r10, r9
mov qword [rbp - 0x70], r9
xor r9d, r9d
mov dword [rsp + 0x40], r8d
mov edi, dword [rsp + 0x40]
lea r12d, [r8 + 0x1ad]
mov qword [rsp + 0x78], rdx
mov r15, rdx
lea rdx, [0x180000000]
mov r13d, r8d
mov rsi, rcx
mov r14d, r8d
cmp r8d, r12d
jae 0x180068258
mov rax, qword [rbp - 0x80]
mov r15d, dword [rbp - 0x78]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x68], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x34], eax
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x30], al
cmp r14d, 0x178
ja case.0x180068026.92
je 0x180068210
lea eax, [r14 - 0x59]
cmp eax, 0xf8
ja case.0x180068026.92
movzx eax, byte [rdx + rax + 0x68a7c]
mov ecx, dword [rdx + rax*4 + 0x68a50]
add rcx, rdx
jmp rcx
mov r8, r9
mov qword [rsp + 0x58], r9
jmp 0x180068234
cmp dword [r10], 0
mov ecx, r9d
jle case.0x180068026.92
mov rbx, qword [rsp + 0x78]
nop word [rax + rax]
movzx eax, byte [rsi]
inc ecx
mov word [rbx], ax
inc rsi
add rbx, 2
cmp ecx, dword [r10]
jl 0x180068050
mov qword [rsp + 0x78], rbx
jmp case.0x180068026.92
mov r8, qword [rsp + 0x58]
mov rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x70], r9d
jmp 0x180068239
mov rbx, qword [rsp + 0x78]
mov eax, dword [rbx + 0x1c]
add eax, dword [r10]
cmp eax, dword [rbx + 0x18]
jl case.0x180068026.92
mov rdx, rbx
mov ecx, 0xb5
call fcn.18004b480
jmp 0x180068228
mov edi, dword [r10]
add edi, edi
jmp case.0x180068026.92
mov ebx, reloc.SHELL32.dll_ILFree
nop word [rax + rax]
cmp ebx, 0x9b
je 0x18006810d
cmp ebx, 0x12e
je 0x180068108
cmp ebx, 0x1c1
jne 0x180068179
mov eax, edi
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.180069d20
mov rbx, qword [rsp + 0x440]
add rsp, 0x3f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edi, r9d
jmp 0x180068179
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax]
cmp dword [rdx + rcx*4 + 0x7bc90], 0x100
jne 0x180068179
lea eax, [r15 + 0x100]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x68], eax
lea rcx, [r10 + 0x100]
lea rax, [rsp + 0x68]
mov dword [rsp + 0x50], 0x100
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0xd2
call fcn.180067480
mov dword [0x18007bc94], eax
test eax, eax
jne 0x1800680de
mov r10, qword [rbp - 0x70]
lea rdx, [0x180000000]
xor r9d, r9d
add ebx, 0x93
cmp ebx, 0x254
jb 0x1800680c0
mov rax, qword [rsp + 0x78]
lea r9, [rsp + 0x50]
mov r15d, dword [rsi]
lea r8, [rsp + 0x60]
shl r15d, 9
mov dword [rsp + 0x68], r15d
mov ecx, dword [rax]
mov dword [rsp + 0x60], ecx
mov eax, dword [rdx + rcx*4 + 0x7bc90]
mov edx, 0xd2
mov dword [rsp + 0x50], eax
mov rcx, r10
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.180067480
mov dword [0x18007bc94], eax
test eax, eax
jne 0x1800680de
jmp 0x180068228
mov rcx, qword [rsp + 0x38]
mov r11d, 0x36
mov r8, qword [rsp + 0x58]
mov dword [rsp + 0x34], r11d
mov qword [rbp - 0x68], r9
jmp 0x18006823e
mov rcx, qword [rsp + 0x38]
mov dl, 1
mov r8, qword [rsp + 0x58]
mov r11d, dword [rsp + 0x34]
mov byte [rsp + 0x30], dl
jmp 0x180068243
mov rax, qword [rsp + 0x78]
mov rdx, rsi
movsxd r8, dword [r10]
movsxd rcx, dword [rax + 0x1c]
add rcx, qword [rax + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rbp - 0x70]
xor r9d, r9d
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x34]
movzx edx, byte [rsp + 0x30]
add r14d, 0x27
cmp r14d, r12d
jae 0x180068291
lea rdx, [0x180000000]
jmp 0x180067ff2
mov r8, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x80]
movzx edx, byte [rsp + 0x31]
mov r14d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x40]
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x38], rcx
mov qword [rbp - 0x68], rsi
mov byte [rsp + 0x30], dl
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x34], r11d
jmp 0x18006829f
mov r15, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
mov rsi, qword [rbp - 0x68]
lea eax, [r13 + 0x16b]
mov dword [rbp - 0x78], eax
cmp r13d, eax
jae 0x1800680dc
mov r12d, dword [rsp + 0x68]
mov ebx, dword [rbp - 0x78]
nop word [rax + rax]
cmp r13d, 0xf3
ja 0x180068506
je 0x1800684c5
mov eax, r13d
sub eax, 0x6f
je 0x1800684bb
sub eax, 0x21
je 0x180068a0e
sub eax, 0x21
je 0x18006848b
sub eax, 0x21
je 0x180068304
cmp eax, 0x1d
je 0x1800680dc
jmp 0x180068a0e
test dl, dl
je 0x180068a0e
movzx r15d, byte [rsp + 0x31]
mov esi, r9d
mov r13d, dword [rsp + 0x60]
mov r14d, 8
mov r12d, dword [rsp + 0x34]
cmp esi, 7
ja case.default.0x180068341
lea rdx, [0x180000000]
mov eax, esi
mov ecx, dword [rdx + rax*4 + 0x68b78]
add rcx, rdx
jmp rcx
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0xdc
mov r15b, 1
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
jmp case.default.0x180068341
mov r8d, 1
lea rdx, [0x180072114]
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 2
lea rdx, [0x18007213a]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor r9d, r9d
mov word [rbp + 0xa4], r9w
jmp case.default.0x180068341
mov word [rbp + 0x9e], r9w
jmp case.default.0x180068341
movups xmm0, xmmword [str.rlige_Sandwich_]
lea r9, [rbp - 0x50]
xor r8d, r8d
movups xmm1, xmmword [0x180072158]
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x90]
movups xmmword [rbp + 0xa8], xmm0
movups xmmword [rbp + 0xb8], xmm1
call qword [sym.imp.GDI32.dll_CreateICW]
mov qword [rbp - 0x80], rax
cmp rax, 0
jne 0x180068357
xor r15b, r15b
xor r9d, r9d
jmp case.default.0x180068341
movabs rax, 0x6d006700590051
mov qword [rbp + 0x96], rax
jmp case.default.0x180068341
test r15b, r15b
je 0x18006841f
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, qword [rsp + 0x58]
lea r9, [rbp + 0xd0]
mov r8d, r13d
mov ecx, r12d
call qword [sym.imp.SHELL32.dll_SHSetFolderPathW]
xor r9d, r9d
jmp case.default.0x180068341
mov eax, 0xdc
mov word [rbp - 0xc], ax
jmp case.default.0x180068341
mov eax, dword [0x180072170]
mov dword [rbp + 0x90], eax
movzx eax, word [0x180072174]
mov word [rbp + 0x94], ax
inc esi
sub r14, 1
jne 0x180068325
mov r13d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x68]
movzx edx, byte [rsp + 0x30]
mov byte [rsp + 0x31], r15b
mov r15, qword [rsp + 0x78]
jmp 0x180068a0e
mov r9d, dword [rsp + 0x60]
lea rax, [rbp + 0xd0]
mov edx, r11d
mov qword [rsp + 0x20], rax
mov rcx, rsi
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
je 0x180068551
xor dl, dl
mov byte [rsp + 0x30], dl
jmp 0x180068a0e
mov dword [rsp + 0x60], r9d
jmp 0x180068a0e
mov rdx, qword [0x18007bd08]
cmp rdx, qword [0x18007bd10]
je 0x1800684ed
mov rax, qword [r15]
mov qword [rdx], rax
add qword [0x18007bd08], 8
movzx edx, byte [rsp + 0x30]
jmp 0x180068a0e
mov r8, r15
lea rcx, [0x18007bd00]
call fcn.1800077a0
movzx edx, byte [rsp + 0x30]
jmp 0x180068a0e
mov eax, r13d
sub eax, 0x12a
je 0x18006855b
sub eax, 0x21
je 0x180068a08
sub eax, 0x21
je 0x180068a45
sub eax, 0x21
je 0x180068535
cmp eax, 0x21
je 0x1800680dc
jmp 0x180068a0e
test rcx, rcx
je 0x180068540
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, str.167_33_170_MUQDAM
call fcn.180068ee0
mov edi, 0xffffffff
movzx edx, byte [rsp + 0x30]
jmp 0x180068a0e
mov eax, dword [r10]
add dword [r15 + 0x1c], eax
mov eax, 0x1a
mov dword [rsp + 0x40], eax
nop dword [rax + rax]
sub eax, 0x1a
je 0x180068982
sub eax, 1
je 0x180068594
cmp eax, 1
jne 0x1800689b7
add r14d, r12d
mov dword [rsp + 0x70], r14d
jmp 0x1800689b7
test r12d, r12d
je 0x1800689e7
cmp dword [rbp - 0x60], 0
jl 0x1800689b7
mov esi, 0xf8
mov dword [rsp + 0x50], esi
mov eax, esi
sub eax, 0xf8
je 0x18006893f
sub eax, 1
je 0x180068625
sub eax, 1
je 0x1800686d2
cmp eax, 1
jne 0x18006896e
mov r13, qword [rsp + 0x38]
test r13, r13
je 0x18006896e
mov ecx, 0x114
mov eax, ecx
sub eax, 0x114
je 0x180068604
cmp eax, 0x4b
jne 0x180068615
cmp qword [r15], 0
jne 0x1800685fe
mov qword [r15], r13
mov qword [r13 + 0x10], r9
jmp 0x180068615
mov rax, qword [r15 + 8]
test rax, rax
je 0x180068611
mov qword [rax + 0x10], r13
mov qword [r15 + 8], r13
add ecx, 0x4b
cmp ecx, 0x1aa
jb 0x1800685e7
jmp 0x18006896e
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x38], rax
mov r13, rax
test rax, rax
je 0x1800689da
xor r9d, r9d
mov ecx, ebx
mov qword [rax + 8], r9
sub ecx, 1
je 0x180068678
sub ecx, 1
je 0x180068710
sub ecx, 2
je 0x180068781
sub ecx, 4
je 0x180068824
cmp ecx, 8
je 0x1800688a3
jmp 0x180068902
mov esi, ILRemoveLastID
nop dword [rax]
cmp esi, 0x10
je 0x1800686e6
cmp esi, 0x670
je 0x1800686dc
cmp esi, 0xcd0
jne 0x1800686fe
mov rcx, qword [r13 + 8]
lea rax, [rsp + 0x50]
movsxd r9, r14d
xor r8d, r8d
add r9, qword [r15 + 0x10]
mov edx, 0xa3
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x20], rax
call fcn.180027e40
test eax, eax
jne 0x1800686d2
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x38], 0
mov esi, 0xfa
jmp 0x18006896b
mov dword [r13], 1
jmp 0x1800686fe
mov ecx, 0x80
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13 + 8], rax
test rax, rax
je 0x1800689da
add esi, 0x660
cmp esi, 0x1320
jbe 0x180068680
mov esi, 0x45
mov eax, esi
sub eax, 0x43
je 0x1800686d2
sub eax, 1
je 0x180068746
cmp eax, 1
jne 0x18006877a
lea ecx, [rax + 0x4f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13 + 8], rax
test rax, rax
je 0x1800689da
mov dword [r13], 2
jmp 0x18006877a
mov r8, qword [r13 + 8]
lea rcx, [rsp + 0x48]
movsxd r9, r14d
mov edx, 0x2c
add r9, qword [r15 + 0x10]
mov dword [rsp + 0x48], r12d
call fcn.180015de0
test eax, eax
jne 0x18006877a
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
mov qword [rsp + 0x38], r13
dec esi
cmp esi, 0x42
ja 0x180068715
mov esi, 0x43
cmp esi, 0x43
je 0x1800687fa
cmp esi, 0x1146
je 0x1800687f0
cmp esi, 0x2249
je 0x1800687a9
cmp esi, 0x334c
je 0x1800686d2
jmp 0x180068812
mov rax, qword [r13 + 8]
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rax
xor r8d, r8d
movsxd r9, r14d
mov edx, 0xd9
add r9, qword [r15 + 0x10]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x48], r12d
call fcn.18004e4d0
test eax, eax
jne 0x180068812
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
mov qword [rsp + 0x38], r13
jmp 0x180068812
mov dword [r13], 4
jmp 0x180068812
mov ecx, 0x5c
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13 + 8], rax
test rax, rax
je 0x1800689da
add esi, 0x1103
cmp esi, 0x440c
jbe 0x180068786
mov esi, 0x8a
nop dword [rax]
mov eax, esi
sub eax, 0x8a
je 0x180068844
cmp eax, 0x62
je 0x1800686d2
jmp 0x180068898
mov ecx, 0x60
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13 + 8], rax
test rax, rax
je 0x1800689da
mov dword [r13], 8
lea rcx, [rsp + 0x48]
movsxd r9, r14d
mov r8d, 0x48
add r9, qword [r15 + 0x10]
mov rdx, rax
mov dword [rsp + 0x48], r12d
call fcn.180021d30
test eax, eax
jne 0x180068898
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
mov qword [rsp + 0x38], r13
add esi, 0x62
cmp esi, 0x14e
jb 0x180068830
mov esi, 0x23
cmp esi, 0x23
je 0x1800688dc
cmp esi, 0x78
jne 0x1800688f4
mov r9, qword [r13 + 8]
lea rdx, [rsp + 0x48]
mov dword [r13], ILRemoveLastID
lea ecx, [rsi + 0x5e]
movsxd r8, r14d
add r8, qword [r15 + 0x10]
mov dword [rsp + 0x48], r12d
call fcn.180037110
jmp 0x1800686bc
mov ecx, 0x40
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13 + 8], rax
test rax, rax
je 0x1800689da
add esi, 0x55
cmp esi, 0xcd
jb 0x1800688a8
xor r9d, r9d
mov esi, 0xba
mov eax, esi
sub eax, 0xba
je 0x18006891b
cmp eax, 1
je 0x1800686d2
jmp 0x18006892f
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r9d, r9d
mov r13d, r9d
mov qword [rsp + 0x38], r9
inc esi
cmp esi, 0xbc
jb 0x180068907
mov esi, dword [rsp + 0x50]
jmp 0x18006896e
mov eax, dword [r15 + 0x1c]
lea r8, [rsp + 0x48]
sub eax, r14d
movsxd rcx, r14d
dec eax
mov edx, 0x15
mov dword [rsp + 0x48], eax
mov rax, qword [r15 + 0x10]
inc rax
add rcx, rax
call fcn.18004b1b0
mov rbx, rax
xor r9d, r9d
inc esi
mov dword [rsp + 0x50], esi
cmp esi, 0xfc
jb 0x1800685b0
jmp 0x1800689b7
mov eax, dword [r15 + 0x1c]
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x28], r9
lea rcx, [rbp - 0x58]
sub eax, r14d
movsxd r8, r14d
add r8, qword [r15 + 0x10]
xor r9d, r9d
mov dword [rbp - 0x58], eax
mov dword [rsp + 0x20], 0x111
call fcn.18005bef0
mov r12d, eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x40]
mov r9d, 0
inc eax
mov dword [rsp + 0x40], eax
cmp eax, 0x1d
jb 0x180068570
mov qword [rsp + 0x38], r9
jmp 0x180068562
movzx edx, byte [rsp + 0x30]
mov r13d, 0x16c
jmp 0x180068a0e
test r14d, r14d
je 0x180068a03
mov rcx, qword [r15 + 0x10]
sub dword [r15 + 0x1c], r14d
movsxd r8, dword [r15 + 0x1c]
movsxd rdx, r14d
add rdx, rcx
call sub.VCRUNTIME140.dll_memcpy
movzx edx, byte [rsp + 0x30]
mov r13d, 0x14b
add r13d, 0x21
mov dword [rsp + 0x40], r13d
cmp r13d, dword [rbp - 0x78]
jae 0x1800680dc
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
mov r14d, dword [rsp + 0x70]
mov r10, qword [rbp - 0x70]
mov r8, qword [rsp + 0x58]
mov r11d, dword [rsp + 0x34]
mov rsi, qword [rbp - 0x68]
jmp 0x1800682c0
mov eax, r14d
jmp 0x1800680de