Function at 0x140057960
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x610
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x1400e71f0]
xor rax, rsp
mov qword [rsp + 0x600], rax
mov rbp, rcx
call fcn.1400696cc
mov r11, rax
xor r14d, r14d
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400579be
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
call fcn.1400696cc
mov r11, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400579f0
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
call fcn.1400696cc
mov r11, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x140057a22
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x40], rsi
mov ecx, 0x15
call fcn.1400696b8
test rax, rax
je 0x140057a5b
mov r8d, 0x15
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140003a40
mov rbx, qword [rsp + 0x38]
mov ecx, 0x16
call fcn.1400696b8
test rax, rax
je 0x140057a82
mov r8d, 0x16
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140003a40
mov rdi, qword [rsp + 0x30]
mov ecx, 0x17
call fcn.1400696b8
test rax, rax
je 0x140057aa9
mov r8d, 0x17
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140003a40
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rsi
xor edx, edx
mov r8d, 0xd8
lea rcx, [rsp + 0x108]
call fcn.140080d50
mov dword [rsp + 0x48], 0x14
mov dword [rsp + 0x4c], 9
mov dword [rsp + 0x50], 8
mov dword [rsp + 0x54], 3
cmp dword [rbp + 0x220], 1
jne 0x140057d14
mov r12, r14
mov word [rsp + 0x3f0], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x3f2]
call fcn.140080d50
mov dword [rsp + 0x58], 0xffffffef
mov dword [rsp + 0x5c], 0xffffff74
mov dword [rsp + 0x60], 0xffffff73
mov dword [rsp + 0x64], 0xffffff58
mov dword [rsp + 0x68], 0xffffff57
mov dword [rsp + 0x6c], 0xffffff56
mov dword [rsp + 0x70], 0xffffffe3
mov dword [rsp + 0x74], 0xffffffe3
mov dword [rsp + 0x78], 0x7fffffff
mov dword [rsp + 0x80], 0xffffffcd
mov dword [rsp + 0x84], 0xffffffcb
mov dword [rsp + 0x88], 0xffffffcc
mov dword [rsp + 0x8c], 0xffffffcf
mov dword [rsp + 0x90], 0xffffffce
mov dword [rsp + 0x94], 0xffffffd0
mov dword [rsp + 0x98], 0xffffff5c
mov dword [rsp + 0x9c], 0xffffff5c
mov dword [rsp + 0xa0], 0x7fffffff
call fcn.140015a10
cmp eax, 0xa
jne 0x140057c40
mov word [rsp + 0x1e0], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1e2]
call fcn.140080d50
mov edx, 0x104
lea rcx, [rsp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea r9, str.IMAGERES.DLL
lea r8, [rsp + 0x1e0]
lea rdx, [0x1400a3e08]
lea rcx, [rsp + 0x3f0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r12, [rsp + 0x3f0]
lea rdi, [rsp + 0x80]
jmp 0x140057c45
lea rdi, [rsp + 0x58]
cmp dword [rbp + 0x224], 1
jne 0x140057cb5
lea rbx, [rbp + 0x210]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.140076568
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9d, 1
mov r8, rdi
mov rdx, rbx
mov rcx, r12
call fcn.140018a80
test rbx, rbx
jne 0x140057c8f
mov r9, r14
jmp 0x140057c93
mov r9, qword [rbx + 8]
mov edx, 0x1003
mov r8d, 1
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call fcn.140073b70
jmp 0x140057d14
lea rbx, [rbp + 0x210]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.140076568
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8, rdi
mov rdx, rbx
mov rcx, r12
call fcn.140018a80
test rbx, rbx
jne 0x140057cf3
mov r9, r14
jmp 0x140057cf7
mov r9, qword [rbx + 8]
xor r8d, r8d
mov edx, 0x1003
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call fcn.140073b70
lea rdx, [rsp + 0xa8]
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov ebx, r14d
mov rdi, r14
lea r12, [rsp + 0xf0]
lea r13, [rsp + 0x4c]
nop
mov dword [rsp + 0xb8], 0xf
mov dword [rsp + 0xbc], r14d
mov rax, qword [r12]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xd4], ebx
mov ecx, dword [rsp + 0xb0]
sub ecx, dword [rsp + 0xa8]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, dword [r13]
mov dword [rsp + 0xc0], edx
lea r9, [rsp + 0xb8]
mov r8, rdi
mov edx, 0x1061
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.USER32.dll_SendMessageW]
add ebx, 1
add rdi, 1
add r13, 4
add r12, 8
cmp ebx, 3
jl 0x140057d40
mov rcx, rbp
call fcn.1400575c0
nop
lea rdx, [rsi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057ded
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140057e0e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140057e2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x600]
xor rcx, rsp
call fcn.140081050
lea r11, [rsp + 0x610]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret