Function at 0x10048adc0
Capabilities:
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
mov eax, dword [rbp + 0x2f0]
and eax, 1
mov dword [rbp + 0xfc], eax
mov r14, rcx
mov rsi, rdx
mov eax, dword [rbp + 0x2f0]
mov qword [rbp + 0x2d0], r8
and eax, 2
mov qword [rbp + 0x2d8], r9
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x2f0]
mov dword [rbp + 0x84], 1
and eax, 9
mov dword [rbp + 0x2c], eax
jne 0x10048ae52
cmp qword [rbp + 0x2e8], 0
mov dword [rbp + 0x84], 0
je 0x10048ae52
mov rax, qword [rbp + 0x2e8]
mov r11d, dword [rax + 0x84]
xor eax, eax
test r11d, r11d
setne al
mov dword [rbp + 0x84], eax
mov rax, qword [sym.vim.exe_msg_scroll]
mov qword [rbp + 0x110], 0
mov eax, dword [rax]
mov dword [rbp + 0x60], eax
mov rax, qword [sym.vim.exe_au_did_filetype]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_curbuf]
mov rbx, qword [rax]
mov r13, qword [rbx + 0x88]
mov qword [rbx + 0x1e20], 0
test r13, r13
je 0x10048b522
mov rax, qword [sym.vim.exe_ex_no_reprint]
test rsi, rsi
mov r8, r14
mov r15, qword [rbx + 0x98]
cmovne r8, rsi
mov dword [rax], 1
mov rax, qword [sym.vim.exe_need_fileinfo]
mov qword [rbp + 0x98], r8
mov dword [rax], 0
test byte [rbp + 0x2f0], 0xe
jne 0x10048af6a
cmp qword [rbp + 0x2d0], 0
mov eax, 1
cmovne rax, qword [rbp + 0x2d0]
mov r9d, dword [rbp + 0xfc]
mov r12, qword [rbx + 0x11f0]
mov qword [rbx + 0x11f0], rax
mov rax, qword [rbp + 0x2e8]
test r9d, r9d
mov rdi, qword [rbx + 0x11f8]
mov dword [rbx + 0x11f8], 0
mov qword [rsp + 0x28], rax
jne 0x10048b229
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov ecx, 0x2c
mov qword [rsp + 0x20], 0
mov r8, rdx
call sym.vim.exe_apply_autocmds_exarg
test eax, eax
jne 0x10048d081
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x11f0], r12
mov qword [rax + 0x11f8], rdi
mov ecx, 0x6f
call sym.vim.exe_shortmess
test eax, eax
je 0x10048b182
mov rax, qword [sym.vim.exe_p_verbose]
cmp qword [rax], 0
setne al
movzx eax, al
mov rdi, qword [sym.vim.exe_msg_scroll]
mov dword [rdi], eax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x10048afd3
cmp byte [rax], 0
je 0x10048afd3
mov rcx, rax
call sub.msys_2.0.dll_strlen
cmp rax, 0xfff
ja 0x10048b971
mov rcx, qword [rbp + 0x98]
lea rdx, [rcx + rax]
call sym.vim.exe_after_pathsep
test eax, eax
jne 0x10048d974
mov eax, dword [rbp + 0x2f0]
and eax, 0x4c
mov dword [rbp + 0xc0], eax
je 0x10048b1a4
mov dword [rbp + 0x1c], 0
mov rdx, qword [rbp + 0x2e8]
mov ecx, dword [rbp + 0x84]
xor edi, edi
call sym.vim.exe_set_file_options
mov edx, dword [rbp + 0xfc]
test edx, edx
je 0x10048b023
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov edi, dword [rax + 0x7c]
and edi, 2
jne 0x10048b574
mov eax, dword [rbp + 0x2f0]
mov r12d, 0xffffffff
and eax, 8
cmp r13, rsi
sete dl
cmp r13, r14
mov dword [rbp + 0xc0], eax
sete al
or edx, eax
cmp rsi, r15
sete al
cmp r14, r15
mov byte [rbp + 0xf8], dl
sete r14b
or r14d, eax
mov eax, dword [rbp + 0x2f0]
and eax, 4
mov dword [rbp + 0x44], eax
sete byte [rbp + 0xa3]
movzx eax, byte [rbp + 0xa3]
test byte [rbp + 0x2f0], 1
je 0x10048b261
test al, al
je 0x10048b261
mov qword [rbp + 0x10], 0
test byte [rbp + 0x2f0], 0x48
je 0x10048cca2
mov eax, dword [rbp + 0xc0]
test eax, eax
jne 0x10048b274
mov esi, 1
test byte [rbp + 0x1c], 0x92
jne 0x10048d5e6
mov rcx, qword [rbp + 0x98]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_open
mov dword [rbp + 0x90], eax
test eax, eax
jns 0x10048b501
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0x60]
mov r12d, dword [rbp + 0xfc]
mov dword [rax], edi
test r12d, r12d
je 0x10048b252
mov edi, dword [rbp + 0x1c]
test edi, edi
jns 0x10048b10d
call sub.msys_2.0.dll___errno
cmp dword [rax], 2
je 0x10048df37
call sub.msys_2.0.dll___errno
cmp dword [rax], 0x1b
je 0x10048d0a7
call sub.msys_2.0.dll___errno
cmp dword [rax], 0x8b
je 0x10048d0a7
lea rcx, str._Permission_Denied_
call sub.msys_intl_8.dll_libintl_gettext
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov rcx, qword [rax]
call sym.vim.exe_filemess
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1c50], 1
mov eax, dword [rbp + 0xc0]
add rsp, 0x2f8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rax]
mov eax, 1
mov ecx, dword [rdx + 0x1ea0]
test ecx, ecx
je 0x10048af8d
jmp 0x10048af7c
mov rcx, qword [rbp + 0x98]
call sym.vim.exe_mch_getperm
mov dword [rbp + 0x1c], eax
test eax, eax
js 0x10048afef
mov edx, eax
and eax, 0xb000
and edx, 0xf000
cmp eax, 0x8000
je 0x10048afef
cmp edx, 0x1000
je 0x10048afef
cmp edx, 0x4000
je 0x10048e7f2
lea rcx, str.is_not_a_file
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
call sym.vim.exe_msg_end
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0x60]
mov dword [rax], edi
jmp 0x10048b168
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor edx, edx
mov ecx, 9
call sym.vim.exe_apply_autocmds_exarg
test eax, eax
je 0x10048af52
call sym.vim.exe_aborting
test eax, eax
je 0x10048d8f9
mov dword [rbp + 0xc0], 0
jmp 0x10048b168
mov eax, dword [rbp + 0x44]
mov qword [rbp + 0x10], 0
test eax, eax
je 0x10048b0a0
mov dword [rbp + 0x90], 0
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
mov esi, dword [rcx + 0x1ea0]
test esi, esi
jne 0x10048b513
mov r11d, dword [rbp + 0x84]
test r11d, r11d
je 0x10048b2c6
mov r10d, dword [rbp + 0xc0]
test r10d, r10d
je 0x10048b9b9
mov dword [rcx + 0x1af4], 0
mov dword [rcx + 0x1e3c], 0
call sym.vim.exe_bt_dontwrite
test eax, eax
je 0x10048cc16
mov eax, dword [rbp + 0x2f0]
and eax, 0xc
mov dword [rbp + 0x28], eax
mov rax, qword [sym.vim.exe_swap_exists_action]
cmp dword [rax], 2
je 0x10048d0cc
mov rax, qword [sym.vim.exe_no_wait_return]
mov edx, 1
add dword [rax], 1
mov rax, qword [sym.vim.exe_curbuf]
cmp qword [rbp + 0x2d0], 0
cmovne rdx, qword [rbp + 0x2d0]
mov rax, qword [rax]
mov rdi, qword [rax + 0x11f0]
mov r12, qword [rax + 0x11f8]
mov qword [rax + 0x11f0], rdx
mov edx, 0x6d
mov dword [rax + 0x11f8], 0
mov rax, qword [sym.vim.exe_p_ffs]
mov qword [rbp + 0xf0], rdi
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
mov edx, 0x64
mov rdi, rax
mov rax, qword [sym.vim.exe_p_ffs]
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
mov edx, 0x78
mov rsi, rax
mov rax, qword [sym.vim.exe_p_ffs]
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
mov edx, dword [rbp + 0xc0]
test edx, edx
jne 0x10048b596
mov rax, qword [sym.vim.exe_msg_scroll]
mov rdi, qword [sym.vim.exe_msg_scrolled]
mov eax, dword [rax]
mov esi, dword [rdi]
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0x44]
test eax, eax
je 0x10048dbf9
mov rax, qword [sym.vim.exe_msg_scroll]
mov r9d, dword [rbp + 0x40]
mov dword [rax], 1
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
test r9d, r9d
je 0x10048e0d2
mov rcx, qword [rbp + 0x2e8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
mov r8, qword [rbp + 0x98]
mov qword [rsp + 0x28], rcx
mov ecx, 0x34
call sym.vim.exe_apply_autocmds_exarg
mov rax, qword [sym.vim.exe_p_ffs]
mov edx, 0x6d
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
mov edx, 0x64
test rax, rax
setne al
movzx eax, al
mov dword [rbp + 0x34], eax
mov rax, qword [sym.vim.exe_p_ffs]
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
mov edx, 0x78
test rax, rax
setne al
movzx eax, al
mov dword [rbp - 0x28], eax
mov rax, qword [sym.vim.exe_p_ffs]
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
mov rcx, qword [rbp + 0xf0]
test rax, rax
setne al
movzx eax, al
mov dword [rbp + 0x94], eax
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x11f0], rcx
mov qword [rax + 0x11f8], r12
cmp dword [rdi], esi
jne 0x10048b491
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0xe8]
mov dword [rax], edi
call sym.vim.exe_aborting
test eax, eax
jne 0x10048dcb8
mov rax, qword [sym.vim.exe_curbuf]
mov r9d, dword [rbp + 0x44]
mov rcx, qword [rax]
test r9d, r9d
jne 0x10048d71f
cmp rcx, rbx
je 0x10048e1c6
mov rax, qword [sym.vim.exe_no_wait_return]
mov edi, dword [rbp + 0x60]
lea rcx, str.E201:_ReadPre_autocommands_must_not_change_current_buffer
sub dword [rax], 1
mov rax, qword [sym.vim.exe_msg_scroll]
mov dword [rax], edi
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1c50], 1
jmp 0x10048b252
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
test esi, edi
je 0x10048b27e
mov dword [rcx + 0x1c50], 1
jmp 0x10048b296
mov r10d, dword [rbp + 0x40]
test r10d, r10d
jne 0x10048ae9b
test r14, r14
je 0x10048ae9b
mov rax, qword [sym.vim.exe_p_cpo]
mov edx, 0x66
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10048b55e
test byte [rbp + 0x2f0], 0x10
je 0x10048d9bc
mov rax, qword [sym.vim.exe_curbuf]
mov rbx, qword [rax]
mov r13, qword [rbx + 0x88]
jmp 0x10048ae9b
mov edi, edx
mov rdx, qword [sym.vim.exe_readonlymode]
mov edx, dword [rdx]
test edx, edx
jne 0x10048b023
mov dword [rax + 0x1c50], 0
jmp 0x10048b023
test rdi, rdi
setne dil
movzx edi, dil
mov dword [rbp + 0x34], edi
xor edi, edi
test rsi, rsi
setne dil
test rax, rax
setne al
mov dword [rbp - 0x28], edi
mov rdi, qword [sym.vim.exe_recoverymode]
movzx eax, al
mov dword [rbp + 0x94], eax
mov rax, qword [sym.vim.exe_curbuf]
mov qword [rbp - 0x30], rdi
mov rcx, qword [rax]
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x34], eax
mov eax, dword [rbp + 0x2f0]
and eax, 0x12
or eax, dword [rdi]
jne 0x10048b5f4
mov r8d, dword [rbp + 0x44]
test r8d, r8d
jne 0x10048d741
mov rax, qword [sym.vim.exe_msg_scroll]
cmp qword [rbp + 0x2e8], 0
mov dword [rax], 0
mov rax, qword [rcx]
mov qword [rbp + 0x58], rax
je 0x10048d295
mov rax, qword [rbp + 0x2e8]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0xd8], eax
test eax, eax
je 0x10048d176
mov edx, dword [rbp + 0x84]
test edx, edx
jne 0x10048d88d
mov rax, qword [rbp + 0x2e8]
movsxd rax, dword [rax + 0x8c]
test eax, eax
jne 0x10048dce7
mov eax, dword [rcx + 0x1af0]
test eax, eax
je 0x10048d0f1
lea rax, [0x1006a3400]
mov dword [rbp - 8], 0
mov dword [rbp + 0x10c], 0
mov qword [rbp + 0x70], rax
mov dword [rbp - 0x24], 0
xor r13d, r13d
xor edi, edi
xor r15d, r15d
mov eax, dword [rbp + 0x2f0]
mov dword [rbp + 0x64], 0
xor ebx, ebx
xor r12d, r12d
mov qword [rbp + 0x68], 0
and eax, 0x40
mov dword [rbp - 0x38], 0
mov dword [rbp - 0x3c], eax
mov rax, qword [rbp + 0x2d0]
mov dword [rbp + 0x30], 0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 0xffffffffffffffff
mov qword [rbp], 0
mov qword [rbp + 0x20], 0
mov qword [rbp + 8], 0
mov qword [rbp + 0xe8], 0
mov dword [rbp + 0xe0], 0
mov dword [rbp + 0xf8], 0
mov qword [rbp + 0xc8], 0
mov dword [rbp + 0xdc], 0xffffffff
mov dword [rbp + 0xd0], 0
mov dword [rbp + 0x80], 0
mov dword [rbp + 0xf0], 0
mov qword [rbp + 0x50], 0
mov qword [rbp - 0x20], 0
mov dword [rbp + 0xa8], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x88], 0
mov dword [rbp - 4], 0
mov qword [rbp - 0x10], 1
mov esi, dword [rbp + 0xe0]
test esi, esi
jne 0x10048b7eb
mov rax, qword [sym.vim.exe_curbuf]
cmp qword [rbp + 0x2e8], 0
mov rcx, qword [rax]
je 0x10048b7b8
mov rax, qword [rbp + 0x2e8]
mov r11d, dword [rax + 0x88]
test r11d, r11d
jne 0x10048cf2c
mov r10d, dword [rcx + 0x1af0]
mov dword [rbp + 0xf8], 0
test r10d, r10d
jne 0x10048b7eb
mov rax, qword [sym.vim.exe_p_ffs]
mov dword [rbp + 0xf8], 0xffffffff
mov rax, qword [rax]
cmp byte [rax], 0
je 0x10048d70f
mov rax, qword [rbp + 0xb8]
cmp rax, 0xffffffffffffffff
je 0x10048b800
mov rcx, rax
call sub.msys_iconv_2.dll_libiconv_close
test edi, edi
je 0x10048b87b
cmp qword [rbp + 0x2e8], 0
mov eax, dword [rbp + 0x10c]
je 0x10048c741
mov rcx, qword [rbp + 0x2e8]
mov r9d, dword [rcx + 0x8c]
test r9d, r9d
je 0x10048c741
test eax, eax
jne 0x10048dbeb
lea rax, [0x1006a3400]
mov dword [rbp - 0x38], edi
mov dword [rbp + 0x10c], 0
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x88], 0
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x10048b87b
mov rcx, rdi
call sub.msys_2.0.dll_unlink
mov rcx, rdi
call sym.vim.exe_vim_free
mov qword [rbp + 0x20], 0
mov rsi, qword [rbp + 0x70]
mov rcx, rsi
call sym.vim.exe_need_conversion
mov dword [rbp + 0x18], eax
test eax, eax
je 0x10048c773
mov ecx, 8
lea rdi, [0x1006a365a]
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x10048b9d2
mov r14, qword [sym.vim.exe_enc_utf8]
mov r8d, dword [r14]
test r8d, r8d
jne 0x10048c78d
mov rax, qword [sym.vim.exe_p_enc]
mov ecx, 7
lea rdi, [0x1006a35a0]
mov r8, qword [rax]
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x10048c78d
mov ecx, dword [rbp + 0x30]
test ecx, ecx
jne 0x10048ef04
mov rdx, qword [rbp + 0x70]
mov rcx, r8
call sym.vim.exe_my_iconv_open
mov edx, dword [rbp + 0x28]
mov dword [rbp + 0xc4], 0
cmp rax, 0xffffffffffffffff
mov qword [rbp + 0xb8], rax
sete al
test edx, edx
jne 0x10048c716
mov rdx, qword [sym.vim.exe_p_ccv]
mov rdx, qword [rdx]
cmp byte [rdx], 0
je 0x10048c716
mov edx, dword [rbp - 0x3c]
test edx, edx
jne 0x10048c716
test al, al
je 0x10048c716
cmp qword [rbp + 0x20], 0
je 0x10048d9d4
mov dword [rbp + 0x30], 0
mov qword [rbp + 0xb8], 0xffffffffffffffff
mov dword [rbp + 0xc4], 0
jmp 0x10048b9e7
lea rcx, str.Illegal_file_name
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
call sym.vim.exe_msg_end
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0x60]
mov dword [rbp + 0xc0], 0
mov dword [rax], edi
jmp 0x10048b168
mov dword [rcx + 0x1b60], 1
mov dword [rcx + 0x1e28], 1
jmp 0x10048b2b2
mov qword [rbp + 0xb8], 0xffffffffffffffff
mov dword [rbp + 0xc4], 0x4000
mov dword [rbp + 0xa4], 0
mov rax, qword [rbp + 0x70]
cmp byte [rax], 0
je 0x10048ba12
mov eax, dword [rbp + 0x2f0]
and eax, 0x44
or eax, dword [rbp - 8]
sete al
movzx eax, al
mov dword [rbp + 0xa4], eax
mov esi, dword [rbp + 0xa8]
test esi, esi
jne 0x10048baf3
mov rax, qword [sym.vim.exe_curbuf]
mov r11d, dword [rbp + 0xfc]
mov dword [rbp + 0xf0], 0
mov rax, qword [rax]
test r11d, r11d
je 0x10048ba96
mov edi, dword [rbp + 0x2f0]
and edi, 0x20
mov dword [rbp + 0xf0], edi
jne 0x10048d604
cmp qword [rax + 0x88], 0
je 0x10048ba96
mov r10d, dword [rax + 0x1d70]
test r10d, r10d
je 0x10048ba96
test byte [rbp + 0x2f0], 0x4e
jne 0x10048ba96
lea rcx, [rbp + 0x1f0]
call sym.vim.exe_sha256_start
mov edi, dword [rbp + 0xfc]
mov rax, qword [sym.vim.exe_curbuf]
mov dword [rbp + 0xf0], edi
mov rax, qword [rax]
mov rcx, qword [rax + 0x23f8]
test rcx, rcx
je 0x10048babc
call sym.vim.exe_crypt_free_state
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x23f8], 0
mov rax, qword [rbp + 0x2e0]
mov dword [rbp + 0x64], 0
mov qword [rbp + 0x68], 0
mov r15, qword [rbp + 0x2d8]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xc8], 0
mov qword [rbp - 0x20], 0
mov eax, dword [rbp + 0xd0]
test eax, eax
jne 0x10048cf72
mov r14, qword [rbp + 0xb0]
mov rdi, r12
nop dword [rax + rax]
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
mov dword [rbp + 0xe0], eax
test eax, eax
jne 0x10048d0b8
mov r9d, dword [rbp + 0xa8]
test r9d, r9d
jne 0x10048bcf8
mov rax, qword [rbp + 0xc8]
lea r13, [rax + 0x10000]
cmp r13, 0x100000
jle 0x10048bcf8
mov rax, qword [rbp + 0xc8]
lea rdx, [rax + 0x100001]
mov eax, 0x800fffff
cmp rdx, rax
jbe 0x10048c7db
add dword [rbp + 0x80], 1
lea r12, [rbx - 1]
xor r13d, r13d
mov byte [rbx], 0xa
mov dword [rbp + 0xd0], 0
cmp dword [rbp + 0xf8], 2
je 0x10048beb0
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0xb0], rax
test r13, r13
js 0x10048cd24
mov rsi, r15
mov r15, rdi
jmp 0x10048bbd6
mov byte [r12 + 1], 0xa
sub r13, 1
lea rax, [rbx + 1]
mov r12, rbx
cmp r13, 0xffffffffffffffff
je 0x10048be60
mov rbx, rax
movzx eax, byte [r12 + 1]
test al, al
je 0x10048bbb8
cmp al, 0xa
jne 0x10048bbbe
test rsi, rsi
jne 0x10048bcb0
mov rax, rbx
mov byte [r12 + 1], 0
sub rax, r15
cmp dword [rbp + 0xf8], 1
mov qword [rbp + 0xe0], rax
lea edi, [rax + 1]
jne 0x10048bc69
cmp rbx, r15
jbe 0x10048bc1c
cmp byte [r12], 0xd
je 0x10048bea0
cmp dword [rbp + 0xdc], 1
je 0x10048bc69
mov edx, dword [rbp + 0x94]
test edx, edx
je 0x10048bc5f
cmp byte [rbp + 0xa3], 0
je 0x10048bc5f
mov eax, dword [rbp + 0xc0]
test eax, eax
jne 0x10048cd84
mov ecx, dword [rbp + 0x90]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_lseek
test rax, rax
je 0x10048cd84
mov dword [rbp + 0xdc], 1
mov r9d, dword [rbp + 0xfc]
mov r8d, edi
mov rdx, r15
mov rcx, r14
call sym.vim.exe_ml_append
test eax, eax
je 0x10048c470
mov eax, dword [rbp + 0xf0]
test eax, eax
jne 0x10048bcc0
add r14, 1
sub qword [rbp + 0xe8], 1
je 0x10048bce0
lea r15, [r12 + 2]
jmp 0x10048bbbe
sub rsi, 1
jmp 0x10048bc9e
mov rcx, qword [rbp + 0xb0]
mov r8d, edi
mov rdx, r15
add r14, 1
call sym.vim.exe_sha256_update
sub qword [rbp + 0xe8], 1
jne 0x10048bc9e
mov qword [rbp + 0xb0], r14
xor esi, esi
mov r12, rbx
jmp 0x10048bf90
test r13, r13
js 0x10048bb6e
mov rcx, qword [rbp + 0xc8]
lea rax, [rcx + r13]
cmp rax, 0xffffffffffffffff
jl 0x10048bb6e
cmp rcx, 0x7ffffffe
jg 0x10048bb6e
mov r8d, dword [rbp + 0xa8]
test r8d, r8d
je 0x10048eedb
mov dword [rbp + 0xd0], 0
cmp qword [rbp + 0x68], 0
je 0x10048c2d6
cmp qword [rbp + 0x50], 0
je 0x10048bd71
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_crypt_get_method_nr
mov ecx, eax
call sym.vim.exe_crypt_get_header_len
cdqe
cmp rax, qword [rbp + 0x68]
je 0x10048c2d6
movsxd rax, dword [rbp + 0x64]
sub rbx, rax
add rax, r13
mov qword [rbp + 0x78], rax
test rax, rax
jle 0x10048e829
cmp qword [rbp + 0xb8], 0xffffffffffffffff
mov dword [rbp + 0x64], 0
jne 0x10048c486
mov esi, dword [rbp + 0xc4]
test esi, esi
jne 0x10048c9f3
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
test eax, eax
je 0x10048c7c6
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov r13d, dword [rax + 0x1af0]
test r13d, r13d
je 0x10048d613
mov rcx, qword [rbp + 0x78]
add qword [rbp + 0x68], rcx
lea r12, [rbx - 1]
lea r13, [rcx - 1]
cmp dword [rbp + 0xf8], 0xffffffff
mov dword [rbp + 0xa8], 0
jne 0x10048bb89
mov eax, dword [rbp + 0x94]
or eax, dword [rbp - 0x28]
jne 0x10048de5e
mov dword [rbp + 0x94], 0
mov eax, dword [rbp + 0x34]
test eax, eax
jne 0x10048d599
call sym.vim.exe_default_fileformat
mov dword [rbp + 0xf8], eax
mov r8d, dword [rbp + 0x84]
mov dword [rbp + 0xa8], 0
test r8d, r8d
je 0x10048bb89
mov ecx, dword [rbp + 0xf8]
mov edx, 4
call sym.vim.exe_set_fileformat
jmp 0x10048bb89
mov rdi, r15
mov rdx, rax
mov r15, rsi
mov rbx, rax
sub rdx, rdi
mov qword [rbp + 0xc8], rdx
call sym.vim.exe_ui_breakcheck
mov eax, dword [rbp + 0xd0]
test eax, eax
je 0x10048bb10
mov qword [rbp + 0xb0], r14
mov rsi, qword [rbp + 0xc8]
mov r12, rdi
jmp 0x10048bf95
mov byte [r12], 0
mov edi, dword [rbp + 0xe0]
jmp 0x10048bc69
test r13, r13
js 0x10048cd24
lea rax, [rbp + 0x1f0]
mov rsi, r14
mov r14, r15
mov qword [rbp + 0xc8], rax
jmp 0x10048beee
mov byte [r12 + 1], 0xa
sub r13, 1
lea rax, [rbx + 1]
mov r12, rbx
cmp r13, 0xffffffffffffffff
je 0x10048c288
mov rbx, rax
movzx eax, byte [r12 + 1]
test al, al
je 0x10048bed0
cmp al, 0xd
je 0x10048bf10
cmp al, 0xa
jne 0x10048bed6
mov byte [r12 + 1], 0xd
jmp 0x10048bed6
cmp al, 0xa
je 0x10048bf00
test r14, r14
je 0x10048bf28
sub r14, 1
lea rdi, [r12 + 2]
jmp 0x10048bed6
mov r15, rbx
mov byte [r12 + 1], 0
mov rdx, rdi
mov rcx, rsi
sub r15, rdi
mov r9d, dword [rbp + 0xfc]
lea r8d, [r15 + 1]
mov dword [rbp + 0xe0], r8d
call sym.vim.exe_ml_append
test eax, eax
je 0x10048cd72
mov ecx, dword [rbp + 0xf0]
mov r8d, dword [rbp + 0xe0]
test ecx, ecx
jne 0x10048c2a8
add rsi, 1
sub qword [rbp + 0xe8], 1
jne 0x10048bf1d
mov qword [rbp + 0xb0], rsi
mov r12, rbx
xor esi, esi
nop dword [rax + rax]
call sym.vim.exe_ui_breakcheck
mov qword [rbp + 0xc8], rsi
cmp qword [rbp + 0xe8], 0
sete al
mov rdi, qword [sym.vim.exe_curbuf]
mov rcx, qword [rdi]
test al, al
je 0x10048dcaa
mov rax, qword [sym.vim.exe_got_int]
cmp qword [rbp + 0xc8], 0
mov eax, dword [rax]
je 0x10048bfd4
test eax, eax
je 0x10048d1f4
xor r15d, r15d
xor r12d, r12d
mov edi, dword [rbp + 0x84]
test edi, edi
jne 0x10048d262
mov rcx, qword [rcx + 0x23f8]
test rcx, rcx
je 0x10048c00e
call sym.vim.exe_crypt_free_state
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x23f8], 0
mov rdi, qword [rbp + 0x50]
test rdi, rdi
je 0x10048c032
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
cmp qword [rax + 0x1c00], rdi
je 0x10048c032
mov rcx, rdi
call sym.vim.exe_crypt_free_key
mov esi, dword [rbp + 0x84]
test esi, esi
jne 0x10048d1cc
mov ebx, dword [rbp + 0x10c]
test ebx, ebx
jne 0x10048d1be
mov rax, qword [rbp + 0xb8]
cmp rax, 0xffffffffffffffff
je 0x10048c063
mov rcx, rax
call sub.msys_iconv_2.dll_libiconv_close
mov r11d, dword [rbp + 0x28]
test r11d, r11d
jne 0x10048cd36
mov ecx, dword [rbp + 0x90]
call sub.msys_2.0.dll_close
mov rcx, qword [rbp + 0x48]
call sym.vim.exe_vim_free
mov r10d, dword [rbp + 0x44]
test r10d, r10d
jne 0x10048d276
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x10048c0aa
mov rcx, rdi
call sub.msys_2.0.dll_unlink
mov rcx, rdi
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_no_wait_return]
sub dword [rax], 1
mov rax, qword [rbp - 0x30]
mov r9d, dword [rax]
test r9d, r9d
jne 0x10048c1f8
mov rax, qword [sym.vim.exe_curbuf]
mov edx, dword [rbp - 0x34]
and edx, dword [rbp + 0x2f0]
mov rax, qword [rax]
and edx, 1
mov rcx, qword [rax]
je 0x10048c0e9
test byte [rax + 0x20], 1
je 0x10048d945
cmp qword [rbp + 0x68], 0
jne 0x10048d18f
mov r8d, dword [rbp + 0x2c]
xor edi, edi
test r8d, r8d
jne 0x10048d918
mov edx, dword [rbp + 0x44]
test edx, edx
jne 0x10048ddbb
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x10048dd8e
test byte [rbp + 0x2f0], 0x12
je 0x10048e59b
mov r11d, dword [rbp + 0xfc]
test r11d, r11d
je 0x10048c16c
cmp qword [rbp + 0x88], 0
jne 0x10048c158
test r12b, 1
jne 0x10048c158
cmp qword [rbp + 8], 0
jle 0x10048c16c
cmp dword [rbp + 0xd8], 0xffffffff
je 0x10048c16c
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1c50], 1
call sym.vim.exe_u_clearline
mov rax, qword [sym.vim.exe_exmode_active]
mov r10d, dword [rax]
mov rax, qword [sym.vim.exe_curwin]
test r10d, r10d
mov rax, qword [rax]
jne 0x10048d84d
mov rcx, qword [rbp + 0x2d0]
lea rdx, [rcx + 1]
mov qword [rax + 0x38], rdx
call sym.vim.exe_check_cursor_lnum
mov ecx, 5
call sym.vim.exe_beginline
mov rax, qword [sym.vim.exe_cmdmod]
mov eax, dword [rax]
test ah, 8
jne 0x10048c1f8
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rbp + 0x2d0]
add rdi, qword [rbp + 0x2d0]
mov rax, qword [rax]
add rdx, 1
mov qword [rax + 0x11f0], rdx
mov dword [rax + 0x11f8], 0
mov qword [rax + 0x1210], rdi
mov dword [rax + 0x1218], 0
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0x60]
mov dword [rax], edi
call sym.vim.exe_check_marks_read
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x1e20], r15
test byte [rbp + 0x2f0], 0x20
jne 0x10048db85
mov r9d, dword [rbp + 0xf0]
test r9d, r9d
jne 0x10048dbbf
test byte [rbp + 0x2f0], 0x44
jne 0x10048c263
mov ecx, dword [rbp + 0xc0]
cmp qword [rbp + 0x98], 0
setne r13b
test ecx, ecx
je 0x10048da92
test r13b, r13b
jne 0x10048da92
mov rax, qword [rbp - 0x30]
mov r8d, dword [rax]
test r8d, r8d
setne al
and eax, r12d
xor eax, 1
movzx eax, al
mov dword [rbp + 0xc0], eax
jmp 0x10048b168
mov rdx, rax
mov r15, r14
mov rbx, rax
mov r14, rsi
sub rdx, rdi
mov qword [rbp + 0xc8], rdx
jmp 0x10048be76
mov rcx, qword [rbp + 0xc8]
mov rdx, rdi
call sym.vim.exe_sha256_update
jmp 0x10048bf6e
mov dword [rbp + 0xd0], 0
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x68], 0
cmp dword [rbp + 0xc4], 0x4000
je 0x10048c329
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov eax, dword [rax + 0x1af4]
test eax, eax
jne 0x10048bd71
cmp qword [rbp + 0x20], 0
jne 0x10048bd71
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax]
cmp al, 0x75
je 0x10048c329
test al, al
jne 0x10048bd71
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
test eax, eax
je 0x10048bd71
xor esi, esi
cmp r13, 1
jle 0x10048c417
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov eax, dword [rax + 0x1af0]
test eax, eax
jne 0x10048c417
cmp dword [rbp + 0xc4], 0x4000
mov eax, 0xffffffff
je 0x10048c367
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_get_fio_flags
movzx edx, byte [rbx]
xor esi, esi
cmp dl, 0xef
je 0x10048e883
cmp dl, 0xff
jne 0x10048e3e0
cmp byte [rbx + 1], 0xfe
jne 0x10048c417
cmp r13, 3
jle 0x10048c3ae
cmp byte [rbx + 2], 0
jne 0x10048c3ae
cmp byte [rbx + 3], 0
jne 0x10048c3ae
cmp eax, 0xffffffff
je 0x10048ef4b
cmp eax, 0x88
je 0x10048ef4b
cmp eax, 0x84
je 0x10048f118
cmp eax, 0xffffffff
je 0x10048c3c7
xor esi, esi
cmp eax, 0x90
jne 0x10048c417
mov edx, 2
mov ecx, 2
lea rsi, [0x1006a35ca]
sub r13, rcx
add qword [rbp + 0x68], rcx
add rdx, rbx
mov rcx, rbx
mov r8, r13
call sub.msys_2.0.dll_memmove
mov r11d, dword [rbp + 0x84]
test r11d, r11d
je 0x10048c417
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1af4], 1
mov dword [rax + 0x1e3c], 1
cmp dword [rbp + 0xc4], 0x4000
jne 0x10048bd71
mov qword [rbp + 0xb0], r14
mov r12, rdi
test rsi, rsi
je 0x10048efa4
mov eax, dword [rbp + 0x10c]
test eax, eax
jne 0x10048ef96
mov dword [rbp + 0x10c], 0
xor edi, edi
mov qword [rbp + 0x70], rsi
mov dword [rbp + 0xa8], 1
jmp 0x10048b78d
mov qword [rbp + 0xb0], r14
mov rsi, qword [rbp + 0xe0]
mov r12, r15
jmp 0x10048bf90
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp]
mov qword [rbp + 0x118], rbx
lea r12, [rbp + 0x128]
lea rsi, [rbp + 0x118]
mov qword [rbp + 0xa8], rdi
mov rdi, r12
lea r13, [rbp + 0x120]
sub rax, rcx
add rbx, rcx
mov qword [rbp + 0x128], rcx
mov r12, rsi
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rsi, qword [rbp + 0x88]
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0xb0], rax
nop word [rax + rax]
mov rax, qword [rbp + 0xb0]
mov r9, r13
mov r8, rdi
mov rdx, r12
mov rcx, qword [rbp + 0xb8]
mov qword [rsp + 0x20], rax
call sub.msys_iconv_2.dll_libiconv
cmp rax, 0xffffffffffffffff
je 0x10048c5f9
mov rax, qword [rbp + 0x128]
cmp rax, 0x1e
jbe 0x10048c9a4
mov eax, dword [rbp + 0xa4]
test eax, eax
jne 0x10048c615
test rsi, rsi
je 0x10048c5b4
mov rax, qword [rbp + 0x118]
sub qword [rbp + 0x128], 1
cmp dword [rbp + 0xd8], 0xffffffff
lea rcx, [rax + 1]
mov qword [rbp + 0x118], rcx
je 0x10048c590
mov edx, dword [rbp + 0xd8]
cmp edx, 0xfffffffe
je 0x10048c4f0
mov rax, qword [rbp + 0x120]
lea rcx, [rax + 1]
mov qword [rbp + 0x120], rcx
mov byte [rax], dl
sub qword [rbp + 0x150], 1
jmp 0x10048c4f0
mov rcx, qword [rbp + 0x120]
lea r10, [rcx + 1]
mov qword [rbp + 0x120], r10
movzx eax, byte [rax]
mov byte [rcx], al
sub qword [rbp + 0x150], 1
jmp 0x10048c4f0
mov rax, qword [sym.vim.exe_curbuf]
mov r10, qword [rbp + 0x120]
mov rax, qword [rax]
mov rsi, qword [rax]
sub rsi, qword [rbp + 0x58]
add rsi, 1
cmp r10, rbx
jbe 0x10048c53f
mov rax, rbx
nop dword [rax]
xor edx, edx
cmp byte [rax], 0xa
sete dl
add rax, 1
add rsi, rdx
cmp r10, rax
jne 0x10048c5e0
jmp 0x10048c53f
call sub.msys_2.0.dll___errno
cmp dword [rax], 0x16
je 0x10048c51b
mov eax, dword [rbp + 0xa4]
test eax, eax
je 0x10048c53a
mov rdi, qword [rbp + 0x78]
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0xb0], r14
mov r12, qword [rbp + 0xa8]
mov dword [rbp + 0x64], 0
mov r13, rdi
mov rax, qword [sym.vim.exe_p_ccv]
mov rax, qword [rax]
cmp byte [rax], 0
je 0x10048e0b6
cmp qword [rbp + 0xb8], 0xffffffffffffffff
je 0x10048e0b6
mov dword [rbp + 0xa8], 0
xor edi, edi
mov dword [rbp + 0x30], 1
mov eax, dword [rbp + 0xc0]
test eax, eax
jne 0x10048c990
mov eax, dword [rbp + 0x44]
test eax, eax
jne 0x10048cf72
mov ecx, dword [rbp + 0x90]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_lseek
test rax, rax
jne 0x10048cf72
mov rax, qword [rbp + 0xb0]
cmp rax, qword [rbp + 0x2d0]
jle 0x10048c6d8
mov rsi, qword [rbp + 0xb0]
mov r14, qword [rbp + 0x2d0]
nop dword [rax]
mov rcx, rsi
sub rsi, 1
call sym.vim.exe_ml_delete
cmp r14, rsi
jne 0x10048c6c0
mov qword [rbp + 0xb0], rsi
mov r14d, dword [rbp + 0x84]
mov qword [rbp + 0x88], 0
test r14d, r14d
je 0x10048b783
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1af4], 0
mov dword [rax + 0x1e3c], 0
jmp 0x10048b783
mov edi, dword [rbp + 0xc4]
test edi, edi
jne 0x10048b9e7
test al, al
je 0x10048b9e7
mov qword [rbp + 0xb8], 0xffffffffffffffff
mov edi, 1
jmp 0x10048b78d
test eax, eax
jne 0x10048d099
cmp qword [rbp + 0x110], 0
je 0x10048cc88
lea rdx, [rbp + 0x10c]
lea rcx, [rbp + 0x110]
call fcn.100488e40
mov qword [rbp + 0x70], rax
jmp 0x10048b85a
mov dword [rbp + 0xc4], 0
mov qword [rbp + 0xb8], 0xffffffffffffffff
jmp 0x10048b9e7
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_get_fio_flags
mov dword [rbp + 0xc4], eax
or eax, dword [rbp + 0x30]
jne 0x10048ee54
mov ecx, dword [r14]
lea r8, [0x1006a35a7]
test ecx, ecx
jne 0x10048b8f3
mov rax, qword [sym.vim.exe_p_enc]
mov r8, qword [rax]
jmp 0x10048b8f3
mov rdx, qword [rbp + 0x78]
lea r12, [rbx - 1]
add qword [rbp + 0x68], rdx
lea r13, [rdx - 1]
jmp 0x10048bde6
mov rsi, qword [rbp + 0xc8]
mov r13d, 0x100000
lea rax, [rsi + 0x100000]
jmp 0x10048c809
shr r13, 1
cmp r13, 9
jbe 0x10048cf57
lea rax, [rsi + r13]
xor edx, edx
lea rcx, [rax + 1]
call sym.vim.exe_lalloc
test rax, rax
je 0x10048c7f8
mov rdi, rax
mov r8, qword [rbp + 0xc8]
test r8, r8
je 0x10048c836
mov rdx, rbx
mov rcx, rdi
sub rdx, r8
call sub.msys_2.0.dll_memmove
mov rcx, qword [rbp + 0x48]
call sym.vim.exe_vim_free
mov rax, qword [rbp + 0xc8]
cmp qword [rbp + 0xb8], 0xffffffffffffffff
lea rbx, [rdi + rax]
movsxd rax, r13d
mov qword [rbp], rax
je 0x10048d5a8
sar r13, 3
mov eax, dword [rbp + 0x64]
test eax, eax
jle 0x10048c885
movsxd rsi, eax
mov rcx, rbx
lea rdx, [rbp + 0x130]
mov r8, rsi
add rbx, rsi
sub r13, rsi
call sub.msys_2.0.dll_memcpy
mov ecx, dword [rbp + 0xc0]
test ecx, ecx
je 0x10048cdba
mov rax, qword [rbp - 0x10]
cmp qword [rbp + 0x2d0], rax
jge 0x10048e007
xor esi, esi
xor r13d, r13d
cmp qword [rbp + 0x50], 0
je 0x10048cf0c
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rcx, qword [rax + 0x23f8]
test rcx, rcx
je 0x10048cf0c
test r13, r13
jg 0x10048dd14
test r13, r13
jne 0x10048d75d
mov r9d, dword [rbp + 0x64]
test r9d, r9d
jle 0x10048cf15
mov r8d, dword [rbp + 0xc4]
test r8d, r8d
setne dl
cmp qword [rbp + 0xb8], 0xffffffffffffffff
setne al
or dl, al
je 0x10048ee2b
mov ecx, dword [rbp + 0xa4]
test ecx, ecx
jne 0x10048f0a1
cmp qword [rbp + 0x88], 0
jne 0x10048c941
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rax, qword [rax]
sub rax, qword [rbp + 0x58]
add rax, 1
mov qword [rbp + 0x88], rax
cmp dword [rbp + 0xd8], 0xfffffffe
je 0x10048eae0
cmp dword [rbp + 0xd8], 0xffffffff
je 0x10048eac2
test dl, dl
jne 0x10048ea9e
mov dword [rbp + 0xc4], 0
mov dword [rbp + 0xd0], 0
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0xb8], 0xffffffffffffffff
jmp 0x10048bd3d
mov dword [rbp - 4], 0
mov qword [rbp - 0x10], 1
jmp 0x10048c69e
mov qword [rbp + 0x88], rsi
mov r8, rax
mov dword [rbp + 0x64], 0
test rax, rax
jne 0x10048db8f
mov r8, qword [rbp + 0xc8]
mov rdi, rbx
mov rdx, qword [rbp + 0x48]
sub rdi, r8
mov rcx, rdi
call sub.msys_2.0.dll_memmove
mov rax, qword [rbp + 0x120]
mov esi, dword [rbp + 0xc4]
sub rax, rbx
mov qword [rbp + 0x78], rax
test esi, esi
je 0x10048bdab
mov rax, qword [rbp]
mov ecx, dword [rbp + 0xc4]
add rax, rbx
mov qword [rbp - 0x18], rax
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x10048d2ae
mov eax, dword [rbp + 0xc4]
test al, 0x14
jne 0x10048d774
mov rax, qword [rbp + 0x78]
mov rsi, rax
and rsi, 0xfffffffffffffffc
add rsi, rbx
test al, 3
je 0x10048ca64
mov r12, rsi
test r12, r12
je 0x10048ca64
mov rax, qword [rbp + 0x78]
add rax, rbx
sub rax, r12
lea rcx, [rbp + 0x130]
mov r9d, 0x1e
mov rdx, r12
movsxd r13, eax
mov dword [rbp + 0x64], eax
mov r8, r13
call sub.msys_2.0.dll___memmove_chk
sub qword [rbp + 0x78], r13
cmp rbx, rsi
jae 0x10048d79f
mov r9d, dword [rbp + 0xc4]
mov r10, qword [rbp - 0x18]
mov r8, rdi
mov rdi, rbx
and r9d, 1
mov r12, r10
jmp 0x10048cabb
sub rsi, 1
mov rax, qword [sym.vim.exe_enc_utf8]
lea rcx, [r12 - 1]
mov eax, dword [rax]
test eax, eax
jne 0x10048d340
mov byte [r12 - 1], r13b
mov r12, rcx
cmp rdi, rsi
jae 0x10048d528
movzx r13d, byte [rsi - 1]
test r9d, r9d
jne 0x10048ca90
mov eax, dword [rbp + 0xc4]
test al, 0x14
je 0x10048d380
movzx ecx, byte [rsi - 2]
lea rdx, [rsi - 2]
and eax, 0x80
je 0x10048d3c1
shl r13d, 8
add r13d, ecx
test byte [rbp + 0xc4], 0x10
je 0x10048cb80
lea ecx, [r13 - 0xdc00]
cmp ecx, 0x3ff
ja 0x10048cb80
cmp rdx, rdi
je 0x10048d564
test eax, eax
je 0x10048d505
movzx eax, byte [rsi - 3]
movzx ecx, byte [rsi - 4]
lea rdx, [rsi - 4]
shl eax, 8
add eax, ecx
lea ecx, [rax - 0xd800]
cmp ecx, 0x3ff
jbe 0x10048d310
mov r10d, dword [rbp + 0xa4]
test r10d, r10d
jne 0x10048dd5d
cmp qword [rbp + 0x88], 0
je 0x10048e14c
cmp dword [rbp + 0xd8], 0xfffffffe
je 0x10048db62
cmp dword [rbp + 0xd8], 0xffffffff
je 0x10048d310
mov r13d, dword [rbp + 0xd8]
nop dword [rax]
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
test eax, eax
jne 0x10048d33d
lea rcx, [r12 - 1]
cmp r13d, 0xff
jle 0x10048ef8e
mov eax, dword [rbp + 0xa4]
test eax, eax
jne 0x10048dd5d
cmp qword [rbp + 0x88], 0
je 0x10048d47b
cmp dword [rbp + 0xd8], 0xfffffffe
mov rsi, rdx
je 0x10048cab2
cmp dword [rbp + 0xd8], 0xffffffff
je 0x10048d4dd
cmp qword [rbp + 0x2e8], 0
je 0x10048d46a
mov rax, qword [rbp + 0x2e8]
mov eax, dword [rax + 0x90]
test eax, eax
je 0x10048d46a
movzx eax, byte [rbp + 0xd8]
mov rsi, rdx
mov byte [r12 - 1], al
mov r12, rcx
jmp 0x10048cab2
mov ecx, dword [rbp + 0xfc]
call sym.vim.exe_check_need_swap
mov r9d, dword [rbp + 0x44]
test r9d, r9d
jne 0x10048cf94
mov rax, qword [sym.vim.exe_curbuf]
cmp qword [rax], rbx
jne 0x10048cc54
cmp byte [rbp + 0xf8], 0
je 0x10048cf82
cmp qword [rbx + 0x88], r13
je 0x10048cf82
lea rcx, str.E812:_Autocommands_changed_buffer_or_buffer_name
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov r8d, dword [rbp + 0xc0]
test r8d, r8d
jne 0x10048b252
mov ecx, dword [rbp + 0x90]
call sub.msys_2.0.dll_close
jmp 0x10048b168
lea rax, [0x1006a3400]
mov dword [rbp + 0x10c], 0
mov qword [rbp + 0x70], rax
jmp 0x10048b85a
mov rcx, qword [rbp + 0x98]
lea rdx, [rbp + 0x170]
call sub.msys_2.0.dll_stat
test eax, eax
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
js 0x10048dc64
mov rdx, qword [rbp + 0x198]
mov r8, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x1b8]
mov qword [rbp + 0x10], rdx
mov qword [rax + 0x150], rdx
mov edx, dword [rbp + 0x180]
mov qword [rax + 0x130], r8
mov dword [rax + 0x158], edx
and edx, 0x24
mov qword [rax + 0x138], rcx
or edx, 0x180
mov qword [rax + 0x140], r8
mov r12d, edx
mov qword [rax + 0x148], rcx
and dword [rax + 0x7c], 0xffffffcf
jmp 0x10048b0a0
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0xc8], rax
jmp 0x10048be76
mov ecx, dword [rbp + 0x90]
mov edx, 1
call sub.msys_2.0.dll_fcntl
mov r8d, eax
test eax, eax
js 0x10048c07b
test al, 1
jne 0x10048c07b
mov ecx, dword [rbp + 0x90]
or r8d, 1
mov edx, 2
call sub.msys_2.0.dll_fcntl
jmp 0x10048c07b
mov qword [rbp + 0xb0], rsi
mov r12, rdi
mov rsi, r15
jmp 0x10048bf90
mov eax, dword [rbp + 0x84]
mov r12, r15
mov qword [rbp + 0xb0], r14
mov r15, rsi
test eax, eax
jne 0x10048e0fe
mov dword [rbp + 0xe0], 1
xor edi, edi
mov dword [rbp + 0xf8], 0
jmp 0x10048c66c
mov qword [rbp + 0xd0], rdi
mov rsi, r13
mov rdi, rbx
mov ebx, dword [rbp + 0x90]
jmp 0x10048cdda
call sub.msys_2.0.dll___errno
cmp dword [rax], 4
jne 0x10048cdef
mov r8, rsi
mov rdx, rdi
mov ecx, ebx
call sub.msys_2.0.dll_read
mov r12, rax
test rax, rax
js 0x10048cdd0
mov eax, r13d
add qword [rbp - 0x20], r12
mov rcx, qword [rbp - 0x20]
mov rbx, rdi
cdqe
mov rdi, qword [rbp + 0xd0]
mov r13, r12
cmp rax, r12
setg dl
cmp rcx, qword [rbp + 0x10]
sete al
or eax, edx
movzx esi, al
cmp qword [rbp + 0x68], 0
jne 0x10048c8a9
test r13, r13
jle 0x10048c8a9
mov rcx, rbx
mov edx, r13d
call sym.vim.exe_crypt_method_nr_from_magic
mov r12d, eax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
test r12d, r12d
js 0x10048d898
mov eax, dword [rcx + 0x1c50]
mov edx, r12d
mov dword [rcx + 0x1c50], 1
mov dword [rbp + 0xd0], eax
call sym.vim.exe_crypt_set_cm_option
cmp qword [rbp + 0x50], 0
je 0x10048ecff
mov ecx, r12d
call sym.vim.exe_crypt_get_header_len
cdqe
cmp rax, r13
mov qword [rbp + 0x68], rax
mov rax, qword [sym.vim.exe_curbuf]
jge 0x10048ec38
mov r9, qword [rax]
mov rdx, qword [rbp + 0x50]
mov r8, rbx
mov ecx, r12d
mov qword [rbp + 0xb0], r9
call sym.vim.exe_crypt_create_from_header
mov r9, qword [rbp + 0xb0]
mov edx, r12d
mov qword [r9 + 0x23f8], rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_crypt_set_cm_option
mov rax, qword [rbp + 0x68]
mov rcx, rbx
sub r13, rax
lea rdx, [rbx + rax]
mov r8, r13
call sub.msys_2.0.dll_memmove
mov rax, qword [sym.vim.exe_curbuf]
mov ecx, dword [rbp + 0xd0]
mov rax, qword [rax]
mov dword [rax + 0x1c50], ecx
mov rcx, qword [rax + 0x23f8]
test rcx, rcx
jne 0x10048d8db
test r13, r13
jle 0x10048c8d7
mov dword [rbp + 0xd0], 0
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x48], rdi
jmp 0x10048bd3d
mov rdx, rax
call sym.vim.exe_get_fileformat_force
mov dword [rbp - 0x28], 0
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0x94], 0
mov dword [rbp + 0x34], 0
jmp 0x10048b7eb
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xb0], r14
mov r12, rdi
lea rcx, [rax + r13*2 + 1]
call sym.vim.exe_do_outofmem_msg
cmp qword [rbp + 0xe8], 0
sete al
jmp 0x10048bfa7
test r14b, r14b
je 0x10048cf94
cmp qword [rbx + 0x98], r15
jne 0x10048cc54
test r12d, r12d
jle 0x10048b2d3
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rax, qword [rax + 8]
test rax, rax
je 0x10048b2d3
mov rdi, qword [rax]
test rdi, rdi
je 0x10048b2d3
mov eax, r12d
and eax, 0x24
cmp eax, 0x20
je 0x10048eb96
movsxd rdx, r12d
mov rcx, rdi
call sym.vim.exe_mch_setperm
jmp 0x10048b2d3
test r14b, r14b
je 0x10048cff1
cmp qword [rbx + 0x98], r15
jne 0x10048df88
mov rdi, qword [rbp + 0x98]
mov rcx, rdi
call sym.vim.exe_dir_of_file_exists
test eax, eax
je 0x10048edfe
call sym.vim.exe_new_file_message
xor r9d, r9d
mov rdx, rdi
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
call sym.vim.exe_check_marks_read
cmp qword [rbp + 0x2e8], 0
je 0x10048d040
mov rcx, qword [rbp + 0x2e8]
call sym.vim.exe_set_forced_fenc
mov rax, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x98]
mov ecx, 8
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov rax, qword [sym.vim.exe_curbuf]
mov r8, rdx
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds_exarg
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_save_file_ff
call sym.vim.exe_aborting
test eax, eax
sete al
movzx eax, al
mov dword [rbp + 0xc0], eax
jmp 0x10048b168
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_vim_free
jmp 0x10048c749
lea rcx, str._File_too_big_
call sub.msys_intl_8.dll_libintl_gettext
jmp 0x10048b138
mov qword [rbp + 0xb0], r14
mov r12, rdi
mov eax, 1
jmp 0x10048bfa7
mov ecx, dword [rbp + 0x28]
test ecx, ecx
jne 0x10048b252
mov ecx, dword [rbp + 0x90]
call sub.msys_2.0.dll_close
mov dword [rbp + 0xc0], 0
jmp 0x10048b168
mov eax, dword [rcx + 0x1ea0]
mov dword [rbp - 8], eax
test eax, eax
je 0x10048d860
mov rbx, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rbx]
test al, al
jne 0x10048d824
cmp byte [rbp + 0xa3], 0
je 0x10048edd2
mov rdi, qword [rbp + 0x98]
mov rcx, rdi
call sub.msys_2.0.dll_strlen
movzx eax, byte [rdi + rax - 1]
lea edx, [rax - 0x41]
cmp edx, 0x19
ja 0x10048eddf
cmp eax, 0x58
sete al
lea rsi, [rbp + 0x1f0]
test al, al
jne 0x10048d7ca
lea rax, [0x1006a35a0]
mov dword [rbp - 8], 0
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x10c], 0
jmp 0x10048b67f
mov dword [rcx + 0x1e38], 0
mov dword [rbp + 0xd8], 0x3f
jmp 0x10048b63f
mov rdi, rcx
mov ecx, dword [rbp + 0x2c]
sub rdi, qword [rbp + 0x58]
test ecx, ecx
jne 0x10048d918
test rdi, rdi
je 0x10048c103
mov rcx, qword [rbp + 0x2d0]
mov rdx, rdi
call sym.vim.exe_appended_lines_mark
jmp 0x10048c103
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_vim_free
jmp 0x10048c04e
mov r8, qword [rbp + 0x70]
mov r9d, 5
mov dword [rsp + 0x20], 0
mov edx, 0xffffffff
lea rcx, [0x1006a3411]
call sym.vim.exe_set_string_option_direct
jmp 0x10048c040
mov r14d, dword [rcx + 0x1af0]
test r14d, r14d
jne 0x10048d20d
cmp dword [rbp + 0xf8], 1
je 0x10048ebf0
mov rax, rbx
mov edi, dword [rbp + 0x84]
sub rax, r12
lea esi, [rax + 1]
test edi, edi
je 0x10048e432
mov dword [rcx + 0x1b60], 0
mov r9d, dword [rbp + 0xfc]
mov r8d, esi
mov rdx, r12
mov byte [rbx], 0
mov rcx, qword [rbp + 0xb0]
call sym.vim.exe_ml_append
test eax, eax
jne 0x10048e3b3
mov rax, qword [sym.vim.exe_curbuf]
mov r12d, edi
xor r15d, r15d
mov rcx, qword [rax]
call sym.vim.exe_save_file_ff
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
jmp 0x10048bfe8
xor ecx, ecx
call sub.msys_2.0.dll_close
mov ecx, 2
call sub.msys_2.0.dll_dup
mov rdx, qword [sym.vim.exe_vim_ignored]
mov dword [rdx], eax
jmp 0x10048c091
mov dword [rcx + 0x1e38], 0
mov dword [rbp + 0xd8], 0x3f
jmp 0x10048b655
mov rax, qword [rbp + 0x78]
lea rsi, [rbx + rax]
cmp ecx, 2
jne 0x10048ca64
lea r12, [rbx + rax - 1]
movzx eax, byte [r12]
cmp rbx, r12
jb 0x10048d2de
jmp 0x10048d2e8
sub r12, 1
movzx eax, byte [r12]
cmp rbx, r12
je 0x10048d2e8
mov edx, eax
and edx, 0xffffffc0
cmp dl, 0x80
je 0x10048d2d0
movzx ecx, al
call sym.vim.exe_utf_byte2len
cdqe
add rax, r12
cmp rsi, rax
jae 0x10048ca64
mov rax, rsi
mov rsi, r12
jmp 0x10048ca3f
shl eax, 0xa
and r13d, 0x3ff
lea rcx, [r12 - 1]
and eax, 0xffc00
lea r13d, [r13 + rax + 0x10000]
mov rax, qword [sym.vim.exe_enc_utf8]
mov ebx, dword [rax]
test ebx, ebx
je 0x10048cba3
mov rsi, rdx
mov ecx, r13d
mov dword [rbp + 0xa8], r9d
mov qword [rbp + 0xb0], r8
call sym.vim.exe_utf_char2len
mov ecx, r13d
cdqe
sub r12, rax
mov rdx, r12
call sym.vim.exe_utf_char2bytes
mov r8, qword [rbp + 0xb0]
mov r9d, dword [rbp + 0xa8]
jmp 0x10048cab2
mov ebx, dword [rbp + 0xc4]
test bl, 8
je 0x10048d3cc
and ebx, 0x80
movzx eax, byte [rsi - 2]
movzx ecx, byte [rsi - 4]
lea rdx, [rsi - 4]
movzx r10d, byte [rsi - 3]
je 0x10048d4ed
shl r13d, 0x18
shl eax, 0x10
add r13d, eax
shl r10d, 8
add r13d, r10d
add r13d, ecx
jmp 0x10048cb80
shl ecx, 8
add r13d, ecx
jmp 0x10048caed
sub rsi, 1
test r13b, r13b
jns 0x10048ca94
mov rdx, rsi
mov rcx, rdi
mov dword [rbp - 0x40], r9d
mov qword [rbp - 0x48], r8
call sym.vim.exe_utf_head_off
mov rdx, rsi
mov r10d, eax
cdqe
sub rdx, rax
mov dword [rbp + 0xa8], r10d
mov rcx, rdx
mov qword [rbp + 0xb0], rdx
call sym.vim.exe_utf_ptr2char
mov r10d, dword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x40]
mov r13d, eax
test r10d, r10d
jne 0x10048cb80
mov ecx, dword [rbp + 0xa4]
test ecx, ecx
jne 0x10048dd5d
cmp qword [rbp + 0x88], 0
je 0x10048e8d0
cmp dword [rbp + 0xd8], 0xfffffffe
je 0x10048db62
mov eax, dword [rbp + 0xd8]
cmp eax, 0xffffffff
cmovne r13d, eax
jmp 0x10048cb80
mov byte [r12 - 1], 0xbf
mov rsi, rdx
mov r12, rcx
jmp 0x10048cab2
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rbx, qword [rax]
sub rbx, qword [rbp + 0x58]
add rbx, 1
mov qword [rbp + 0x88], rbx
cmp rdi, rdx
jae 0x10048de30
mov rsi, rdi
nop dword [rax + rax]
xor eax, eax
cmp byte [rsi], 0xa
sete al
add rsi, 1
add rbx, rax
cmp rsi, rdx
jne 0x10048d4a8
cmp dword [rbp + 0xd8], 0xfffffffe
mov qword [rbp + 0x88], rbx
je 0x10048cabb
cmp dword [rbp + 0xd8], 0xffffffff
jne 0x10048cbdc
mov byte [r12 - 1], r13b
mov rsi, rdx
mov r12, rcx
jmp 0x10048cab2
shl eax, 8
shl r10d, 0x10
add eax, r10d
shl ecx, 0x18
add r13d, eax
add r13d, ecx
jmp 0x10048cb80
movzx eax, byte [rsi - 4]
movzx ecx, byte [rsi - 3]
lea rdx, [rsi - 4]
shl eax, 8
add eax, ecx
jmp 0x10048cb2b
cmp dword [rbp + 0xd8], 0xfffffffe
jne 0x10048cb68
mov rax, qword [rbp - 0x18]
mov r10, r12
mov rbx, r10
sub rax, r12
add qword [rbp + 0x68], rax
lea r12, [r12 - 1]
mov qword [rbp + 0x78], rax
lea r13, [rax - 1]
mov r8, qword [rbp + 0xc8]
mov rdi, rbx
mov rdx, qword [rbp + 0x48]
sub rdi, r8
mov rcx, rdi
call sub.msys_2.0.dll_memmove
jmp 0x10048bde6
mov r11d, dword [rbp + 0xa4]
test r11d, r11d
jne 0x10048dd5d
cmp qword [rbp + 0x88], 0
je 0x10048e277
mov ecx, dword [rbp + 0xd8]
cmp ecx, 0xfffffffe
je 0x10048d528
cmp ecx, 0xffffffff
cmovne r13d, ecx
jmp 0x10048cb12
mov dword [rbp + 0xf8], 2
jmp 0x10048be2c
test byte [rbp + 0xc4], 1
jne 0x10048da8a
test byte [rbp + 0xc4], 0x14
je 0x10048e534
movabs rcx, 0xaaaaaaaaaaaaaaab
lea rdx, [r13 + r13]
mov rax, rdx
mul rcx
shr rdx, 1
and rdx, 0xfffffffffffffffe
mov r13, rdx
jmp 0x10048c863
mov rcx, qword [rbp + 0x98]
mov edx, 2
xor esi, esi
call sub.msys_2.0.dll_access
test eax, eax
setne sil
jmp 0x10048b0bd
mov dword [rbp + 0xf0], 0
jmp 0x10048ba96
mov r12, qword [rbp + 0x78]
test r12d, r12d
jle 0x10048ef61
mov qword [rbp + 0xb0], r15
mov rsi, rbx
mov r15d, r12d
mov qword [rbp + 0xa8], r14
mov r14d, r13d
mov r13, qword [rbp + 0x88]
mov qword [rbp - 0x18], rdi
mov rdi, qword [rbp + 8]
jmp 0x10048d669
add rsi, 1
lea rdx, [rbx + r12]
mov rax, rdx
sub rax, rsi
mov r15d, eax
test eax, eax
jle 0x10048ddd4
cmp byte [rsi], 0
jns 0x10048d650
mov edx, r15d
mov rcx, rsi
call sym.vim.exe_utf_ptr2len_len
mov edx, r14d
cmp r15d, eax
setl cl
xor edx, 1
test r14b, 1
jne 0x10048db6a
test cl, cl
je 0x10048db6a
cmp rsi, rbx
seta al
cmp qword [rbp + 0x68], 0
setg dl
or eax, edx
movzx r14d, al
cmp rsi, rbx
ja 0x10048ec99
xor eax, 1
movzx edx, al
test dword [rbp + 0xa4], edx
jne 0x10048eb54
cmp qword [rbp + 0xb8], 0xffffffffffffffff
je 0x10048d6d9
test r13, r13
je 0x10048dfa1
mov rax, r13
or rax, rdi
je 0x10048e254
cmp dword [rbp + 0xd8], 0xfffffffe
lea rdx, [rsi + 1]
je 0x10048dd76
mov eax, dword [rbp + 0xd8]
cmp eax, 0xffffffff
je 0x10048e0ca
mov byte [rsi], al
mov rsi, rdx
jmp 0x10048d654
call sym.vim.exe_get_fileformat
mov dword [rbp + 0xf8], eax
jmp 0x10048b7eb
mov eax, dword [rcx + 0x20]
mov rdi, qword [sym.vim.exe_recoverymode]
mov dword [rbp - 0x34], eax
mov eax, dword [rbp + 0x2f0]
mov qword [rbp - 0x30], rdi
and eax, 0x12
or eax, dword [rdi]
jne 0x10048b5f4
call sym.vim.exe_is_not_a_term
test eax, eax
je 0x10048ec0e
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
jmp 0x10048b5f4
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x48], rdi
mov dword [rbp + 0xd0], 1
jmp 0x10048bd3d
mov rdx, qword [rbp + 0x78]
and eax, 0x10
mov rsi, rdx
and rsi, 0xfffffffffffffffe
add rsi, rbx
and edx, 1
jne 0x10048e1a1
test eax, eax
je 0x10048ca64
cmp rbx, rsi
jb 0x10048ea44
mov rbx, qword [rbp - 0x18]
mov qword [rbp + 0x78], 0
mov r13, 0xffffffffffffffff
lea r12, [rbx - 1]
jmp 0x10048d546
call sub.msys_2.0.dll___errno
cmp dword [rax], 4
jne 0x10048d7e6
mov ecx, dword [rbp + 0x90]
mov r8d, 0x50
mov rdx, rsi
call sub.msys_2.0.dll_read
mov rdi, rax
test rax, rax
js 0x10048d7c0
mov ecx, dword [rbp + 0x90]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_lseek
movsxd rax, edi
add rax, rsi
cmp rax, rsi
ja 0x10048d81d
jmp 0x10048d155
add rsi, 1
cmp rsi, rax
je 0x10048d155
cmp byte [rsi], 0
jns 0x10048d810
mov eax, dword [rbx]
test eax, eax
lea rdi, [0x1006a35a0]
sete al
mov qword [rbp + 0x110], rdi
movzx eax, al
mov dword [rbp - 8], eax
lea rax, [0x1006a35a7]
mov qword [rbp + 0x70], rax
jmp 0x10048d167
mov rdx, qword [rbp + 0x2d0]
add rdx, rdi
mov qword [rax + 0x38], rdx
jmp 0x10048c19d
mov rax, qword [sym.vim.exe_p_fencs]
mov rax, qword [rax]
cmp byte [rax], 0
jne 0x10048e46e
mov rax, qword [rcx + 0x1b78]
mov dword [rbp + 0x10c], 0
mov qword [rbp + 0x70], rax
jmp 0x10048b67f
mov dword [rcx + 0x1e38], eax
jmp 0x10048b63f
mov r11d, dword [rbp + 0xfc]
test r11d, r11d
je 0x10048d8c3
mov rax, qword [rcx + 0x1c00]
cmp byte [rax], 0
je 0x10048d8c3
mov rax, qword [sym.vim.exe_starting]
mov r10d, dword [rax]
test r10d, r10d
je 0x10048f0c8
mov rcx, qword [rcx + 0x23f8]
mov qword [rbp + 0x68], 0
test rcx, rcx
je 0x10048c8a9
call sym.vim.exe_crypt_works_inplace
test eax, eax
mov eax, 0
cmovne eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf0], eax
jmp 0x10048c8a9
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
and dword [rax + 0x7c], 0xfffffff7
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xc0], eax
jmp 0x10048b168
mov ecx, 0x28
call sym.vim.exe_redraw_curbuf_later
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_diff_invalidate
mov rax, qword [sym.vim.exe_curwin]
mov rcx, qword [rax]
call sym.vim.exe_foldUpdateAll
jmp 0x10048c103
mov rbx, qword [sym.vim.exe_netbeansFireChanges]
mov dword [rbx], 0
call sym.vim.exe_ml_delete
mov rax, qword [sym.vim.exe_curbuf]
sub qword [rbp + 0x58], 1
mov dword [rbx], 1
mov rax, qword [rax]
mov rcx, qword [rax]
jmp 0x10048c0e9
lea rcx, [0x1006a35eb]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
call sym.vim.exe_msg_end
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0x60]
mov dword [rbp + 0xc0], 2
mov dword [rax], edi
jmp 0x10048b168
mov rdx, rsi
mov rcx, r14
call sym.vim.exe_set_rw_fname
test eax, eax
jne 0x10048b55e
jmp 0x10048b252
xor edx, edx
mov ecx, 0x72
call sym.vim.exe_vim_tempname
mov rsi, rax
test rax, rax
je 0x10048eb18
mov ecx, dword [rbp + 0x90]
call sub.msys_2.0.dll_close
mov eax, dword [r14]
lea rdx, [0x1006a35a7]
test eax, eax
jne 0x10048da0f
mov rax, qword [sym.vim.exe_p_enc]
mov rdx, qword [rax]
mov r8, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x70]
mov r9, rsi
call sym.vim.exe_eval_charconvert
test eax, eax
jne 0x10048e982
lea rcx, str.Conversion_with_charconvert_failed
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
test rax, rax
je 0x10048e982
call sym.vim.exe_msg
mov rcx, rsi
call sub.msys_2.0.dll_unlink
mov rcx, rsi
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x98]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_open
mov dword [rbp + 0x90], eax
mov r14d, dword [rbp + 0x90]
test r14d, r14d
js 0x10048f051
mov dword [rbp + 0x30], 0
jmp 0x10048c72c
sar r13, 1
jmp 0x10048c863
mov rax, qword [sym.vim.exe_msg_scroll]
mov rdi, qword [sym.vim.exe_msg_scrolled]
mov edx, dword [rbp + 0x84]
mov ebx, dword [rax]
mov esi, dword [rdi]
test edx, edx
jne 0x10048e954
mov rax, qword [sym.vim.exe_msg_scroll]
mov dword [rax], 1
mov eax, dword [rbp + 0x40]
test eax, eax
jne 0x10048e565
mov eax, dword [rbp + 0xfc]
test eax, eax
jne 0x10048daeb
mov eax, dword [rbp + 0xc0]
test eax, eax
je 0x10048ec68
test r13b, r13b
je 0x10048ec68
mov rax, qword [rbp + 0x2e8]
mov r8, qword [rbp + 0x98]
xor r9d, r9d
xor edx, edx
mov ecx, 0xa
mov qword [rsp + 0x28], rax
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds_exarg
mov rax, qword [sym.vim.exe_au_did_filetype]
mov eax, dword [rax]
test eax, eax
jne 0x10048db43
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdx, qword [rax + 0x1b88]
cmp byte [rdx], 0
jne 0x10048f030
cmp dword [rdi], esi
jne 0x10048db50
mov rax, qword [sym.vim.exe_msg_scroll]
mov dword [rax], ebx
call sym.vim.exe_aborting
test eax, eax
je 0x10048c263
jmp 0x10048b252
mov rsi, rdx
jmp 0x10048cab2
cmp eax, 1
je 0x10048d6ba
test cl, cl
jne 0x10048d6ba
cdqe
add rsi, rax
jmp 0x10048d654
call sym.vim.exe_u_find_first_changed
jmp 0x10048c227
mov rdx, qword [rbp + 0x118]
lea rcx, [rbp + 0x130]
mov r9d, 0x1e
mov qword [rbp + 0xb0], rax
call sub.msys_2.0.dll___memmove_chk
mov r8, qword [rbp + 0xb0]
mov dword [rbp + 0x64], r8d
jmp 0x10048c9be
lea r13, [rbp + 0x150]
lea rcx, [rbp + 0x1f0]
mov rdx, r13
call sym.vim.exe_sha256_finish
mov r8, qword [rbp + 0x98]
mov rdx, r13
xor ecx, ecx
call sym.vim.exe_u_read_undo
jmp 0x10048c237
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_vim_free
jmp 0x10048b837
mov ecx, dword [rbp + 0x90]
call sub.msys_2.0.dll_close
mov rax, qword [sym.vim.exe_msg_scroll]
mov r11d, dword [rbp + 0x40]
mov dword [rax], 1
test r11d, r11d
jne 0x10048f0f2
mov r10d, dword [rbp + 0xfc]
mov rax, qword [rbp + 0x2e8]
test r10d, r10d
mov qword [rsp + 0x28], rax
je 0x10048e127
mov rax, qword [sym.vim.exe_curbuf]
mov r8, qword [rbp + 0x98]
xor r9d, r9d
xor edx, edx
mov ecx, 0xb
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds_exarg
jmp 0x10048b3fc
mov qword [rax + 0x130], 0
mov qword [rax + 0x138], 0
mov qword [rax + 0x140], 0
mov qword [rax + 0x148], 0
mov qword [rax + 0x150], 0
mov dword [rax + 0x158], 0
jmp 0x10048cd1b
xor r15d, r15d
mov r12d, 1
jmp 0x10048bfda
mov rax, qword [sym.vim.exe_no_wait_return]
mov edi, dword [rbp + 0x60]
sub dword [rax], 1
mov rax, qword [sym.vim.exe_msg_scroll]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1c50], 1
jmp 0x10048b168
mov rdi, qword [rbp + 0x2e8]
add rax, qword [rdi + 0x10]
mov rcx, rax
call sym.vim.exe_enc_canonize
mov dword [rbp - 8], 1
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x10c], 1
jmp 0x10048b67f
call sym.vim.exe_crypt_works_inplace
mov dword [rbp + 0xd0], eax
test eax, eax
je 0x10048e298
mov rax, qword [sym.vim.exe_curbuf]
mov r9d, esi
mov r8, r13
mov rdx, rbx
mov rax, qword [rax]
mov rcx, qword [rax + 0x23f8]
call sym.vim.exe_crypt_decode_inplace
mov qword [rbp + 0x38], rdi
mov dword [rbp + 0xd0], 0
mov qword [rbp + 0x48], rdi
jmp 0x10048bd3d
mov rbx, rdi
mov rdi, qword [rbp + 0x78]
mov qword [rbp + 0xb0], r14
mov r12, r8
mov r13, rdi
jmp 0x10048c638
lea r8d, [r15 - 1]
mov rcx, rsi
sub r12, 1
movsxd r8, r8d
call sub.msys_2.0.dll_memmove
jmp 0x10048d654
test byte [rbp + 0x2f0], 0x10
je 0x10048e4e5
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp + 0x60]
mov dword [rax], edi
call sym.vim.exe_check_marks_read
mov dword [rbp + 0xc0], 1
jmp 0x10048b168
mov ecx, 2
call sym.vim.exe_settmode
call sym.vim.exe_starttermcap
call sym.vim.exe_screenclear
jmp 0x10048c10e
mov qword [rbp + 0x88], r13
mov r13d, r14d
mov r15, qword [rbp + 0xb0]
xor r13d, 1
mov qword [rbp + 0x78], r12
mov r14, qword [rbp + 0xa8]
mov qword [rbp + 8], rdi
mov r12d, r13d
mov rdi, qword [rbp - 0x18]
and r12d, 1
cmp rdx, rsi
jbe 0x10048bdd6
test r12b, r12b
je 0x10048bdd6
mov r12, rdi
mov rdi, qword [rbp + 0x78]
mov qword [rbp + 0xb0], r14
mov r13, rdi
jmp 0x10048c638
cmp dword [rbp + 0xd8], 0xfffffffe
jne 0x10048cbcf
mov rax, qword [rbp - 0x18]
mov r10, r12
mov r12, rcx
mov rbx, r10
sub rax, r10
add qword [rbp + 0x68], rax
mov qword [rbp + 0x78], rax
lea r13, [rax - 1]
jmp 0x10048d546
mov esi, dword [rbp + 0x34]
mov r9, qword [rbp + 0x78]
xor edx, edx
test esi, esi
setne dl
add r9, rbx
mov dword [rbp + 0x34], edx
cmp rbx, r9
jae 0x10048e85a
mov rax, rbx
jmp 0x10048de9d
cmp edx, 1
mov r8d, edx
sbb edx, 0xffffffff
cmp cl, 0xd
cmovne edx, r8d
add rax, 1
cmp rax, r9
je 0x10048e857
movzx ecx, byte [rax]
cmp cl, 0xa
jne 0x10048de80
mov r11d, dword [rbp + 0x94]
mov dword [rbp + 0x34], edx
mov dword [rbp + 0xf8], 1
test r11d, r11d
je 0x10048be2c
cmp rbx, rax
jae 0x10048deda
mov r10d, dword [rbp - 0x28]
test r10d, r10d
je 0x10048deda
cmp byte [rax - 1], 0xd
je 0x10048be2c
mov edx, dword [rbp + 0x34]
test edx, edx
je 0x10048f092
sub rax, 1
cmp rbx, rax
ja 0x10048ed47
cmp byte [rax], 0xd
jne 0x10048dee5
mov dword [rbp + 0x94], 1
mov rax, rbx
mov dword [rbp + 0x34], 1
jmp 0x10048df26
cmp dl, 0xd
sete dl
movzx edx, dl
add dword [rbp + 0x34], edx
add rax, 1
cmp rax, r9
je 0x10048eeac
movzx edx, byte [rax]
cmp dl, 0xa
jne 0x10048df0d
add dword [rbp + 0x94], 1
jmp 0x10048df19
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
or dword [rcx + 0x7c], 0x10
call sym.vim.exe_bt_dontwrite
mov dword [rbp + 0xc0], eax
test eax, eax
jne 0x10048cff1
mov ecx, 1
call sym.vim.exe_check_need_swap
mov rax, qword [sym.vim.exe_curbuf]
cmp qword [rax], rbx
jne 0x10048df88
cmp byte [rbp + 0xf8], 0
je 0x10048cfdf
cmp qword [rbx + 0x88], r13
je 0x10048cfdf
lea rcx, str.E812:_Autocommands_changed_buffer_or_buffer_name
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10048b168
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdx, qword [rax]
sub rdx, qword [rbp + 0x58]
add rdx, 1
cmp rsi, rbx
jbe 0x10048ef77
mov r13, rdx
mov rax, rbx
xor ecx, ecx
cmp byte [rax], 0xa
sete cl
add rax, 1
add r13, rcx
cmp rsi, rax
jne 0x10048dfc5
mov rax, rdi
or rax, r13
jne 0x10048d6e5
mov rdi, rdx
mov rax, rbx
xor edx, edx
cmp byte [rax], 0xa
sete dl
add rax, 1
add rdi, rdx
cmp rsi, rax
ja 0x10048dfeb
xor r13d, r13d
jmp 0x10048d6e5
mov qword [rbp + 0xd0], r14
mov r14, rbx
mov ebx, dword [rbp - 4]
xor r12d, r12d
mov qword [rbp + 0xb0], rdi
mov rdi, rax
mov rcx, rdi
call sym.vim.exe_ml_get
mov r9, rax
movsxd rax, ebx
lea rsi, [r9 + rax]
mov rcx, rsi
call sub.msys_2.0.dll_strlen
lea edx, [rax + r12 + 1]
movsxd rdx, edx
cmp rdx, r13
jg 0x10048e313
mov r9, r12
test eax, eax
jle 0x10048e095
lea r9d, [rax - 1]
lea r11, [r12 + 1]
mov rax, r12
sub rsi, r12
lea rcx, [r11 + r9]
jmp 0x10048e07a
mov byte [r14 + rax - 1], dl
cmp rcx, rax
je 0x10048e092
movzx edx, byte [rsi + rax]
add rax, 1
cmp dl, 0xa
jne 0x10048e070
mov byte [r14 + rax - 1], 0
cmp rcx, rax
jne 0x10048e07a
add r9, r11
mov byte [r14 + r9], 0xa
lea r12, [r9 + 1]
add rdi, 1
cmp qword [rbp + 0x2d0], rdi
jl 0x10048e376
xor ebx, ebx
jmp 0x10048e021
mov dword [rbp + 0xa8], 0
mov edi, 1
jmp 0x10048c66c
mov rsi, rdx
jmp 0x10048d654
mov rcx, qword [rbp + 0x2e8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
mov r8, qword [rbp + 0x98]
mov qword [rsp + 0x28], rcx
mov ecx, 0x53
call sym.vim.exe_apply_autocmds_exarg
jmp 0x10048b3fc
mov edx, 4
xor ecx, ecx
xor edi, edi
call sym.vim.exe_set_fileformat
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0xf8], 0
mov dword [rbp + 0xe0], eax
jmp 0x10048c66c
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov ecx, 0x2e
mov qword [rsp + 0x20], 0
mov r8, rdx
call sym.vim.exe_apply_autocmds_exarg
jmp 0x10048b3fc
mov rcx, qword [sym.vim.exe_curbuf]
mov rcx, qword [rcx]
mov rbx, qword [rcx]
sub rbx, qword [rbp + 0x58]
add rbx, 1
mov qword [rbp + 0x88], rbx
cmp rdi, rdx
jae 0x10048d51b
mov rsi, rdi
xor ecx, ecx
cmp byte [rsi], 0xa
sete cl
add rsi, 1
add rbx, rcx
cmp rdx, rsi
jne 0x10048e174
cmp dword [rbp + 0xd8], 0xfffffffe
mov qword [rbp + 0x88], rbx
jne 0x10048cb68
jmp 0x10048cabb
test eax, eax
je 0x10048ca30
mov r12, rsi
cmp rbx, rsi
jb 0x10048ea47
test rsi, rsi
je 0x10048d79f
mov r12, rsi
jmp 0x10048ca38
cmp byte [rbp + 0xf8], 0
je 0x10048e1dc
cmp qword [rbx + 0x88], r13
jne 0x10048b4be
test r14b, r14b
je 0x10048e1ee
cmp qword [rbx + 0x98], r15
jne 0x10048b4be
mov rcx, qword [rbp + 0x98]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_open
mov dword [rbp + 0x90], eax
test eax, eax
js 0x10048e925
mov rax, qword [sym.vim.exe_curbuf]
mov rdi, qword [sym.vim.exe_recoverymode]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rdi
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x34], eax
mov eax, dword [rbp + 0x2f0]
and eax, 0x12
or eax, dword [rdi]
jne 0x10048b5f4
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
lea r8, [0x1006a3400]
call sym.vim.exe_filemess
jmp 0x10048d74e
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdi, qword [rax]
sub rdi, qword [rbp + 0x58]
add rdi, 1
cmp rsi, rbx
ja 0x10048dfe8
jmp 0x10048dfff
mov rcx, qword [sym.vim.exe_curbuf]
mov rdx, qword [rcx]
mov rbx, qword [rdx]
sub rbx, qword [rbp + 0x58]
lea rdx, [rbx + 1]
mov qword [rbp + 0x88], rdx
jmp 0x10048d582
mov rax, qword [sym.vim.exe_curbuf]
lea r9, [rbp + 0x150]
mov r8, r13
mov rdx, rbx
mov qword [rbp + 0x150], 0
mov rax, qword [rax]
mov rcx, qword [rax + 0x23f8]
mov dword [rsp + 0x20], esi
call sym.vim.exe_crypt_decode_alloc
mov dword [rbp + 0xa8], eax
test eax, eax
js 0x10048efc7
je 0x10048eb0b
cmp qword [rbp + 0xc8], 0
jne 0x10048e9c2
mov r12, qword [rbp + 0x150]
test r12, r12
jne 0x10048eff1
movsxd rsi, eax
mov qword [rbp + 0x48], rdi
mov r13, rsi
mov qword [rbp + 0x38], 0
jmp 0x10048bd3d
mov edx, r13d
mov qword [rbp - 0x10], rdi
mov rdi, qword [rbp + 0xb0]
sub edx, r12d
mov dword [rbp - 4], ebx
mov rbx, r14
mov r14, qword [rbp + 0xd0]
test edx, edx
jle 0x10048e36c
lea rax, [r12 + 1]
lea r9d, [rdx - 1]
mov rcx, rsi
add r9, rax
sub rcx, r12
jmp 0x10048e357
mov byte [rbx + rax - 1], r8b
cmp r9, rax
je 0x10048e36c
add rax, 1
movzx r8d, byte [rcx + r12]
mov r12, rax
cmp r8b, 0xa
jne 0x10048e349
mov byte [rbx + rax - 1], 0
jmp 0x10048e34e
add dword [rbp - 4], edx
xor esi, esi
jmp 0x10048ce1b
mov rax, qword [sym.vim.exe_curbuf]
mov qword [rbp - 0x10], rdi
mov rbx, r14
mov rdi, qword [rbp + 0xb0]
mov r14, qword [rbp + 0xd0]
mov rax, qword [rax]
mov eax, dword [rax + 0x1b60]
mov dword [rbp - 4], eax
test eax, eax
jne 0x10048edbe
mov r13, r9
mov esi, 1
jmp 0x10048ce1b
mov r13d, dword [rbp + 0xf0]
test r13d, r13d
jne 0x10048ea87
mov r15, qword [rbp + 0xb0]
mov rax, qword [sym.vim.exe_curbuf]
xor r12d, r12d
mov rcx, qword [rax]
add r15, 1
jmp 0x10048bfda
cmp dl, 0xfe
jne 0x10048e491
cmp byte [rbx + 1], 0xff
jne 0x10048c417
lea edx, [rax + 1]
cmp edx, 0x11
ja 0x10048c417
mov ecx, 0x20021
bt rcx, rdx
jae 0x10048c417
cmp eax, 4
mov edx, 2
mov ecx, 2
lea rsi, [0x1006a35c4]
lea rax, [0x1006a35b5]
cmovne rsi, rax
jmp 0x10048c3d8
mov byte [rbx], 0
mov r9d, dword [rbp + 0xfc]
mov r8d, esi
mov rdx, r12
mov rcx, qword [rbp + 0xb0]
call sym.vim.exe_ml_append
test eax, eax
jne 0x10048e3b3
mov rax, qword [sym.vim.exe_curbuf]
xor r15d, r15d
mov r12d, 1
mov rcx, qword [rax]
jmp 0x10048bfe8
lea rdx, [rbp + 0x10c]
lea rcx, [rbp + 0x110]
mov qword [rbp + 0x110], rax
call fcn.100488e40
mov qword [rbp + 0x70], rax
jmp 0x10048b67f
cmp r13, 3
jle 0x10048c417
test dl, dl
jne 0x10048c417
cmp byte [rbx + 1], 0
jne 0x10048c417
cmp byte [rbx + 2], 0xfe
jne 0x10048c417
cmp byte [rbx + 3], 0xff
jne 0x10048c417
cmp eax, 0xffffffff
je 0x10048e4cf
cmp eax, 8
jne 0x10048c417
mov edx, 4
mov ecx, 4
lea rsi, [0x1006a35d3]
jmp 0x10048c3d8
mov rcx, qword [sym.vim.exe_e_interr]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
mov eax, dword [rbp + 0xfc]
test eax, eax
je 0x10048dd9b
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov dword [rax + 0x1c50], 1
jmp 0x10048dd9b
test byte [rbp + 0xc4], 8
je 0x10048e968
movabs rcx, 0xaaaaaaaaaaaaaaab
lea rdx, [r13 + r13]
mov rax, rdx
mul rcx
shr rdx, 1
and rdx, 0xfffffffffffffffc
mov r13, rdx
jmp 0x10048c863
mov rax, qword [rbp + 0x2e8]
mov r8, qword [rbp + 0x98]
xor r9d, r9d
xor edx, edx
mov ecx, 0x33
mov qword [rsp + 0x28], rax
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds_exarg
jmp 0x10048db43
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rax]
call sym.vim.exe_msg_add_fname
mov eax, dword [rbp + 0x1c]
lea rcx, str._fifo_
and eax, 0xf000
cmp eax, 0x1000
je 0x10048e5d9
cmp eax, 0xc000
jne 0x10048edaf
lea rcx, str._socket_
call sub.msys_intl_8.dll_libintl_gettext
mov rbx, qword [sym.vim.exe_IObuff]
mov r14d, 1
mov rdx, rax
mov rcx, qword [rbx]
call fcn.10065eb30
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov eax, dword [rax + 0x1c50]
test eax, eax
je 0x10048e639
mov ecx, 0x72
call sym.vim.exe_shortmess
test eax, eax
je 0x10048eec7
lea rcx, [0x1006a371b]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rax
mov rcx, qword [rbx]
mov r14d, 1
call fcn.10065eb30
test r15, r15
jne 0x10048ed9f
cmp dword [rbp + 0xdc], 1
jne 0x10048e668
lea rcx, str._CR_missing_
mov r14d, 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, qword [rbx]
mov rdx, rax
call fcn.10065eb30
mov eax, dword [rbp + 0x80]
test eax, eax
je 0x10048e68f
lea rcx, str._long_lines_split_
mov r14d, 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, qword [rbx]
mov rdx, rax
call fcn.10065eb30
mov eax, dword [rbp - 0x38]
lea rcx, [0x1006a374b]
test eax, eax
jne 0x10048e6ab
mov eax, dword [rbp + 0x18]
test eax, eax
je 0x10048e6c1
lea rcx, [0x1006a375b]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, qword [rbx]
mov r14d, 1
mov rdx, rax
call fcn.10065eb30
cmp qword [rbp + 0x50], 0
je 0x10048e6dd
mov rax, qword [sym.vim.exe_curbuf]
mov r14d, 1
mov rcx, qword [rax]
call sym.vim.exe_crypt_append_msg
cmp qword [rbp + 0x88], 0
jne 0x10048ed67
mov r13, qword [rbp + 8]
test r13, r13
jg 0x10048ee78
test r12d, r12d
je 0x10048e71a
lea rcx, str._READ_ERRORS_
mov r14d, 1
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, qword [rbx]
mov rdx, rax
call fcn.10065eb30
mov ecx, dword [rbp + 0xf8]
call sym.vim.exe_msg_add_fileformat
test eax, eax
mov eax, 1
cmovne r14d, eax
cmp qword [rbp + 0x50], 0
je 0x10048edea
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_crypt_get_method_nr
mov ecx, eax
call sym.vim.exe_crypt_get_header_len
mov r8, qword [rbp + 0x68]
mov rdx, rdi
mov ecx, r14d
cdqe
sub r8, rax
call sym.vim.exe_msg_add_lines
mov rsi, qword [sym.vim.exe_keep_msg]
mov rcx, qword [rsi]
test rcx, rcx
je 0x10048e780
call sym.vim.exe_vim_free
mov qword [rsi], 0
mov rax, qword [sym.vim.exe_msg_col]
mov rsi, qword [sym.vim.exe_msg_scrolled_ign]
mov r14d, dword [rax]
mov dword [rsi], 1
test r14d, r14d
jle 0x10048e7a6
mov ecx, 0xd
call sym.vim.exe_msg_putchar
mov rcx, qword [rbx]
xor edx, edx
xor r8d, r8d
call sym.vim.exe_msg_trunc_attr
mov edx, dword [rbp + 0x28]
mov rcx, rax
mov rax, qword [sym.vim.exe_restart_edit]
or edx, dword [rax]
jne 0x10048e7e0
mov rax, qword [sym.vim.exe_msg_scrolled]
mov r13d, dword [rax]
test r13d, r13d
je 0x10048e7e7
mov rax, qword [sym.vim.exe_need_wait_return]
mov ebx, dword [rax]
test ebx, ebx
jne 0x10048e7e7
xor edx, edx
call sym.vim.exe_set_keep_msg
mov dword [rsi], 0
jmp 0x10048c12c
lea rcx, [0x1006a35eb]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
mov dword [rbp + 0xc0], 2
jmp 0x10048b213
cmp qword [rbp + 0xe8], 0
mov r12, rdi
mov edi, dword [rbp + 0xd0]
mov qword [rbp + 0xb0], r14
sete al
and eax, edi
mov edx, eax
mov eax, edi
xor eax, 1
and eax, 1
or eax, edx
jmp 0x10048bfa7
mov dword [rbp + 0x34], edx
mov eax, dword [rbp + 0x34]
cmp eax, 1
jne 0x10048ed30
call sym.vim.exe_default_fileformat
mov edx, eax
cmp eax, 0xffffffff
mov eax, 2
cmovne eax, edx
mov dword [rbp + 0xf8], eax
jmp 0x10048be2c
cmp byte [rbx + 1], 0xbb
jne 0x10048c417
cmp r13, 2
je 0x10048c417
cmp byte [rbx + 2], 0xbf
jne 0x10048c417
lea edx, [rax + 1]
cmp edx, 1
jbe 0x10048e8b2
cmp eax, 2
jne 0x10048c417
mov edx, 3
mov ecx, 3
lea rsi, [0x1006a35a7]
jmp 0x10048c3d8
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rbx, qword [rax]
sub rbx, qword [rbp + 0x58]
lea rax, [rbx + 1]
mov qword [rbp + 0x88], rax
cmp rdi, rdx
jae 0x10048f080
mov rax, rdi
xor ecx, ecx
cmp byte [rax], 0xa
sete cl
add rax, 1
add qword [rbp + 0x88], rcx
cmp rdx, rax
jne 0x10048e8f8
cmp dword [rbp + 0xd8], 0xfffffffe
jne 0x10048d458
mov rsi, rdx
jmp 0x10048cabb
mov rax, qword [sym.vim.exe_no_wait_return]
mov edi, dword [rbp + 0x60]
lea rcx, str.E200:_ReadPre_autocommands_made_the_file_unreadable
sub dword [rax], 1
mov rax, qword [sym.vim.exe_msg_scroll]
mov dword [rax], edi
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10048b4e8
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_save_file_ff
jmp 0x10048dab2
mov rax, r13
sar rax, 3
cmp dword [rbp + 0xc4], 0x4000
cmove r13, rax
jmp 0x10048c863
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call sub.msys_2.0.dll_open
mov dword [rbp + 0x90], eax
test eax, eax
js 0x10048effc
mov qword [rbp + 0x20], rsi
mov dword [rbp + 0x30], 0
mov qword [rbp + 0xb8], 0xffffffffffffffff
mov dword [rbp + 0xc4], 0
jmp 0x10048b9e7
movsxd rsi, eax
mov rax, qword [rbp + 0xc8]
xor edx, edx
lea rcx, [rax + rsi + 1]
mov qword [rbp + 0xb0], rcx
call sym.vim.exe_lalloc
mov rcx, qword [rbp + 0xb0]
test rax, rax
mov r12, rax
je 0x10048f101
mov rbx, qword [rbp + 0xc8]
mov rdx, rdi
mov rcx, rax
mov r8, rbx
add rbx, r12
call sub.msys_2.0.dll_memmove
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x10048ea28
mov r8, rsi
mov rcx, rbx
call sub.msys_2.0.dll_memmove
mov rdx, qword [rbp + 0x150]
mov rcx, rdx
call sym.vim.exe_vim_free
mov rcx, rdi
mov rdi, r12
call sym.vim.exe_vim_free
mov qword [rbp], r13
jmp 0x10048e2ff
xor r12d, r12d
movzx eax, byte [rsi - 2]
movzx ecx, byte [rsi - 1]
lea rdx, [rsi - 2]
test byte [rbp + 0xc4], 0x80
je 0x10048eb4a
shl ecx, 8
add eax, ecx
sub eax, 0xd800
cmp eax, 0x3ff
ja 0x10048ca33
mov rax, qword [rbp + 0x78]
mov r12, rdx
mov rsi, rdx
add rax, rbx
jmp 0x10048ca3f
lea rcx, [rbp + 0x1f0]
mov r8d, esi
mov rdx, r12
call sym.vim.exe_sha256_update
jmp 0x10048e3c3
movsxd r8, dword [rbp + 0x64]
movzx edx, byte [rbp + 0xd8]
mov eax, r8d
neg eax
cdqe
add rbx, rax
mov rcx, rbx
call sub.msys_2.0.dll_memset
mov dword [rbp + 0x64], 0
mov rax, qword [rbp + 0xb8]
cmp rax, 0xffffffffffffffff
je 0x10048efb8
mov rcx, rax
call sub.msys_iconv_2.dll_libiconv_close
jmp 0x10048c963
movsxd rdx, dword [rbp + 0x64]
mov rax, rbx
mov qword [rbp + 0x38], rdi
mov dword [rbp + 0x64], 0
sub rax, rdx
mov qword [rbp + 0x48], rdi
mov byte [rax], 0
mov dword [rbp + 0xd0], 0
jmp 0x10048bd3d
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x38], rdi
jmp 0x10048bb10
lea rcx, str.Cant_find_temp_file_for_conversion
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
test rax, rax
je 0x10048f12e
call sym.vim.exe_msg
mov r10d, dword [rbp + 0x90]
test r10d, r10d
jns 0x10048da7e
jmp 0x10048da57
shl eax, 8
add eax, ecx
jmp 0x10048ea65
lea rax, [rbx + r12]
mov qword [rbp + 8], rdi
mov r15, qword [rbp + 0xb0]
mov r14, qword [rbp + 0xa8]
mov rdi, qword [rbp - 0x18]
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x88], r13
cmp rsi, rax
jb 0x10048de15
mov rax, r12
add qword [rbp + 0x68], r12
lea r12, [rbx - 1]
lea r13, [rax - 1]
jmp 0x10048bde6
lea rsi, [rbp + 0x1f0]
mov rcx, rdi
mov rdx, rsi
call sub.msys_2.0.dll_stat
test eax, eax
js 0x10048cfcf
mov r8d, dword [rbp + 0x18c]
cmp r8d, dword [rbp + 0x20c]
je 0x10048cfcf
mov rax, qword [sym.vim.exe_curbuf]
mov edx, 0xffffffff
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov ecx, dword [rax + 0x10]
call sub.msys_2.0.dll_fchown
cmp eax, 0xffffffff
mov eax, 0x180
cmove r12d, eax
jmp 0x10048cfcf
cmp byte [r12], 0x1a
jne 0x10048d20d
lea rax, [r12 + 1]
cmp rbx, rax
jne 0x10048d20d
jmp 0x10048bfd4
lea rcx, str.Vim:_Reading_from_stdin..._n
call sub.msys_intl_8.dll_libintl_gettext
lea rcx, [0x1006a3657]
mov rdx, rax
call sub.msys_2.0.dll_printf
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
jmp 0x10048b5f4
mov rax, qword [rax]
mov rax, qword [rax + 0x23f8]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x10048c2bc
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x50], 0
jmp 0x10048d8db
mov rax, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov ecx, 0x2d
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
mov r8, rdx
call sym.vim.exe_apply_autocmds_exarg
jmp 0x10048db43
mov qword [rbp + 0x88], r13
movsxd r13, r15d
mov rdx, rsi
lea rcx, [rbp + 0x130]
mov r9d, 0x1e
mov r8, r13
mov qword [rbp + 0x78], r12
mov r15, qword [rbp + 0xb0]
mov qword [rbp + 8], rdi
mov r12d, eax
mov rdi, qword [rbp - 0x18]
mov dword [rbp + 0xb0], r13d
mov r14, qword [rbp + 0xa8]
xor r12d, 1
call sub.msys_2.0.dll___memmove_chk
sub qword [rbp + 0x78], r13
mov r10d, dword [rbp + 0xb0]
mov rax, qword [rbp + 0x78]
mov dword [rbp + 0x64], r10d
lea rdx, [rbx + rax]
jmp 0x10048de03
mov rax, qword [sym.vim.exe_curbuf]
mov edx, dword [rbp - 0x24]
mov rax, qword [rax]
test edx, edx
jne 0x10048ec3b
mov rax, qword [rax + 0x1c00]
cmp byte [rax], 0
mov qword [rbp + 0x50], rax
jne 0x10048ce79
jmp 0x100661c75
mov dword [rbp + 0xf8], 2
test eax, eax
jne 0x10048be2c
jmp 0x10048be21
mov dword [rbp + 0xf8], 0
mov dword [rbp + 0x94], 1
mov dword [rbp + 0x34], 1
jmp 0x10048be2c
lea rcx, str._CONVERSION_ERROR_in_line__ld_
call sub.msys_intl_8.dll_libintl_gettext
mov rsi, qword [rbx]
mov r14, rax
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov r8, qword [rbp + 0x88]
mov rdx, r14
mov r14d, 1
lea rcx, [rsi + rax]
call sub.msys_2.0.dll_sprintf
jmp 0x10048e71a
call sym.vim.exe_msg_add_eol
mov r14d, 1
jmp 0x10048e642
mov rbx, qword [sym.vim.exe_IObuff]
xor r14d, r14d
jmp 0x10048e5f6
mov dword [rbp - 4], 0
mov r13, r12
mov esi, 1
jmp 0x10048ce1b
test al, al
jne 0x10048d824
jmp 0x10048d155
cmp eax, 0x78
sete al
jmp 0x10048d146
mov r8, qword [rbp + 0x68]
mov rdx, rdi
mov ecx, r14d
call sym.vim.exe_msg_add_lines
jmp 0x10048e765
lea rcx, str._New_DIRECTORY_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
xor r9d, r9d
mov r8, rax
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
call sym.vim.exe_filemess
jmp 0x10048d025
cmp qword [rbp + 8], 0
jne 0x10048c941
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rax, qword [rax]
sub rax, qword [rbp + 0x58]
add rax, 1
mov qword [rbp + 8], rax
jmp 0x10048c941
mov edx, dword [rbp + 0x28]
mov eax, 1
or edx, dword [rbp + 0xc4]
mov qword [rbp + 0xb8], 0xffffffffffffffff
jmp 0x10048b91a
lea rcx, str._ILLEGAL_BYTE_in_line__ld_
call sub.msys_intl_8.dll_libintl_gettext
mov rsi, qword [rbx]
mov r14, rax
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov rdx, r14
mov r8, r13
mov r14d, 1
lea rcx, [rsi + rax]
call sub.msys_2.0.dll_sprintf
jmp 0x10048e71a
xor eax, eax
mov edx, dword [rbp + 0x94]
cmp dword [rbp + 0x34], edx
setg al
add eax, eax
mov dword [rbp + 0xf8], eax
jmp 0x10048be2c
lea rcx, [0x1006a3720]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rax
jmp 0x10048e62b
cmp r13, 9
jle 0x10048eef0
mov rsi, qword [rbp + 0xc8]
jmp 0x10048c809
cmp qword [rbp + 0x38], 0
je 0x10048cf57
mov rdi, qword [rbp + 0x38]
jmp 0x10048c81c
cmp dword [rbp + 0x28], 0
jne 0x10048ef19
mov rax, qword [sym.vim.exe_p_ccv]
mov rax, qword [rax]
cmp byte [rax], 0
jne 0x10048ef2c
mov qword [rbp + 0xb8], 0xffffffffffffffff
mov edi, dword [rbp + 0x30]
jmp 0x10048b78d
mov dword [rbp + 0xc4], 0
mov eax, 1
mov qword [rbp + 0xb8], 0xffffffffffffffff
jmp 0x10048b935
mov edx, 4
mov ecx, 4
lea rsi, [0x1006a35ad]
jmp 0x10048c3d8
mov rax, qword [rbp + 0x78]
mov rsi, rbx
mov r12d, 1
lea rdx, [rbx + rax]
jmp 0x10048de03
mov rax, rdi
mov r13, rdx
or rax, rdx
jne 0x10048d6e5
mov rdi, rdx
jmp 0x10048dfff
mov rsi, rdx
jmp 0x10048caaa
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_vim_free
jmp 0x10048c448
mov dword [rbp + 0xa8], 1
mov edi, 1
jmp 0x10048b78d
mov dword [rbp + 0xc4], 0
jmp 0x10048cf15
mov rcx, qword [rbp + 0x150]
mov qword [rbp + 0xb0], r14
mov r12, rdi
call sym.vim.exe_vim_free
cmp qword [rbp + 0xe8], 0
mov qword [rbp + 0x48], r12
sete al
jmp 0x10048bfa7
mov rbx, r12
movsxd rsi, eax
jmp 0x10048ea30
lea rcx, str.cant_read_output_of_charconvert
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
test rax, rax
jne 0x10048da42
mov rcx, qword [rbp + 0x98]
xor r8d, r8d
xor edx, edx
call sub.msys_2.0.dll_open
mov dword [rbp + 0x90], eax
jmp 0x10048e99d
mov r8, qword [rax + 0x98]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov ecx, 0x2f
call sym.vim.exe_apply_autocmds
jmp 0x10048db43
lea rcx, str.E202:_Conversion_made_file_unreadable_
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
cmp qword [rbp + 0xe8], 0
mov qword [rbp + 0xb8], 0xffffffffffffffff
sete al
jmp 0x10048bfa7
cmp dword [rbp + 0xd8], 0xfffffffe
jne 0x10048d458
jmp 0x10048d528
mov dword [rbp + 0xf8], 0
jmp 0x10048be2c
mov qword [rbp + 0xb0], r14
mov r12, rdi
mov dword [rbp + 0xd0], 0
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x48], rdi
jmp 0x10048c638
lea rcx, [0x1006a3707]
mov r9d, 4
lea r8, [0x1006a3400]
xor edx, edx
call sym.vim.exe_set_option_value
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rax]
jmp 0x10048d8c3
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
jmp 0x10048b3d5
mov qword [rbp + 0xb0], r14
mov r12, rdi
call sym.vim.exe_do_outofmem_msg
jmp 0x10048efdd
mov edx, 2
mov ecx, 2
lea rsi, [0x1006a35bc]
jmp 0x10048c3d8
mov r8d, dword [rbp + 0x90]
test r8d, r8d
jns 0x10048da7e
jmp 0x10048da57
mov rcx, qword [sym.vim.exe_need_key_msg]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x98]
mov rcx, rax
call sym.vim.exe_smsg
mov rax, qword [sym.vim.exe_msg_scroll]
mov ecx, r12d
mov dword [rax], 1
call sym.vim.exe_crypt_check_method
mov ecx, dword [rbp + 0xfc]
xor edx, edx
call sym.vim.exe_crypt_get_key
mov qword [rbp + 0x50], rax
test rax, rax
je 0x100661cf6
mov rax, qword [rbp + 0x50]
cmp byte [rax], 0
jne 0x100661d0c
mov rax, qword [sym.vim.exe_curbuf]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rax]
cmp rcx, qword [rax + 0x1c00]
je 0x100661d18
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_curbuf]
mov dword [rbp - 0x24], 1
mov rax, qword [rax]
jmp 0x10048ec3b
mov rax, qword [sym.vim.exe_curbuf]
mov dword [rbp - 0x24], 1
mov rax, qword [rax]
jmp 0x10048ec3b
mov dword [rbp - 0x24], 1
jmp 0x10048ce79
mov dword [rbp - 0x24], 1
jmp 0x10048ec3b