Function at 0x1004e4080
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x998
mov r13, qword [rcx + 0x98]
mov rbp, rcx
mov rcx, qword [rdx]
mov r14, rdx
mov rdi, r8
call sub.msys_2.0.dll_strlen
lea rcx, [rax + 1]
call sym.vim.exe_alloc
mov r12, rax
test rax, rax
je 0x1004e4458
mov rcx, r14
lea r9, [0x1006c74bb]
mov r8d, 0x7918
mov rdx, rax
call sym.vim.exe_copy_option_part
mov r9, r12
mov r8, rbp
mov rcx, r13
mov rdx, qword [rbp + 0x88]
call sym.vim.exe_makeswapname
mov r14, rax
test rax, rax
jne 0x1004e410e
jmp 0x1004e41b4
cmp al, 0x61
je 0x1004e4190
sub eax, 1
mov byte [r15], al
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov r8, rax
test eax, eax
je 0x1004e41ac
movsxd rsi, eax
lea rbx, [r14 + rsi - 2]
cmp byte [rbx], 0x77
jne 0x1004e413a
cmp byte [r14 + rsi - 1], 0x70
je 0x1004e4200
mov rcx, r14
call sym.vim.exe_mch_getperm
test rax, rax
js 0x1004e41e0
test rdi, rdi
je 0x1004e415f
mov rdx, rdi
mov rcx, r14
call sym.vim.exe_vim_fnamecmp
test eax, eax
je 0x1004e41b7
movzx edx, byte [rbx]
lea r15, [r14 + rsi - 1]
movzx eax, byte [r15]
cmp dl, 0x77
jne 0x1004e4100
cmp al, 0x70
je 0x1004e43f8
cmp al, 0x61
jne 0x1004e4108
sub edx, 1
mov eax, 0x7a
mov byte [rbx], dl
jmp 0x1004e410b
movzx edx, byte [rbx]
cmp dl, 0x61
jne 0x1004e417c
mov rcx, qword [sym.vim.exe_e_too_many_swap_files_found]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov rcx, r14
call sym.vim.exe_vim_free
xor r14d, r14d
mov rcx, r12
call sym.vim.exe_vim_free
mov rax, r14
add rsp, 0x998
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [rsp + 0x590]
mov rcx, r14
call sub.msys_2.0.dll_lstat
test eax, eax
jns 0x1004e414b
jmp 0x1004e41b7
mov eax, dword [rbp + 0x1cb0]
test eax, eax
jne 0x1004e413a
mov r15d, dword [rbp + 0x1f10]
test r15d, r15d
jne 0x1004e413a
mov rcx, r13
mov qword [rsp + 0x40], r8
call sym.vim.exe_gettail
mov edx, 0x2e
mov rcx, rax
mov qword [rsp + 0x48], rax
call sym.vim.exe_vim_strchr
mov r8, qword [rsp + 0x40]
test rax, rax
je 0x1004e4490
lea ecx, [r8 + 2]
movsxd rcx, ecx
call sym.vim.exe_alloc
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1004e413a
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call sub.msys_2.0.dll_strcpy
mov rcx, qword [rsp + 0x48]
mov edx, 0x2e
call sym.vim.exe_vim_strchr
test rax, rax
je 0x1004e47d5
mov rax, qword [rsp + 0x40]
mov byte [rax + rsi - 1], 0x78
xor r8d, r8d
mov edx, 0x10000
mov rcx, r14
call sub.msys_2.0.dll_open
mov dword [rsp + 0x48], 0
mov r9d, eax
test eax, eax
js 0x1004e4771
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x10000
mov dword [rsp + 0x50], r9d
call sub.msys_2.0.dll_open
mov r9d, dword [rsp + 0x50]
test eax, eax
js 0x1004e4730
mov ecx, r9d
lea rdx, [rsp + 0x190]
mov dword [rsp + 0x50], r9d
mov dword [rsp + 0x5c], eax
call sub.msys_2.0.dll_fstat
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x5c]
cmp eax, 0xffffffff
je 0x1004e47a0
mov ecx, r8d
lea rdx, [rsp + 0x590]
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x50], r8d
call sub.msys_2.0.dll_fstat
mov r8d, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x5c]
cmp eax, 0xffffffff
je 0x1004e48e1
mov eax, dword [rsp + 0x190]
cmp dword [rsp + 0x590], eax
jne 0x1004e4c53
mov rax, qword [rsp + 0x598]
mov ecx, r8d
cmp qword [rsp + 0x198], rax
mov dword [rsp + 0x5c], r9d
sete al
movzx eax, al
mov dword [rsp + 0x50], eax
call sub.msys_2.0.dll_close
test r15d, r15d
mov r9d, dword [rsp + 0x5c]
je 0x1004e438d
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x5c], r9d
call sub.msys_2.0.dll_unlink
mov r9d, dword [rsp + 0x5c]
mov ecx, r9d
call sub.msys_2.0.dll_close
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x1004e490b
mov rcx, qword [rsp + 0x40]
call sym.vim.exe_vim_free
mov r15d, dword [rsp + 0x50]
test r15d, r15d
je 0x1004e413a
mov dword [rbp + 0x1f10], 1
mov rcx, r14
call sym.vim.exe_vim_free
mov r9, r12
mov r8, rbp
mov rcx, r13
mov rdx, qword [rbp + 0x88]
call sym.vim.exe_makeswapname
mov r14, rax
test r14, r14
jne 0x1004e410e
jmp 0x1004e41b4
mov esi, dword [rbp + 0x1cb0]
test esi, esi
jne 0x1004e440e
mov r11d, dword [rbp + 0x1f10]
test r11d, r11d
je 0x1004e4470
mov rax, qword [sym.vim.exe_recoverymode]
mov ecx, dword [rax]
test ecx, ecx
jne 0x1004e4448
test r13, r13
je 0x1004e4448
mov r10d, dword [rbp + 0x1f08]
test r10d, r10d
jne 0x1004e4439
test dword [rbp + 0x7c], 0x480
je 0x1004e44c9
movzx eax, byte [r15]
jmp 0x1004e4100
movzx eax, byte [r15]
jmp 0x1004e4108
mov qword [r14], 0
xor r14d, r14d
jmp 0x1004e41b7
mov byte [r15], 0x78
mov rcx, r14
call sym.vim.exe_mch_getperm
mov byte [r15], 0x70
test eax, eax
js 0x1004e440e
jmp 0x1004e43b9
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x40], r8
call sub.msys_2.0.dll_strlen
mov r8, qword [rsp + 0x40]
cmp rax, 8
ja 0x1004e424b
mov rcx, r14
call sym.vim.exe_gettail
mov r8, qword [rsp + 0x40]
cmp byte [rax], 0x2e
jne 0x1004e413a
jmp 0x1004e424b
xor r8d, r8d
mov edx, 0x10000
mov rcx, r14
call sub.msys_2.0.dll_open
mov esi, eax
test eax, eax
jns 0x1004e47f5
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
test byte [rax + 0x7c], 1
jne 0x1004e4439
mov rax, qword [sym.vim.exe_p_shm]
mov edx, 0x41
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x1004e4439
mov rcx, qword [rbp + 0x98]
lea rdx, [rsp + 0x90]
mov dword [0x100723f2c], 0
call sub.msys_2.0.dll_stat
mov esi, eax
test eax, eax
je 0x1004e4988
mov rax, qword [sym.vim.exe_swap_exists_action]
mov r9d, dword [rax]
test r9d, r9d
jne 0x1004e493d
mov rax, qword [sym.vim.exe_no_wait_return]
mov rcx, qword [sym.vim.exe_e_attention]
add dword [rax], 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
lea rcx, str._nFound_a_swap_file_by_the_name__
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov rcx, r14
call sym.vim.exe_msg_home_replace
lea r8, [0x1006c7e31]
mov rcx, r8
call sym.vim.exe_msg_puts
mov rcx, r14
call fcn.1004dfb30
lea rcx, str.While_opening_file__
mov rsi, rax
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov rcx, qword [rbp + 0x98]
call sym.vim.exe_msg_outtrans
lea r8, [0x1006c7e31]
mov rcx, r8
call sym.vim.exe_msg_puts
mov rcx, qword [rbp + 0x98]
lea rdx, [rsp + 0x590]
call sub.msys_2.0.dll_stat
cmp eax, 0xffffffff
je 0x1004e4c8b
lea rcx, str._____________dated:
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov rcx, qword [rsp + 0x5d0]
mov edx, 1
call sym.vim.exe_get_ctime
mov rcx, rax
call sym.vim.exe_msg_puts
test rsi, rsi
je 0x1004e4630
cmp rsi, qword [rsp + 0x5d0]
jl 0x1004e4c72
lea rcx, str._n_1__Another_program_may_be_editing_the_same_file.__If_this_is_the_case__n____be_careful_not_to_end_up_with_two_different_instances_of_the_same_n____file_when_making_changes.__Quit__or_continue_with_caution._n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str._2__An_edit_session_for_this_file_crashed._n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str.____If_this_is_the_case__use__:recover__or__vim__r
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov rcx, qword [rbp + 0x98]
call sym.vim.exe_msg_outtrans
lea rcx, str.__n____to_recover_the_changes__see__:help_recovery__._n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str.____If_you_did_this_already__delete_the_swap_file__
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov rcx, r14
call sym.vim.exe_msg_outtrans
lea rcx, str.__n____to_avoid_this_message._n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov rax, qword [sym.vim.exe_msg_row]
mov ecx, 1
mov edx, dword [rax]
mov rax, qword [sym.vim.exe_cmdline_row]
mov dword [rax], edx
mov rax, qword [sym.vim.exe_no_wait_return]
sub dword [rax], 1
mov rax, qword [sym.vim.exe_got_int]
mov dword [rax], 0
call sym.vim.exe_flush_buffers
mov rax, qword [sym.vim.exe_swap_exists_action]
mov r8d, dword [rax]
test r8d, r8d
jne 0x1004e4d28
lea rcx, [0x1006c74a6]
call sym.vim.exe_msg_puts
mov rax, qword [sym.vim.exe_msg_silent]
cmp dword [rax], 0
jne 0x1004e4439
mov rax, qword [sym.vim.exe_need_wait_return]
mov dword [rax], 1
jmp 0x1004e4439
mov rcx, qword [rsp + 0x40]
mov r8d, 0x180
mov edx, 0x10a02
call sub.msys_2.0.dll_open
mov r9d, dword [rsp + 0x50]
test eax, eax
jns 0x1004e4ca4
mov ecx, r9d
call sub.msys_2.0.dll_close
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x1004e47be
mov rcx, qword [rsp + 0x40]
call sym.vim.exe_vim_free
jmp 0x1004e413a
mov r8d, 0x180
mov edx, 0x10a02
mov rcx, r14
call sub.msys_2.0.dll_open
mov r9d, eax
test eax, eax
js 0x1004e4762
mov dword [rsp + 0x48], 1
jmp 0x1004e42b7
mov ecx, r8d
mov dword [rsp + 0x50], r9d
call sub.msys_2.0.dll_close
mov ecx, dword [rsp + 0x50]
call sub.msys_2.0.dll_close
mov edx, dword [rsp + 0x48]
test edx, edx
je 0x1004e4762
mov rcx, r14
call sub.msys_2.0.dll_unlink
mov rcx, qword [rsp + 0x40]
call sym.vim.exe_vim_free
jmp 0x1004e413a
mov rcx, r14
call sym.vim.exe_gettail
cmp byte [rax], 0x2e
mov rax, qword [rsp + 0x40]
je 0x1004e48d3
add byte [rax + rsi - 5], 1
jmp 0x1004e4294
lea rdx, [rsp + 0x190]
mov r8d, 0x400
mov ecx, eax
call sym.vim.exe_read_eintr
cmp rax, 0x400
je 0x1004e481e
mov ecx, esi
call sub.msys_2.0.dll_close
jmp 0x1004e44e3
test byte [rsp + 0x57e], 4
je 0x1004e4920
lea r9, [rsp + 0x1fc]
mov rcx, r9
mov qword [rsp + 0x48], r9
call sym.vim.exe_gettail
mov rcx, qword [rbp + 0x88]
mov qword [rsp + 0x40], rax
call sym.vim.exe_gettail
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call sym.vim.exe_vim_fnamecmp
mov r9, qword [rsp + 0x48]
test eax, eax
jne 0x1004e4885
mov rdx, qword [rbp + 0x88]
mov rcx, r14
mov qword [rsp + 0x40], r9
call sym.vim.exe_same_directory
mov r9, qword [rsp + 0x40]
test eax, eax
jne 0x1004e4812
mov rax, qword [sym.vim.exe_NameBuff]
mov r8d, 0x1000
mov rcx, r9
mov rdx, qword [rax]
call sym.vim.exe_expand_env
mov rax, qword [sym.vim.exe_NameBuff]
mov rcx, qword [rbp + 0x88]
mov r8d, dword [rsp + 0x1a4]
mov rdx, qword [rax]
call fcn.1004dee80
mov ecx, esi
test eax, eax
je 0x1004e4814
call sub.msys_2.0.dll_close
movzx eax, byte [r15]
jmp 0x1004e4100
mov byte [rax + rsi], 0x78
mov byte [rax + rsi + 1], 0
jmp 0x1004e4294
mov ecx, r8d
mov dword [rsp + 0x50], r9d
call sub.msys_2.0.dll_close
mov ecx, dword [rsp + 0x50]
call sub.msys_2.0.dll_close
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1004e4762
mov dword [rsp + 0x50], 0
mov rcx, r14
call sub.msys_2.0.dll_unlink
jmp 0x1004e43a1
mov rax, qword [sym.vim.exe_NameBuff]
lea rcx, [rsp + 0x1fc]
mov r8d, 0x1000
mov rdx, qword [rax]
jmp 0x1004e4898
mov r8, rbp
mov rdx, r13
mov ecx, 0x55
call sym.vim.exe_has_autocmd
test eax, eax
jne 0x1004e4a6c
mov rax, qword [sym.vim.exe_swap_exists_action]
cmp dword [rax], 4
jne 0x1004e454f
mov dword [rbp + 0x1ca0], 1
mov rcx, r14
call sym.vim.exe_mch_getperm
test rax, rax
jns 0x1004e4439
jmp 0x1004e41b7
lea rdx, [rsp + 0x110]
mov rcx, r14
call sub.msys_2.0.dll_stat
cmp eax, 0xffffffff
je 0x1004e453c
xor r8d, r8d
mov edx, 0x10000
mov rcx, r14
call sub.msys_2.0.dll_open
test eax, eax
js 0x1004e453c
lea r9, [rsp + 0x590]
mov r8d, 0x400
mov ecx, eax
mov dword [rsp + 0x40], eax
mov rdx, r9
mov qword [rsp + 0x48], r9
call sym.vim.exe_read_eintr
mov r10d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
cmp rax, 0x400
jne 0x1004e4a5f
xor r8d, r8d
cmp byte [rsp + 0x590], 0x62
jne 0x1004e4a34
movzx eax, byte [rsp + 0x591]
cmp al, 0x30
je 0x1004e4b18
cmp al, 0x63
je 0x1004e4b18
sub eax, 0x43
cmp al, 0x21
ja 0x1004e4b10
movabs rdx, 0x200010001
mov ecx, eax
shr rdx, cl
and dl, 1
jne 0x1004e4b18
xor r11d, r11d
cmp byte [rsp + 0x97f], 0
cmovne r8d, r11d
cmp byte [rsp + 0x5d4], 0
jne 0x1004e4be0
cmp dword [rsp + 0x5a8], 0
jne 0x1004e4b58
mov ecx, r10d
call sub.msys_2.0.dll_close
jmp 0x1004e453c
or r8d, 0xffffffff
mov rdx, r14
mov ecx, 0x2e
call sym.vim.exe_set_vim_var_string
or r8d, 0xffffffff
xor edx, edx
mov ecx, 0x2f
call sym.vim.exe_set_vim_var_string
xor r9d, r9d
xor r8d, r8d
mov ecx, 0x55
mov rsi, qword [sym.vim.exe_allbuf_lock]
mov rdx, qword [rbp + 0x98]
add dword [rsi], 1
mov qword [rsp + 0x20], 0
call sym.vim.exe_apply_autocmds
or r8d, 0xffffffff
xor edx, edx
mov ecx, 0x2e
sub dword [rsi], 1
call sym.vim.exe_set_vim_var_string
mov ecx, 0x2f
call sym.vim.exe_get_vim_var_str
movzx eax, byte [rax]
sub eax, 0x61
cmp al, 0x11
ja 0x1004e4955
movzx eax, al
lea rdx, [0x1006c7e80]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1004e4955
cmp eax, 6
ja case.0x1004e4b0e.2
lea rdx, [0x1006c7e4c]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
xor r8d, r8d
jmp 0x1004e4a34
xor r8d, r8d
cmp qword [rsp + 0x980], 0x30313233
jne 0x1004e4a34
movabs rax, 0xffffffffffffff
and rax, qword [rsp + 0x988]
xor r8d, r8d
movabs rdx, 0x55121320212223
cmp rax, rdx
sete r8b
jmp 0x1004e4a34
mov rcx, r9
mov rdx, r14
mov dword [rsp + 0x40], r10d
call fcn.1004defb0
mov ecx, dword [rsp + 0x40]
test eax, eax
jne 0x1004e4a62
call sub.msys_2.0.dll_close
test esi, esi
je 0x1004e453c
mov rax, qword [sym.vim.exe_p_verbose]
cmp qword [rax], 0
jle case.0x1004e4b0e.4
lea rcx, str.Found_a_swap_file_that_is_not_useful__deleting_it
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_verb_msg
mov rcx, r14
call sub.msys_2.0.dll_unlink
jmp case.0x1004e4b0e.2
mov rax, qword [sym.vim.exe_swap_exists_action]
mov dword [rax], 2
mov rax, qword [sym.vim.exe_got_int]
mov dword [rax], 1
jmp case.0x1004e4b0e.2
mov rax, qword [sym.vim.exe_swap_exists_action]
mov dword [rax], 2
jmp case.0x1004e4b0e.2
lea rsi, [rsp + 0x60]
mov edx, 0x28
mov qword [rsp + 0x50], r9
mov rcx, rsi
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], r10d
call sym.vim.exe_mch_get_host_name
mov rdx, rsi
lea rcx, [rsp + 0x5d4]
mov byte [rsp + 0x87], 0
mov byte [rsp + 0x5fb], 0
call sub.msys_2.0.dll_strcasecmp
xor r11d, r11d
mov r8d, dword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
test eax, eax
mov esi, r11d
mov r10d, dword [rsp + 0x40]
cmove esi, r8d
jmp 0x1004e4a51
mov rax, qword [sym.vim.exe_swap_exists_action]
mov dword [rax], 3
jmp case.0x1004e4b0e.2
mov ecx, r8d
mov dword [rsp + 0x5c], r9d
call sub.msys_2.0.dll_close
mov dword [rsp + 0x50], 0
mov r9d, dword [rsp + 0x5c]
jmp 0x1004e438d
lea rcx, str.______NEWER_than_swap_file__n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
jmp 0x1004e4630
lea rcx, str.______CANNOT_BE_FOUND
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
jmp 0x1004e4630
mov ecx, r9d
lea rdx, [rsp + 0x190]
mov dword [rsp + 0x50], r9d
mov dword [rsp + 0x5c], eax
call sub.msys_2.0.dll_fstat
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x5c]
add eax, 1
je 0x1004e4d09
mov ecx, r8d
lea rdx, [rsp + 0x590]
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x50], r8d
call sub.msys_2.0.dll_fstat
mov r8d, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x5c]
add eax, 1
je 0x1004e4d09
mov eax, dword [rsp + 0x590]
cmp dword [rsp + 0x190], eax
je 0x1004e4eb4
mov ecx, r8d
mov dword [rsp + 0x5c], r9d
call sub.msys_2.0.dll_close
mov dword [rsp + 0x50], 0
mov r9d, dword [rsp + 0x5c]
jmp 0x1004e4379
mov rcx, r14
call sub.msys_2.0.dll_strlen
lea r8, str.Swap_file__
mov rcx, r8
mov qword [rsp + 0x40], rax
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sub.msys_2.0.dll_strlen
lea r11, str.__already_exists_
mov rcx, r11
mov rsi, rax
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sub.msys_2.0.dll_strlen
mov rdx, qword [rsp + 0x40]
mov r9, rax
lea rax, [rdx + rsi + 5]
lea rcx, [rax + r9]
call sym.vim.exe_alloc
mov rsi, rax
test rax, rax
je 0x1004e4dd3
lea r8, str.Swap_file__
mov rcx, r8
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rsi
mov rdx, rax
call sub.msys_2.0.dll_stpcpy
mov rdx, r14
mov r9d, 0x3e8
xor ecx, ecx
mov dword [rsp + 0x20], 1
mov r8, rax
call sym.vim.exe_home_replace
lea r11, str.__already_exists_
mov rcx, r11
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rsi
mov rdx, rax
call fcn.100673240
cmp dword [0x100723f2c], 0
je 0x1004e4ea0
lea rcx, str.Open_Read_Only_nEdit_anyway_nRecover_nQuit_nAbort
call sub.msys_intl_8.dll_libintl_gettext
mov r9, rax
mov r8, rsi
test rsi, rsi
je 0x1004e4e82
lea rcx, str.VIM___ATTENTION
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], r9
call sub.msys_intl_8.dll_libintl_gettext
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x20], 1
mov rdx, rax
mov ecx, 2
mov qword [rsp + 0x28], 0
call sym.vim.exe_do_dialog
cmp dword [0x100723f2c], 0
je 0x1004e4e56
cmp eax, 3
setg dl
cmp dl, 1
sbb eax, 0xffffffff
mov rcx, rsi
mov dword [rsp + 0x40], eax
call sym.vim.exe_vim_free
mov rdx, qword [sym.vim.exe_msg_scrolled]
mov ecx, 0x28
mov dword [rdx], 0
call sym.vim.exe_redraw_all_later
mov eax, dword [rsp + 0x40]
jmp 0x1004e4af7
lea rcx, str.Swap_file_already_exists_
mov qword [rsp + 0x40], r9
call sub.msys_intl_8.dll_libintl_gettext
mov r9, qword [rsp + 0x40]
mov r8, rax
jmp 0x1004e4dfb
lea rcx, str.Open_Read_Only_nEdit_anyway_nRecover_nDelete_it_nQuit_nAbort
call sub.msys_intl_8.dll_libintl_gettext
mov r9, rax
jmp 0x1004e4def
mov r15d, 1
jmp 0x1004e4348