Function at 0x18005bbd0
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 - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x180087e88]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov rax, r9
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], r8
mov r14, rdx
mov qword [rsp + 0x60], rdx
mov esi, ecx
mov dword [rsp + 0x44], ecx
mov ebx, ecx
lea edi, [rcx + 0xa9d]
xor r9d, r9d
lea r10d, [r9 + 0x6c]
lea r15d, [r9 + 2]
lea r11d, [r9 + 0x32]
cmp ecx, edi
jae 0x18005becb
lea ecx, [r9 + 0x65]
lea eax, [rcx + 0x12]
lea edx, [rcx - 0x32]
movabs r12, 0x5f003200730077
lea r15d, [r9 + 0x73]
lea r13d, [r9 + 0x61]
nop word [rax + rax]
cmp ebx, 0x2f1
ja 0x18005bdc3
je 0x18005bda7
cmp ebx, 0x1c6
ja 0x18005bd12
je 0x18005bcf9
mov eax, ebx
sub eax, 0xa8
je 0x18005bcdf
sub eax, 0xd
je 0x18005bcce
sub eax, 0x82
je 0x18005bcb0
cmp eax, 0xd
mov eax, 0x77
jne 0x18005bead
mov word [rbp + 0x98], r9w
jmp 0x18005bead
mov eax, dword [0x18007be18]
mov dword [rbp + 0x36], eax
movzx eax, word [0x18007be1c]
mov word [rbp + 0x3a], ax
mov eax, 0x77
jmp 0x18005bead
mov qword [rbp + 0x90], r12
mov eax, 0x77
jmp 0x18005bead
mov eax, dword [0x18007bf20]
mov dword [rbp + 0x30], eax
mov dword [rbp + 0x34], 0x76
mov eax, 0x77
jmp 0x18005bead
mov r8d, 0xa
lea rdx, [rbp + 0x3a]
lea ecx, [r8 - 9]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
jmp 0x18005be33
mov eax, ebx
sub eax, 0x1d3
je 0x18005bd83
sub eax, 0x82
je 0x18005bd53
sub eax, 0xd
je 0x18005bd41
cmp eax, 0x82
mov eax, 0x77
jne 0x18005bead
mov word [rbp + 0x60], r10w
jmp 0x18005bead
mov word [rbp + 0x9e], r9w
mov eax, 0x77
jmp 0x18005bead
mov r8d, 0xa
lea rdx, [rbp + 0x3c]
lea ecx, [r8 - 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov r8d, 1
lea rdx, [0x18007bf28]
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x18005be33
mov eax, dword [0x18007be96]
mov dword [rbp + 0x98], eax
movzx eax, word [0x18007be9a]
mov word [rbp + 0x9c], ax
mov eax, 0x77
jmp 0x18005bead
mov r8d, 3
lea rdx, [0x18007bee6]
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x18005be33
cmp ebx, 0x49e
ja 0x18005be63
je 0x18005be5d
mov eax, ebx
sub eax, 0x373
je 0x18005be4b
sub eax, 0xd
je 0x18005be18
sub eax, 0x82
je 0x18005be02
cmp eax, 0xd
mov eax, 0x77
jne 0x18005bead
mov word [rbp + 0x2c], r15w
jmp 0x18005bead
mov word [rbp + 0x68], r13w
mov dword [rbp + 0x6a], 0x330079
mov eax, 0x77
jmp 0x18005bead
mov byte [rbp + 0x28], 0
mov r8d, 4
lea rdx, str.hton
lea rcx, [rbp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov ecx, 0x65
lea eax, [rcx + 0x12]
lea edx, [rcx - 0x32]
xor r9d, r9d
lea r10d, [rcx + 7]
lea r11d, [rcx - 0x33]
jmp 0x18005bead
mov dword [rbp + 0x62], 0x620069
mov word [rbp + 0x66], cx
mov eax, 0x77
jmp 0x18005bead
mov word [rbp + 0x48], ax
jmp 0x18005bead
cmp ebx, 0x52d
je 0x18005bea1
cmp ebx, 0x5bc
je 0x18005be98
cmp ebx, 0x64b
je 0x18005be8a
cmp ebx, 0x6da
jne 0x18005bead
mov word [rbp + 0x5a], r10w
jmp 0x18005bead
mov dword [rbp + 0x54], 0x64002e
mov word [rbp + 0x58], r10w
jmp 0x18005bead
mov dword [rbp + 0x50], 0x320033
jmp 0x18005bead
mov word [rbp + 0x4a], r15w
mov dword [rbp + 0x4c], 0x5f0032
add ebx, 0x8f
cmp ebx, edi
jb 0x18005bc60
mov r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov r15d, 2
lea ecx, [rsi + 0x76c]
mov dword [rsp + 0x30], ecx
movzx ebx, byte [rsp + 0x34]
cmp esi, ecx
jae 0x18005c04f
mov edi, 0x79
lea rdx, [0x180000000]
lea r11d, [rdi - 0x4b]
movabs r10, 0x7ffffffffffffffe
nop dword [rax]
cmp esi, 0x245
ja 0x18005c0b3
je 0x18005c08f
cmp esi, 0x170
ja 0x18005bfde
je 0x18005bfcc
mov eax, esi
sub eax, 0xa8
je 0x18005bfc1
sub eax, 0xd
je 0x18005bf9f
sub eax, 0x57
je 0x18005bf98
cmp eax, 0xd
jne 0x18005bf73
mov r8d, SHSetFolderPathW
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x48]
call fcn.18004bdc0
mov qword [rsp + 0x78], rax
mov r11d, PathMakeUniqueName
movabs r10, 0x7ffffffffffffffe
lea rdx, [0x180000000]
mov ecx, dword [rsp + 0x30]
add esi, 0x64
mov dword [rsp + 0x44], esi
cmp esi, ecx
jae 0x18005c04f
mov r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
xor r9d, r9d
lea r15d, [r9 + 2]
jmp 0x18005bf00
mov word [rbp + 0x70], r9w
jmp 0x18005bf73
mov word [rbp + 0x5c], r9w
mov edx, 4
mov r8d, SHSetFolderPathW
lea rcx, [rbp + 0x90]
call fcn.18004bdc0
mov qword [rbp - 0x80], rax
jmp 0x18005bf58
mov eax, 0x32
mov word [rbp + 0x6e], ax
jmp 0x18005bf73
mov dword [rbp + 0x78], 0x730073
mov eax, 0x6c
mov word [rbp + 0x7c], ax
jmp 0x18005bf73
mov eax, esi
sub eax, 0x17d
je 0x18005c024
sub eax, 0x57
je 0x18005c1d2
sub eax, 0xd
je 0x18005c014
cmp eax, 0x57
jne 0x18005bf73
mov word [rbp + 0x82], di
mov dword [rbp + 0x84], 0x320033
jmp 0x18005bf73
mov word [rbp - 0x20], r15w
mov eax, dword [r8]
mov dword [rbp - 0x1c], eax
jmp 0x18005bf73
xor edx, edx
mov r8d, 0x80
mov rcx, r14
call fcn.18005d0a0
test al, al
jne 0x18005bf58
mov eax, 0x112
cmp eax, 0x112
je 0x18005c07c
cmp eax, 0x1c4
jne 0x18005c07e
movzx eax, bl
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.180079740
mov rbx, qword [rsp + 0x310]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor bl, bl
add eax, 0xb2
cmp eax, 0x276
jb 0x18005c041
jmp 0x18005bf58
movzx ecx, word [rax]
call qword [rsp + 0x78]
mov word [rbp - 0x1e], ax
mov r8d, ILRemoveLastID
lea rdx, [rbp - 0x20]
mov rcx, qword [r14]
call qword [rbp - 0x80]
mov dword [rsp + 0x50], eax
jmp 0x18005bf58
cmp esi, 0x364
ja 0x18005c14f
je 0x18005c142
mov eax, esi
sub eax, 0x29c
je 0x18005c135
sub eax, 0xd
je 0x18005c0fd
sub eax, 0x57
je 0x18005c0e6
cmp eax, 0xd
je 0x18005c1a4
jmp 0x18005bf73
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rbp + 0x10], xmm0
movsd xmm1, qword [rbp - 0x30]
movsd qword [rbp + 0x20], xmm1
jmp 0x18005bf73
cmp dword [rsp + 0x50], 0xffffffff
jne 0x18005bf73
mov ecx, 0x10f
nop dword [rax]
mov eax, ecx
sub eax, 0x10f
je 0x18005c124
cmp eax, 1
je 0x18005c04f
jmp 0x18005c126
xor bl, bl
inc ecx
cmp ecx, 0x111
jb 0x18005c110
jmp 0x18005bf6f
mov word [rbp + 0x88], r9w
jmp 0x18005bf73
lea rax, [rbp + 0x30]
mov qword [rbp + 0x10], rax
jmp 0x18005bf73
mov eax, esi
sub eax, 0x3c8
je 0x18005c688
sub eax, 0x64
je 0x18005c1ef
sub eax, 0x64
je 0x18005c1de
cmp eax, 0x64
jne 0x18005bf73
mov ecx, 0x9c
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x9c
je 0x18005c194
cmp eax, 1
je 0x18005c04f
jmp 0x18005c196
mov bl, 1
inc ecx
cmp ecx, 0x9e
jb 0x18005c180
mov ecx, dword [rsp + 0x30]
mov eax, 0x129
nop dword [rax]
cmp eax, 0x129
je 0x18005c1c4
cmp eax, 0x777f
je 0x18005c04f
jmp 0x18005c1c6
mov bl, 1
add eax, 0x7656
cmp eax, 0xecac
jbe 0x18005c1b0
mov dword [rbp + 0x7e], 0x610065
jmp 0x18005bf73
call qword [sym.imp.SHELL32.dll_SHLoadNonloadedIconOverlayIdentifiers]
call qword [sym.imp.SHELL32.dll_SHLoadNonloadedIconOverlayIdentifiers]
jmp 0x18005bf58
lea rax, [rbp + 0x78]
mov qword [rbp + 0x20], rax
mov dword [rsp + 0x40], r9d
lea rdi, [rbp + 0x10]
mov qword [rsp + 0x48], rdi
nop word [rax + rax]
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r9w
mov r12d, 0xcf
mov dword [rsp + 0x38], r12d
mov r13d, r9d
mov dword [rsp + 0x3c], r9d
cmp r13d, 9
ja case.0x18005c24b.0
mov eax, r13d
mov ecx, dword [rdx + rax*4 + 0x5c6fc]
add rcx, rdx
jmp rcx
mov rsi, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
cmp rsi, rcx
jae 0x18005c27b
lea rax, [rsi + 1]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x60]
cmp rcx, 8
cmovae rax, qword [rbp - 0x60]
mov dword [rax + rsi*2], PathMakeUniqueName
jmp case.0x18005c24b.0
mov rax, r10
sub rax, rsi
cmp rax, 1
jb 0x18005c6f6
lea r12, [rsi + 1]
mov r14, qword [rbp - 0x48]
mov rdi, r12
or rdi, 7
cmp rdi, r10
jbe 0x18005c2a4
mov rdi, r10
jmp 0x18005c2c5
mov rcx, r14
shr rcx, 1
mov rax, r10
sub rax, rcx
cmp r14, rax
jbe 0x18005c2ba
mov rdi, r10
jmp 0x18005c2c5
lea rax, [r14 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x60]
call fcn.180062650
mov r15, rax
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], rdi
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x18005c34d
mov rdi, qword [rbp - 0x60]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov dword [rsi + r15], PathMakeUniqueName
lea rdx, [r14*2 + 2]
cmp rdx, 0x1000
jb 0x18005c32d
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x18005c6e8
mov rdi, rcx
mov rcx, rdi
call fcn.180079234
mov qword [rbp - 0x60], r15
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x18005c5cd
lea rdx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov r11d, PathMakeUniqueName
mov dword [rsi + r15], r11d
mov qword [rbp - 0x60], r15
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x18005c5d3
mov r8d, 3
lea rdx, [0x18007bf30]
lea rcx, [rbp - 0x60]
call fcn.180062750
jmp 0x18005c5cd
cmp qword [rbp - 0x68], 0
jne case.0x18005c24b.0
mov edi, r9d
cmp edi, 6
ja case.default.0x18005c3b2
mov eax, edi
mov ecx, dword [rdx + rax*4 + 0x5c724]
add rcx, rdx
jmp rcx
mov qword [rbp - 0x70], r9
jmp case.default.0x18005c3b2
xor bl, bl
jmp case.default.0x18005c3b2
mov dword [rsp + 0x54], r9d
jmp case.default.0x18005c3b2
mov qword [rbp - 0x78], r9
jmp case.default.0x18005c3b2
mov dword [rsp + 0x58], 0x36
jmp case.default.0x18005c3b2
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x54]
mov r8, qword [rbp - 0x78]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xor r9d, r9d
lea rdx, [0x180000000]
inc edi
lea eax, [rdi + 0xec]
cmp eax, 0xf3
jb 0x18005c3a1
mov rdi, qword [rsp + 0x48]
mov r11d, PathMakeUniqueName
jmp 0x18005c5d6
mov rsi, qword [r14 + 0x10]
mov rdi, r14
cmp qword [r14 + 0x18], 8
jb 0x18005c432
mov rdi, qword [r14]
cmp rsi, 8
jae 0x18005c44b
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x40], xmm0
mov r15d, 7
mov r13, qword [rbp - 0x40]
jmp 0x18005c48a
mov r15, rsi
or r15, 7
cmp r15, r10
cmova r15, r10
lea rdx, [r15 + 1]
lea rcx, [rbp - 0x40]
call fcn.180062650
mov r13, rax
mov qword [rbp - 0x40], rax
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
movabs r10, 0x7ffffffffffffffe
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x30], rsi
lea r14, [rbp - 0x40]
cmp r15, 8
cmovae r14, r13
cmp rsi, 8
jae 0x18005c4b2
movups xmm0, xmmword [r14]
mov qword [rbp + 8], 7
jmp 0x18005c4ec
mov rdi, rsi
or rdi, 7
cmp rdi, r10
cmova rdi, r10
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x10]
call fcn.180062650
mov qword [rbp - 0x10], rax
lea r8, [rsi*2 + 2]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 8], rdi
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp], rsi
mov rcx, qword [rbp - 0x48]
cmp rcx, 8
jb 0x18005c534
lea rdx, [rcx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c52f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c6e1
call fcn.180079234
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rbp]
movups xmmword [rbp - 0x50], xmm0
cmp r15, 8
jb 0x18005c57f
lea rdx, [r15*2 + 2]
mov rax, r13
cmp rdx, 0x1000
jb 0x18005c577
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c6e8
mov rcx, r13
call fcn.180079234
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rdi]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x18005c590
lea rcx, [rbp - 0x60]
call fcn.180062750
mov r13d, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x60]
jmp 0x18005c5cd
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rcx, qword [rbp - 0x60]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbp - 0x68], rax
mov r11d, PathMakeUniqueName
xor r9d, r9d
movabs r10, 0x7ffffffffffffffe
inc r12d
mov dword [rsp + 0x38], r12d
inc r13d
mov dword [rsp + 0x3c], r13d
cmp r12d, 0xd9
lea rdx, [0x180000000]
jb 0x18005c234
mov rcx, qword [rbp - 0x48]
cmp rcx, 8
jb 0x18005c644
lea rdx, [rcx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c63f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c6ef
call fcn.180079234
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
add rdi, 8
mov qword [rsp + 0x48], rdi
cmp eax, 3
mov r9d, 0
lea rdx, [0x180000000]
movabs r10, 0x7ffffffffffffffe
lea r11d, [r9 + 0x2e]
jb 0x18005c210
mov esi, dword [rsp + 0x44]
lea edi, [r9 + 0x79]
jmp 0x18005bf68
lea rax, [rbp + 0x60]
mov qword [rbp + 0x18], rax
jmp 0x18005bf73
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x18005c04f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c6d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005c6d7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180079234
jmp 0x18005c04f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.180060f10
int3