Function at 0x4b4a7a
Capabilities:
Get common file path

Disassembly:
push 0x320
mov eax, 0x56d107
call fcn.00548d57
mov edi, ecx
mov dword [ebp - 0x32c], edi
mov eax, dword [edi]
mov esi, dword [eax + 0x1c8]
mov ecx, esi
call fcn.00548ce6
mov ecx, edi
call esi
mov ebx, eax
mov eax, dword [edi + 0xf34]
test eax, eax
je 0x4b4b23
push eax
call dword [sym.imp.USER32.dll_IsMenu]
test eax, eax
jne 0x4b4ac0
call fcn.004154ed
cmp dword [edi + 0x158], 0
jne 0x4b4ade
push ebx
push dword [edi + 0xf34]
mov ecx, 0x5cf694
call fcn.0049ac44
test eax, eax
jne 0x4b4b23
call fcn.00473bd4
test eax, eax
je 0x4b4b0d
mov eax, dword [ebx]
push 1
mov esi, dword [eax + 0x438]
push dword [edi + 0xf34]
mov ecx, esi
call fcn.00548ce6
mov ecx, ebx
call esi
test eax, eax
jne 0x4b4b23
xor eax, eax
jmp 0x4b508f
mov esi, dword [ebx]
xor eax, eax
cmp dword [edi + 0x158], eax
sete al
mov esi, dword [esi + 0x438]
push eax
jmp 0x4b4af1
call fcn.0041976f
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x320], eax
test eax, eax
je 0x4b4dac
cmp dword [0x5cdc40], 0
jne 0x4b4dac
mov esi, dword [ebx + 0xc40]
xor edx, edx
mov dword [ebp - 0x308], edx
xor eax, eax
mov dword [ebp - 0x314], esi
mov dword [ebp - 0x310], eax
test esi, esi
je 0x4b4dac
lea ecx, [ebp - 0x314]
lea eax, [ebx + 0xc3c]
push ecx
mov ecx, eax
call fcn.004d51d2
mov edi, dword [eax]
test edi, edi
je 0x4b4abb
cmp dword [edi + 0x20], 0xe110
jne 0x4b4ba8
push 0x586428
lea ecx, [edi + 0x2c]
call fcn.00418f6e
test eax, eax
je 0x4b4bbc
mov eax, dword [edi + 0x24]
mov esi, dword [ebp - 0x314]
and eax, 1
inc dword [ebp - 0x308]
jmp 0x4b4b62
push esi
lea ecx, [ebx + 0xc3c]
call fcn.004c0478
mov eax, dword [edi]
push 1
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00548ce6
mov ecx, edi
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x218]
push eax
call fcn.005500eb
pop ecx
push 0x5c
pop ecx
mov word [ebp + eax*2 - 0x218], cx
inc eax
mov dword [ebp - 0x328], eax
add eax, eax
cmp eax, 0x208
jae 0x4b4f73
mov edi, dword [ebp - 0x320]
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
xor eax, eax
and dword [ebp - 0x30c], eax
mov dword [ebp - 0x318], eax
cmp dword [edi + 4], eax
jle 0x4b4d58
call fcn.004159d0
push eax
lea ecx, [ebp - 0x324]
call fcn.00401e30
mov esi, dword [edi]
lea eax, [ebp - 0x218]
and dword [ebp - 4], 0
push 1
push dword [ebp - 0x328]
mov ecx, dword [esi + 0xc]
push eax
push dword [ebp - 0x30c]
lea eax, [ebp - 0x324]
push eax
call fcn.00548ce6
mov ecx, edi
call dword [esi + 0xc]
test eax, eax
je 0x4b4d26
call fcn.004159d0
push eax
lea ecx, [ebp - 0x31c]
call fcn.00401e30
push dword [ebp - 0x324]
mov eax, dword [ebp - 0x318]
inc eax
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0x318], eax
lea eax, [ebp - 0x31c]
push str._d__Ts
push eax
call fcn.004021d0
mov esi, dword [ebp - 0x31c]
lea ecx, [ebp - 0x304]
mov eax, dword [ebp - 0x30c]
add esp, 0x10
add eax, 0xe110
push 0
push esi
push 0xffffffffffffffff
push 0
push eax
call fcn.00475679
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x308]
push edx
push eax
mov edi, dword [ecx + 0x344]
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00548ce6
mov ecx, ebx
call edi
inc dword [ebp - 0x308]
lea ecx, [ebp - 0x304]
call fcn.00475762
lea ecx, [esi - 0x10]
call fcn.00402320
mov edi, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x324]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00402320
mov eax, dword [ebp - 0x30c]
inc eax
mov dword [ebp - 0x30c], eax
cmp eax, dword [edi + 4]
jl 0x4b4c3f
mov eax, dword [ebp - 0x318]
test eax, eax
jne 0x4b4dac
mov eax, dword [ebp - 0x310]
test eax, eax
je 0x4b4dac
mov esi, dword [ebp - 0x314]
test esi, esi
je 0x4b4dac
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebx + 0xc3c]
call fcn.004d51d2
mov edi, dword [eax]
test edi, edi
je 0x4b4abb
test byte [edi + 0x24], 1
je 0x4b4dac
push esi
lea ecx, [ebx + 0xc3c]
call fcn.004c0478
mov eax, dword [edi]
push 1
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00548ce6
mov ecx, edi
call esi
cmp dword [0x5cf870], 0
je 0x4b4feb
cmp dword [0x5cdc40], 0
jne 0x4b4feb
mov eax, dword [ebx + 0xc40]
xor esi, esi
and dword [ebp - 0x310], 0
xor edi, edi
mov dword [ebp - 0x308], esi
mov dword [ebp - 0x314], eax
test eax, eax
je 0x4b4feb
lea ecx, [ebx + 0xc3c]
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x314]
push eax
call fcn.004d51d2
mov ecx, dword [eax]
mov dword [ebp - 0x30c], ecx
test ecx, ecx
je 0x4b4abb
mov edx, dword [0x5cf870]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x31c], eax
jne 0x4b4f92
cmp dword [0x5cf8c0], 0
lea eax, [edx + 4]
mov dword [ebp - 0x318], eax
je 0x4b4e49
cmp dword [eax + 0xc], 0
je 0x4b4e82
push dword [ebp - 0x320]
lea ecx, [ebx + 0xc3c]
call fcn.004c0478
mov ecx, dword [ebp - 0x30c]
push 1
mov eax, dword [ecx]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00548ce6
mov ecx, dword [ebp - 0x30c]
call esi
mov esi, dword [ebp - 0x308]
mov eax, dword [ebp - 0x318]
cmp dword [ebp - 0x310], 0
jne 0x4b4fd6
test esi, esi
jne 0x4b4eb5
cmp dword [eax + 0xc], esi
je 0x4b4eb5
cmp dword [ebx + 0xc48], esi
je 0x4b4eb5
mov eax, dword [ebx]
push edi
mov esi, dword [eax + 0x348]
mov ecx, esi
call fcn.00548ce6
mov ecx, ebx
call esi
inc edi
mov ecx, dword [ebp - 0x318]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x310], eax
test eax, eax
je 0x4b4f4c
lea eax, [ebp - 0x310]
push eax
call fcn.0041a75a
mov esi, eax
push 1
push dword [esi + 0x10]
call fcn.0049b30f
mov ecx, eax
call fcn.0049b2d7
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 - 0x304]
call fcn.00475679
mov ecx, dword [ebx]
push edi
push eax
mov dword [ebp - 4], 3
mov esi, dword [ecx + 0x344]
mov ecx, esi
call fcn.00548ce6
mov ecx, ebx
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
inc edi
call fcn.00475762
cmp dword [ebp - 0x310], 0
mov ecx, dword [ebp - 0x318]
jne 0x4b4ecc
cmp dword [ebp - 0x31c], 0
je 0x4b4f80
mov eax, dword [ebx]
push edi
mov esi, dword [eax + 0x348]
mov ecx, esi
call fcn.00548ce6
mov ecx, ebx
call esi
inc edi
test eax, eax
js 0x4b4f78
xor eax, eax
inc eax
jmp 0x4b4f7a
call fcn.00549218
xor eax, eax
mov dword [ebp - 0x308], eax
mov esi, dword [ebp - 0x308]
mov dword [ebp - 0x310], 1
jmp 0x4b4fd6
test byte [ecx + 0x24], 1
je 0x4b4fce
test esi, esi
je 0x4b4fc9
push dword [ebp - 0x320]
lea ecx, [ebx + 0xc3c]
call fcn.004c0478
mov ecx, dword [ebp - 0x30c]
push 1
mov eax, dword [ecx]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00548ce6
mov ecx, dword [ebp - 0x30c]
call esi
xor esi, esi
inc esi
jmp 0x4b4fd0
xor esi, esi
mov dword [ebp - 0x308], esi
mov eax, dword [ebp - 0x31c]
lea ecx, [ebx + 0xc3c]
inc edi
test eax, eax
jne 0x4b4df1
mov eax, dword [ebx]
mov esi, dword [eax + 0x3c4]
mov ecx, esi
call fcn.00548ce6
mov ecx, ebx
call esi
mov edi, eax
mov dword [ebp - 0x328], edi
test edi, edi
je 0x4b5021
mov ecx, dword [edi]
mov esi, dword [ecx + 0x150]
mov ecx, esi
call fcn.00548ce6
mov ecx, edi
call esi
test eax, eax
jne 0x4b5032
mov edi, dword [ebp - 0x32c]
push edi
call fcn.004130e8
pop ecx
mov ecx, eax
jmp 0x4b503e
mov edi, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x328]
test ecx, ecx
je 0x4b5058
mov eax, dword [ebx]
push 0
push ecx
mov esi, dword [eax + 0x244]
mov ecx, esi
call fcn.00548ce6
mov ecx, ebx
call esi
mov eax, dword [0x5cef74]
test eax, eax
jne 0x4b5068
mov ecx, edi
call fcn.0041d61a
push edi
push eax
call fcn.004b2f5b
test eax, eax
je 0x4b4b06
mov edx, dword [edi]
push 1
mov esi, dword [edx + 0x178]
mov ecx, esi
call fcn.00548ce6
mov ecx, edi
call esi
xor eax, eax
inc eax
call fcn.00548d01
ret