Function at 0x4d08d0
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d8
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x1d8]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x2c]
movsx ecx, byte [eax + ecx]
cmp ecx, 0x61
jne 0x4d0947
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
movsx edx, byte [ecx + edx]
cmp edx, 0x76
jne 0x4d0947
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x2c]
movsx ecx, byte [eax + ecx]
cmp ecx, 0x65
jne 0x4d0947
mov dword [ebp - 0x14], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x28]
push eax
push str.Editorfiles__s
lea ecx, [ebp - 0xd4]
push ecx
call fcn.0041e320
add esp, 0xc
lea edx, [ebp - 0xd4]
push edx
call fcn.006b6c40
add esp, 4
mov byte [ebp + eax - 0xd2], 0
mov eax, 1
imul ecx, eax, 0xb
mov byte [ebp + ecx - 0xd4], 0
mov dword [ebp - 0x70], 0x58
mov edx, dword [0xe5d454]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp - 4]
add ecx, 0x55c
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], 0x96
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x558]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 0x804
xor eax, eax
mov word [ebp - 0x38], ax
xor ecx, ecx
mov word [ebp - 0x36], cx
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x28]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x14], 0
je 0x4d0a41
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
mov dword [ebp - 0x10], eax
jmp 0x4d0a4e
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4d0a73
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1d8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
xor eax, eax
jmp 0x4d0b08
lea ecx, [ebp - 0x1d8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edx, dword [ebp - 4]
add edx, 0x55c
push edx
call fcn.006b6c40
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4d0aa0
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x4d0aff
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x55c]
cmp edx, 0x5c
jne 0x4d0afd
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
movsx edx, byte [ecx + eax + 0x55c]
test edx, edx
je 0x4d0afb
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov al, byte [edx + eax + 0x55d]
mov byte [ecx + 0x55c], al
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4d0abf
jmp 0x4d0aff
jmp 0x4d0a97
mov eax, 1
jmp 0x4d0b08
mov esp, ebp
pop ebp
ret