Function at 0x180010dc0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x360]
sub rsp, 0x460
mov rax, qword [0x180089b10]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov ebx, r8d
mov qword [rbp - 0x78], rdx
imul eax, ebx, 0x2ac
xor r14d, r14d
mov dword [rbp - 0x60], ebx
mov r8, rdx
mov edi, ebx
mov dword [rbp - 0x7c], ebx
mov rdx, rcx
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x64], r14d
cmp ebx, eax
mov dword [rsp + 0x7c], eax
movzx ebx, byte [rsp + 0x60]
ja 0x1800117be
mov r12d, dword [rsp + 0x7c]
lea r15, [0x180000000]
mov r13d, dword [rsp + 0x7c]
mov esi, dword [rsp + 0x78]
mov byte [rsp + 0x60], bl
mov r11d, 0x5f
movabs r9, 0x7fffffffffffffff
lea r10d, [r11 - 0x49]
cmp edi, 0x12c60
ja 0x180010ffc
je 0x180010ff0
cmp edi, 0x56a0
ja 0x180010f56
je 0x180010f2b
mov eax, edi
sub eax, 0x10c
je 0x180010f15
sub eax, 0x14
je 0x180010edb
sub eax, 0x27b4
je 0x180010ec5
cmp eax, 0x30c
jne 0x18001174a
mov eax, dword [0x180079348]
mov dword [rbp + 0xf0], eax
movzx eax, word [0x18007934c]
mov word [rbp + 0xf4], ax
jmp 0x18001174a
cmp byte [r8], 0x22
jne 0x18001174a
or dword [rdx + 0x80], 0x10
jmp 0x18001174a
mov r8d, 0xa
lea rdx, [rbp + 0xe8]
lea ecx, [r8 - 9]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
mov r8d, 3
lea rdx, [0x180079378]
lea rcx, [rbp + 0xe8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8, qword [rbp - 0x78]
jmp 0x18001174a
and dword [rdx + 0x80], 0xffffffef
movzx eax, byte [r8]
mov byte [rdx + 0x8c], al
jmp 0x18001174a
mov eax, dword [0x180079338]
mov dword [rbp + 0xf4], eax
mov eax, dword [0x180079340]
mov dword [rbp + 0xf8], eax
movzx eax, word [0x180079344]
mov word [rbp + 0xfc], ax
jmp 0x18001174a
cmp edi, 0x8160
je 0x180010fd7
cmp edi, 0xac20
je 0x180010fb4
cmp edi, 0xd6e0
je 0x180010fab
cmp edi, 0x101a0
jne 0x18001174a
movups xmm0, xmmword [str.running_time]
movzx eax, word [0x180079368]
movsd xmm1, qword [0x180079360]
movups xmmword [rbp + 0x108], xmm0
mov word [rbp + 0x120], ax
movsd qword [rbp + 0x118], xmm1
jmp 0x18001174a
mov qword [rbp - 0x18], r14
jmp 0x18001174a
mov r8d, 3
lea rdx, [0x18007936c]
lea rcx, [rbp + 0x100]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8, qword [rbp - 0x78]
jmp 0x18001174a
mov dword [rbp + 0xfc], 0x76
mov dword [rbp + 0xfe], 0x61
jmp 0x18001174a
mov dword [rbp - 0x68], 0x36
jmp 0x18001174a
cmp edi, 0x20220
ja 0x1800117a6
je 0x18001177a
cmp edi, 0x15720
je 0x180011763
cmp edi, 0x181e0
je 0x18001104f
cmp edi, 0x1aca0
je 0x18001103f
cmp edi, 0x1d760
jne 0x18001174a
mov dword [rbp - 0x64], r14d
jmp 0x18001174a
xorps xmm0, xmm0
mov dword [rbp - 0x6c], r14d
movups xmmword [rbp + 0x48], xmm0
jmp 0x18001174a
cmp qword [rdx + 0x10], 0x35
mov dword [rsp + 0x78], 0x2000000
jb 0x180011746
mov esi, 0x65
mov dword [rsp + 0x68], esi
nop dword [rax + rax]
lea eax, [rsi - 0x65]
cmp eax, 0x12
ja case.0x180011087.114
mov ecx, dword [r15 + rax*4 + 0x11878]
add rcx, r15
jmp rcx
mov byte [rbp + 0xd0], 0
lea rdx, str.BF__RELOC
mov r8d, 9
lea rcx, [rbp + 0xd0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov rdx, qword [rsp + 0x70]
mov r10d, 0x16
movabs r9, 0x7fffffffffffffff
lea r11d, [r10 + 0x49]
jmp case.0x180011087.114
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x40], ILFindLastID
mov byte [rbp + 0x28], 0
cmp rax, 0x11
jb 0x180011869
add rax, 0xffffffffffffffef
mov r14d, 0x24
cmp rax, r14
cmovb r14, rax
cmp qword [rdx + 0x18], 0x10
mov rax, rdx
jb 0x180011100
mov rax, qword [rdx]
lea r15, [rax + 0x11]
cmp r14, 0xf
ja 0x180011128
mov r8, r14
mov qword [rbp + 0x38], r14
mov rdx, r15
lea rcx, [rbp + 0x28]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + r14 + 0x28], 0
jmp 0x1800111b7
cmp r14, r9
ja 0x180011863
mov rsi, r14
or rsi, 0xf
cmp rsi, r9
jbe 0x180011142
mov rsi, r9
jmp 0x18001114a
cmp rsi, 0x16
cmovb rsi, r10
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x180011183
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001186f
mov rcx, rax
call fcn.18006f6f0
test rax, rax
je 0x180011855
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180011194
test rcx, rcx
je 0x180011192
call fcn.18006f6f0
mov rdi, rax
jmp 0x180011194
xor edi, edi
mov r8, r14
mov qword [rbp + 0x38], r14
mov rdx, r15
mov qword [rbp + 0x40], rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rsp + 0x68]
mov byte [rdi + r14], 0
mov qword [rbp + 0x28], rdi
or dword [rsp + 0x64], 1
lea rdx, [rbp + 0x28]
lea rcx, [0x180088648]
call fcn.1800033d0
mov rax, qword [rbp + 0x40]
cmp rax, 0x10
jb 0x180011208
mov rcx, qword [rbp + 0x28]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011203
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180011855
call fcn.18006f72c
movzx eax, byte [rsp + 0x61]
xor r14d, r14d
cmp dword [rbp - 0x80], r14d
mov ecx, r14d
cmovne ecx, eax
mov byte [rsp + 0x61], cl
jmp 0x1800110aa
mov dword [rbp + 0xc3], 0x72727272
jmp case.0x180011087.114
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x40], ILFindLastID
mov byte [rbp + 0x28], 0
cmp rax, 0xb
jb 0x180011869
add rax, 0xfffffffffffffff5
mov r14d, 6
cmp rax, r14
cmovb r14, rax
cmp qword [rdx + 0x18], 0x10
mov rax, rdx
jb 0x18001126a
mov rax, qword [rdx]
lea r15, [rax + 0xb]
cmp r14, 0xf
ja 0x180011292
mov r8, r14
mov qword [rbp + 0x38], r14
mov rdx, r15
lea rcx, [rbp + 0x28]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + r14 + 0x28], 0
jmp 0x180011321
cmp r14, r9
ja 0x180011863
mov rsi, r14
or rsi, 0xf
cmp rsi, r9
jbe 0x1800112ac
mov rsi, r9
jmp 0x1800112b4
cmp rsi, 0x16
cmovb rsi, r10
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x1800112ed
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001186f
mov rcx, rax
call fcn.18006f6f0
test rax, rax
je 0x180011855
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800112fe
test rcx, rcx
je 0x1800112fc
call fcn.18006f6f0
mov rdi, rax
jmp 0x1800112fe
xor edi, edi
mov r8, r14
mov qword [rbp + 0x38], r14
mov rdx, r15
mov qword [rbp + 0x40], rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rsp + 0x68]
mov byte [rdi + r14], 0
mov qword [rbp + 0x28], rdi
or dword [rsp + 0x64], 2
lea rdx, [rbp + 0x28]
lea rcx, [0x180088688]
call fcn.1800033d0
mov rax, qword [rbp + 0x40]
cmp rax, 0x10
jb 0x180011372
mov rcx, qword [rbp + 0x28]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001136d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180011855
call fcn.18006f72c
mov rcx, qword [rbp - 0x58]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.dbghelp.dll_SymInitialize]
mov dword [rbp - 0x80], eax
xor r14d, r14d
jmp 0x1800110aa
movzx eax, word [str._row_MatExpr_cv__QBE_AV12_H_Z]
mov word [rbp + 0xc7], ax
movzx eax, byte [0x180079392]
mov byte [rbp + 0xc9], al
jmp case.0x180011087.114
mov byte [rbp + 0xca], 0
jmp case.0x180011087.114
mov eax, dword [str.PJ_CO]
mov dword [rbp + 0xda], eax
movzx eax, word [0x1800793b4]
mov word [rbp + 0xde], ax
jmp case.0x180011087.114
mov r14d, ILFindLastID
mov byte [rsp + 0x61], 1
cmp qword [rdx + 0x10], r14
mov r15, rdx
mov qword [rbp + 0x40], ILFindLastID
cmovb r14, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
mov byte [rbp + 0x28], 0
jb 0x180011404
mov r15, qword [rdx]
cmp r14, 0xf
ja 0x180011428
mov r8, r14
mov qword [rbp + 0x38], r14
mov rdx, r15
lea rcx, [rbp + 0x28]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + r14 + 0x28], 0
jmp 0x1800114b7
cmp r14, r9
ja 0x180011863
mov rsi, r14
or rsi, 0xf
cmp rsi, r9
jbe 0x180011442
mov rsi, r9
jmp 0x18001144a
cmp rsi, 0x16
cmovb rsi, r10
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x180011483
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001186f
mov rcx, rax
call fcn.18006f6f0
test rax, rax
je 0x180011855
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180011494
test rcx, rcx
je 0x180011492
call fcn.18006f6f0
mov rdi, rax
jmp 0x180011494
xor edi, edi
mov r8, r14
mov qword [rbp + 0x38], r14
mov rdx, r15
mov qword [rbp + 0x40], rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rsp + 0x68]
mov byte [rdi + r14], 0
mov qword [rbp + 0x28], rdi
or dword [rsp + 0x64], 4
lea rdx, [rbp + 0x28]
lea rcx, [0x180088668]
call fcn.1800033d0
mov rax, qword [rbp + 0x40]
cmp rax, 0x10
jb 0x180011384
mov rcx, qword [rbp + 0x28]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011507
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180011855
call fcn.18006f72c
xor r14d, r14d
jmp 0x1800110aa
mov r8d, 2
lea rdx, [0x1800793b8]
lea rcx, [rbp + 0xdf]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x1800110aa
mov r8d, 1
lea rdx, [0x1800793bc]
jmp 0x18001109d
mov qword [rbp - 0x58], 0xffffffffffffffff
jmp case.0x180011087.114
mov word [rbp + 0xc0], 0x72
jmp case.0x180011087.114
mov byte [rbp + 0xc7], 0
jmp case.0x180011087.114
mov eax, dword [str._HI16]
mov dword [rbp + 0xe1], eax
movzx eax, word [0x1800793c4]
mov word [rbp + 0xe5], ax
jmp case.0x180011087.114
mov word [rbp + 0xd9], r11w
jmp case.0x180011087.114
lea r9, [rbp - 0x10]
lea r8, [rbp - 8]
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.dbghelp.dll_SymMatchFileName]
cmp byte [rsp + 0x61], 0
je 0x1800110aa
movzx esi, byte [rsp + 0x62]
mov edi, 0x3b
mov ebx, dword [rbp - 0x70]
nop dword [rax]
cmp edi, 0x143
ja case.0x180011604.70
je 0x1800116e0
lea eax, [rdi - 0x3b]
cmp eax, 0xf0
ja case.0x180011604.70
movzx eax, byte [r15 + rax + 0x118f4]
mov ecx, dword [r15 + rax*4 + 0x118c4]
add rcx, r15
jmp rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0xb0], rax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
jmp case.0x180011604.70
mov dword [rbp + 0x60], 0x58
mov dword [rbp + 0xb0], 0x7d0
jmp case.0x180011604.70
mov qword [rbp - 0x38], r14
jmp case.0x180011604.70
mov rdx, qword [rbp - 0x38]
lea r9, [rbp + 0x60]
mov rcx, qword [rbp - 0x58]
lea r8, [rbp - 0x30]
call qword [sym.imp.dbghelp.dll_SymFromAddr]
mov dword [rbp - 0x80], eax
jmp case.0x180011604.70
mov r12d, 0x36
jmp case.0x180011604.70
test ebx, ebx
movzx eax, sil
mov ecx, r14d
cmove ecx, eax
movzx esi, cl
test cl, cl
je case.0x180011604.70
mov rdx, qword [rbp - 0x50]
lea r9, [rbp + 0x130]
mov r8d, r13d
mov ecx, r12d
call qword [sym.imp.SHELL32.dll_SHSetFolderPathA]
jmp case.0x180011604.70
mov sil, 1
mov qword [rbp - 0x30], r14
jmp case.0x180011604.70
mov qword [rbp - 0x50], r14
jmp case.0x180011604.70
mov r13d, r14d
jmp case.0x180011604.70
mov r8, qword [rbp - 0x50]
lea rax, [rbp + 0x130]
mov rcx, qword [rbp - 0x28]
mov r9d, r13d
mov edx, r12d
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov ebx, eax
jmp case.0x180011604.70
mov qword [rbp - 0x28], r14
jmp case.0x180011604.70
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.dbghelp.dll_SymCleanup]
add edi, 0x18
cmp edi, 0x15b
jb 0x1800115d0
mov dword [rbp - 0x70], ebx
movzx ebx, byte [rsp + 0x60]
mov byte [rsp + 0x62], sil
mov esi, dword [rsp + 0x68]
jmp 0x1800110aa
mov eax, 0x7272
mov byte [rbp + 0xc3], 0
mov word [rbp + 0xc1], ax
inc esi
lea r15, [0x180000000]
mov dword [rsp + 0x68], esi
cmp esi, 0x78
jb 0x180011070
mov edi, dword [rbp - 0x7c]
lea r15, [0x180000000]
mov r8, qword [rbp - 0x78]
mov esi, dword [rsp + 0x78]
imul eax, dword [rbp - 0x60], 0x26
add edi, eax
mov dword [rbp - 0x7c], edi
cmp edi, dword [rsp + 0x7c]
ja 0x1800117be
mov rdx, qword [rsp + 0x70]
jmp 0x180010e4a
xorps xmm0, xmm0
mov qword [rbp - 0x20], r14
xor eax, eax
movups xmmword [rbp], xmm0
mov qword [rbp + 0x20], rax
movups xmmword [rbp + 0x10], xmm0
jmp 0x18001174a
mov r9d, dword [rbp - 0x6c]
lea rax, [rbp + 0x240]
mov r8, qword [rbp - 0x20]
mov edx, dword [rbp - 0x68]
mov rcx, qword [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call qword [sym.imp.SHELL32.dll_SHGetFolderPathAndSubDirA]
mov r8, qword [rbp - 0x78]
jmp 0x18001174a
cmp edi, 0x22ce0
je 0x1800117fc
cmp edi, 0x257a0
je 0x1800117f1
cmp edi, 0x28260
jne 0x18001174a
movzx eax, bl
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.18006fee0
lea r11, [rsp + 0x460]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor bl, bl
mov byte [rsp + 0x60], bl
jmp 0x18001174a
lea rax, [rbp - 0x48]
xor edx, edx
mov qword [rsp + 0x50], rax
lea r9, [rbp + 0x108]
lea rax, [rbp - 0x44]
xor ecx, ecx
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0xe8]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x64]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rbp]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_AccessCheckAndAuditAlarmW]
mov r8, qword [rbp - 0x78]
jmp 0x18001174a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov al, 1
jmp 0x1800117c1
call fcn.18001e240
int3
call fcn.18001e280
int3
call fcn.18001e100
int3