Function at 0x1004dcdf0
Capabilities:
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov rax, qword [sym.vim.exe_recoverymode]
mov rbx, qword [sym.vim.exe_curbuf]
mov rdx, qword [sym.vim.exe_highlight_attr]
mov dword [rax], 1
mov rax, qword [rbx]
mov r13d, dword [rdx + 0x10]
mov rsi, qword [rax + 8]
mov r14, qword [rax + 0x98]
test rsi, rsi
mov qword [rbp + 0x18], 0
mov edi, ecx
sete r12b
test r14, r14
je 0x1004dd1e0
mov rcx, r14
call sub.msys_2.0.dll_strlen
test edi, edi
je 0x1004dce85
cmp eax, 3
jle 0x1004dce85
movsxd rdi, eax
mov r8d, 2
lea rdx, [0x1006ab1df]
lea rcx, [r14 + rdi - 4]
call sub.msys_2.0.dll_strncasecmp
test eax, eax
je 0x1004dd0f8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call sym.vim.exe_recover_names
mov edi, eax
test eax, eax
je 0x100662f6d
cmp eax, 1
je 0x1004dd1d0
xor r8d, r8d
xor r9d, r9d
mov edx, 1
mov rcx, r14
call sym.vim.exe_recover_names
mov ecx, 0xa
call sym.vim.exe_msg_putchar
lea rcx, str.Enter_number_of_swap_file_to_use__0_to_quit_:
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
xor edx, edx
xor ecx, ecx
call sym.vim.exe_get_number
mov r8d, eax
test eax, eax
jle 0x1004dd150
cmp edi, eax
jl 0x1004dd150
lea r9, [rbp + 0x18]
xor edx, edx
mov rcx, r14
call sym.vim.exe_recover_names
mov dword [rbp + 8], 0
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x1004dd258
test rsi, rsi
je 0x1004dd278
mov ecx, 0x2418
call sym.vim.exe_alloc
mov r14, rax
test rax, rax
je 0x1004dd150
mov qword [rax + 0x28], 0
mov rcx, qword [rbp + 0x18]
mov qword [rax + 0x38], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov dword [rax + 0x20], 0
mov rax, qword [sym.vim.exe_empty_option]
mov rax, qword [rax]
mov qword [r14 + 0x1c00], rax
mov qword [r14 + 0x1e90], rax
call sym.vim.exe_vim_strsave
mov rcx, qword [rbp + 0x18]
xor edx, edx
mov rsi, rax
call sym.vim.exe_mf_open
mov qword [rbp + 0x18], rsi
mov r15, rax
test rax, rax
je 0x1004dd2a0
mov edx, dword [rax + 0x10]
test edx, edx
js 0x1004dd1f0
mov qword [r14 + 8], rax
mov r8d, 1
xor edx, edx
mov rcx, rax
mov qword [rax + 0x4a8], r14
mov dword [rax + 0x4a0], 0x418
call sym.vim.exe_mf_get
mov r10, rax
test rax, rax
je 0x1004dd2c8
mov r11, qword [rax + 0x28]
mov ecx, 7
lea rdi, str.VIM_3.0
lea rsi, [r11 + 2]
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x1004dd560
cmp byte [r11], 0x62
jne 0x1006633ab
movzx eax, byte [r11 + 1]
lea edx, [rax - 0x30]
cmp dl, 0x34
ja 0x1006633ab
movabs rcx, 0x18000800080001
bt rcx, rdx
jae 0x1006633ab
cmp qword [r11 + 0x3f0], 0x30313233
je 0x1004dd330
mov qword [rbp + 8], r10
or r13d, 0x1000
mov qword [rbp], r11
call sym.vim.exe_msg_start
mov rcx, qword [r15]
mov edx, r13d
call sym.vim.exe_msg_outtrans_attr
lea rcx, str._cannot_be_used_on_this_computer._n
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r13d
mov rcx, rax
call sym.vim.exe_msg_puts_attr
lea rcx, str.The_file_was_created_on
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r13d
mov rcx, rax
call sym.vim.exe_msg_puts_attr
mov r11, qword [rbp]
mov edx, r13d
mov byte [r11 + 0x6c], 0
lea rcx, [r11 + 0x44]
call sym.vim.exe_msg_puts_attr
lea rcx, str.__nor_the_file_has_been_damaged.
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r13d
mov rcx, rax
call sym.vim.exe_msg_puts_attr
call sym.vim.exe_msg_end
mov r10, qword [rbp + 8]
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 8], r10
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov r10, qword [rbp + 8]
mov dword [rax], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, r15
call sym.vim.exe_mf_put
jmp 0x1004dd20d
movzx eax, byte [r14 + rdi - 2]
mov edx, eax
lea ecx, [rax - 0x41]
add edx, 0x20
cmp cl, 0x1a
lea rcx, str.abcdefghijklmnopqrstuvw
movzx edx, dl
cmovae edx, eax
call sym.vim.exe_vim_strchr
test rax, rax
je 0x1004dce85
movzx eax, byte [r14 + rdi - 1]
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
ja 0x1004dce85
mov rcx, r14
call sym.vim.exe_vim_strsave
mov dword [rbp + 8], 1
mov qword [rbp + 0x18], rax
jmp 0x1004dcf0e
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
mov rcx, qword [rbx]
test r12b, r12b
je 0x1004dd190
mov edx, 1
call sym.vim.exe_ml_close
nop
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r8, qword [rcx + 0x98]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor edx, edx
mov ecx, 0xa
call sym.vim.exe_apply_autocmds
mov rax, qword [rbx]
xor r9d, r9d
xor edx, edx
mov ecx, 0xd
mov r8, qword [rax + 0x98]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
jmp 0x1004dd179
mov r8d, 1
jmp 0x1004dcef5
lea r14, [0x1006aafb6]
jmp 0x1004dce85
test rsi, rsi
jne 0x1004dd676
xor ecx, ecx
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
xor edx, edx
mov rcx, r15
call sym.vim.exe_mf_close
mov rax, qword [rbx]
mov rcx, qword [r14 + 0x1c00]
cmp rcx, qword [rax + 0x1c00]
je 0x1004dd22f
call sym.vim.exe_free_string_option
mov rcx, qword [r14 + 0x1e90]
call sym.vim.exe_free_string_option
mov rcx, qword [r14 + 0x10]
call sym.vim.exe_vim_free
mov rcx, r14
call sym.vim.exe_vim_free
jmp 0x1004dd166
xor ecx, ecx
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd166
mov rcx, qword [rbx]
call sym.vim.exe_ml_open
test eax, eax
jne 0x1004dcf20
mov ecx, 1
call sym.vim.exe_getout
jmp 0x1004dcf20
test rsi, rsi
jne 0x1004dd67b
xor ecx, ecx
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd217
call sym.vim.exe_msg_start
lea rcx, str.Unable_to_read_block_0_from
or r13d, 0x1000
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r13d
mov rcx, rax
call sym.vim.exe_msg_puts_attr
mov rcx, qword [r15]
mov edx, r13d
call sym.vim.exe_msg_outtrans_attr
lea rcx, str._nMaybe_no_changes_were_made_or_Vim_did_not_update_the_swap_file.
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r13d
mov rcx, rax
call sym.vim.exe_msg_puts_attr
call sym.vim.exe_msg_end
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd20d
movabs rdx, 0xffffffffffffff
movabs rcx, 0x55121320212223
and rdx, qword [r11 + 0x3f8]
cmp rdx, rcx
jne 0x1004dd03b
cmp al, 0x63
je 0x1004dd5c0
cmp al, 0x43
je 0x1004dd5c9
cmp al, 0x64
je 0x1004dd623
cmp al, 0x53
je 0x1004dd638
xor edx, edx
mov esi, 0xffffffff
nop dword [rax + rax]
mov rcx, r14
mov qword [rbp - 8], r11
mov qword [rbp], r10
call sym.vim.exe_crypt_set_cm_option
mov r11, qword [rbp - 8]
mov edi, dword [r15 + 0x4a0]
mov r10, qword [rbp]
mov edx, dword [r11 + 0xc]
cmp edx, edi
je 0x1004dd442
mov rcx, r15
call sym.vim.exe_mf_new_page_size
cmp edi, dword [r15 + 0x4a0]
mov r10, qword [rbp]
ja 0x1004dd5e3
mov ecx, dword [r15 + 0x10]
xor edx, edx
mov r8d, 2
mov qword [rbp], r10
call sub.msys_2.0.dll_lseek
mov r10, qword [rbp]
test rax, rax
jle 0x1004dd62a
mov ecx, dword [r15 + 0x4a0]
cqo
idiv rcx
mov qword [r15 + 0x480], rax
mov qword [r15 + 0x498], rax
mov qword [rbp], r10
call sym.vim.exe_alloc
mov r10, qword [rbp]
test rax, rax
je 0x1004dd0bd
mov rdx, qword [r10 + 0x28]
mov r8d, edi
mov rcx, rax
mov qword [rbp - 8], rax
call sub.msys_2.0.dll_memmove
mov r10, qword [rbp]
mov rcx, qword [r10 + 0x28]
call sym.vim.exe_vim_free
mov r10, qword [rbp]
mov r11, qword [rbp - 8]
mov qword [r10 + 0x28], r11
mov rdi, qword [sym.vim.exe_NameBuff]
mov eax, dword [rbp + 8]
mov rdx, qword [rdi]
test eax, eax
je 0x1004dd48e
lea rcx, [r11 + 0x6c]
mov r8d, 0x1000
mov qword [rbp], r10
mov qword [rbp + 8], r11
call sym.vim.exe_expand_env
mov rdx, qword [rdi]
mov rcx, qword [rbx]
xor r8d, r8d
mov r9d, 1
call sym.vim.exe_setfname
mov r11, qword [rbp + 8]
mov r10, qword [rbp]
test eax, eax
je 0x1004dd0bd
mov dword [rsp + 0x20], 1
mov r8, qword [rdi]
mov r9d, 0x1000
xor ecx, ecx
mov rdx, qword [r15]
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sym.vim.exe_home_replace
mov r12, qword [rdi]
lea rcx, str.Using_swap_file___s_
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, r12
call sym.vim.exe_smsg
mov rcx, qword [rbx]
call sym.vim.exe_buf_spname
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
test rax, rax
je 0x1004dd63f
mov rcx, qword [rbx]
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sym.vim.exe_buf_spname
mov rcx, qword [rdi]
mov r8d, 0xfff
mov rdx, rax
call sym.vim.exe_vim_strncpy
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
mov r12, qword [rdi]
lea rcx, str.Original_file___s_
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
mov rcx, rax
call sym.vim.exe_smsg
mov ecx, 0xa
call sym.vim.exe_msg_putchar
mov rax, qword [rbx]
mov r11, qword [rbp]
mov r10, qword [rbp + 8]
mov rcx, qword [rax + 0x88]
mov edi, dword [r11 + 0x10]
test rcx, rcx
jne 0x100662fd1
jmp 0x100663044
mov qword [rbp + 8], r10
call sym.vim.exe_msg_start
mov rcx, qword [r15]
mov edx, 0x1000
call sym.vim.exe_msg_outtrans_attr
lea rcx, str._cannot_be_used_with_this_version_of_Vim._n
call sub.msys_intl_8.dll_libintl_gettext
mov edx, 0x1000
mov rcx, rax
call sym.vim.exe_msg_puts_attr
lea rcx, str.Use_Vim_version_3.0._n
call sub.msys_intl_8.dll_libintl_gettext
mov edx, 0x1000
mov rcx, rax
call sym.vim.exe_msg_puts_attr
call sym.vim.exe_msg_end
mov r10, qword [rbp + 8]
jmp 0x1004dd0bd
xor edx, edx
xor esi, esi
jmp 0x1004dd380
mov esi, 1
mov rax, qword [r11 + 0x3e6]
mov edx, esi
mov qword [r15 + 0x4b0], rax
jmp 0x1004dd380
mov qword [rbp + 8], r10
or r13d, 0x1000
call sym.vim.exe_msg_start
mov rcx, qword [r15]
mov edx, r13d
call sym.vim.exe_msg_outtrans_attr
lea rcx, str._has_been_damaged__page_size_is_smaller_than_minimum_value_._n
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r13d
mov rcx, rax
call sym.vim.exe_msg_puts_attr
call sym.vim.exe_msg_end
mov r10, qword [rbp + 8]
jmp 0x1004dd0bd
mov esi, 2
jmp 0x1004dd5ce
mov ecx, dword [r15 + 0x4a0]
xor eax, eax
jmp 0x1004dd3f2
mov esi, 3
jmp 0x1004dd5ce
mov rax, qword [rbx]
mov r9d, 0x1000
xor ecx, ecx
mov qword [rbp], r11
mov qword [rbp + 8], r10
mov rdx, qword [rax + 0x88]
mov dword [rsp + 0x20], 1
mov r8, qword [rdi]
call sym.vim.exe_home_replace
mov r11, qword [rbp]
mov r10, qword [rbp + 8]
jmp 0x1004dd50d
jmp 0x100662f9f
jmp 0x10066309f
lea rcx, str.E305:_No_swap_file_found_for__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r14
mov rcx, rax
call sym.vim.exe_semsg
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd166
lea rcx, str.E306:_Cannot_open__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rsi
mov rcx, rax
call sym.vim.exe_semsg
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd20d
lea rdx, [rbp + 0x20]
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sub.msys_2.0.dll_stat
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
add eax, 1
je 0x100663044
mov rcx, qword [r15]
lea rdx, [rbp + 0xa0]
call sub.msys_2.0.dll_stat
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
add eax, 1
je 0x1006633d2
mov rax, qword [rbp + 0xe0]
cmp qword [rbp + 0x60], rax
jle 0x1006633d2
lea rcx, str.E308:_Warning:_Original_file_may_have_been_changed
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov r11, qword [rbp]
mov r10, qword [rbp + 8]
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sym.vim.exe_out_flush
mov r11, qword [rbp]
mov r10, qword [rbp + 8]
movzx eax, byte [r11 + 0x3ee]
mov r13d, eax
mov edi, eax
and r13d, 3
and edi, 3
test al, 8
je 0x1006630d1
xor eax, eax
cmp byte [r11 + 1], 0x30
lea rdx, [r11 + 0x6c]
sete al
lea eax, [rax*8 + 0x37a]
cdqe
add rax, rdx
mov rcx, rax
cmp rdx, rcx
jae 0x10066310f
cmp byte [rcx - 1], 0
je 0x10066310f
sub rcx, 1
jmp 0x10066308e
lea rcx, str.E306:_Cannot_open__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rsi
mov rcx, rax
call sym.vim.exe_semsg
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd217
xor r12d, r12d
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, r15
mov qword [rbp], r11
call sym.vim.exe_mf_put
mov r11, qword [rbp]
mov dword [rbp + 8], esi
mov rsi, r11
mov rax, qword [rbx]
mov edx, dword [rax + 0x20]
and edx, 1
mov dword [rbp - 0x18], edx
jne 0x10066312f
xor edx, edx
mov ecx, 1
call sym.vim.exe_ml_delete_flags
jmp 0x1006630f3
sub rax, rcx
mov qword [rbp], r10
mov rdx, rax
mov qword [rbp + 8], r11
call sym.vim.exe_vim_strnsave
mov r11, qword [rbp + 8]
mov r10, qword [rbp]
mov r12, rax
jmp 0x1006630d4
mov rcx, qword [rax + 0x88]
mov r11, rsi
mov esi, dword [rbp + 8]
test rcx, rcx
je 0x10066339f
mov dword [rsp + 0x30], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
movabs rax, 0x7fffffffffffffff
mov qword [rbp + 8], r11
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call sym.vim.exe_readfile
mov r11, qword [rbp + 8]
mov dword [rbp - 0x2c], eax
add esi, 1
je 0x10066325c
mov rax, qword [rbx]
mov rsi, qword [rbp + 0x18]
mov qword [rbp + 8], r11
mov rax, qword [rax + 0x1c00]
cmp byte [rax], 0
je 0x1006633e1
lea rcx, str.Swap_file_is_encrypted:___s_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rsi
mov rcx, rax
call sym.vim.exe_smsg
lea rcx, str._nIf_you_entered_a_new_crypt_key_but_did_not_write_the_text_file_
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str._nenter_the_new_crypt_key.
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str._nIf_you_wrote_the_text_file_after_changing_the_crypt_key_press_enter
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str._nto_use_the_same_key_for_text_file_and_swap_file
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov r11, qword [rbp + 8]
xor ecx, ecx
xor edx, edx
mov qword [rbp + 8], r11
call sym.vim.exe_crypt_get_key
mov r11, qword [rbp + 8]
test rax, rax
mov qword [r14 + 0x1c00], rax
mov rcx, rax
jne 0x1006636ad
mov rax, qword [rbx]
mov rax, qword [rax + 0x1c00]
mov qword [r14 + 0x1c00], rax
cmp qword [r14 + 0x1c00], 0
jne 0x10066325c
mov rax, qword [sym.vim.exe_empty_option]
mov rax, qword [rax]
mov qword [r14 + 0x1c00], rax
test r13b, r13b
je 0x100663276
lea ecx, [rdi - 1]
mov edx, 4
mov qword [rbp + 8], r11
call sym.vim.exe_set_fileformat
mov r11, qword [rbp + 8]
test r12, r12
je 0x1006632a2
mov r9d, 4
mov r8, r12
xor edx, edx
mov qword [rbp + 8], r11
lea rcx, [0x1006ab521]
call sym.vim.exe_set_option_value
mov rcx, r12
call sym.vim.exe_vim_free
mov r11, qword [rbp + 8]
mov rcx, qword [rbx]
mov r8d, 1
mov edx, 1
mov qword [rbp + 8], r11
call sym.vim.exe_unchanged
mov rax, qword [rbx]
mov r11, qword [rbp + 8]
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
cmp qword [rax + 0x88], 0
mov dword [rbp - 0x10], 0
sete al
mov qword [rbp - 8], 0
xor esi, esi
xor edi, edi
movzx eax, al
mov qword [rbp - 0x28], r11
xor r10d, r10d
mov r12, rsi
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x18]
mov r13, r10
mov qword [rbp], 1
mov dword [rbp - 0x1c], eax
mov qword [rbp + 8], r15
mov rax, qword [sym.vim.exe_got_int]
mov esi, dword [rax]
test esi, esi
jne 0x10066346c
test r13, r13
je 0x10066333b
mov rcx, qword [rbp + 8]
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
call sym.vim.exe_mf_put
mov r8d, dword [rbp - 0x1c]
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
call sym.vim.exe_mf_get
mov r13, rax
test rax, rax
jne 0x100663401
cmp qword [rbp], 1
jne 0x100663a2f
mov r15, qword [rbp + 8]
lea rcx, str.E309:_Unable_to_read_block_1_from__s
mov r12, qword [r15]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, r12
xor r12d, r12d
call sym.vim.exe_semsg
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov dword [rax], 0
jmp 0x1004dd20d
mov dword [rbp - 0x2c], 2
jmp 0x10066317d
mov r13, qword [r15]
lea rcx, str.E307:__s_does_not_look_like_a_Vim_swap_file
mov qword [rbp + 8], r10
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, r13
call sym.vim.exe_semsg
mov r10, qword [rbp + 8]
jmp 0x1004dd0bd
cmp qword [rbp + 0x60], rdi
jne 0x100663020
jmp 0x100663044
mov rcx, qword [sym.vim.exe_need_key_msg]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rsi
mov rcx, rax
call sym.vim.exe_smsg
mov r11, qword [rbp + 8]
jmp 0x10066320c
mov r15, qword [rax + 0x28]
movzx eax, word [r15]
cmp ax, 0x7074
jne 0x1006634dc
cmp dword [rbp - 0x10], 0
movzx eax, word [r15 + 2]
jne 0x10066342b
mov r8, qword [rbp - 8]
test r8, r8
jne 0x100663a3f
test ax, ax
jne 0x100663a5e
lea rcx, str.___EMPTY_BLOCK
lea rsi, [r12 + 1]
add rdi, 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, r12
xor r8d, r8d
mov r12, rsi
mov rdx, rax
mov r9d, 1
call sym.vim.exe_ml_append_flags
mov eax, dword [r14 + 0x18]
test eax, eax
jne 0x10066364c
mov r11, qword [rbp - 0x28]
mov r15, qword [rbp + 8]
mov r10, r13
mov rsi, r12
mov rcx, qword [rbx]
cmp dword [rbp - 0x2c], 1
mov rdx, qword [rcx]
je 0x1006636d9
cmp rdx, 2
je 0x10066378d
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sym.vim.exe_changed_internal
mov rax, qword [rbx]
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
add qword [rax + 0xd0], 1
mov r12, r10
mov r13, r11
mov rax, qword [rbx]
mov rcx, qword [rax]
cmp rcx, rsi
jle 0x1006637d8
test byte [rax + 0x20], 1
jne 0x1006637d8
xor edx, edx
call sym.vim.exe_ml_delete_flags
jmp 0x1006634ba
cmp ax, 0x6461
je 0x10066351b
cmp qword [rbp], 1
jne 0x10066361b
mov r15, qword [rbp + 8]
lea rcx, str.E310:_Block_1_ID_wrong___s_not_a_.swp_file__
mov qword [rbp], r13
mov r12, qword [r15]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, r12
xor r12d, r12d
call sym.vim.exe_semsg
mov r10, qword [rbp]
jmp 0x1004dd0bd
mov rdx, qword [rbp + 8]
mov eax, dword [rbp - 0x1c]
imul eax, dword [rdx + 0x4a0]
cmp eax, dword [r15 + 0xc]
je 0x100663613
lea rcx, str.____from_here_until____END_lines_may_be_messed_up
add rdi, 1
call sub.msys_intl_8.dll_libintl_gettext
lea r10, [r12 + 1]
xor r8d, r8d
mov rcx, r12
mov rdx, rax
mov r9d, 1
mov qword [rbp], r10
call sym.vim.exe_ml_append_flags
mov rsi, qword [rbp + 8]
mov eax, dword [rbp - 0x1c]
mov r10, qword [rbp]
imul eax, dword [rsi + 0x4a0]
mov esi, dword [rbp - 0x18]
mov dword [r15 + 0xc], eax
mov eax, dword [r15 + 0xc]
mov byte [r15 + rax - 1], 0
mov rax, qword [rbp - 8]
cmp qword [r15 + 0x10], rax
je 0x1006635c3
lea rcx, str.____from_here_until____END_lines_may_have_been_inserted_deleted
mov qword [rbp], r10
add rdi, 1
call sub.msys_intl_8.dll_libintl_gettext
mov r10, qword [rbp]
mov r9d, 1
xor r8d, r8d
mov rdx, rax
mov rcx, r10
lea r12, [r10 + 1]
call sym.vim.exe_ml_append_flags
mov esi, dword [rbp - 0x18]
mov r10, r12
xor r11d, r11d
mov qword [rbp], r14
mov r12, r10
mov r14d, esi
mov rsi, r11
lea rcx, [r12 + rsi]
cmp qword [r15 + 0x10], rsi
jle 0x10066367d
mov eax, dword [r15 + rsi*4 + 0x18]
and eax, 0x7fffffff
cmp eax, 0x1c
jg 0x100663698
add rdi, 1
lea rdx, [0x1006ab1db]
mov r9d, 1
xor r8d, r8d
add rsi, 1
call sym.vim.exe_ml_append_flags
jmp 0x1006635d3
mov r10, r12
jmp 0x100663579
add rdi, 1
lea rcx, str.___BLOCK_MISSING
call sub.msys_intl_8.dll_libintl_gettext
lea rsi, [r12 + 1]
mov rcx, r12
xor r8d, r8d
mov rdx, rax
mov r9d, 1
mov r12, rsi
call sym.vim.exe_ml_append_flags
jmp 0x100663460
sub eax, 1
mov dword [r14 + 0x18], eax
cdqe
shl rax, 5
add rax, qword [r14 + 0x10]
mov rsi, qword [rax]
mov qword [rbp], rsi
mov esi, dword [rax + 0x18]
mov eax, dword [rbp - 0x18]
add esi, 1
mov dword [rbp - 0x1c], eax
call sym.vim.exe_line_breakcheck
mov dword [rbp - 0x10], esi
jmp 0x100663313
mov esi, r14d
mov r12, rcx
mov r14, qword [rbp]
test esi, esi
je 0x100663460
lea rcx, str.___END
jmp 0x100663626
cmp dword [r15 + 0xc], eax
jle 0x1006635f4
cdqe
lea rdx, [r15 + rax]
jmp 0x1006635ff
cmp byte [rax], 0
jne 0x10066325c
mov qword [rbp + 8], r11
call sym.vim.exe_vim_free
mov rax, qword [rbx]
mov r11, qword [rbp + 8]
mov rax, qword [rax + 0x1c00]
mov qword [r14 + 0x1c00], rax
jmp 0x100663241
lea rax, [rsi + rsi]
add rax, 1
cmp rax, rdx
jne 0x10066348a
mov qword [rbp + 8], rdi
mov r12d, 1
mov rdi, rsi
mov qword [rbp], r14
mov r14, r10
mov qword [rbp - 8], r15
mov r15, r11
mov rcx, qword [rbx]
cmp r12, rdi
jg 0x1006637be
mov rdx, r12
xor r8d, r8d
call sym.vim.exe_ml_get_buf
mov rcx, rax
call sym.vim.exe_vim_strsave
mov rcx, qword [rbx]
lea rdx, [rdi + r12]
xor r8d, r8d
mov r13, rax
add r12, 1
call sym.vim.exe_ml_get_buf
mov rcx, r13
mov rdx, rax
call sub.msys_2.0.dll_strcmp
mov rcx, r13
mov esi, eax
call sym.vim.exe_vim_free
test esi, esi
je 0x100663705
mov qword [rbp - 0x18], r14
mov rsi, rdi
mov r14, qword [rbp]
mov qword [rbp - 0x10], r15
mov rdi, qword [rbp + 8]
mov r15, qword [rbp - 8]
call sym.vim.exe_changed_internal
mov rax, qword [rbx]
mov r10, qword [rbp - 0x18]
mov r11, qword [rbp - 0x10]
add qword [rax + 0xd0], 1
mov r12, r10
mov r13, r11
jmp 0x1006634ba
xor r8d, r8d
mov edx, 1
mov qword [rbp], r11
mov qword [rbp + 8], r10
call sym.vim.exe_ml_get_buf
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
cmp byte [rax], 0
jne 0x100663494
mov r12, r10
mov r13, r11
jmp 0x1006634ba
mov r12, r14
mov r13, r15
mov rsi, rdi
mov r14, qword [rbp]
mov rdi, qword [rbp + 8]
mov r15, qword [rbp - 8]
jmp 0x1006634ba
or dword [rax + 0x7c], 1
mov qword [rbp], r12
mov qword [rbp + 8], r13
call sym.vim.exe_check_cursor
mov rax, qword [sym.vim.exe_recoverymode]
mov r11, qword [rbp + 8]
mov r10, qword [rbp]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
je 0x1006638be
lea rcx, str.E311:_Recovery_Interrupted
mov qword [rbp + 8], r10
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov r10, qword [rbp + 8]
mov rdx, qword [r14 + 0x1c00]
cmp byte [rdx], 0
je 0x100663885
mov rax, qword [rbx]
mov qword [rbp + 8], r10
mov rcx, qword [rax + 0x1c00]
call sub.msys_2.0.dll_strcmp
mov r10, qword [rbp + 8]
test eax, eax
je 0x100663885
lea rcx, str.Using_crypt_key_from_swap_file_for_the_text_file._n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov r8, qword [r14 + 0x1c00]
xor edx, edx
mov r9d, 4
lea rcx, [0x1006ab873]
call sym.vim.exe_set_option_value
mov r10, qword [rbp + 8]
mov ecx, 0x28
mov qword [rbp + 8], r10
xor r12d, r12d
call sym.vim.exe_redraw_curbuf_later
mov rcx, qword [rbp + 0x18]
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_recoverymode]
mov r10, qword [rbp + 8]
mov dword [rax], 0
test r10, r10
je 0x100663a2a
jmp 0x1004dd0db
test rdi, rdi
je 0x10066391d
mov rsi, qword [sym.vim.exe_no_wait_return]
lea rcx, str._____________
mov qword [rbp + 8], r10
add dword [rsi], 1
call sym.vim.exe_msg
lea rcx, str.E312:_Errors_detected_while_recovering__look_for_lines_starting_with____
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
lea rcx, str.See__:help_E312__for_more_information.
sub dword [rsi], 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg
lea rcx, str._____________
call sym.vim.exe_msg
mov r10, qword [rbp + 8]
jmp 0x10066382b
mov rax, qword [rbx]
mov qword [rbp], r11
mov qword [rbp + 8], r10
cmp dword [rax + 0xc0], 0
je 0x100663a09
lea rcx, str.Recovery_completed._You_should_check_if_everything_is_OK.
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg
lea rcx, str._n_You_might_want_to_write_out_this_file_under_another_name_n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
lea rcx, str.and_run_diff_with_the_original_file_to_check_for_changes_
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov r10, qword [rbp + 8]
mov r11, qword [rbp]
lea rcx, str._nYou_may_want_to_delete_the_.swp_file_now.
mov qword [rbp], r10
mov qword [rbp + 8], r11
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov r11, qword [rbp + 8]
mov rdx, qword [rbp + 0x18]
mov rcx, r11
call fcn.1004d8ad0
mov r11, qword [rbp + 8]
mov r10, qword [rbp]
test eax, eax
je 0x1006639de
lea rcx, str._nNote:_process_STILL_RUNNING:
mov qword [rbp + 8], r10
mov qword [rbp], r11
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts
mov r11, qword [rbp]
mov ecx, dword [r11 + 0x18]
call sym.vim.exe_msg_outnum
mov r10, qword [rbp + 8]
lea rcx, [0x1006ab837]
mov qword [rbp + 8], r10
call sym.vim.exe_msg_puts
mov rax, qword [sym.vim.exe_msg_row]
mov r10, qword [rbp + 8]
mov edx, dword [rax]
mov rax, qword [sym.vim.exe_cmdline_row]
mov dword [rax], edx
jmp 0x10066382b
lea rcx, str.Recovery_completed._Buffer_contents_equals_file_contents.
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg
mov r11, qword [rbp]
mov r10, qword [rbp + 8]
jmp 0x100663979
jmp 0x1004dd20d
add rdi, 1
lea rcx, str.___MANY_LINES_MISSING
jmp 0x100663626
movzx ecx, ax
xor edx, edx
cmp ecx, edx
jle 0x100663b03
mov r9, rdx
add rdx, 1
shl r9, 5
sub r8, qword [r15 + r9 + 0x10]
jmp 0x100663a44
cmp eax, dword [rbp - 0x10]
jle 0x100663460
movsxd rax, dword [rbp - 0x10]
shl rax, 5
add r15, rax
cmp qword [r15 + 8], 0
jns 0x100663b4b
cmp dword [rbp - 0x20], 0
jne 0x100663ac6
mov rdx, qword [rbx]
mov rsi, qword [r15 + 0x10]
mov r8, r12
mov rax, qword [r15 + 0x18]
mov rcx, qword [rdx + 0x88]
mov qword [rsp + 0x20], rsi
xor edx, edx
mov dword [rsp + 0x30], 0
lea r9, [rax - 1]
mov qword [rsp + 0x28], 0
mov qword [rbp - 8], rsi
call sym.vim.exe_readfile
sub eax, 1
je 0x100663ba1
lea rcx, str.___LINES_MISSING
lea rsi, [r12 + 1]
add rdi, 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, r12
xor r8d, r8d
mov r12, rsi
mov rdx, rax
mov r9d, 1
call sym.vim.exe_ml_append_flags
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x20], eax
mov esi, dword [rbp - 0x10]
add esi, 1
jmp 0x100663670
mov qword [rbp - 8], r8
test r8, r8
je 0x10066342b
lea rcx, str.___LINE_COUNT_WRONG
add rdi, 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, r12
mov r9d, 1
xor r8d, r8d
mov rdx, rax
lea rax, [r12 + 1]
mov qword [rbp - 0x38], rax
call sym.vim.exe_ml_append_flags
mov r12, qword [rbp - 0x38]
movzx eax, word [r15 + 2]
jmp 0x10066342b
mov rcx, r14
call fcn.1004d7eb0
test eax, eax
jns 0x100663b6e
mov r11, qword [rbp - 0x28]
mov r15, qword [rbp + 8]
mov r10, r13
mov rsi, r12
add rdi, 1
jmp 0x10066347a
mov rdx, qword [rbp]
cdqe
shl rax, 5
add rax, qword [r14 + 0x10]
mov qword [rax], rdx
mov edx, dword [rbp - 0x10]
mov dword [rax + 0x18], edx
mov rax, qword [r15 + 8]
mov qword [rbp], rax
mov rax, qword [r15 + 0x10]
mov qword [rbp - 8], rax
mov eax, dword [r15 + 0x20]
mov dword [rbp - 0x1c], eax
jmp 0x100663670
add r12, qword [rbp - 8]
jmp 0x100663af8