Function at 0x4a1c42
Capabilities:
Get common file path

Disassembly:
push 0x214
mov eax, 0x576091
call fcn.00550d66
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 0x4a1cea
push eax
call dword [sym.imp.USER32.dll_IsMenu]
neg eax
sbb eax, eax
neg eax
jne 0x4a1c81
call fcn.00427961
cmp dword [ebx + 0x158], 0
jne 0x4a1c9f
push edi
push dword [ebx + 0xf34]
mov ecx, 0x5da710
call fcn.004ae34c
test eax, eax
jne 0x4a1cea
call fcn.004a2506
test eax, eax
je 0x4a1cc5
mov eax, dword [edi]
mov ecx, edi
push 1
push dword [ebx + 0xf34]
call dword [eax + 0x438]
test eax, eax
jne 0x4a1cea
xor eax, eax
jmp 0x4a2221
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 0x4a1cba
call fcn.0043153a
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x4a1f7a
cmp dword [0x5d9070], 0
jne 0x4a1f7a
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 0x4a1f7a
lea ecx, [ebp - 0x214]
lea eax, [edi + 0xc3c]
push ecx
mov ecx, eax
call fcn.00450273
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x4a1c7c
cmp dword [esi + 0x20], 0xe110
jne 0x4a1d7c
push str.Recent_File
lea ecx, [esi + 0x2c]
call fcn.00425920
test eax, eax
je 0x4a1d96
mov eax, dword [esi + 0x24]
and eax, 1
inc dword [ebp - 0x200]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x214]
jmp 0x4a1d2f
push dword [ebp - 0x208]
lea ecx, [edi + 0xc3c]
call fcn.0044f8ea
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.0055aa00
mov esi, eax
pop ecx
mov byte [ebp + esi - 0x114], 0x5c
inc esi
mov dword [ebp - 0x218], esi
cmp esi, 0x104
jae 0x4a2148
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 0x4a1f1d
mov ebx, eax
call fcn.00426ad5
push eax
lea ecx, [ebp - 0x20c]
call fcn.00403ff0
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 0x4a1ee5
call fcn.00426ad5
push eax
lea ecx, [ebp - 0x21c]
call fcn.00403ff0
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.00403a00
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.004efdcc
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.004efeb5
lea ecx, [esi - 0x10]
call fcn.00404020
mov esi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x20c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00404020
mov eax, dword [ebp - 0x204]
inc eax
mov dword [ebp - 0x204], eax
cmp eax, dword [ebx + 4]
jl 0x4a1e14
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x220]
test eax, eax
jne 0x4a1f7a
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x4a1f7a
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4a1f7a
lea eax, [ebp - 0x214]
push eax
lea ecx, [edi + 0xc3c]
call fcn.00450273
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x4a1c7c
test byte [esi + 0x24], 1
je 0x4a1f7a
push dword [ebp - 0x218]
lea ecx, [edi + 0xc3c]
call fcn.0044f8ea
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
cmp dword [0x5daa60], 0
je 0x4a21bb
cmp dword [0x5d9070], 0
jne 0x4a21bb
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 0x4a21bb
lea ecx, [edi + 0xc3c]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x214]
push eax
call fcn.00450273
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x20c], ecx
setne al
test eax, eax
je 0x4a1c7c
mov edx, dword [0x5daa60]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
jne 0x4a2160
cmp dword [0x5da478], 0
lea eax, [edx + 4]
mov dword [ebp - 0x208], eax
je 0x4a2022
cmp dword [eax + 0xc], 0
je 0x4a2046
push dword [ebp - 0x21c]
lea ecx, [edi + 0xc3c]
call fcn.0044f8ea
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 0x4a21a0
cmp dword [ebp - 0x200], 0
jne 0x4a207d
cmp dword [eax + 0xc], 0
je 0x4a207d
cmp dword [edi + 0xc48], 0
je 0x4a207d
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 0x4a2123
mov ebx, dword [ebp - 0x204]
lea eax, [ebp - 0x210]
push eax
call fcn.00434569
mov esi, eax
push 1
push dword [esi + 0x10]
call fcn.004ae899
mov ecx, eax
call fcn.004ae861
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.004efdcc
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.004efeb5
cmp dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x208]
jne 0x4a209a
mov dword [ebp - 0x204], ebx
mov ebx, dword [ebp - 0x220]
mov esi, dword [ebp - 0x204]
cmp dword [ebp - 0x218], 0
je 0x4a2154
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x348]
inc esi
test eax, eax
js 0x4a214d
mov dword [ebp - 0x200], 1
jmp 0x4a2154
call fcn.00550659
and dword [ebp - 0x200], 0
mov dword [ebp - 0x210], 1
jmp 0x4a21a0
test byte [ecx + 0x24], 1
je 0x4a2199
cmp dword [ebp - 0x200], 0
je 0x4a218d
push dword [ebp - 0x21c]
lea ecx, [edi + 0xc3c]
call fcn.0044f8ea
mov ecx, dword [ebp - 0x20c]
push 1
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x200], 1
jmp 0x4a21a0
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 0x4a1fc3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c4]
mov esi, eax
test esi, esi
je 0x4a21d9
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x150]
test eax, eax
jne 0x4a21e2
push ebx
call fcn.00469e54
pop ecx
mov esi, eax
test esi, esi
je 0x4a21f3
mov eax, dword [edi]
mov ecx, edi
push 0
push esi
call dword [eax + 0x244]
mov eax, dword [0x5da5bc]
test eax, eax
jne 0x4a2203
mov ecx, ebx
call fcn.0042cab2
push ebx
push eax
call fcn.004a0378
test eax, eax
je 0x4a1cbe
mov edx, dword [ebx]
mov ecx, ebx
push 1
call dword [edx + 0x178]
xor eax, eax
inc eax
call fcn.00550d10
ret