Function at 0x18001d680
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x360
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov rax, qword [0x1801aef28]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov r13, r8
mov rdi, rdx
mov r12, rcx
test rcx, rcx
jne 0x18001d6c5
xor eax, eax
jmp 0x18001dc20
mov eax, reloc.WS2_32.dll_ntohs
mov word [rsp + 0xa0], ax
xor r14d, r14d
mov qword [rsp + 0xa8], r14
mov dword [rsp + 0xb0], 1
mov dword [rsp + 0xb4], 0xffffffff
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0x48], r14d
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0xa0]
call qword [rax + 0x18]
test eax, eax
js 0x18001d748
test rdi, rdi
cmove rdi, qword [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdx, r13
mov rcx, rax
call fcn.180063890
jmp 0x18001dc1c
mov word [rsp + 0x140], r14w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x142]
call fcn.1800a1250
mov edx, 0x103
lea rcx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x40]
call fcn.180080ca0
nop
lea rdx, str.Temp_
lea rcx, [rsp + 0x30]
call fcn.180080c20
nop
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.18007d5f0
nop
lea rcx, [rsp + 0x30]
call fcn.18007d270
mov dword [rsp + 0x88], r14d
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
movzx eax, word [0x1801cc3dc]
mov word [rsp + 0xc0], ax
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xd0], 1
mov dword [rsp + 0xd4], 0xffffffff
mov dword [rsp + 0xd8], 1
mov rax, qword [r12]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0xc0]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jns 0x18001d837
lea rcx, [rsp + 0x40]
call fcn.18007d270
jmp 0x18001dc1c
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rbp, rax
cmp dword [0x1801df0a0], 0
je 0x18001d873
mov qword [rsp + 0x20], rax
lea r9, str._GetFileNames__File_21___08x_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test rbp, rbp
jne 0x18001d887
lea rcx, [rsp + 0x40]
call fcn.18007d270
jmp 0x18001dc1c
cmp dword [0x1801df0a0], 0
je 0x18001d8b4
mov eax, dword [rbp]
mov dword [rsp + 0x20], eax
lea r9, str._GetFileNames__File22___d_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
movzx eax, word [0x1801cc3f0]
mov word [rsp + 0x60], ax
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x74], r14d
mov dword [rsp + 0x78], 4
mov ebx, r14d
cmp dword [rbp], ebx
jbe 0x18001dc03
cmp dword [0x1801df0a0], 0
je 0x18001d91f
mov eax, ebx
imul rax, rax, 0x250
lea rax, [rax + rbp + 0x4c]
mov qword [rsp + 0x20], rax
lea r9, str._GetFileNames__File23___s_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
mov eax, ebx
imul rax, rax, 0x250
lea r8, [rax + rbp + 0x4c]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x18001dbe1
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.180080f90
nop
mov dword [rsp + 0x74], ebx
mov rax, qword [r12]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, r12
call qword [rax + 0x18]
mov edi, eax
test eax, eax
jns 0x18001d992
mov dword [rsp + 0x78], 1
mov rax, qword [r12]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, r12
call qword [rax + 0x18]
mov edi, eax
cmp dword [0x1801df0a0], 0
je 0x18001d9c4
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
lea r9, str._GetFileNames__File24___08x____08x_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test edi, edi
js 0x18001dbf9
cmp dword [rsp + 0x78], 4
jne 0x18001d9e3
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
jmp 0x18001d9f1
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
cmp dword [0x1801df0a0], 0
je 0x18001da1c
mov qword [rsp + 0x20], rdi
lea r9, str._GetFileNames__File25___p_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test rdi, rdi
je 0x18001dbed
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov r9d, 1
xor r8d, r8d
mov edx, 0x1022
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_SHCreateStreamOnFileEx]
cmp qword [rsp + 0x30], 0
jne 0x18001da69
lea rcx, [rsp + 0x38]
call fcn.18007d270
jmp 0x18001dbe1
cmp dword [rsp + 0x78], 4
jne 0x18001db64
mov dword [rsp + 0x80], r14d
xor eax, eax
mov dword [rsp + 0x84], eax
mov rax, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x80]
mov rcx, rdi
call qword [rax + 0x28]
mov qword [rsp + 0xf0], r14
xor eax, eax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov rax, qword [rdi]
xor r8d, r8d
lea rdx, [rsp + 0xf0]
mov rcx, rdi
call qword [rax + 0x60]
mov rax, qword [rdi]
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [0x1801df0a0], 0
je 0x18001dbba
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, str._GetFileNames__File26___lx_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
jmp 0x18001dbba
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rsi, rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
xor r9d, r9d
mov r8d, esi
mov rdx, rdi
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [0x1801df0a0], 0
je 0x18001dbba
mov qword [rsp + 0x20], rsi
lea r9, str._GetFileNames__File27___lx_
lea r8, str.DragTool
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
lea r8, [rsp + 0x38]
mov edx, dword [r13 + 8]
mov rcx, r13
call fcn.180081890
nop
lea rcx, [rsp + 0x38]
call fcn.18007d270
inc ebx
cmp ebx, dword [rbp]
jae 0x18001dc03
jmp 0x18001d8e6
lea rcx, [rsp + 0x38]
call fcn.18007d270
jmp 0x18001dc03
lea rcx, [rsp + 0x38]
call fcn.18007d270
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop
lea rcx, [rsp + 0x40]
call fcn.18007d270
mov eax, dword [r13 + 8]
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.1800a1220
add rsp, 0x360
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret