Function at 0x4e6cd0
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x4b0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x450], rcx
lea rax, [rbp + 0xe0]
mov rcx, rax
call fcn.00509240
lea rdx, [rbp + 0xe0]
lea rax, [rbp + 0x110]
mov r8d, 0x104
mov rcx, rax
call fcn.004f9000
lea rax, [rbp + 0x110]
mov rcx, rax
call fcn.00500820
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8d, 0
mov edx, 5
mov ecx, 0
mov rax, qword [sym.imp.SHFOLDER.dll_SHGetFolderPathW]
call rax
mov dword [rbp + 0x424], eax
lea rax, [rbp + 0x110]
mov rcx, rax
call fcn.004f9040
cmp dword [rbp + 0x424], 0
jns 0x4e6d99
lea rax, [rbp + 0x120]
mov rcx, rax
call fcn.004ee540
lea rdx, [rbp + 0x120]
lea rax, [rbp + 0xe0]
mov rcx, rax
call fcn.00509380
lea rax, [rbp + 0x120]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0xe0]
lea rdx, str.cb_crash_recover
mov rcx, rax
call fcn.00509400
lea rax, [rbp + 0xe0]
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_wxDirExists_wxString_const_]
call rax
xor eax, 1
test al, al
je 0x4e6de1
lea rax, [rbp + 0xe0]
mov edx, 0x1ff
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_wxMkdir_wxString_const__int_]
call rax
call fcn.004e88e0
mov qword [rbp + 0xd8], rax
lea rax, [rbp + 0x18c]
mov edx, 0
mov rcx, rax
mov rax, qword [method.wxDateTime::TimeZone.TimeZone_wxDateTime::TZ_]
call rax
lea rax, [rbp + 0x190]
lea rdx, str._Y_m_d__H_M_S
mov rcx, rax
call fcn.00509070
lea rax, [rbp + 0x150]
lea r8, [rbp + 0x18c]
lea rcx, [rbp + 0x190]
lea rdx, [rbp + 0xd8]
mov r9, r8
mov r8, rcx
mov rcx, rax
mov rax, qword [method.wxDateTime.Format_wxString_const__wxDateTime::TimeZone_const__const]
call rax
lea rdx, [rbp + 0x150]
lea rax, [rbp + 0xe0]
mov rcx, rax
call fcn.00509430
lea rax, [rbp + 0x150]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x190]
mov rcx, rax
call fcn.00509300
mov rax, qword [method.Manager.Get__]
call rax
mov rcx, rax
mov rax, qword [method.Manager.GetEditorManager___const]
call rax
mov qword [rbp + 0x418], rax
cmp qword [rbp + 0x418], 0
je 0x4e7301
mov byte [rbp + 0x42f], 0
lea rax, [rbp + 0xe0]
mov edx, 0x1ff
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_wxMkdir_wxString_const__int_]
call rax
test al, al
je 0x4e6ee8
lea rax, [rbp + 0xe0]
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_wxDirExists_wxString_const_]
call rax
test al, al
je 0x4e6ee8
mov eax, 1
jmp 0x4e6eed
mov eax, 0
test al, al
je 0x4e7301
mov dword [rbp + 0x428], 0
mov rax, qword [rbp + 0x418]
mov rcx, rax
mov rax, qword [method.EditorManager.GetEditorsCount__]
call rax
cmp dword [rbp + 0x428], eax
setl al
test al, al
je 0x4e71a4
mov edx, dword [rbp + 0x428]
mov rax, qword [rbp + 0x418]
mov rcx, rax
mov rax, qword [method.EditorManager.GetEditor_int_]
call rax
mov rdx, rax
mov rax, qword [rbp + 0x418]
mov rcx, rax
mov rax, qword [method.EditorManager.GetBuiltinEditor_EditorBase_]
call rax
mov qword [rbp + 0x410], rax
cmp qword [rbp + 0x410], 0
je 0x4e7198
mov rdx, qword [rbp + 0x410]
mov rax, qword [rbp + 0x410]
mov rax, qword [rax]
add rax, 0x6f8
mov rax, qword [rax]
mov rcx, rdx
call rax
mov rdx, rax
lea rax, [rbp + 0x10]
mov r8d, 0
mov rcx, rax
call fcn.004e8af0
lea rax, [rbp + 0x1c0]
lea rdx, [rbp + 0x10]
mov rcx, rax
mov rax, qword [method.wxFileName.GetFullName___const]
call rax
lea rax, [rbp + 0x1f0]
lea rdx, [rbp + 0xe0]
lea r8, [0x00540d72]
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_operator_wxString_const__wchar_t_const_]
call rax
lea rax, [rbp - 0x50]
lea rcx, [rbp + 0x1c0]
lea rdx, [rbp + 0x1f0]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_operator_wxString_const__wxString_const_]
call rax
lea rax, [rbp + 0x1f0]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x1c0]
mov rcx, rax
call fcn.00509300
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.00509200
mov dword [rbp + 0x40c], 1
lea rax, [rbp - 0x20]
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_wxFileExists_wxString_const_]
call rax
test al, al
je 0x4e70df
lea rax, [rbp + 0x280]
lea rdx, str.._03d
mov rcx, rax
call fcn.004f3120
lea rax, [rbp + 0x250]
mov ecx, dword [rbp + 0x40c]
lea rdx, [rbp + 0x280]
mov r8d, ecx
mov rcx, rax
call fcn.00507b90
lea rax, [rbp + 0x220]
lea rcx, [rbp + 0x250]
lea rdx, [rbp - 0x50]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_operator_wxString_const__wxString_const_]
call rax
lea rdx, [rbp + 0x220]
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.00509380
lea rax, [rbp + 0x220]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x250]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x280]
mov rcx, rax
call fcn.004f3260
jmp 0x4e702c
mov rax, qword [rbp + 0x410]
mov rcx, rax
mov rax, qword [method.cbEditor.GetUseBom___const]
call rax
movzx ebx, al
mov rax, qword [rbp + 0x410]
mov rcx, rax
mov rax, qword [method.cbEditor.GetEncoding___const]
call rax
mov esi, eax
mov rax, qword [rbp + 0x410]
mov rcx, rax
mov rax, qword [method.cbEditor.GetControl___const]
call rax
mov rdx, rax
lea rax, [rbp + 0x2b0]
mov rcx, rax
mov rax, qword [method.wxScintilla.GetText___const]
call rax
lea rdx, [rbp + 0x2b0]
lea rax, [rbp - 0x20]
mov dword [rsp + 0x20], 1
mov r9d, ebx
mov r8d, esi
mov rcx, rax
mov rax, qword [sym.imp.codeblocks.dll_cbSaveToFile_wxString_const__wxString_const__wxFontEncoding__bool__bool_]
call rax
mov ebx, eax
lea rax, [rbp + 0x2b0]
mov rcx, rax
call fcn.00509300
test bl, bl
je 0x4e7174
mov byte [rbp + 0x42f], 1
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.00509300
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x10]
mov rcx, rax
call fcn.004e8c90
add dword [rbp + 0x428], 1
jmp 0x4e6eff
cmp byte [rbp + 0x42f], 0
je 0x4e72e9
lea rax, [rbp + 0x2e0]
mov rcx, rax
call fcn.00509240
lea rax, [rbp + 0x310]
mov rcx, rax
call fcn.00509240
lea rax, [rbp + 0x340]
lea rdx, str.The_currently_opened_files_have_been_saved_to_the_directory_n
mov rcx, rax
call fcn.00508fb0
lea rcx, [rbp + 0x2e0]
lea rdx, [rbp + 0x310]
lea rax, [rbp + 0x340]
mov r8, rcx
mov rcx, rax
call fcn.004e5290
mov rdx, rax
mov rcx, qword [rbp + 0x450]
call fcn.00509430
lea rax, [rbp + 0x340]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x310]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x2e0]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0xe0]
mov rdx, rax
mov rcx, qword [rbp + 0x450]
call fcn.00509430
lea rax, [rbp + 0x370]
mov rcx, rax
call fcn.00509240
lea rax, [rbp + 0x3a0]
mov rcx, rax
call fcn.00509240
lea rax, [rbp + 0x3d0]
lea rdx, str._nHopefully__this_will_prevent_you_from_losing_recent_modifications._n_n
mov rcx, rax
call fcn.00508fb0
lea rcx, [rbp + 0x370]
lea rdx, [rbp + 0x3a0]
lea rax, [rbp + 0x3d0]
mov r8, rcx
mov rcx, rax
call fcn.004e5290
mov rdx, rax
mov rcx, qword [rbp + 0x450]
call fcn.00509430
lea rax, [rbp + 0x3d0]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x3a0]
mov rcx, rax
call fcn.00509300
lea rax, [rbp + 0x370]
mov rcx, rax
call fcn.00509300
jmp 0x4e7301
lea rax, [rbp + 0xe0]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.wxmsw313u_gcc_cb.dll_wxRmdir_wxString_const__int_]
call rax
lea rax, [rbp + 0xe0]
mov rcx, rax
call fcn.00509300
jmp 0x4e74a5
add rsp, 0x4b0
pop rbx
pop rsi
pop rbp
ret