Function at 0x1400a08e0
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x330
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x14047b0a0]
xor rax, rsp
mov qword [rbp + 0x220], rax
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rbp - 0x48], xmm0
xor r14d, r14d
mov word [rbp - 0x58], r14w
lea r8, [0x140402ad8]
lea rdx, str._scache
lea rcx, [rbp - 0x18]
call fcn.1401349c0
mov rbx, rax
lea rax, [rbp - 0x58]
cmp rax, rbx
je 0x1400a097b
lea rcx, [rbp - 0x58]
call fcn.14007ec70
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rbp - 0x18]
call fcn.14007ec70
lea r8, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae r8, qword [rbp - 0x58]
lea rdx, [rbp - 0x38]
call fcn.1400a2410
nop
lea rcx, [rbp - 0x58]
call fcn.14007ec70
nop
lea rbx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rbx, qword [rbp - 0x38]
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0x10]
call fcn.1402dd440
mov edx, 0x104
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
dec eax
cmp eax, 0x102
ja 0x1400a0a18
lea rdx, str.dbghelp.dll
lea rcx, [rbp + 0x10]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x1400a0a18
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x1400a0a18
lea rdx, str.MiniDumpWriteDump
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140492cb8], rax
test rbx, rbx
je 0x1400a0a3e
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400a0a24
mov rdx, rbx
lea rcx, [0x140481c40]
call fcn.14007ece0
mov byte [0x140492bb4], 0
cmp qword [0x140492cb8], 0
je 0x1400a0a5d
lea rcx, [0x1400938e0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
nop
lea rcx, [rbp - 0x38]
call fcn.14007ec70
call fcn.1400a2690
call fcn.1400a2af0
test al, al
jne 0x1400a0d1e
call fcn.1400a1f60
test al, al
jne 0x1400a0d1e
mov esi, r14d
call fcn.1400a0d50
test al, al
je 0x1400a0d15
call fcn.1400a34a0
mov rbx, qword [rax]
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rbp - 0x48], xmm0
mov word [rbp - 0x58], r14w
mov r8d, 3
lea rdx, [0x140403678]
lea rcx, [rbp - 0x58]
call fcn.14007ece0
nop
movdqa xmm0, xmmword [0x140415690]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], r14w
mov r8d, 6
lea rdx, str.active
lea rcx, [rbp - 0x38]
call fcn.14007ece0
nop
lea r9, [0x140492b28]
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x38]
mov rcx, rbx
call fcn.14007cfd0
nop
lea rcx, [rbp - 0x38]
call fcn.14007ec70
nop
lea rcx, [rbp - 0x58]
call fcn.14007ec70
lea r15, vtable.WTL::CMessageLoop.0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov rdi, qword [0x140492d60]
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x140492a78]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov eax, dword [rbx + 0x10]
inc eax
movsxd rdx, eax
mov r8d, 4
mov rcx, qword [rbx]
call fcn.1402e6b20
test rax, rax
je 0x1400a0bc6
mov qword [rbx], rax
mov eax, dword [rbx + 0x10]
inc eax
movsxd rdx, eax
mov r8d, 8
mov rcx, qword [rbx + 8]
call fcn.1402e6b20
mov rcx, rax
test rax, rax
je 0x1400a0bc6
mov qword [rbx + 8], rax
movsxd rdx, dword [rbx + 0x10]
mov rax, qword [rbx]
lea r8, [rax + rdx*4]
test r8, r8
je 0x1400a0bb2
mov dword [r8], esi
mov rcx, qword [rbx + 8]
lea rax, [rcx + rdx*8]
test rax, rax
je 0x1400a0bc3
lea rcx, [rsp + 0x40]
mov qword [rax], rcx
inc dword [rbx + 0x10]
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, 1
mov ebx, r14d
test edi, edi
je 0x1400a0c14
nop dword [rax]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x1400a0c14
mov rax, qword [rsp + 0x40]
mov edx, ebx
inc ebx
lea rcx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
test eax, eax
jne 0x1400a0be0
mov edi, r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x1400a0bd8
test eax, eax
je 0x1400a0ca0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x40]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x1400a0c5c
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [rsp + 0x70]
sub eax, 0xf
je 0x1400a0c8e
sub eax, 0x91
je 0x1400a0c8e
sub eax, 0x78
je 0x1400a0c8e
cmp eax, 0xe8
je 0x1400a0c8e
mov ecx, 1
mov edi, ecx
mov eax, r14d
test ecx, ecx
cmove eax, ebx
mov ebx, eax
jmp 0x1400a0bd8
mov ecx, r14d
mov eax, r14d
test ecx, ecx
cmove eax, ebx
mov ebx, eax
jmp 0x1400a0bd8
mov esi, dword [rsp + 0x78]
mov rdi, qword [0x140492d60]
add rdi, 0x18
mov qword [rbp - 0x58], rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [rbp - 0x50], 1
mov rbx, qword [0x140492a78]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400a3dc0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov qword [rsp + 0x40], r15
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400a0d01
call fcn.1402e51e4
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400a0d15
call fcn.1402e51e4
call fcn.1400a14e0
mov eax, esi
jmp 0x1400a0d21
mov eax, r14d
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1401aed20
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret