Function at 0x100669890
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov rbx, rcx
mov ecx, 0x200
mov dword [rbp + 0x160], r8d
mov r15, rdx
call sym.vim.exe_alloc
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x10060653f
lea rax, [rbp + 0xe0]
mov r8d, 0x64
mov edx, 8
mov qword [rbp + 0xb8], rbx
mov rcx, rax
mov qword [rbp], rax
mov dword [rbp + 0xc0], 0
call sym.vim.exe_ga_init2
mov dword [rbp + 0xd8], 0xffffffff
test rbx, rbx
je 0x100606553
mov eax, dword [rbp + 0x160]
and eax, 0x1e
mov dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x160]
and eax, 1
mov dword [rbp + 0x38], eax
je 0x10060656f
test r15, r15
je 0x100606364
mov ecx, 0x4c0
call sym.vim.exe_alloc_clear
mov ecx, 0x5a0
mov qword [0x100710878], rax
call sym.vim.exe_alloc_clear
mov ecx, 0xfa0
mov qword [0x100710870], rax
call sym.vim.exe_alloc_clear
mov dword [0x100710864], 0
mov qword [0x100710868], rax
xor eax, eax
test r15, r15
setne al
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x160]
and eax, 8
mov dword [rbp + 0x30], eax
jne 0x100606f9b
xor edi, edi
xor ebx, ebx
call sym.vim.exe_init_history
call sym.vim.exe_get_hislen
mov dword [0x100710880], edi
cmp ebx, eax
mov esi, eax
cmovg ebx, eax
lea eax, [rax - 1]
xor r12d, r12d
lea rax, [rax + rax*2]
lea rdi, [rax*8 + 0x1c]
mov ecx, r12d
call sym.vim.exe_get_histentry
mov rdx, rax
test esi, esi
jle 0x100607b6f
lea rax, [rax + 4]
add rdx, rdi
xor ecx, ecx
nop word [rax + rax]
cmp qword [rax + 4], 0
je 0x1006063df
mov r8d, dword [rax]
test r8d, r8d
je 0x1006063e2
add ecx, 1
add rax, 0x18
cmp rdx, rax
jne 0x1006063d0
cmp ebx, ecx
cmovge ecx, ebx
mov r13d, ecx
test ecx, ecx
jne 0x100607588
lea rax, [0x1007108e0]
mov qword [rax + r12*8], 0
lea rax, [0x100710890]
mov dword [rax + r12*4], r13d
lea rax, [0x1007108b0]
mov dword [rax + r12*4], 0
add r12, 1
cmp r12, 5
jne 0x1006063ae
mov r8, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov dword [rbp + 8], eax
test eax, eax
jne 0x100606cbe
mov r14, qword [rbp + 0xb0]
mov dword [rbp + 0x20], 0
lea r13, [0x1006c94c0]
movzx eax, byte [r14]
mov rdx, r14
cmp al, 0x3e
je 0x100606cbe
nop dword [rax]
movabs r12, 0x100000000
cmp al, 0x7e
ja case.0x100606492.1
movsxd rax, dword [r13 + rax*4]
add rax, r13
jmp rax
lea rcx, str.Missing__
call sub.msys_intl_8.dll_libintl_gettext
mov r8, r12
lea rcx, str.E576:
mov rdx, rax
call fcn.1006054c0
test eax, eax
je 0x100606de5
test r15, r15
je 0x100606500
mov eax, dword [rbp + 0x30]
mov edx, dword [rbp + 0x38]
cmp eax, edx
jle 0x100606500
add eax, ebx
movsxd rsi, ebx
mov edi, eax
shl rsi, 3
sub edi, edx
jmp 0x1006064fb
mov rax, qword [rbp + 0x70]
mov rdx, r15
add ebx, 1
mov rcx, qword [rax + rsi]
add rsi, 8
call fcn.1006056e0
cmp edi, ebx
je 0x100606500
cmp dword [rbp + 0x60], ebx
jg 0x1006064e0
mov rcx, r14
call sym.vim.exe_vim_free
test r15, r15
je 0x100606516
lea rcx, [rbp + 0x60]
call sym.vim.exe_ga_clear
mov r12, qword [rbp + 0xb0]
mov rcx, r12
call sym.vim.exe_vim_free
mov r10d, dword [rbp + 0xc0]
test r10d, r10d
jne 0x100606c0e
mov rcx, qword [rbp]
call sym.vim.exe_ga_clear_strings
nop
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test r15, r15
je 0x100606516
mov dword [rbp + 0xc], 0
mov dword [rbp + 0x38], 0
mov dword [rbp + 8], 0
jmp 0x10060658d
mov edx, dword [rbp + 0x160]
test edx, edx
jne 0x100606c24
mov dword [rbp + 8], 0
test r15, r15
je 0x100606d00
mov rax, qword [sym.vim.exe_firstbuf]
mov qword [rbp - 0x10], rax
lea rcx, str._This_viminfo_file_was_generated_by_Vim__s._n
call sub.msys_intl_8.dll_libintl_gettext
lea r8, [0x1006c92b6]
mov rcx, r15
mov rdx, rax
call sub.msys_2.0.dll_fprintf
lea rcx, str._You_may_edit_it_if_youre_careful__n_n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov r9d, 4
mov r8d, 1
mov rcx, r15
lea rdx, str._Viminfo_version_n_d__d_n_n
call sub.msys_2.0.dll_fprintf
lea rcx, str._Value_of_encoding_when_this_file_was_written_n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rax, qword [sym.vim.exe_p_enc]
lea rdx, str.encoding_s_n_n
mov rcx, r15
mov r8, qword [rax]
call sub.msys_2.0.dll_fprintf
mov ecx, 0x2f
call sym.vim.exe_get_viminfo_parameter
mov rdi, qword [sym.vim.exe_p_viminfo]
mov qword [rbp - 0x18], rdi
test eax, eax
je 0x100606690
mov rax, qword [sym.vim.exe_no_hlsearch]
mov eax, dword [rax]
test eax, eax
je 0x1006083bb
mov r8d, 0x68
lea rdx, str._n_hlsearch_on__H__or_off__h_:_n_c
mov rcx, r15
call sub.msys_2.0.dll_fprintf
mov r9d, 0x2f
xor edx, edx
mov rcx, r15
lea r8, [0x1006c90c8]
call fcn.100604bd0
lea rcx, str.Substitute
call sub.msys_intl_8.dll_libintl_gettext
mov r9d, 0x26
mov edx, 1
mov rcx, r15
mov r8, rax
call fcn.100604bd0
call sym.vim.exe_get_old_sub
mov ecx, 0x2f
mov r12, rax
call sym.vim.exe_get_viminfo_parameter
test eax, eax
je 0x1006066cd
test r12, r12
je 0x1006066cd
lea rcx, str._n_Last_Substitute_String:_n_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rdx, r12
mov rcx, r15
call fcn.100604ae0
mov edx, dword [rbp + 0x38]
mov rcx, r15
call fcn.100605bc0
call sym.vim.exe_get_y_regs
lea rcx, str._n_Registers:_n
mov rbx, rax
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov ecx, 0x3c
call sym.vim.exe_get_viminfo_parameter
mov dword [rbp + 0x18], eax
test eax, eax
js 0x100607e07
mov eax, dword [rbp + 0x18]
test eax, eax
je 0x100607997
mov ecx, 0x73
call sym.vim.exe_get_viminfo_parameter
mov dword [rbp + 0x10], eax
test eax, eax
je 0x100607997
movsxd rax, dword [rbp + 0x10]
mov r14, qword [0x100710878]
mov qword [rbp + 0x38], rbx
xor edi, edi
shl rax, 0xa
mov qword [rbp + 0x28], r14
mov qword [rbp - 8], rax
nop dword [rax]
mov rsi, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x28]
mov rbx, rdi
mov dword [rbp + 0x30], edi
shl rbx, 5
mov rax, qword [rsi]
test rdx, rdx
je 0x1006073e0
add rbx, rdx
cmp qword [rbx], 0
je 0x1006073e0
test rax, rax
je 0x10060678c
mov rax, qword [rsi + 0x18]
cmp qword [rbx + 0x18], rax
cmovle rbx, rsi
mov rax, qword [rbx + 8]
mov qword [rbp + 0x20], rax
mov esi, eax
test eax, eax
je 0x1006067f0
cmp eax, 1
je 0x1006075c0
mov eax, dword [rbp + 0x10]
test eax, eax
jle 0x1006073f8
mov eax, dword [rbp + 0x20]
test eax, eax
jle 0x1006073f8
mov r12, qword [rbx]
xor r13d, r13d
xor r14d, r14d
nop word [rax + rax]
mov rcx, qword [r12 + r13*8]
add r13, 1
call sub.msys_2.0.dll_strlen
lea r14, [r14 + rax + 1]
cmp esi, r13d
jg 0x1006067c8
cmp r14, qword [rbp - 8]
jle 0x1006073f8
nop dword [rax]
add rdi, 1
add qword [rbp + 0x38], 0x20
cmp rdi, 0x25
jne 0x100606750
mov r14, qword [rbp + 0x28]
xor ebx, ebx
test r14, r14
jne 0x10060681d
jmp 0x100606889
add rbx, 0x20
cmp rbx, 0x4c0
je 0x100606871
lea rax, [r14 + rbx]
mov rcx, qword [rax]
test rcx, rcx
je 0x100606810
cmp qword [rax + 8], 0
jle 0x100606858
xor esi, esi
nop word [rax + rax]
mov rcx, qword [rcx + rsi*8]
add rsi, 1
call sym.vim.exe_vim_free
mov rax, qword [0x100710878]
add rax, rbx
cmp rsi, qword [rax + 8]
mov rcx, qword [rax]
jl 0x100606838
call sym.vim.exe_vim_free
add rbx, 0x20
mov r14, qword [0x100710878]
cmp rbx, 0x4c0
jne 0x10060681d
test r14, r14
je 0x100606889
mov rcx, r14
call sym.vim.exe_vim_free
mov qword [0x100710878], 0
call sym.vim.exe_get_globvar_ht
mov rsi, rax
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
movzx eax, byte [rcx]
test al, al
jne 0x1006068cf
jmp 0x100606942
cmp al, 0x6e
je 0x100606942
mov edx, 0x2c
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100606942
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x100606942
cmp al, 0x21
jne 0x1006068a8
lea rcx, str._n_global_variables:_n
lea rdi, [0x1006c90c8]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
lea r12, [0x1006c96bc]
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rax, qword [rsi + 8]
mov r13, qword [rsi + 0x28]
mov rsi, qword [sym.vim.exe_hash_removed]
mov ebx, eax
test eax, eax
jle 0x100606942
nop dword [rax]
mov r14, qword [r13 + 8]
cmp r14, rsi
je 0x1006076b0
test r14, r14
je 0x1006076b0
mov rcx, r14
sub ebx, 1
call sym.vim.exe_var_flavour
cmp eax, 2
je 0x100607929
add r13, 0x10
test ebx, ebx
jne 0x100606910
call sym.vim.exe_get_namedfm
mov ecx, 0x66
mov rbx, rax
call sym.vim.exe_get_viminfo_parameter
test eax, eax
je 0x1006076c0
lea rcx, str._n_File_marks:_n
xor esi, esi
mov edi, 0x41
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
nop word [rax + rax]
mov rax, qword [0x100710870]
lea rdx, [rbx + rsi]
test rax, rax
je 0x1006069a0
add rax, rsi
mov rcx, qword [rbx + rsi + 0x20]
cmp qword [rax + 0x20], rcx
cmovg rdx, rax
cmp qword [rdx], 0
je 0x1006069b7
mov r9d, edi
mov r8d, 0x27
mov rcx, r15
call fcn.1006055b0
add rsi, 0x28
add edi, 1
cmp rsi, 0x410
jne 0x100606980
mov rsi, qword [sym.vim.exe_curbuf]
mov r12, qword [sym.vim.exe_curwin]
mov rdi, qword [rsi]
cmp qword [rdi + 0x88], 0
je 0x1006069f9
mov rcx, rdi
call sym.vim.exe_bt_terminal
mov r12, qword [sym.vim.exe_curwin]
test eax, eax
je 0x100608b00
mov esi, 0x30
mov r14d, 0x1a
mov edi, 0x1a
jmp 0x100606a60
mov r9, qword [rax + 0x20]
mov rcx, qword [r13 + 0x20]
cmp r9, rcx
jg 0x1006078a0
mov r8, qword [r13]
test r8, r8
je 0x1006078a0
add r14d, 1
cmp rdx, r8
je 0x100608440
nop dword [rax + rax]
mov r9d, esi
mov r8d, 0x27
mov rdx, r13
mov rcx, r15
call fcn.1006055b0
add esi, 1
cmp esi, 0x3a
je 0x100606af4
movsxd rax, r14d
mov rdx, qword [0x100710870]
lea rax, [rax + rax*4]
lea r13, [rbx + rax*8]
test rdx, rdx
je 0x100607880
movsxd rax, edi
lea rax, [rax + rax*4]
lea rax, [rdx + rax*8]
mov rdx, qword [rax]
test rdx, rdx
jne 0x100606a10
mov r8, qword [r13]
add r14d, 1
test r8, r8
jne 0x100606a40
mov rdx, qword [rax + 0x20]
cmp qword [r13 + 0x20], rdx
jne 0x100606a54
mov edx, dword [rax + 0x10]
test edx, edx
je 0x100606ab2
cmp edx, dword [r13 + 0x10]
je 0x100606ad5
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x100606ad8
mov rdx, qword [r13 + 0x18]
test rdx, rdx
je 0x100606ad8
mov qword [rbp + 0x38], r8
call sub.msys_2.0.dll_strcmp
mov r8, qword [rbp + 0x38]
test eax, eax
jne 0x100606ad8
add edi, 1
test r8, r8
jne 0x100606a40
nop dword [rax]
add esi, 1
cmp esi, 0x3a
jne 0x100606a60
lea rcx, str._n_Jumplist__newest_first_:_n
mov ebx, 0x64
xor edi, edi
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
call sym.vim.exe_setpcmark
mov rcx, qword [r12]
xor edx, edx
call sym.vim.exe_cleanup_jumplist
mov rax, qword [r12]
mov esi, dword [rax + 0x1ea0]
sub esi, 1
jmp 0x100606baa
movsxd rax, esi
mov rcx, qword [r12]
lea rax, [rax + rax*4]
shl rax, 3
lea r9, [rcx + rax + 0xf00]
test rdx, rdx
je 0x100606b75
cmp dword [0x100710864], edi
jle 0x100606b75
movsxd r8, edi
lea r8, [r8 + r8*4]
lea r13, [rdx + r8*8]
mov rdx, qword [r13 + 0x20]
cmp qword [rcx + rax + 0xf20], rdx
jl 0x100606bd5
mov r13, r9
sub esi, 1
mov ecx, dword [r13 + 0x10]
test ecx, ecx
jne 0x100606be0
cmp qword [r13], 0
je 0x100606ba1
mov r9d, 0x27
mov r8d, 0x2d
mov rdx, r13
mov rcx, r15
call fcn.1006055b0
sub ebx, 1
je 0x1006076c0
mov rdx, qword [0x100710868]
test esi, esi
jns 0x100606b38
test rdx, rdx
je 0x1006076c0
cmp dword [0x100710864], edi
jle 0x1006076c0
movsxd rax, edi
lea rax, [rax + rax*4]
lea r13, [rdx + rax*8]
mov ecx, dword [r13 + 0x10]
add edi, 1
test ecx, ecx
je 0x100606b83
call sym.vim.exe_buflist_findnr
mov r14, rax
test rax, rax
je 0x100606ba1
mov rcx, rax
call sym.vim.exe_bt_terminal
test eax, eax
jne 0x100606ba1
mov rcx, qword [r14 + 0x88]
call fcn.100604e40
test eax, eax
jne 0x100606ba1
jmp 0x100606b83
lea rcx, [rbp + 0xc0]
xor r8d, r8d
xor edx, edx
call sym.vim.exe_convert_setup
jmp 0x100606535
mov rcx, qword [rbp + 0xb0]
jmp 0x100606c40
mov rcx, qword [rbp + 0xb0]
cmp byte [rcx], 0x3e
je 0x10060657d
mov r8, qword [rbp + 0xb8]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
je 0x100606c30
mov dword [rbp + 8], eax
jmp 0x100606584
lea rcx, str.Illegal_starting_char
call sub.msys_intl_8.dll_libintl_gettext
mov r8, r14
lea rcx, str.E575:
mov rdx, rax
call fcn.1006054c0
test eax, eax
jne 0x100608159
mov r8, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov edi, eax
test edi, edi
jne 0x100608888
mov r14, qword [rbp + 0xb0]
movzx eax, byte [r14]
mov rdx, r14
cmp al, 0x3e
jne 0x100606478
test r15, r15
je 0x100607eb4
mov rax, qword [sym.vim.exe_firstbuf]
mov rbx, qword [rax]
mov qword [rbp - 0x10], rax
test rbx, rbx
je 0x100606598
nop
mov rcx, rbx
call sym.vim.exe_fmarks_check_names
mov rbx, qword [rbx + 0x68]
test rbx, rbx
jne 0x100606ce0
test r15, r15
jne 0x10060658d
nop word [rax + rax]
mov r11d, dword [rbp + 0xc]
mov r12, qword [rbp + 0xb0]
test r11d, r11d
je 0x10060651d
mov ecx, 0x200
call sym.vim.exe_alloc
mov r14, rax
test rax, rax
je 0x100606508
mov byte [rax], 0
test r15, r15
je 0x100608402
mov eax, dword [rbp + 0x60]
mov qword [rbp + 0x20], 0
test eax, eax
jle 0x100606d69
mov rcx, qword [rbp + 0x70]
movsxd rdx, eax
lea r9, [sym.vim.exe_buf_compare]
mov r8d, 8
call sub.msys_2.0.dll_qsort
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov qword [rbp + 0x20], rax
mov ecx, 0x27
call sym.vim.exe_get_viminfo_parameter
mov ecx, dword [rbp + 8]
mov qword [rbp + 0x18], 0
mov dword [rbp + 0x30], eax
test ecx, ecx
jne 0x10060903e
mov dword [rbp + 0x38], 0
test r15, r15
sete byte [rbp + 0x28]
xor ebx, ebx
mov edi, dword [rbp + 0x38]
cmp dword [rbp + 0x30], edi
lea r9, [r12 + 1]
lea rdi, [rbp + 0xb0]
setg sil
or sil, byte [rbp + 0x28]
test sil, sil
je 0x100606500
movzx eax, byte [r12]
cmp al, 0x3e
je 0x100607bb7
cmp al, 0x23
ja 0x100606494
movabs rdx, 0x800002400
bt rdx, rax
jae 0x100606494
mov r8, qword [rbp + 0xb8]
mov edx, 0x200
mov rcx, r12
call sym.vim.exe_vim_fgets
test eax, eax
je 0x100606d99
jmp 0x1006064ba
test r15, r15
jne case.0x100606492.0
mov rax, qword [sym.vim.exe_p_viminfo]
mov rcx, qword [rax]
movzx eax, byte [rcx]
test al, al
jne 0x100606e5b
jmp case.0x100606492.0
cmp al, 0x6e
je 0x100606f6f
mov edx, 0x2c
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100606f6f
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x100606f6f
cmp al, 0x21
jne 0x100606e30
mov rax, qword [rbp + 0xb0]
mov edx, 9
lea rcx, [rax + 1]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100606f6f
mov byte [rax], 0
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
sub eax, 0x42
cmp al, 0x16
ja 0x100608da9
lea rdx, [0x1006c9860]
movzx eax, al
mov ebx, dword [rdx + rax*4]
mov edx, 9
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100606f6f
lea edx, [rbx - 7]
mov dword [rbp + 0x50], ebx
and edx, 0xfffffffa
jne 0x1006094e0
sub rax, qword [rbp + 0xb0]
lea rcx, [rbp + 0xb0]
mov r8d, 1
lea edx, [rax + 1]
call fcn.1006047c0
mov qword [rbp + 0x58], rax
mov rcx, rax
lea eax, [rbx - 0xb]
cmp eax, 1
ja 0x100609058
xor edx, edx
call sym.vim.exe_eval_expr
mov r12, rax
test rax, rax
je 0x10060904c
mov rcx, qword [rbp + 0x58]
call sym.vim.exe_vim_free
movdqu xmm1, xmmword [r12]
mov rcx, r12
movaps xmmword [rbp + 0x50], xmm1
call sym.vim.exe_vim_free
lea rcx, [rbp + 0x60]
lea r12, [rbp + 0x50]
call sym.vim.exe_save_funccal
mov rax, qword [rbp + 0xb0]
xor r8d, r8d
mov rdx, r12
lea rcx, [rax + 1]
call sym.vim.exe_set_var
call sym.vim.exe_restore_funccal
mov eax, dword [rbp + 0x50]
cmp eax, 7
je 0x100608fb9
lea edx, [rax - 0xb]
cmp edx, 1
jbe 0x100606f67
mov r14, qword [rbp + 0xb0]
cmp eax, 8
jne case.0x100606492.0
mov rcx, r12
call sym.vim.exe_clear_tv
mov r14, qword [rbp + 0xb0]
nop word cs:[rax + rax]
mov r8, qword [rbp + 0xb8]
mov edx, 0x200
mov rcx, r14
call sym.vim.exe_vim_fgets
mov edi, eax
jmp 0x100606ca0
xor edi, edi
test r15, r15
mov ebx, 0x270f
sete dil
jmp 0x100606385
cmp dword [rbp + 0xd8], 1
jg case.0x100606492.0
mov edx, dword [rbp + 0x28]
lea rcx, [rbp + 0xb0]
call fcn.100605350
mov edi, eax
jmp 0x100606ca0
mov qword [rbp + 0x60], r14
movzx eax, byte [r14]
cmp al, 0x7e
je 0x100607e19
mov dword [rbp + 0x18], 0
xor ebx, ebx
xor edi, edi
xor r12d, r12d
mov qword [rbp + 0x10], 0
xor esi, esi
cmp al, 0x2f
je 0x10060844e
cmp al, 0x26
je 0x100608164
cmp al, 0x68
je 0x10060883b
cmp al, 0x48
jne 0x100606c86
mov dword [0x100710860], 1
jmp 0x100606c86
cmp dword [rbp + 0xd8], 3
jg case.0x100606492.0
call sym.vim.exe_get_namedfm
mov rcx, qword [rbp + 0xb0]
mov rsi, rax
lea rbx, [rcx + 1]
mov qword [rbp + 0x60], rbx
movzx eax, byte [rcx + 1]
test al, al
js 0x100607065
movzx edx, byte [rcx]
cmp dl, 0x27
je 0x100608c49
cmp dl, 0x2d
je 0x10060857e
mov r8, qword [rbp + 0xb8]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov edi, eax
jmp 0x100606ca0
mov ecx, 0x63
call sym.vim.exe_get_viminfo_parameter
test eax, eax
jne 0x100607e56
mov r8, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov edi, eax
mov eax, dword [rbp + 0x38]
mov dword [rbp + 0x20], eax
jmp 0x100606ca0
lea rax, [r14 + 1]
mov qword [rbp + 0x50], rax
cmp byte [r14 + 1], 0x3c
je 0x100607de6
lea r14, [rbp + 0x60]
mov r8d, 0x14
mov edx, 0x28
mov rcx, r14
call sym.vim.exe_ga_init2
lea rcx, [rbp + 0x50]
call sym.vim.exe_getdigits
cmp eax, 3
je 0x10060895b
jg 0x1006079b5
cmp eax, 1
je 0x100608890
cmp eax, 2
jne 0x100608934
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0xb0]
mov r8, r14
call fcn.100604f00
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x60]
cmp eax, 3
jle 0x100607a92
mov rbx, qword [rbp + 0x70]
mov eax, dword [rbx]
test eax, eax
jne 0x100607aa0
mov esi, dword [rbx + 0x28]
test esi, esi
jne 0x100607aa0
mov edx, dword [rbx + 0x50]
mov eax, edx
and eax, 0xfffffffd
jne 0x100608ff7
cmp dword [rbx + 0x78], 1
jne 0x100607aa0
mov rcx, qword [rbx + 8]
mov dword [rbp - 0x18], ecx
cmp ecx, 4
jg 0x100607aa0
movsxd rsi, ecx
lea r10, [0x100710890]
lea rdi, [0x1007108b0]
mov r10d, dword [r10 + rsi*4]
cmp dword [rdi + rsi*4], r10d
jge 0x100607aa0
mov rdi, qword [rbx + 0x88]
test rdi, rdi
je 0x100607aa0
cmp byte [rdi], 0
je 0x100607aa0
cmp ecx, 1
jne 0x1006071b0
test edx, edx
je 0x1006094cf
mov dword [rbp + 0x10], 0
mov eax, dword [rbp + 0x28]
mov r9d, dword [rbp + 0x10]
mov rdx, rdi
mov r8d, dword [0x100710880]
mov dword [rsp + 0x20], eax
call sym.vim.exe_in_history
mov dword [rbp - 8], eax
test eax, eax
jne 0x100607a8f
lea rax, [0x1007108b0]
mov eax, dword [rax + rsi*4]
mov dword [rbp - 0x20], eax
test eax, eax
jle 0x10060724e
lea rax, [0x1007108e0]
mov qword [rbp - 0x28], rsi
mov r8, qword [rax + rsi*8]
mov qword [rbp - 0x10], rbx
mov rbx, r8
mov rsi, qword [rbx + 8]
mov rcx, rdi
mov rdx, rsi
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x100607236
cmp dword [rbp - 0x18], 1
jne 0x100609087
mov rcx, rsi
call sub.msys_2.0.dll_strlen
movzx eax, byte [rsi + rax + 1]
cmp dword [rbp + 0x10], eax
je 0x100609087
add dword [rbp - 8], 1
add rbx, 0x18
mov eax, dword [rbp - 8]
cmp eax, dword [rbp - 0x20]
jne 0x100607203
mov rbx, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x28]
movsxd r10, dword [rbx + 0x98]
lea rcx, [r10 + 2]
mov qword [rbp - 0x10], r10
call sym.vim.exe_alloc
mov r10, qword [rbp - 0x10]
test rax, rax
mov rcx, rax
je 0x100607a8f
movsxd rax, dword [rbp - 8]
mov rdx, qword [rbx + 0x30]
lea r8, [r10 + 1]
mov qword [rbp - 8], r10
imul r9, rax, 0x18
lea rax, [0x1007108e0]
mov rax, qword [rax + rsi*8]
mov qword [rax + r9 + 0x10], rdx
mov rdx, rdi
lea rdi, [0x1007108e0]
mov qword [rbp - 0x10], r9
call sub.msys_2.0.dll_memmove
movzx edx, byte [rbp + 0x10]
mov r10, qword [rbp - 8]
mov rcx, rax
mov r9, qword [rbp - 0x10]
mov byte [rax + r10 + 1], dl
mov rax, qword [rdi + rsi*8]
add rax, r9
mov qword [rax + 8], rcx
mov qword [rax], r12
lea rax, [0x1007108b0]
add dword [rax + rsi*4], 1
jmp 0x100607a8f
mov r10d, dword [rbp + 0x30]
test r10d, r10d
jne 0x1006072f7
call sym.vim.exe_get_old_sub
test rax, rax
jne 0x100606c86
lea rcx, [rbp + 0xb0]
mov r8d, 1
mov edx, 1
call fcn.1006047c0
mov rcx, rax
call sym.vim.exe_set_old_sub
jmp 0x100606c86
cmp dword [rbp + 0xd8], 2
jg 0x100607da4
lea rax, [r14 + 1]
xor esi, esi
mov qword [rbp + 0x60], rax
movzx edx, byte [r14 + 1]
cmp dl, 0x22
jne 0x10060734c
lea rax, [r14 + 2]
mov esi, dword [rbp + 0x38]
mov qword [rbp + 0x60], rax
movzx edx, byte [r14 + 2]
mov ecx, edx
and ecx, 0xffffffdf
sub ecx, 0x41
cmp cl, 0x19
jbe 0x10060736d
movzx ecx, dl
sub ecx, 0x30
cmp ecx, 9
jbe 0x10060736d
cmp dl, 0x2d
jne 0x10060854d
mov ebx, dword [rbp + 0x38]
lea rdx, [rax + 1]
mov qword [rbp + 0x60], rdx
movzx ecx, byte [rax]
xor edx, edx
call sym.vim.exe_get_yank_register
call sym.vim.exe_get_y_current
mov edx, dword [rbp + 0x30]
mov r12, rax
mov rax, qword [rbp + 0x60]
test edx, edx
jne 0x10060820b
cmp qword [r12], 0
movzx eax, byte [rax]
je 0x1006084d8
cmp al, 0x40
je 0x100608784
mov dword [rbp + 0x10], 0
xor ebx, ebx
xor r14d, r14d
mov dword [rbp + 0x18], 0
jmp 0x10060828d
mov edx, dword [rbp + 0x28]
lea rcx, [rbp + 0xb0]
call fcn.1006059e0
mov edi, eax
jmp 0x100606ca0
test rax, rax
je 0x1006067f0
mov rbx, qword [rbp + 0x38]
jmp 0x10060678c
movzx r13d, byte [rbx + 0x10]
lea r12, str.LINE
cmp r13b, 1
je 0x10060741b
lea r12, str.BLOCK
cmp r13b, 2
jne 0x100607570
call sym.vim.exe_get_y_previous
cmp qword [rbp + 0x38], rax
je 0x1006079a3
mov ecx, dword [rbp + 0x30]
call sym.vim.exe_get_register_name
lea rdx, [0x1006c93cf]
mov rcx, r15
movzx r13d, al
mov r8d, r13d
call sub.msys_2.0.dll_fprintf
call sym.vim.exe_get_execreg_lastc
cmp r13d, eax
je 0x100607917
mov r9d, dword [rbx + 0x14]
mov r8, r12
lea rdx, str._t_s_t_d_n
mov rcx, r15
call sub.msys_2.0.dll_fprintf
mov eax, dword [rbp + 0x18]
test eax, eax
jle 0x1006075f8
mov edx, dword [rbp + 0x20]
cmp eax, edx
jge 0x1006075f8
mov esi, dword [rbp + 0x18]
xor r12d, r12d
nop dword [rax + rax]
mov rdx, r15
mov ecx, 9
call sub.msys_2.0.dll_putc
mov rax, qword [rbx]
mov rcx, r15
mov rdx, qword [rax + r12*8]
add r12, 1
call fcn.100604ae0
cmp esi, r12d
jg 0x100607490
call sym.vim.exe_get_y_previous
xor r12d, r12d
cmp rax, qword [rbp + 0x38]
sete r12b
call sym.vim.exe_get_execreg_lastc
cmp r13d, eax
je 0x100607663
mov rax, qword [rbx + 0x18]
mov r9d, r12d
mov r8d, 3
mov rcx, r15
lea rdx, str._d__d__d__d__d__d__ld
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x38], eax
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x20], eax
call sub.msys_2.0.dll_fprintf
xor r12d, r12d
mov r13d, 0x1b9
nop word [rax + rax]
mov rdx, r15
mov ecx, 0x2c
call sub.msys_2.0.dll_putc
mov rax, qword [rbx]
lea r8d, [r13 - 1]
mov rcx, r15
mov rdx, qword [rax + r12*8]
add r12, 1
call fcn.100604cc0
mov r13d, eax
cmp esi, r12d
jg 0x100607520
mov rdx, r15
mov ecx, 0xa
call sub.msys_2.0.dll_putc
mov rax, qword [0x100710878]
mov qword [rbp + 0x28], rax
jmp 0x1006067f0
lea r12, str.CHAR
test r13b, r13b
jne 0x100669890
jmp 0x10060741b
movsxd rax, ecx
xor edx, edx
lea rcx, [rax + rax*2]
shl rcx, 3
call sym.vim.exe_lalloc
lea rdx, [0x1007108e0]
test rax, rax
mov qword [rdx + r12*8], rax
mov eax, 0
cmove r13d, eax
jmp 0x10060640a
movzx r13d, byte [rbx + 0x10]
test r13b, r13b
jne 0x1006078ab
mov r12, qword [rbx]
mov rax, qword [r12]
cmp byte [rax], 0
je 0x1006067f0
mov eax, dword [rbp + 0x10]
test eax, eax
jg 0x1006067bc
lea r12, str.CHAR
jmp 0x10060741b
mov eax, dword [rbp + 0x20]
test eax, eax
jg 0x100607485
call sym.vim.exe_get_y_previous
xor esi, esi
cmp rax, qword [rbp + 0x38]
sete sil
call sym.vim.exe_get_execreg_lastc
cmp r13d, eax
je 0x10060884a
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x20], eax
mov r9d, esi
mov r8d, 3
lea rdx, str._d__d__d__d__d__d__ld
mov rcx, r15
call sub.msys_2.0.dll_fprintf
jmp 0x10060754c
mov rax, qword [rbx + 0x18]
mov r9d, r12d
mov r8d, 3
mov rcx, r15
or r9d, 2
lea rdx, str._d__d__d__d__d__d__ld
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x38], eax
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x20], eax
call sub.msys_2.0.dll_fprintf
jmp 0x10060750e
add r13, 0x10
jmp 0x100606910
mov rax, qword [0x100710870]
xor ebx, ebx
test rax, rax
jne 0x1006076d7
jmp 0x10060770a
mov rax, qword [0x100710870]
mov rcx, qword [rax + rbx + 0x18]
add rbx, 0x28
call sym.vim.exe_vim_free
cmp rbx, 0x5a0
jne 0x1006076d0
mov rcx, qword [0x100710870]
test rcx, rcx
je 0x10060770a
call sym.vim.exe_vim_free
mov qword [0x100710870], 0
mov rcx, qword [0x100710868]
test rcx, rcx
je 0x100607765
mov r14d, dword [0x100710864]
test r14d, r14d
jle 0x100607755
xor esi, esi
xor ebx, ebx
nop word cs:[rax + rax]
mov rcx, qword [rcx + rsi + 0x18]
add ebx, 1
add rsi, 0x28
call sym.vim.exe_vim_free
cmp ebx, dword [0x100710864]
mov rcx, qword [0x100710868]
jl 0x100607730
test rcx, rcx
je 0x100607765
call sym.vim.exe_vim_free
mov qword [0x100710868], 0
mov rcx, r15
call fcn.100606070
mov r13d, dword [rbp + 0xe0]
test r13d, r13d
jg 0x100607aec
mov r12d, dword [rbp + 0xc]
test r12d, r12d
jne 0x100607b53
xor r12d, r12d
mov rax, qword [sym.vim.exe_first_tabpage]
mov rsi, qword [sym.vim.exe_curtab]
mov rdi, qword [sym.vim.exe_firstwin]
mov rbx, qword [rax]
test rbx, rbx
je 0x1006077d9
nop word [rax + rax]
cmp rbx, qword [rsi]
je 0x100607870
mov r13, qword [rbx + 0x20]
jmp 0x1006077cc
mov rcx, r13
call sym.vim.exe_set_last_cursor
mov r13, qword [r13 + 0x18]
test r13, r13
jne 0x1006077c0
mov rbx, qword [rbx]
test rbx, rbx
jne 0x1006077b0
lea rcx, str._n_History_of_marks_within_files__newest_to_oldest_:_n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rax, qword [rbp - 0x10]
mov rbx, qword [rax]
test rbx, rbx
jne 0x10060782d
jmp 0x100606d00
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x100607820
cmp byte [rax], 0
jne 0x1006078bb
nop dword [rax]
mov rbx, qword [rbx + 0x68]
test rbx, rbx
je 0x100606d00
mov esi, dword [rbx + 0x1220]
test esi, esi
je 0x100607820
cmp qword [rbx + 0x338], 0
jne 0x100607808
lea rax, [rbx + 0x168]
lea rdx, [rbx + 0x308]
jmp 0x100607861
add rax, 0x10
cmp rdx, rax
je 0x100607820
cmp qword [rax], 0
je 0x100607858
jmp 0x100607808
mov r13, qword [rdi]
jmp 0x1006077cc
mov r8, qword [r13]
add r14d, 1
test r8, r8
je 0x100606ae8
jmp 0x100606a40
add edi, 1
mov r13, rax
jmp 0x100606a40
mov edx, dword [rbp + 0x10]
test edx, edx
jg 0x1006067b9
jmp 0x1006073fd
mov rcx, rbx
call sym.vim.exe_bt_terminal
test eax, eax
jne 0x100607820
mov rcx, qword [rbx + 0x88]
call fcn.100604e40
test eax, eax
jne 0x100607820
test r12, r12
je 0x100608878
mov edx, 1
mov rcx, r12
call sym.vim.exe_ga_grow
cmp eax, 1
jne 0x100607820
movsxd rax, dword [r12]
mov rdx, qword [r12 + 0x10]
lea ecx, [rax + 1]
mov dword [r12], ecx
mov qword [rdx + rax*8], rbx
jmp 0x100607820
mov rdx, r15
mov ecx, 0x40
call sub.msys_2.0.dll_fputc
jmp 0x100607456
cmp dword [r14 - 0x11], 0xf
ja case.default.0x10060793b
mov eax, dword [r14 - 0x11]
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
lea rdi, [0x1006c922e]
mov r9, rdi
mov r8, r14
lea rdx, str.__s_t_s_t
mov rcx, r15
call sub.msys_2.0.dll_fprintf
mov eax, dword [r14 - 0x11]
sub eax, 3
cmp eax, 1
jbe 0x100607b76
lea rdx, [rbp + 0x50]
lea rcx, [r14 - 0x11]
xor r9d, r9d
lea r8, [rbp + 0x60]
call sym.vim.exe_echo_string
mov rdx, rax
test rax, rax
jne 0x100607baa
mov rcx, qword [rbp + 0x50]
call sym.vim.exe_vim_free
jmp case.0x10060793b.0
mov r14, qword [0x100710878]
jmp 0x100606807
mov rdx, r15
mov ecx, 0x22
call sub.msys_2.0.dll_fputc
jmp 0x10060742a
cmp eax, 4
jne 0x100608934
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0xb0]
mov r8, r14
call fcn.100604f00
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x60]
cmp eax, 4
jle 0x100607a92
mov rbx, qword [rbp + 0x70]
mov eax, dword [rbx]
test eax, eax
jne 0x100607aa0
mov r11d, dword [rbx + 0x28]
test r11d, r11d
jne 0x100607aa0
mov r10d, dword [rbx + 0x50]
test r10d, r10d
jne 0x100607aa0
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x100608ff7
cmp dword [rbx + 0xa0], 1
jne 0x100607aa0
mov rdi, qword [rbx + 8]
lea edx, [rdi - 0x30]
cmp edi, 0x27
je 0x100609120
cmp edx, 9
jbe 0x100609120
sub edi, 0x41
cmp edi, 0x19
ja 0x100607aa0
mov rdx, qword [rbx + 0x30]
mov qword [rbp - 8], rdx
mov rsi, rdx
mov rdx, qword [rbx + 0x58]
mov dword [rbp - 0x10], edx
test rsi, rsi
jle 0x100607aa0
test edx, edx
js 0x100607aa0
mov rax, qword [rbx + 0x80]
mov qword [rbp + 0x10], rax
call sym.vim.exe_get_namedfm
mov rsi, rax
mov rax, qword [0x100710870]
test rax, rax
jne 0x1006090c5
movsxd rax, edi
imul rax, rax, 0x28
add rsi, rax
jne 0x100609190
mov eax, dword [rbp + 0x60]
test eax, eax
jle 0x1006087d8
mov rbx, qword [rbp + 0x70]
mov eax, dword [rbx]
xor edi, edi
xor esi, esi
jmp 0x100607ad0
mov rcx, qword [rbx + 0x18]
add edi, 1
add rsi, 0x28
call sym.vim.exe_vim_free
cmp edi, dword [rbp + 0x60]
jge 0x1006087d8
mov rbx, qword [rbp + 0x70]
mov eax, dword [rbx + rsi]
add rbx, rsi
cmp eax, 1
jne 0x100607ab0
mov r8d, dword [rbx + 0x24]
test r8d, r8d
je 0x100607ab0
mov rcx, qword [rbx + 0x10]
call sym.vim.exe_vim_free
jmp 0x100607ab0
lea rcx, str._n_Bar_lines__copied_verbatim:_n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r15
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov edi, dword [rbp + 0xe0]
test edi, edi
jle 0x10060777d
xor ebx, ebx
xor edx, edx
nop dword [rax]
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rax + rbx*8]
test edx, edx
jne 0x100607b2d
cmp byte [rcx + 1], 0x3c
je 0x100607b3a
mov rdx, r15
call sub.msys_2.0.dll_fputs
mov edx, 1
add rbx, 1
cmp dword [rbp + 0xe0], ebx
jg 0x100607b18
mov r12d, dword [rbp + 0xc]
test r12d, r12d
je 0x10060778a
lea r12, [rbp + 0x60]
mov r8d, 0x32
mov edx, 8
mov rcx, r12
call sym.vim.exe_ga_init2
jmp 0x10060778d
xor ecx, ecx
jmp 0x1006063eb
mov rax, qword [r14 - 9]
lea rcx, [rbp + 0x60]
xor edx, edx
mov r8d, 0x41
lea r9, [0x1006c9410]
mov qword [rbp + 0x38], rcx
mov qword [rsp + 0x20], rax
call sub.msys_2.0.dll___sprintf_chk
mov rcx, qword [rbp + 0x38]
mov qword [rbp + 0x50], 0
mov rdx, rcx
mov rcx, r15
call fcn.100604ae0
jmp 0x100607989
mov rcx, r9
mov qword [rbp + 0x10], r9
call sym.vim.exe_skipwhite
sub rax, qword [rbp + 0xb0]
xor r8d, r8d
mov rcx, rdi
mov rdx, rax
call fcn.1006047c0
mov r9, qword [rbp + 0x10]
test rax, rax
mov r13, rax
je 0x100606db3
mov rcx, rax
call sub.msys_2.0.dll_strlen
lea rsi, [r13 + rax]
cmp r13, rsi
jne 0x100607c09
jmp 0x100607c1c
sub rsi, 1
cmp r13, rsi
je 0x100607c1c
movzx eax, byte [rsi]
test al, al
je 0x100607c00
movzx ecx, al
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x100607c00
cmp byte [rsi], 1
mov rax, qword [rbp + 0x18]
sbb rsi, 0xffffffffffffffff
mov byte [rsi], 0
test rax, rax
je 0x100607c40
mov r8d, 0xffffffff
mov rdx, r13
mov rcx, rax
call sym.vim.exe_list_append_string
test r15, r15
je 0x100608cc0
mov rax, qword [sym.vim.exe_firstbuf]
mov rdi, qword [rax]
test rdi, rdi
je 0x100607ca2
nop dword [rax + rax]
mov rdx, qword [rdi + 0x88]
test rdx, rdx
je 0x100607c99
mov dword [rsp + 0x20], 1
mov r9d, 0x200
mov r8, r14
xor ecx, ecx
call sym.vim.exe_home_replace
mov rdx, r14
mov rcx, r13
call sym.vim.exe_vim_fnamecmp
mov esi, eax
test eax, eax
je 0x1006088b4
mov rdi, qword [rdi + 0x68]
test rdi, rdi
jne 0x100607c60
cmp qword [rbp + 0x20], 0
je 0x100607cd0
mov r8, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
jne 0x100607cd0
cmp byte [r12], 9
je 0x100608ef3
mov r9, r15
mov r8d, 3
mov edx, 1
lea rcx, [0x1006c9173]
call sub.msys_2.0.dll_fwrite
mov rdx, r13
mov rcx, r15
call fcn.100604ae0
add dword [rbp + 0x38], 1
mov edi, 1
xor esi, esi
mov rcx, r13
call sym.vim.exe_vim_free
mov dword [rbp + 0x5c], 0
nop
mov r8, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
jne 0x10060892b
cmp byte [r12], 9
jne 0x1006088e1
test esi, esi
je 0x1006087c0
cmp byte [r12 + 1], 0
je 0x100607d10
lea rcx, [r12 + 2]
lea r9, [rbp + 0x48]
lea r8, [rbp + 0x50]
lea rdx, str._ld__u
call sub.msys_2.0.dll_sscanf
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x58], eax
movzx eax, byte [r12 + 1]
cmp al, 0x2b
je 0x100608d40
ja 0x100608810
cmp al, 0x22
je 0x100608dd5
cmp al, 0x2a
jne 0x100607d10
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rax + 0x160], rdx
jmp 0x100607d10
mov rcx, r14
nop word [rax + rax]
mov r8, qword [rbp + 0xb8]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
jne 0x10060815c
mov rcx, qword [rbp + 0xb0]
movzx eax, byte [rcx]
mov rdx, rcx
cmp al, 9
je 0x100607db0
cmp al, 0x3c
je 0x100607db0
mov r14, rcx
jmp 0x10060646d
test r15, r15
je case.0x100606492.0
mov rcx, qword [rbp]
mov rdx, r14
call sym.vim.exe_ga_add_string
mov r14, qword [rbp + 0xb0]
jmp case.0x100606492.0
mov ecx, 0x22
call sym.vim.exe_get_viminfo_parameter
mov dword [rbp + 0x18], eax
jmp 0x10060670c
movzx eax, byte [r14 + 1]
mov ecx, eax
and ecx, 0xffffffdf
cmp cl, 0x4d
je 0x100608456
mov dword [rbp + 0x18], 0
xor ebx, ebx
xor edi, edi
xor r12d, r12d
mov qword [rbp + 0x10], 0
lea rax, [rdx + 1]
mov esi, dword [rbp + 0x38]
mov qword [rbp + 0x60], rax
movzx eax, byte [rdx + 1]
jmp 0x100606ff5
mov rcx, qword [rbp + 0xb0]
mov edx, 0x3d
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10060708f
lea r12, [rax + 1]
mov rbx, r12
nop word [rax + rax]
movzx ecx, byte [rbx]
mov rsi, rbx
add rbx, 1
call sym.vim.exe_vim_isprintc
test eax, eax
jne 0x100607e80
mov rax, qword [sym.vim.exe_p_enc]
mov byte [rsi], 0
lea rcx, [rbp + 0xc0]
mov rdx, r12
mov r8, qword [rax]
call sym.vim.exe_convert_setup
jmp 0x10060708f
mov eax, dword [rbp + 0xd8]
mov qword [rbp + 0x158], r15
xor r14d, r14d
lea r13, [0x1007108b0]
lea rbx, [0x1007108e0]
mov dword [rbp + 0x20], eax
mov ecx, r14d
call sym.vim.exe_get_histentry
test rax, rax
je 0x100608124
cmp dword [rbp + 0x20], 1
jle 0x100608100
call sym.vim.exe_get_hislen
mov ecx, r14d
mov esi, eax
call sym.vim.exe_get_histentry
mov ecx, r14d
mov qword [rbp + 0x30], rax
call sym.vim.exe_get_hisidx
mov ecx, r14d
mov qword [rbp + 0x18], rax
call sym.vim.exe_get_hisnum
mov ecx, dword [r13]
mov r15, rax
add ecx, esi
movsxd rcx, ecx
shl rcx, 3
call sym.vim.exe_alloc
mov r12, rax
movsxd rax, esi
lea rcx, [rax + rax*2]
shl rcx, 3
call sym.vim.exe_alloc
mov qword [rbp + 0x28], rax
test r12, r12
je 0x1006088cb
test rax, rax
je 0x1006088cb
mov r11d, dword [r13]
test r11d, r11d
jle 0x100608e14
movsxd rdx, r11d
mov rcx, r12
xor eax, eax
lea r9, [rdx + rdx*2]
shl r9, 3
nop word [rax + rax]
mov r8, qword [rbx]
add rcx, 8
add r8, rax
add rax, 0x18
mov qword [rcx - 8], r8
cmp r9, rax
jne 0x100607f78
test esi, esi
jle 0x100608df0
mov rdi, qword [rbp + 0x30]
lea edx, [rsi - 1]
lea rdx, [rdx + rdx*2]
lea rcx, [rdi + rdx*8 + 0x18]
mov rax, rdi
movsxd rdx, r11d
nop dword [rax]
cmp qword [rax + 8], 0
je 0x100607fc2
add r11d, 1
mov qword [r12 + rdx*8], rax
movsxd rdx, r11d
add rax, 0x18
cmp rcx, rax
jne 0x100607fb0
mov r8d, 8
mov rcx, r12
mov dword [rbp - 8], r11d
xor edi, edi
lea r9, [0x100604770]
call sub.msys_2.0.dll_qsort
mov r11d, dword [rbp - 8]
mov rdx, qword [rbp + 0x28]
mov r8d, esi
mov dword [rbp + 0x10], esi
mov rsi, r12
mov qword [rbp - 8], rbx
mov r12d, r11d
mov rbx, r15
mov r15, rdx
mov qword [rbp - 0x10], r13
mov r13, r8
jmp 0x10060804b
mov rax, qword [rsi + rdi*8]
movdqu xmm0, xmmword [rax]
movups xmmword [r15], xmm0
mov rdx, qword [rax + 0x10]
mov r8d, dword [r15]
mov qword [r15 + 0x10], rdx
mov qword [rax + 8], 0
test r8d, r8d
jne 0x10060803e
mov eax, dword [rbx]
add eax, 1
mov dword [rbx], eax
mov dword [r15], eax
add rdi, 1
add r15, 0x18
cmp rdi, r13
je 0x100608065
cmp r12d, edi
jg 0x100608010
mov rcx, r15
add rdi, 1
add r15, 0x18
call sym.vim.exe_clear_hist_entry
cmp rdi, r13
jne 0x10060804b
mov r11d, r12d
mov r12, rsi
mov esi, dword [rbp + 0x10]
mov rbx, qword [rbp - 8]
mov r13, qword [rbp - 0x10]
mov eax, esi
cmp eax, r11d
mov rdi, qword [rbp + 0x18]
cmovg eax, r11d
xor r15d, r15d
sub eax, 1
mov dword [rdi], eax
mov ecx, dword [r13]
xor edi, edi
test ecx, ecx
jle 0x1006080b2
nop dword [rax]
mov rax, qword [rbx]
add edi, 1
mov rcx, qword [rax + r15 + 8]
add r15, 0x18
call sym.vim.exe_vim_free
cmp edi, dword [r13]
jl 0x100608098
test esi, esi
jle 0x1006080e1
mov rax, qword [rbp + 0x30]
lea edx, [rsi - 1]
lea rdx, [rdx + rdx*2]
lea rdi, [rax + 8]
lea rsi, [rax + rdx*8 + 0x20]
nop word [rax + rax]
mov rcx, qword [rdi]
add rdi, 0x18
call sym.vim.exe_vim_free
cmp rdi, rsi
jne 0x1006080d0
mov rcx, qword [rbp + 0x30]
call sym.vim.exe_vim_free
mov rdx, qword [rbp + 0x28]
mov ecx, r14d
call sym.vim.exe_set_histentry
mov rcx, r12
call sym.vim.exe_vim_free
jmp 0x100608108
mov ecx, r14d
call fcn.100604930
mov rcx, qword [rbx]
test rcx, rcx
je 0x10060811c
call sym.vim.exe_vim_free
mov qword [rbx], 0
mov dword [r13], 0
add r14d, 1
add r13, 4
add rbx, 8
cmp r14d, 5
jne 0x100607ed5
mov rax, qword [sym.vim.exe_firstbuf]
mov r15, qword [rbp + 0x158]
mov rbx, qword [rax]
test rbx, rbx
jne 0x100606ce0
jmp 0x100606d00
mov eax, dword [rbp + 0x38]
mov dword [rbp + 8], eax
jmp 0x100606cbe
mov r14d, dword [rbp + 0x38]
mov ecx, r14d
call sym.vim.exe_get_spat
mov r10, rax
mov eax, dword [rbp + 0x30]
test eax, eax
jne 0x100608184
cmp qword [r10], 0
jne 0x100606c86
mov rdx, qword [rbp + 0x60]
sub rdx, qword [rbp + 0xb0]
lea rcx, [rbp + 0xb0]
mov qword [rbp - 0x10], r10
add edx, 1
mov r8d, 1
call fcn.1006047c0
mov rcx, rax
test rax, rax
je 0x100606c86
mov r9d, esi
mov r8d, r12d
mov edx, r14d
mov qword [rbp - 8], rax
call sym.vim.exe_set_last_search_pat
mov rcx, qword [rbp - 8]
call sym.vim.exe_vim_free
mov r10, qword [rbp - 0x10]
mov eax, dword [rbp + 0x18]
mov dword [r10 + 0x14], eax
mov rax, qword [rbp + 0x10]
mov dword [r10 + 0xc], edi
mov dword [r10 + 0x18], ebx
mov qword [r10 + 0x20], rax
test esi, esi
je 0x100606c86
mov r11d, dword [0x100710860]
xor ecx, ecx
test r11d, r11d
sete cl
call sym.vim.exe_set_no_hlsearch
jmp 0x100606c86
cmp byte [rax], 0x40
je 0x1006084f1
test ebx, ebx
je 0x100608d11
test esi, esi
jne 0x100608540
mov ecx, 0x320
lea rdi, str.CHAR
call sym.vim.exe_alloc
mov rcx, qword [rbp + 0x60]
mov r14, rax
call sym.vim.exe_skiptowhite
mov rcx, rax
call sym.vim.exe_skipwhite
mov ecx, 4
mov qword [rbp + 0x60], rax
mov rsi, rax
mov r8, rax
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
movsx eax, al
mov dword [rbp + 0x18], eax
test eax, eax
jne 0x1006084b0
mov rcx, r8
call sym.vim.exe_skiptowhite
mov rcx, rax
call sym.vim.exe_skipwhite
lea rcx, [rbp + 0x60]
mov qword [rbp + 0x60], rax
call sym.vim.exe_getdigits
mov dword [rbp + 0x10], eax
lea rax, [rbp + 0xb0]
xor esi, esi
mov edi, 0x64
mov qword [rbp - 8], rax
mov rcx, qword [rbp + 0xb0]
jmp 0x1006082cc
mov rcx, qword [rbp + 0xb0]
movzx edx, byte [rcx]
cmp dl, 9
je 0x1006082c4
cmp dl, 0x3c
jne 0x1006082e1
test ebx, ebx
jne 0x100608383
mov r8, qword [rbp + 0xb8]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
je 0x1006082b0
mov edi, eax
test ebx, ebx
je 0x10060835a
xor ebx, ebx
cmp qword [r12 + 8], 0
jle 0x100608310
nop dword [rax]
mov rax, qword [r12]
mov rcx, qword [rax + rbx*8]
add rbx, 1
call sym.vim.exe_vim_free
cmp qword [r12 + 8], rbx
jg 0x1006082f8
mov rcx, qword [r12]
call sym.vim.exe_vim_free
movzx eax, byte [rbp + 0x18]
mov qword [r12 + 0x18], 0
mov byte [r12 + 0x10], al
mov eax, dword [rbp + 0x10]
mov dword [r12 + 0x14], eax
movsxd rax, esi
mov qword [r12 + 8], rax
test esi, esi
jne 0x1006084ff
mov qword [r12], 0
mov rcx, r14
call sym.vim.exe_vim_free
jmp 0x100606ca0
mov edi, edx
test esi, esi
je 0x10060834b
lea eax, [rsi - 1]
mov rbx, r14
lea rsi, [r14 + rax*8 + 8]
nop dword [rax]
mov rcx, qword [rbx]
add rbx, 8
call sym.vim.exe_vim_free
cmp rsi, rbx
jne 0x100608370
jmp 0x10060834b
cmp esi, edi
je 0x100608e4e
mov rcx, qword [rbp - 8]
mov r8d, 1
mov edx, 1
call fcn.1006047c0
mov qword [rbp + 0x60], rax
test rax, rax
je 0x100608688
movsxd rdx, esi
add esi, 1
mov qword [r14 + rdx*8], rax
jmp 0x10060829f
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
movzx eax, byte [rcx]
test al, al
jne 0x1006083eb
jmp 0x1006083f7
mov edx, 0x2c
call sym.vim.exe_vim_strchr
test rax, rax
je 0x1006083f7
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x1006083f7
cmp al, 0x68
je 0x100606642
cmp al, 0x6e
jne 0x1006083d0
mov r8d, 0x48
jmp 0x100606648
test byte [rbp + 0x160], 0x18
jne 0x100608760
mov qword [rbp + 0x18], 0
mov ecx, 0x27
call sym.vim.exe_get_viminfo_parameter
mov r8d, dword [rbp + 8]
mov qword [rbp + 0x20], 0
mov dword [rbp + 0x30], eax
test r8d, r8d
je 0x100606d89
jmp 0x100606500
cmp r9, rcx
jne 0x100606a40
jmp 0x100606aa5
xor r14d, r14d
jmp 0x100608168
xor r12d, r12d
cmp al, 0x4d
lea rcx, [rbp + 0x60]
sete r12b
xor edi, edi
cmp byte [r14 + 2], 0x73
sete dil
xor eax, eax
cmp byte [r14 + 3], 0x4c
sete al
xor ebx, ebx
cmp byte [r14 + 4], 0x45
sete bl
add r14, 5
mov dword [rbp + 0x18], eax
mov qword [rbp + 0x60], r14
shl ebx, 6
call sym.vim.exe_getdigits
mov rdx, qword [rbp + 0x60]
mov qword [rbp + 0x10], rax
movzx eax, byte [rdx]
cmp al, 0x7e
je 0x100607e42
xor esi, esi
jmp 0x100606ff5
mov ecx, 5
lea rdi, str.BLOCK
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
mov eax, 2
cmovne eax, ebx
mov dword [rbp + 0x18], eax
jmp 0x10060826d
cmp al, 0x40
jne 0x100608214
call sym.vim.exe_get_execreg_lastc
test eax, eax
jne 0x100608214
mov rax, qword [rbp + 0x60]
movzx ecx, byte [rax - 1]
call sym.vim.exe_set_execreg_lastc
jmp 0x100608214
lea rcx, [rax*8]
sub esi, 1
xor ebx, ebx
call sym.vim.exe_alloc
shl rsi, 3
mov qword [r12], rax
jmp 0x100608530
mov qword [rax + rbx], rcx
cmp rsi, rbx
je 0x10060834b
mov rax, qword [r12]
add rbx, 8
mov rcx, qword [r14 + rbx]
test rax, rax
jne 0x10060851b
call sym.vim.exe_vim_free
jmp 0x10060851f
mov rcx, r12
call sym.vim.exe_set_y_previous
jmp 0x100608224
lea rcx, str.Illegal_register_name
call sub.msys_intl_8.dll_libintl_gettext
mov r8, r14
lea rcx, str.E577:
mov rdx, rax
call fcn.1006054c0
mov ebx, eax
test eax, eax
jne 0x100608159
mov rax, qword [rbp + 0x60]
jmp 0x100607370
mov rbx, qword [rbp + 0x60]
cmp byte [rbx], 0x27
jne 0x100607065
mov rax, qword [sym.vim.exe_curwin]
mov rdi, qword [rax]
mov esi, dword [rdi + 0x1ea0]
cmp esi, 0x64
je 0x10060867c
test esi, esi
jle 0x1006085d7
movsxd rax, esi
lea r8, [rax + rax*4]
lea eax, [rsi - 1]
cdqe
shl r8, 3
imul rax, rax, 0xffffffffffffffd8
lea rdx, [rax + r8 + 0xed8]
lea rcx, [rax + r8 + 0xf00]
add rdx, rdi
add rcx, rdi
call sub.msys_2.0.dll_memmove
add dword [rdi + 0x1ea4], 1
add esi, 1
mov qword [rdi + 0xf00], 0
mov qword [rdi + 0xf18], 0
mov dword [rdi + 0x1ea0], esi
lea rsi, [rdi + 0xf00]
lea rcx, [rbx + 1]
lea r12, [rbp + 0x60]
call sym.vim.exe_skipwhite
mov rcx, r12
mov qword [rbp + 0x60], rax
call sym.vim.exe_getdigits
mov rcx, qword [rbp + 0x60]
mov qword [rsi], rax
call sym.vim.exe_skipwhite
mov rcx, r12
mov qword [rbp + 0x60], rax
call sym.vim.exe_getdigits
mov qword [rsi + 0xc], 0
mov rcx, qword [rbp + 0x60]
mov dword [rsi + 8], eax
call sym.vim.exe_skipwhite
mov qword [rbp + 0x60], rax
mov rcx, qword [rsi + 0x18]
call sym.vim.exe_vim_free
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp + 0xb0]
sub rdx, qword [rbp + 0xb0]
xor r8d, r8d
call fcn.1006047c0
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x18], rax
mov rcx, qword [rbp + 0xb0]
jmp 0x100607065
xor ebx, ebx
jmp 0x10060829f
lea rdi, [0x1006c923a]
jmp case.default.0x10060793b
lea rdi, [0x1006c9236]
jmp case.default.0x10060793b
mov r9, qword [r14 - 9]
mov qword [rbp + 0x38], r9
call sym.vim.exe_get_copyID
mov r9, qword [rbp + 0x38]
mov edx, eax
test r9, r9
je 0x1006086ee
xor r8d, r8d
lea rcx, [r9 + 0x10]
mov qword [rbp + 0x30], r9
mov dword [rbp + 0x38], eax
call sym.vim.exe_set_ref_in_ht
test eax, eax
jne 0x1006086ee
mov r9, qword [rbp + 0x30]
mov edx, dword [rbp + 0x38]
lea rdi, [0x1006c9242]
cmp edx, dword [r9 + 8]
je case.0x10060793b.0
lea rdi, [0x1006c9242]
jmp case.default.0x10060793b
mov rcx, qword [r14 - 9]
mov qword [rbp + 0x38], rcx
call sym.vim.exe_get_copyID
mov rcx, qword [rbp + 0x38]
mov edx, eax
test rcx, rcx
je 0x10060873c
xor r8d, r8d
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x38], rcx
call sym.vim.exe_set_ref_in_list_items
test eax, eax
jne 0x10060873c
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x30]
lea rdi, [0x1006c923e]
cmp edx, dword [rcx + 0x54]
je case.0x10060793b.0
lea rdi, [0x1006c923e]
jmp case.default.0x10060793b
lea rdi, [0x1006c9232]
jmp case.default.0x10060793b
lea rdi, [0x1006c9246]
jmp case.default.0x10060793b
call sym.vim.exe_list_alloc
mov qword [rbp + 0x18], rax
test rax, rax
je 0x100608417
mov rdx, rax
mov ecx, 0x39
call sym.vim.exe_set_vim_var_list
jmp 0x100608417
call sym.vim.exe_get_execreg_lastc
mov ebx, eax
test eax, eax
jne 0x1006073af
mov rax, qword [rbp + 0x60]
xor r14d, r14d
movzx ecx, byte [rax - 1]
call sym.vim.exe_set_execreg_lastc
mov dword [rbp + 0x10], 0
mov dword [rbp + 0x18], 0
jmp 0x10060828d
test edi, edi
je 0x100607d10
mov rdx, r15
mov rcx, r12
call sub.msys_2.0.dll_fputs
jmp 0x100607d10
mov rcx, r14
call sym.vim.exe_ga_clear
mov ecx, dword [rbp + 0x18]
mov r14, qword [rbp + 0xb0]
test ecx, ecx
jne case.0x100606492.0
movzx eax, byte [r14]
mov rdx, r14
cmp al, 0x3e
jne 0x100606482
jmp 0x100606cbe
cmp al, 0x2e
je 0x100608e1e
cmp al, 0x5e
jne 0x100608d7b
mov rax, qword [sym.vim.exe_curbuf]
movdqa xmm4, xmmword [rbp + 0x50]
mov rax, qword [rax]
movups xmmword [rax + 0x348], xmm4
jmp 0x100607d10
mov dword [0x100710860], 0
jmp 0x100606c86
mov rax, qword [rbx + 0x18]
or esi, 2
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x20], eax
jmp 0x100607646
mov rdx, r15
mov rcx, rbx
call fcn.1006056e0
jmp 0x100607820
mov dword [rbp + 8], edi
jmp 0x100606cbe
mov edi, dword [rbp + 0x20]
test edi, edi
je 0x100608ea1
mov eax, dword [rbp + 0x60]
test eax, eax
jle 0x100608edf
mov rbx, qword [rbp + 0x70]
mov dword [rbp + 0x18], edi
mov eax, dword [rbx]
jmp 0x100607aa0
mov r9d, dword [rdi + 0x1220]
xor edi, edi
test r9d, r9d
je 0x100607ca2
jmp 0x100607d00
mov rcx, r12
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x28]
call sym.vim.exe_vim_free
jmp 0x100608108
test esi, esi
je 0x100606d99
mov rdx, qword [sym.vim.exe_firstwin]
mov rdx, qword [rdx]
test rdx, rdx
je 0x100608d27
mov rcx, qword [sym.vim.exe_curbuf]
mov rcx, qword [rcx]
jmp 0x100608915
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x100608d27
cmp qword [rdx + 8], rcx
jne 0x100608908
mov r8d, dword [rcx + 0x9a8]
mov dword [rdx + 0x1ea8], r8d
jmp 0x100608908
test esi, esi
jne 0x1006088e9
jmp 0x1006064ba
test r15, r15
jne 0x100608e39
mov r9d, dword [rbp + 0x60]
test r9d, r9d
jle 0x100608edf
mov rbx, qword [rbp + 0x70]
mov edi, dword [rbp + 0x38]
mov eax, dword [rbx]
mov dword [rbp + 0x18], edi
jmp 0x100607aa0
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0xb0]
mov r8, r14
call fcn.100604f00
mov rsi, qword [rbp + 0x70]
mov dword [rbp + 0x18], eax
call sym.vim.exe_get_y_regs
mov rcx, rax
mov eax, dword [rbp + 0x60]
cmp eax, 5
jle 0x100607a92
mov ebx, dword [rsi]
test ebx, ebx
jne 0x100607a9a
mov r11d, dword [rsi + 0x28]
test r11d, r11d
jne 0x100607a9a
mov r10d, dword [rsi + 0x50]
test r10d, r10d
jne 0x100607a9a
mov r9d, dword [rsi + 0x78]
test r9d, r9d
jne 0x100607a9a
mov r8d, dword [rsi + 0xa0]
test r8d, r8d
jne 0x100607a9a
mov edx, dword [rsi + 0xc8]
test edx, edx
jne 0x100607a9a
mov rdi, qword [rsi + 0x30]
mov qword [rbp - 0x10], rdi
cmp edi, 0x25
ja 0x100607a9a
mov rdi, qword [rsi + 0x58]
mov qword [rbp - 0x18], rdi
cmp edi, 2
ja 0x100607a9a
mov rdi, qword [rsi + 0x80]
lea edx, [rdi + 5]
cmp eax, edx
jle 0x100607a9a
mov rax, qword [rsi + 0xa8]
mov qword [rbp - 0x20], rax
test eax, eax
js 0x100607a9a
movsxd rdx, dword [rbp - 0x10]
mov rax, qword [0x100710878]
shl rdx, 5
test rax, rax
je 0x1006093f2
lea rbx, [rax + rdx]
mov rax, qword [rsi + 8]
cmp qword [rbx], 0
mov qword [rbp - 8], rax
mov rax, qword [rsi + 0xd0]
mov qword [rbp + 0x10], rax
je 0x100608aaf
cmp dword [rbp + 0x30], 0
jne 0x100608a73
cmp qword [rbp + 0x10], 0
je 0x100607a9a
mov rax, qword [rbp + 0x10]
cmp rax, qword [rbx + 0x18]
jl 0x100607a9a
xor eax, eax
cmp qword [rbx + 8], 0
jle 0x100608aaf
mov qword [rbp - 0x28], r14
mov r14, rdi
mov rdi, rsi
mov rsi, rbx
mov rbx, rax
mov rax, qword [rsi]
mov rcx, qword [rax + rbx*8]
add rbx, 1
call sym.vim.exe_vim_free
cmp qword [rsi + 8], rbx
jg 0x100608a8c
mov rbx, rsi
mov rsi, rdi
mov rdi, r14
mov r14, qword [rbp - 0x28]
mov rcx, qword [rbx]
call sym.vim.exe_vim_free
cmp qword [0x100710878], 0
je 0x100609472
movzx eax, byte [rbp - 0x18]
mov rdx, qword [rbp + 0x10]
mov byte [rbx + 0x10], al
mov eax, dword [rbp - 0x20]
mov qword [rbx + 0x18], rdx
mov dword [rbx + 0x14], eax
movsxd rax, edi
mov qword [rbx + 8], rax
test edi, edi
jne 0x1006093fb
mov qword [rbx], 0
mov eax, dword [rbp + 0x60]
jmp 0x100607a92
mov rcx, qword [rdi + 0x88]
call fcn.100604e40
test eax, eax
jne 0x1006069f9
mov rax, qword [rsi]
xor r8d, r8d
mov edx, 1
mov edi, 0x1a
lea r13, [rbx + 0x410]
mov ecx, dword [rax + 0xb0]
call sym.vim.exe_buflist_nr2name
mov r8, qword [rsi]
mov qword [rbp + 0x158], r15
mov r15, rbx
mov rcx, rax
mov rax, qword [r12]
mov qword [rbp + 0x38], r12
mov rbx, rcx
mov r12, r8
mov r14, qword [rax + 0x38]
jmp 0x100608b6a
add edi, 1
add r13, 0x28
cmp edi, 0x23
je 0x100608bed
cmp qword [r13], r14
jne 0x100608b5a
mov rdx, qword [r13 + 0x18]
test rdx, rdx
je 0x100608ca0
test rbx, rbx
je 0x100608b5a
mov rcx, rbx
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x100608b5a
mov rcx, rbx
mov r12, qword [rbp + 0x38]
mov rbx, r15
mov r15, qword [rbp + 0x158]
call sym.vim.exe_vim_free
mov rcx, qword [r13 + 0x18]
call sym.vim.exe_vim_free
cmp edi, 0x1a
jne 0x100608c0f
mov rax, qword [r12]
movdqu xmm2, xmmword [rax + 0x38]
mov rax, qword [rsi]
mov eax, dword [rax + 0xb0]
movups xmmword [rbx + 0x410], xmm2
mov qword [rbx + 0x428], 0
mov dword [rbx + 0x420], eax
call sym.vim.exe_vim_time
mov qword [rbx + 0x430], rax
jmp 0x1006069f9
mov rcx, rbx
mov rbx, r15
mov r12, qword [rbp + 0x38]
mov r15, qword [rbp + 0x158]
call sym.vim.exe_vim_free
mov rcx, qword [rbx + 0x590]
call sym.vim.exe_vim_free
movsxd rax, edi
lea edx, [rdi - 0x1a]
lea rax, [rax + rax*4]
lea r8, [rdx + rdx*4]
lea rcx, [rax*8]
lea eax, [rdi - 0x1b]
shl r8, 3
imul rax, rax, 0xffffffffffffffd8
lea rdx, [rax + rcx - 0x28]
add rax, rcx
add rdx, rbx
lea rcx, [rbx + rax]
call sub.msys_2.0.dll_memmove
jmp 0x100608bb2
movzx edx, al
lea ecx, [rdx - 0x30]
cmp ecx, 9
ja 0x100608f8d
cmp al, 0x27
je 0x10060858b
lea eax, [rdx - 0x30]
cdqe
lea rax, [rax + rax*4]
lea rsi, [rsi + rax*8 + 0x410]
test rsi, rsi
je 0x10060867c
cmp qword [rsi], 0
je 0x100608604
mov r9d, dword [rbp + 0x30]
test r9d, r9d
je 0x10060867c
jmp 0x100608604
mov eax, dword [r12 + 0xb0]
cmp dword [r13 + 0x10], eax
jne 0x100608b5a
jmp 0x100608b8e
mov esi, dword [rbp + 0x160]
xor edi, edi
and esi, 2
je 0x100607d00
mov rax, qword [sym.vim.exe_curbuf]
xor esi, esi
mov rax, qword [rax]
mov rdx, qword [rax + 0x88]
test rdx, rdx
je 0x100607d00
cmp byte [r14], 0
je 0x100609021
mov rdx, r14
mov rcx, r13
xor esi, esi
call sym.vim.exe_vim_fnamecmp
test eax, eax
sete sil
xor edi, edi
jmp 0x100607d00
mov dword [rbp + 0x10], 0
xor r14d, r14d
mov dword [rbp + 0x18], 0
jmp 0x10060828d
test byte [rbp + 0x160], 4
je 0x100606df9
jmp 0x1006064ba
mov rax, qword [sym.vim.exe_curbuf]
mov r13, qword [rax]
movsxd rax, dword [r13 + 0x9a8]
cmp eax, 0x64
je 0x100608ffe
lea edx, [rax + 1]
mov dword [r13 + 0x9a8], edx
movdqa xmm1, xmmword [rbp + 0x50]
shl rax, 4
movups xmmword [rax + r13 + 0x368], xmm1
jmp 0x100607d10
sub eax, 0x61
cmp eax, 0x19
ja 0x100607d10
mov rdx, qword [sym.vim.exe_curbuf]
cdqe
movdqa xmm2, xmmword [rbp + 0x50]
add rax, 0x16
shl rax, 4
add rax, qword [rdx]
movups xmmword [rax + 8], xmm2
jmp 0x100607d10
mov edx, 9
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100606f6f
lea rcx, [rax + 1]
mov dword [rbp + 0x50], 5
call sub.msys_2.0.dll_atol
mov qword [rbp + 0x58], rax
jmp 0x100606f1f
mov rax, qword [sym.vim.exe_curbuf]
movdqa xmm3, xmmword [rbp + 0x50]
mov rax, qword [rax]
movups xmmword [rax + 0x338], xmm3
jmp 0x100607d10
lea r9, [0x100604770]
mov r8d, 8
mov rcx, r12
mov dword [rbp + 0x10], r11d
call sub.msys_2.0.dll_qsort
mov r11d, dword [rbp + 0x10]
xor eax, eax
jmp 0x100608078
xor edx, edx
xor r11d, r11d
jmp 0x100607f8f
mov rax, qword [sym.vim.exe_curbuf]
movdqa xmm5, xmmword [rbp + 0x50]
mov rax, qword [rax]
movups xmmword [rax + 0x358], xmm5
jmp 0x100607d10
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp]
call sym.vim.exe_ga_add_string
jmp 0x10060893d
lea edi, [rsi + rsi]
mov dword [rbp - 0x10], eax
movsxd rcx, edi
shl rcx, 3
call sym.vim.exe_alloc
mov edx, dword [rbp - 0x10]
test rax, rax
mov r8, rax
je 0x100608358
movsxd rcx, esi
xor eax, eax
test esi, esi
jle 0x100608e89
mov rdx, qword [r14 + rax*8]
mov qword [r8 + rax*8], rdx
add rax, 1
cmp rcx, rax
jne 0x100608e78
mov rcx, r14
mov qword [rbp - 0x10], r8
call sym.vim.exe_vim_free
mov r8, qword [rbp - 0x10]
mov r14, r8
jmp 0x10060838b
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0xb0]
mov r8, r14
call fcn.100604f00
mov edi, dword [rbp + 0x60]
mov dword [rbp + 0x18], eax
test edi, edi
jle 0x1006087d8
mov rbx, qword [rbp + 0x70]
mov eax, dword [rbx]
test eax, eax
jne 0x100607aa0
mov rdx, qword [rbx + 8]
mov dword [rbp + 0xd8], edx
jmp 0x100607aa0
mov rcx, r14
call sym.vim.exe_ga_clear
mov r14, qword [rbp + 0xb0]
jmp case.0x100606492.0
cmp byte [r12 + 1], 0x2a
je 0x1006094fe
mov edx, dword [rbp + 0x38]
mov edi, dword [rbp + 0x30]
movsxd rax, ebx
mov qword [rbp + 0x20], r12
shl rax, 3
lea esi, [rdx + 1]
add edi, ebx
sub esi, ebx
sub edi, edx
mov r12d, esi
mov rsi, rax
jmp 0x100608f40
mov rax, qword [rbp + 0x70]
mov rdx, r15
add ebx, 1
mov rcx, qword [rax + rsi]
add rsi, 8
call fcn.1006056e0
cmp edi, ebx
je 0x100609570
lea eax, [r12 + rbx]
mov dword [rbp + 0x38], eax
cmp ebx, dword [rbp + 0x60]
jl 0x100608f21
mov r12, qword [rbp + 0x20]
mov qword [rbp + 0x20], 0
mov r9, r15
mov r8d, 3
mov edx, 1
lea rcx, [0x1006c9173]
call sub.msys_2.0.dll_fwrite
mov rdx, r13
mov rcx, r15
call fcn.100604ae0
mov rdx, r15
mov rcx, r12
call sub.msys_2.0.dll_fputs
jmp 0x100607cf9
call sub.msys_2.0.dll___locale_ctype_ptr
mov rbx, qword [rbp + 0x60]
mov r8, rax
movzx ecx, byte [rbx]
movzx edx, byte [rcx + r8 + 1]
and edx, 3
cmp dl, 1
je 0x100608fce
mov rcx, qword [rbp + 0xb0]
movzx edx, byte [rcx]
jmp 0x10060705c
mov rcx, qword [rbp + 0x58]
call sym.vim.exe_vim_free
mov r14, qword [rbp + 0xb0]
jmp case.0x100606492.0
cmp cl, 0x27
je 0x10060858b
movzx edx, cl
lea eax, [rdx - 0x30]
cmp eax, 9
jbe 0x100608c60
lea rax, [rcx + rcx*4]
lea rsi, [rsi + rax*8 - 0xa28]
jmp 0x100608c71
xor eax, eax
jmp 0x100607aa0
lea rdx, [r13 + 0x378]
lea rcx, [r13 + 0x368]
mov r8d, 0x630
call sub.msys_2.0.dll_memmove
mov eax, 0x63
jmp 0x100608d64
mov dword [rsp + 0x20], 1
mov r9d, 0x200
mov r8, r14
xor ecx, ecx
call sym.vim.exe_home_replace
jmp 0x100608cf7
mov dword [rbp + 0x38], 0
xor ebx, ebx
jmp 0x1006064bf
mov dword [rbp + 0x50], 7
jmp 0x100606f1f
cmp ebx, 8
jne 0x100606f1f
call sym.vim.exe_string2blob
mov rbx, rax
test rax, rax
je 0x10060904c
mov rcx, qword [rbp + 0x58]
call sym.vim.exe_vim_free
mov dword [rbp + 0x50], 8
mov qword [rbp + 0x58], rbx
jmp 0x100606f1f
mov r8, rbx
mov rbx, qword [rbp - 0x10]
mov rax, qword [rbx + 0x30]
mov qword [r8 + 0x10], rax
jmp 0x100607a8f
mov dword [rbp - 0x18], edx
call sym.vim.exe_get_namedfm
mov edx, dword [rbp - 0x18]
mov rsi, rax
cmp edx, 9
ja 0x10060934e
mov rax, qword [0x100710870]
test rax, rax
je 0x1006092ba
sub edi, 0x16
movsxd rsi, edi
imul rsi, rsi, 0x28
add rsi, rax
mov rax, qword [rbp - 8]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0xc], 0
mov qword [rsi], rax
mov eax, dword [rbp - 0x10]
mov dword [rsi + 8], eax
call sym.vim.exe_vim_free
cmp dword [rbx + 0xc4], 0
je 0x1006092a5
mov rax, qword [rbx + 0xb0]
mov qword [rsi + 0x18], rax
mov qword [rbx + 0xb0], 0
mov rax, qword [rbp + 0x10]
mov qword [rsi + 0x20], rax
mov eax, dword [rbp + 0x60]
jmp 0x100607a92
mov rsi, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x58]
mov qword [rbp - 8], rsi
mov dword [rbp - 0x10], ecx
test rsi, rsi
jle 0x100607aa0
test ecx, ecx
js 0x100607aa0
mov rsi, qword [rbx + 0x80]
mov qword [rbp + 0x10], rsi
cmp edi, 0x27
jne 0x10060909b
mov rsi, qword [0x100710868]
test rsi, rsi
je 0x1006091b7
mov edx, dword [0x100710864]
cmp edx, 0x63
jg 0x100607aa0
lea eax, [rdx + 1]
mov dword [0x100710864], eax
movsxd rax, edx
imul rax, rax, 0x28
add rsi, rax
cmp qword [0x100710870], 0
jne 0x1006090cf
cmp qword [rsi], 0
je 0x1006090cf
mov rax, qword [rbp + 0x10]
cmp qword [rsi + 0x20], rax
jl 0x1006090cf
cmp dword [rbp + 0x30], 0
jne 0x1006090cf
jmp 0x100607a8f
mov rdi, qword [sym.vim.exe_curwin]
cmp qword [rbp + 0x10], 0
mov rdi, qword [rdi]
mov esi, dword [rdi + 0x1ea0]
je 0x1006091f6
lea ecx, [rsi - 1]
movsxd rcx, ecx
jmp 0x1006091f0
sub rcx, 1
mov r10, qword [rbp + 0x10]
imul r8, rcx, 0x28
cmp r10, qword [rdi + r8 + 0xf48]
jg 0x100609356
mov edx, ecx
test ecx, ecx
jns 0x1006091d6
cmp esi, 0x63
jg 0x100607aa0
xor r9d, r9d
mov r8d, esi
movsxd rcx, esi
mov edx, 0x28
mov dword [rbp - 0x18], r9d
sub r8d, r9d
imul rcx, rcx, 0x28
imul rax, r8, 0xffffffffffffffd8
add rax, 0x28
cmp esi, r9d
cmovl rax, rdx
imul r8, r8, 0x28
mov edx, 0
cmp esi, r9d
cmovl r8, rdx
lea rdx, [rcx + rax + 0xed8]
add esi, 1
lea rcx, [rcx + rax + 0xf00]
add rdx, rdi
add rcx, rdi
call sub.msys_2.0.dll_memmove
mov rax, qword [sym.vim.exe_curwin]
mov dword [rdi + 0x1ea0], esi
add dword [rdi + 0x1ea4], 1
mov rdx, qword [rax]
movsxd rax, dword [rbp - 0x18]
imul rax, rax, 0x28
lea rsi, [rdx + rax + 0xf00]
add rax, rdx
mov qword [rax + 0xf00], 0
mov qword [rax + 0xf18], 0
mov qword [rax + 0xf20], 0
jmp 0x100609182
mov rcx, qword [rbx + 0xb0]
call sym.vim.exe_vim_strsave
mov qword [rsi + 0x18], rax
jmp 0x100609110
lea r9, [rsi + 0x410]
mov edi, 0x1a
jmp 0x1006092d8
add edi, 1
add r9, 0x28
cmp edi, 0x24
je 0x100607a8f
mov rax, qword [rbp + 0x10]
cmp rax, qword [r9 + 0x20]
jle 0x1006092c8
mov rcx, qword [rsi + 0x590]
mov qword [rbp - 0x18], r9
call sym.vim.exe_vim_free
mov r8d, 0x23
mov eax, 0
sub r8d, edi
imul rcx, r8, 0xffffffffffffffd8
imul r8, r8, 0x28
cmp edi, 0x23
lea rdx, [rcx + 0x578]
cmovg r8, rax
mov eax, 0x578
cmovg rdx, rax
add rcx, 0x5a0
mov eax, 0x5a0
add rdx, rsi
cmp edi, 0x23
cmovg rcx, rax
add rcx, rsi
call sub.msys_2.0.dll_memmove
mov r9, qword [rbp - 0x18]
mov qword [r9 + 0x18], 0
jmp 0x100607a6f
sub edi, 0x41
jmp 0x100607a6f
lea r9d, [rdx + 1]
cmp esi, 0x64
jne 0x100609202
mov rcx, qword [rdi + 0xf18]
mov dword [rbp - 0x18], edx
call sym.vim.exe_vim_free
movsxd rdx, dword [rbp - 0x18]
xor ecx, ecx
jmp 0x1006093a6
lea r8d, [rcx + 1]
imul rcx, rcx, 0x28
lea r9, [rax + rcx + 0xf00]
movsxd rcx, r8d
imul rcx, rcx, 0x28
mov rdi, r9
lea rsi, [rax + rcx + 0xf00]
mov ecx, 0xa
rep movsd dword [rdi], dword [rsi]
movsxd rcx, r8d
mov rax, qword [sym.vim.exe_curwin]
mov rax, qword [rax]
cmp edx, ecx
jg 0x10060937a
imul rdx, rdx, 0x28
lea rsi, [rax + rdx + 0xf00]
add rax, rdx
mov qword [rax + 0xf00], 0
mov qword [rax + 0xf18], 0
mov qword [rax + 0xf20], 0
test rsi, rsi
je 0x100607a8f
jmp 0x100609182
lea rbx, [rcx + rdx]
jmp 0x100608a3b
lea rcx, [rax*8]
call sym.vim.exe_alloc
mov qword [rbx], rax
test rax, rax
je 0x1006094bf
test edi, edi
jle 0x100607a8f
lea eax, [rdi - 1]
xor edx, edx
mov qword [rbp - 8], r14
add rsi, 0x100
lea rax, [rax*8 + 8]
mov rdi, rdx
mov r14, rbx
mov qword [rbp + 0x10], rax
jmp 0x100609458
mov qword [rbx], rcx
mov qword [rsi], 0
add rsi, 0x28
add rdi, 8
cmp qword [rbp + 0x10], rdi
je 0x1006094b3
mov rbx, qword [r14]
mov eax, dword [rsi + 0x14]
mov rcx, qword [rsi]
add rbx, rdi
test eax, eax
jne 0x100609440
call sym.vim.exe_vim_strsave
mov qword [rbx], rax
jmp 0x10060944a
test byte [rbp - 8], 1
jne 0x1006094a9
test byte [rbp - 8], 2
je 0x100608ac5
cmp dword [rbp + 0x30], 0
jne 0x100609495
call sym.vim.exe_get_execreg_lastc
test eax, eax
jne 0x100608ac5
mov ecx, dword [rbp - 0x10]
call sym.vim.exe_get_register_name
mov ecx, eax
call sym.vim.exe_set_execreg_lastc
jmp 0x100608ac5
mov rcx, rbx
call sym.vim.exe_set_y_previous
jmp 0x100609478
mov r14, qword [rbp - 8]
mov eax, dword [rbp + 0x60]
jmp 0x100607a92
mov qword [rbx + 8], 0
mov eax, dword [rbp + 0x60]
jmp 0x100607a92
mov eax, dword [rbx + 0x58]
mov dword [rbp + 0x10], eax
jmp 0x1006071b7
lea rcx, [rax + 1]
cmp ebx, 6
jne 0x100609593
lea rdx, [rbp + 0x58]
xor r8d, r8d
call sym.vim.exe_string2float
jmp 0x100606f1f
lea rcx, [r12 + 2]
lea r8, [rbp + 0x48]
lea rdx, str._ld
call sub.msys_2.0.dll_sscanf
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx + 0x160]
cmp qword [rbp + 0x48], rax
jge 0x100609580
movsxd rax, ebx
mov edi, dword [rbp + 0x38]
lea rsi, [rax*8 + 8]
jmp 0x10060955b
mov eax, dword [rbp + 0x60]
add ebx, 1
cmp ebx, eax
je 0x1006095ce
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax + rsi]
mov rax, qword [rbp + 0x48]
add rsi, 8
cmp qword [rcx + 0x160], rax
jle 0x1006095bb
mov rdx, r15
call fcn.1006056e0
mov edx, edi
lea edi, [rdi + 1]
cmp edi, dword [rbp + 0x30]
jl 0x100609534
mov dword [rbp + 0x38], edi
mov rcx, r13
call sym.vim.exe_vim_free
jmp 0x1006064bf
mov eax, dword [rbp + 0x38]
cmp dword [rbp + 0x30], eax
jle 0x100609570
add eax, 1
mov dword [rbp + 0x38], eax
jmp 0x100608f58
call sub.msys_2.0.dll_atol
mov qword [rbp + 0x58], rax
cmp ebx, 4
jne 0x100606f1f
cmp rax, 1
ja 0x100606f1f
mov dword [rbp + 0x50], 3
jmp 0x100606f1f
mov qword [rbp + 0x20], rcx
mov eax, ebx
lea edi, [rdx + 2]
mov ebx, eax
mov dword [rbp + 0x38], edi
jmp 0x100608f58
mov qword [rbp + 0x20], 0
jmp 0x1006095c1
lea rcx, str.E574:_Unknown_register_type__d
lea r12, str.LINE
call sub.msys_intl_8.dll_libintl_gettext
movzx edx, r13b
mov rcx, rax
call sym.vim.exe_semsg
nop
jmp 0x10060741b