Function at 0x49327f
Capabilities:
Get common file path

Disassembly:
push 0x214
mov eax, 0x553b07
call fcn.00531203
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 0x493327
push eax
call dword [sym.imp.USER32.dll_IsMenu]
neg eax
sbb eax, eax
neg eax
jne 0x4932be
call fcn.004136db
cmp dword [ebx + 0x158], 0
jne 0x4932dc
push edi
push dword [ebx + 0xf34]
mov ecx, 0x5d4794
call fcn.004a230f
test eax, eax
jne 0x493327
call fcn.0046d4a2
test eax, eax
je 0x493302
mov eax, dword [edi]
mov ecx, edi
push 1
push dword [ebx + 0xf34]
call dword [eax + 0x438]
test eax, eax
jne 0x493327
xor eax, eax
jmp 0x49385e
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 0x4932f7
call fcn.00417bf4
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x4935b7
cmp dword [0x5d2a18], 0
jne 0x4935b7
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 0x4935b7
lea ecx, [ebp - 0x214]
lea eax, [edi + 0xc3c]
push ecx
mov ecx, eax
call fcn.00407989
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x4932b9
cmp dword [esi + 0x20], 0xe110
jne 0x4933b9
push str.Recent_File
lea ecx, [esi + 0x2c]
call fcn.004174c3
test eax, eax
je 0x4933d3
mov eax, dword [esi + 0x24]
and eax, 1
inc dword [ebp - 0x200]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x214]
jmp 0x49336c
push dword [ebp - 0x208]
lea ecx, [edi + 0xc3c]
call fcn.0049e164
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.00538ee0
mov esi, eax
pop ecx
mov byte [ebp + esi - 0x114], 0x5c
inc esi
mov dword [ebp - 0x218], esi
cmp esi, 0x104
jae 0x493785
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 0x49355a
mov ebx, eax
call fcn.00413b9d
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402500
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 0x493522
call fcn.00413b9d
push eax
lea ecx, [ebp - 0x21c]
call fcn.00402500
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.00402900
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.0046ed32
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.0046ee1b
lea ecx, [esi - 0x10]
call fcn.00402620
mov esi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x20c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00402620
mov eax, dword [ebp - 0x204]
inc eax
mov dword [ebp - 0x204], eax
cmp eax, dword [ebx + 4]
jl 0x493451
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x220]
test eax, eax
jne 0x4935b7
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x4935b7
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4935b7
lea eax, [ebp - 0x214]
push eax
lea ecx, [edi + 0xc3c]
call fcn.00407989
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x4932b9
test byte [esi + 0x24], 1
je 0x4935b7
push dword [ebp - 0x218]
lea ecx, [edi + 0xc3c]
call fcn.0049e164
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
cmp dword [0x5d4444], 0
je 0x4937f8
cmp dword [0x5d2a18], 0
jne 0x4937f8
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 0x4937f8
lea ecx, [edi + 0xc3c]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x214]
push eax
call fcn.00407989
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x20c], ecx
setne al
test eax, eax
je 0x4932b9
mov edx, dword [0x5d4444]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
jne 0x49379d
cmp dword [0x5d4450], 0
lea eax, [edx + 4]
mov dword [ebp - 0x208], eax
je 0x49365f
cmp dword [eax + 0xc], 0
je 0x493683
push dword [ebp - 0x21c]
lea ecx, [edi + 0xc3c]
call fcn.0049e164
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 0x4937dd
cmp dword [ebp - 0x200], 0
jne 0x4936ba
cmp dword [eax + 0xc], 0
je 0x4936ba
cmp dword [edi + 0xc48], 0
je 0x4936ba
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 0x493760
mov ebx, dword [ebp - 0x204]
lea eax, [ebp - 0x210]
push eax
call fcn.0043b8c0
mov esi, eax
push 1
push dword [esi + 0x10]
call fcn.004a285c
mov ecx, eax
call fcn.004a2824
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.0046ed32
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.0046ee1b
cmp dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x208]
jne 0x4936d7
mov dword [ebp - 0x204], ebx
mov ebx, dword [ebp - 0x220]
mov esi, dword [ebp - 0x204]
cmp dword [ebp - 0x218], 0
je 0x493791
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x348]
inc esi
test eax, eax
js 0x49378a
mov dword [ebp - 0x200], 1
jmp 0x493791
call fcn.00530e87
and dword [ebp - 0x200], 0
mov dword [ebp - 0x210], 1
jmp 0x4937dd
test byte [ecx + 0x24], 1
je 0x4937d6
cmp dword [ebp - 0x200], 0
je 0x4937ca
push dword [ebp - 0x21c]
lea ecx, [edi + 0xc3c]
call fcn.0049e164
mov ecx, dword [ebp - 0x20c]
push 1
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x200], 1
jmp 0x4937dd
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 0x493600
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c4]
mov esi, eax
test esi, esi
je 0x493816
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x150]
test eax, eax
jne 0x49381f
push ebx
call fcn.0042fa28
pop ecx
mov esi, eax
test esi, esi
je 0x493830
mov eax, dword [edi]
mov ecx, edi
push 0
push esi
call dword [eax + 0x244]
mov eax, dword [0x5d3da0]
test eax, eax
jne 0x493840
mov ecx, ebx
call fcn.0041b527
push ebx
push eax
call fcn.004919b5
test eax, eax
je 0x4932fb
mov edx, dword [ebx]
mov ecx, ebx
push 1
call dword [edx + 0x178]
xor eax, eax
inc eax
call fcn.005311ad
ret