Function at 0x486d0e
Capabilities:
Get common file path

Disassembly:
push 0x214
mov eax, 0x55be08
call fcn.00538560
mov ebx, ecx
mov dword [ebp - 0x220], ebx
mov eax, dword [ebx]
call dword [eax + 0x1c8]
mov edi, eax
mov eax, dword [ebx + 0xf34]
test eax, eax
je 0x486db6
push eax
call dword [sym.imp.USER32.dll_IsMenu]
neg eax
sbb eax, eax
neg eax
jne 0x486d4d
call fcn.0041825b
cmp dword [ebx + 0x158], 0
jne 0x486d6b
push edi
push dword [ebx + 0xf34]
mov ecx, 0x5bf6e0
call fcn.004939fb
test eax, eax
jne 0x486db6
call fcn.004875d2
test eax, eax
je 0x486d91
mov eax, dword [edi]
mov ecx, edi
push 1
push dword [ebx + 0xf34]
call dword [eax + 0x438]
test eax, eax
jne 0x486db6
xor eax, eax
jmp 0x4872ed
mov edx, dword [edi]
xor ecx, ecx
cmp dword [ebx + 0x158], ecx
setne cl
xor eax, eax
test ecx, ecx
mov ecx, edi
sete al
push eax
push dword [ebx + 0xf34]
call dword [edx + 0x438]
jmp 0x486d86
call fcn.0041c602
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x487046
cmp dword [0x5be020], 0
jne 0x487046
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x210], eax
mov eax, dword [edi + 0xc40]
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x208], eax
test eax, eax
je 0x487046
lea ecx, [ebp - 0x214]
lea eax, [edi + 0xc3c]
push ecx
mov ecx, eax
call fcn.0043c885
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x486d48
cmp dword [esi + 0x20], 0xe110
jne 0x486e48
push str.Recent_File
lea ecx, [esi + 0x2c]
call fcn.004029b0
test eax, eax
je 0x486e62
mov eax, dword [esi + 0x24]
and eax, 1
inc dword [ebp - 0x200]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x214]
jmp 0x486dfb
push dword [ebp - 0x208]
lea ecx, [edi + 0xc3c]
call fcn.004230fe
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
lea eax, [ebp - 0x114]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x114]
push eax
call fcn.005420b0
mov esi, eax
pop ecx
mov byte [ebp + esi - 0x114], 0x5c
inc esi
mov dword [ebp - 0x218], esi
cmp esi, 0x104
jae 0x487214
xor eax, eax
mov byte [ebp + esi - 0x114], 0
and dword [ebp - 0x204], eax
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x20c]
cmp dword [eax + 4], 0
jle 0x486fe9
mov ebx, eax
call fcn.004176b0
push eax
lea ecx, [ebp - 0x20c]
call fcn.00403130
mov eax, dword [ebx]
lea ecx, [ebp - 0x114]
and dword [ebp - 4], 0
push 1
push esi
push ecx
push dword [ebp - 0x204]
lea ecx, [ebp - 0x20c]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x486fb1
call fcn.004176b0
push eax
lea ecx, [ebp - 0x21c]
call fcn.00403130
push dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
inc eax
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x21c]
push str._d__Ts
push eax
call fcn.00404c80
mov esi, dword [ebp - 0x21c]
lea ecx, [ebp - 0x1fc]
mov eax, dword [ebp - 0x204]
add esp, 0x10
add eax, 0xe110
push 0
push esi
push 0xffffffffffffffff
push 0
push eax
call fcn.004d54c8
mov ecx, dword [ebp - 0x200]
mov edx, dword [edi]
push ecx
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call dword [edx + 0x344]
inc dword [ebp - 0x200]
lea ecx, [ebp - 0x1fc]
call fcn.004d55b1
lea ecx, [esi - 0x10]
call fcn.00403160
mov esi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x20c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00403160
mov eax, dword [ebp - 0x204]
inc eax
mov dword [ebp - 0x204], eax
cmp eax, dword [ebx + 4]
jl 0x486ee0
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x220]
test eax, eax
jne 0x487046
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x487046
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x487046
lea eax, [ebp - 0x214]
push eax
lea ecx, [edi + 0xc3c]
call fcn.0043c885
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x486d48
test byte [esi + 0x24], 1
je 0x487046
push dword [ebp - 0x218]
lea ecx, [edi + 0xc3c]
call fcn.004230fe
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
cmp dword [0x5bfa54], 0
je 0x487287
cmp dword [0x5be020], 0
jne 0x487287
mov eax, dword [edi + 0xc40]
xor esi, esi
and dword [ebp - 0x210], 0
and dword [ebp - 0x200], esi
mov dword [ebp - 0x204], esi
mov dword [ebp - 0x214], eax
test eax, eax
je 0x487287
lea ecx, [edi + 0xc3c]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x214]
push eax
call fcn.0043c885
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x20c], ecx
setne al
test eax, eax
je 0x486d48
mov edx, dword [0x5bfa54]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
jne 0x48722c
cmp dword [0x5bf434], 0
lea eax, [edx + 4]
mov dword [ebp - 0x208], eax
je 0x4870ee
cmp dword [eax + 0xc], 0
je 0x487112
push dword [ebp - 0x21c]
lea ecx, [edi + 0xc3c]
call fcn.004230fe
mov ecx, dword [ebp - 0x20c]
push 1
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x208]
cmp dword [ebp - 0x210], 0
jne 0x48726c
cmp dword [ebp - 0x200], 0
jne 0x487149
cmp dword [eax + 0xc], 0
je 0x487149
cmp dword [edi + 0xc48], 0
je 0x487149
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x348]
inc esi
mov dword [ebp - 0x204], esi
mov ecx, dword [ebp - 0x208]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x210], eax
test eax, eax
je 0x4871ef
mov ebx, dword [ebp - 0x204]
lea eax, [ebp - 0x210]
push eax
call fcn.0040ef6b
mov esi, eax
push 1
push dword [esi + 0x10]
call fcn.00494073
mov ecx, eax
call fcn.0049403b
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
push ecx
push dword [esi + 4]
lea ecx, [eax + 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0
push dword [esi + 0x10]
lea ecx, [ebp - 0x1fc]
call fcn.004d54c8
mov edx, dword [edi]
mov ecx, edi
push ebx
push eax
mov dword [ebp - 4], 3
call dword [edx + 0x344]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1fc]
inc ebx
call fcn.004d55b1
cmp dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x208]
jne 0x487166
mov dword [ebp - 0x204], ebx
mov ebx, dword [ebp - 0x220]
mov esi, dword [ebp - 0x204]
cmp dword [ebp - 0x218], 0
je 0x487220
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x348]
inc esi
test eax, eax
js 0x487219
mov dword [ebp - 0x200], 1
jmp 0x487220
call fcn.00537e3f
and dword [ebp - 0x200], 0
mov dword [ebp - 0x210], 1
jmp 0x48726c
test byte [ecx + 0x24], 1
je 0x487265
cmp dword [ebp - 0x200], 0
je 0x487259
push dword [ebp - 0x21c]
lea ecx, [edi + 0xc3c]
call fcn.004230fe
mov ecx, dword [ebp - 0x20c]
push 1
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x200], 1
jmp 0x48726c
and dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x218]
lea ecx, [edi + 0xc3c]
inc esi
mov dword [ebp - 0x204], esi
test eax, eax
jne 0x48708f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c4]
mov esi, eax
test esi, esi
je 0x4872a5
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x150]
test eax, eax
jne 0x4872ae
push ebx
call fcn.004504e9
pop ecx
mov esi, eax
test esi, esi
je 0x4872bf
mov eax, dword [edi]
mov ecx, edi
push 0
push esi
call dword [eax + 0x244]
mov eax, dword [0x5bf5b0]
test eax, eax
jne 0x4872cf
mov ecx, ebx
call fcn.00411980
push ebx
push eax
call fcn.00485414
test eax, eax
je 0x486d8a
mov edx, dword [ebx]
mov ecx, ebx
push 1
call dword [edx + 0x178]
xor eax, eax
inc eax
call fcn.0053850a
ret