Function at 0x100618290
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov rbx, rcx
mov ecx, 0x200
mov dword [rsp + 0x1d0], r8d
mov r13, rdx
call sym.vim.exe_alloc
mov qword [rsp + 0x120], rax
test rax, rax
je 0x100618591
lea rax, [rsp + 0x150]
mov r8d, 0x64
mov edx, 8
mov qword [rsp + 0x128], rbx
mov rcx, rax
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x130], 0
call sym.vim.exe_ga_init2
mov dword [rsp + 0x148], 0xffffffff
test rbx, rbx
je 0x1006185a5
mov eax, dword [rsp + 0x1d0]
and eax, 1
mov dword [rsp + 0x50], eax
je 0x1006185c7
test r13, r13
je 0x10061836c
mov ecx, 0x4c0
call sym.vim.exe_alloc_clear
mov ecx, 0x5a0
mov qword [0x100729d98], rax
call sym.vim.exe_alloc_clear
mov ecx, 0xfa0
mov qword [0x100729d90], rax
call sym.vim.exe_alloc_clear
mov dword [0x100729d84], 0
mov qword [0x100729d88], rax
xor eax, eax
test r13, r13
setne al
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x1d0]
and eax, 8
mov dword [rsp + 0x58], eax
jne 0x100618e22
xor edi, edi
xor ebx, ebx
call sym.vim.exe_init_history
call sym.vim.exe_get_hislen
mov dword [0x100729da0], edi
cmp ebx, eax
mov esi, eax
cmovg ebx, eax
lea eax, [rax - 1]
xor ebp, ebp
lea rax, [rax + rax*2]
lea rdi, [rax*8 + 0x1c]
mov ecx, ebp
call sym.vim.exe_get_histentry
test esi, esi
jle 0x100619d84
lea rdx, [rax + 4]
lea rcx, [rax + rdi]
xor eax, eax
nop dword [rax]
cmp qword [rdx + 4], 0
je 0x1006183e7
mov r9d, dword [rdx]
test r9d, r9d
je 0x1006183ea
add eax, 1
add rdx, 0x18
cmp rdx, rcx
jne 0x1006183d8
cmp ebx, eax
cmovge eax, ebx
mov r12d, eax
xor eax, eax
test r12d, r12d
je 0x10061841d
movsxd rax, r12d
xor edx, edx
lea rcx, [rax + rax*2]
shl rcx, 3
call sym.vim.exe_lalloc
xor edx, edx
test rax, rax
cmove r12d, edx
lea rdx, [0x100729e00]
mov qword [rdx + rbp*8], rax
lea rax, [0x100729db0]
mov dword [rax + rbp*4], r12d
lea rax, [0x100729dd0]
mov dword [rax + rbp*4], 0
add rbp, 1
cmp rbp, 5
jne 0x1006183b8
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov dword [rsp + 0x94], eax
test eax, eax
jne 0x100618d5c
mov r15, qword [rsp + 0x120]
mov dword [rsp + 0x68], 0
lea rbp, [0x1006e2b64]
mov r14, r13
movzx ecx, byte [r15]
mov rdx, r15
cmp cl, 0x3e
je 0x100618d59
nop word [rax + rax]
movabs r12, 0x100000000
cmp cl, 0x23
jbe 0x100618cc8
sub ecx, 0x24
cmp cl, 0x5a
ja case.0x1006184d2.4
movzx ecx, cl
movsxd rax, dword [rbp + rcx*4]
add rax, rbp
jmp rax
mov rcx, qword [sym.vim.exe_e_nonr_missing_gt]
call sub.msys_intl_8.dll_libintl_gettext
mov r8, r15
lea rcx, str.E576:
mov rdx, rax
call fcn.100617520
test eax, eax
je 0x1006196ae
test r13, r13
je 0x100618548
mov eax, dword [rsp + 0x50]
cmp eax, r14d
jle 0x100618548
add eax, ebx
movsxd rsi, ebx
mov edi, eax
shl rsi, 3
sub edi, r14d
jmp 0x10061853f
mov rax, qword [rsp + 0xe0]
mov rdx, r13
add ebx, 1
mov rcx, qword [rax + rsi]
add rsi, 8
call fcn.100617730
cmp ebx, edi
je 0x100618548
cmp dword [rsp + 0xd0], ebx
jg 0x100618520
mov rcx, rbp
call sym.vim.exe_vim_free
test r13, r13
je 0x100618562
lea rcx, [rsp + 0xd0]
call sym.vim.exe_ga_clear
mov r15, qword [rsp + 0x120]
mov rcx, r15
call sym.vim.exe_vim_free
mov r10d, dword [rsp + 0x130]
test r10d, r10d
jne 0x100618c69
mov rcx, qword [rsp + 0x80]
call sym.vim.exe_ga_clear_strings
nop
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r13, r13
je 0x100618562
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x94], 0
jmp 0x1006185f8
mov eax, dword [rsp + 0x1d0]
test eax, eax
jne 0x100618c80
mov dword [rsp + 0x94], 0
mov eax, dword [rsp + 0x1d0]
and eax, 0x1e
mov dword [rsp + 0x78], eax
test r13, r13
je 0x1006195b0
mov rax, qword [sym.vim.exe_firstbuf]
mov qword [rsp + 0x98], rax
lea rcx, str._This_viminfo_file_was_generated_by_Vim__s._n
call sub.msys_intl_8.dll_libintl_gettext
lea r8, [0x1006e298e]
mov rcx, r13
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, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov r9d, 4
mov r8d, 1
mov rcx, r13
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, r13
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, r13
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 [rsp + 0xa0], rdi
test eax, eax
je 0x100618703
mov rax, qword [sym.vim.exe_no_hlsearch]
mov eax, dword [rax]
test eax, eax
je 0x10061a580
mov r8d, 0x68
lea rdx, str._n_hlsearch_on__H__or_off__h_:_n_c
mov rcx, r13
call sub.msys_2.0.dll_fprintf
mov r9d, 0x2f
xor edx, edx
mov rcx, r13
lea r8, [0x1006e2808]
call fcn.100616c50
lea rcx, str.Substitute
call sub.msys_intl_8.dll_libintl_gettext
mov r9d, 0x26
mov edx, 1
mov rcx, r13
mov r8, rax
call fcn.100616c50
call sym.vim.exe_get_old_sub
mov ecx, 0x2f
mov r12, rax
call sym.vim.exe_get_viminfo_parameter
test eax, eax
je 0x100618740
test r12, r12
je 0x100618740
lea rcx, str._n_Last_Substitute_String:_n_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rdx, r12
mov rcx, r13
call fcn.100616b60
mov edx, dword [rsp + 0x50]
mov rcx, r13
call fcn.100617bf0
call sym.vim.exe_get_y_regs
lea rcx, str._n_Registers:_n
mov r15, rax
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov ecx, 0x3c
call sym.vim.exe_get_viminfo_parameter
mov dword [rsp + 0x68], eax
test eax, eax
js 0x10061a09f
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x100619b92
mov ecx, 0x73
call sym.vim.exe_get_viminfo_parameter
mov dword [rsp + 0x70], eax
test eax, eax
je 0x100619b92
movsxd rax, dword [rsp + 0x70]
mov r14, qword [0x100729d98]
xor edi, edi
mov rbp, r15
shl rax, 0xa
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x88], rax
nop dword [rax]
mov rdx, qword [rsp + 0x58]
mov rbx, rdi
mov rax, qword [rbp]
mov dword [rsp + 0x50], edi
shl rbx, 5
test rdx, rdx
je 0x100619270
add rbx, rdx
cmp qword [rbx], 0
je 0x100619270
test rax, rax
je 0x100618803
mov rax, qword [rbp + 0x18]
cmp qword [rbx + 0x18], rax
cmovle rbx, rbp
mov rax, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mov esi, eax
test eax, eax
je 0x100618868
cmp eax, 1
je 0x100619418
mov eax, dword [rsp + 0x70]
test eax, eax
jle 0x100619288
mov eax, dword [rsp + 0x60]
test eax, eax
jle 0x100619288
mov r14, qword [rbx]
xor r15d, r15d
xor r12d, r12d
nop dword [rax]
mov rcx, qword [r14 + r15*8]
add r15, 1
call sub.msys_2.0.dll_strlen
lea r12, [r12 + rax + 1]
cmp esi, r15d
jg 0x100618840
cmp r12, qword [rsp + 0x88]
jle 0x100619288
nop dword [rax]
add rdi, 1
add rbp, 0x20
cmp rdi, 0x25
jne 0x1006187c8
mov r14, qword [rsp + 0x58]
xor ebx, ebx
test r14, r14
jne 0x10061889d
jmp 0x100618909
add rbx, 0x20
cmp rbx, 0x4c0
je 0x1006188f1
lea rax, [r14 + rbx]
mov rcx, qword [rax]
test rcx, rcx
je 0x100618890
cmp qword [rax + 8], 0
jle 0x1006188d8
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 [0x100729d98]
add rax, rbx
cmp qword [rax + 8], rsi
mov rcx, qword [rax]
jg 0x1006188b8
call sym.vim.exe_vim_free
add rbx, 0x20
mov r14, qword [0x100729d98]
cmp rbx, 0x4c0
jne 0x10061889d
test r14, r14
je 0x100618909
mov rcx, r14
call sym.vim.exe_vim_free
mov qword [0x100729d98], 0
call sym.vim.exe_get_globvar_ht
mov rsi, rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax]
movzx eax, byte [rcx]
test al, al
jne 0x100618957
jmp 0x1006189d2
cmp al, 0x6e
je 0x1006189d2
mov edx, 0x2c
call sym.vim.exe_vim_strchr
test rax, rax
je 0x1006189d2
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x1006189d2
cmp al, 0x21
jne 0x100618930
lea rcx, str._n_global_variables:_n
lea rdi, [0x1006e2808]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
lea r12, str.__s_t_s_t
lea rbp, [0x1006e2cd0]
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rax, qword [rsi + 8]
mov r14, qword [rsi + 0x28]
mov rsi, qword [sym.vim.exe_hash_removed]
mov ebx, eax
test eax, eax
jle 0x1006189d2
nop dword [rax]
mov r15, qword [r14 + 8]
test r15, r15
je 0x100619718
cmp r15, rsi
je 0x100619718
mov rcx, r15
sub ebx, 1
call sym.vim.exe_var_flavour
cmp eax, 2
je 0x100619b1b
add r14, 0x10
test ebx, ebx
jne 0x1006189a0
call sym.vim.exe_get_namedfm
mov ecx, 0x66
mov rbx, rax
call sym.vim.exe_get_viminfo_parameter
test eax, eax
je 0x100619728
lea rcx, str._n_File_marks:_n
xor esi, esi
mov edi, 0x41
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
nop word [rax + rax]
mov rax, qword [0x100729d90]
lea rdx, [rbx + rsi]
test rax, rax
je 0x100618a30
add rax, rsi
mov rcx, qword [rbx + rsi + 0x20]
cmp qword [rax + 0x20], rcx
cmovg rdx, rax
cmp qword [rdx], 0
je 0x100618a47
mov r9d, edi
mov r8d, 0x27
mov rcx, r13
call fcn.100617600
add rsi, 0x28
add edi, 1
cmp rsi, 0x410
jne 0x100618a10
mov rsi, qword [sym.vim.exe_curbuf]
mov rbp, qword [sym.vim.exe_curwin]
mov rdi, qword [rsi]
cmp qword [rdi + 0x88], 0
je 0x100618a89
mov rcx, rdi
call sym.vim.exe_bt_terminal
mov rbp, qword [sym.vim.exe_curwin]
test eax, eax
je 0x10061ad49
mov esi, 0x30
mov r15d, 0x1a
mov edi, 0x1a
jmp 0x100618aec
mov rcx, qword [rax + 0x20]
mov r8, qword [r12 + 0x20]
cmp rcx, r8
jg 0x100619900
mov r14, qword [r12]
test r14, r14
je 0x100619900
add r15d, 1
cmp rdx, r14
je 0x100618b31
nop dword [rax + rax]
mov r9d, esi
mov r8d, 0x27
mov rdx, r12
mov rcx, r13
call fcn.100617600
add esi, 1
cmp esi, 0x3a
je 0x100618b4a
movsxd rax, r15d
mov rdx, qword [0x100729d90]
lea rax, [rax + rax*4]
lea r12, [rbx + rax*8]
test rdx, rdx
je 0x1006198f0
movsxd rax, edi
lea rax, [rax + rax*4]
lea rax, [rdx + rax*8]
mov rdx, qword [rax]
test rdx, rdx
jne 0x100618aa0
add r15d, 1
cmp qword [r12], 0
jne 0x100618ad0
mov rcx, qword [rax + 0x20]
mov r8, qword [r12 + 0x20]
xor r14d, r14d
cmp r8, rcx
je 0x10061a03b
mov rax, r14
test rax, rax
jne 0x100618ad0
add esi, 1
cmp esi, 0x3a
jne 0x100618aec
lea rcx, str._n_Jumplist__newest_first_:_n
mov ebx, 0x64
xor edi, edi
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
call sym.vim.exe_setpcmark
mov rcx, qword [rbp]
xor edx, edx
call sym.vim.exe_cleanup_jumplist
mov rax, qword [rbp]
mov esi, dword [rax + 0x1f10]
sub esi, 1
jmp 0x100618c04
movsxd rax, esi
mov rcx, qword [rbp]
lea rax, [rax + rax*4]
shl rax, 3
lea r9, [rcx + rax + 0xf70]
test rdx, rdx
je 0x100618bce
cmp dword [0x100729d84], edi
jle 0x100618bce
movsxd r8, edi
lea r8, [r8 + r8*4]
lea r12, [rdx + r8*8]
mov rdx, qword [r12 + 0x20]
cmp qword [rcx + rax + 0xf90], rdx
jl 0x100618c2f
mov r12, r9
sub esi, 1
mov ecx, dword [r12 + 0x10]
test ecx, ecx
jne 0x100618c3b
cmp qword [r12], 0
je 0x100618bfb
mov r9d, 0x27
mov r8d, 0x2d
mov rdx, r12
mov rcx, r13
call fcn.100617600
sub ebx, 1
je 0x100619728
mov rdx, qword [0x100729d88]
test esi, esi
jns 0x100618b90
test rdx, rdx
je 0x100619728
cmp dword [0x100729d84], edi
jle 0x100619728
movsxd rax, edi
lea rax, [rax + rax*4]
lea r12, [rdx + rax*8]
mov ecx, dword [r12 + 0x10]
add edi, 1
test ecx, ecx
je 0x100618bdd
call sym.vim.exe_buflist_findnr
mov r14, rax
test rax, rax
je 0x100618bfb
mov rcx, rax
call sym.vim.exe_bt_terminal
test eax, eax
jne 0x100618bfb
mov rcx, qword [r14 + 0x88]
call fcn.100616ea0
test eax, eax
jne 0x100618bfb
jmp 0x100618bdd
lea rcx, [rsp + 0x130]
xor r8d, r8d
xor edx, edx
call sym.vim.exe_convert_setup
jmp 0x100618583
mov rcx, qword [rsp + 0x120]
jmp 0x100618ca1
mov rcx, qword [rsp + 0x120]
cmp byte [rcx], 0x3e
je 0x1006185d6
mov r8, qword [rsp + 0x128]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
je 0x100618c90
mov dword [rsp + 0x94], eax
jmp 0x1006185e1
movabs rax, 0x800002401
mov ebx, 1
shl rbx, cl
and rbx, rax
jne case.0x1006184d2.7
cmp cl, 0x21
je 0x100619976
cmp cl, 0x22
je 0x1006191a4
mov rcx, qword [sym.vim.exe_e_illegal_starting_char]
call sub.msys_intl_8.dll_libintl_gettext
mov r8, r15
lea rcx, str.E575:
mov rdx, rax
call fcn.100617520
test eax, eax
jne 0x10061b086
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov r15d, eax
test r15d, r15d
jne 0x10061aa9e
mov r15, qword [rsp + 0x120]
movzx ecx, byte [r15]
mov rdx, r15
cmp cl, 0x3e
jne 0x1006184a8
mov r13, r14
test r13, r13
je 0x10061a155
mov rax, qword [sym.vim.exe_firstbuf]
mov rbx, qword [rax]
mov qword [rsp + 0x98], rax
test rbx, rbx
je 0x10061b054
mov rcx, rbx
call sym.vim.exe_fmarks_check_names
mov rbx, qword [rbx + 0x68]
test rbx, rbx
jne 0x100618d80
jmp 0x1006185e1
cmp dword [rsp + 0x148], 1
jle 0x10061a022
nop dword [rax]
mov r8, qword [rsp + 0x128]
mov rcx, r15
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov r15d, eax
jmp 0x100618d38
mov qword [rsp + 0xd0], r15
movzx eax, byte [r15]
cmp al, 0x7e
je 0x10061a0b2
mov dword [rsp + 0x78], 0
xor ebx, ebx
xor edi, edi
xor r12d, r12d
mov qword [rsp + 0x70], 0
xor esi, esi
cmp al, 0x2f
je 0x10061a61f
cmp al, 0x26
je 0x10061a48b
cmp al, 0x68
je 0x10061aa4f
cmp al, 0x48
jne 0x100618d1b
mov dword [0x100729d80], 1
jmp 0x100618d1b
xor edi, edi
test r13, r13
mov ebx, 0x270f
sete dil
jmp 0x100618390
cmp dword [rsp + 0x148], 3
jg case.0x1006184d2.7
call sym.vim.exe_get_namedfm
mov rcx, qword [rsp + 0x120]
mov rsi, rax
lea rbx, [rcx + 1]
mov qword [rsp + 0xd0], rbx
movzx eax, byte [rcx + 1]
test al, al
js 0x100618e7c
movzx edx, byte [rcx]
cmp dl, 0x27
je 0x10061ae78
cmp dl, 0x2d
je 0x10061a763
mov r8, qword [rsp + 0x128]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov r15d, eax
jmp 0x100618d38
mov edx, dword [rsp + 0x60]
lea rcx, [rsp + 0x120]
call fcn.100617a10
mov r15d, eax
jmp 0x100618d38
mov r9d, dword [rsp + 0x58]
test r9d, r9d
jne 0x100618ec7
call sym.vim.exe_get_old_sub
test rax, rax
jne 0x100618d1b
lea rcx, [rsp + 0x120]
mov r8d, 1
mov edx, 1
call fcn.100616860
mov rcx, rax
call sym.vim.exe_set_old_sub
jmp 0x100618d1b
lea rax, [r15 + 1]
mov qword [rsp + 0xc0], rax
cmp byte [r15 + 1], 0x3c
je 0x10061a079
lea r13, [rsp + 0xd0]
mov r8d, 0x14
mov edx, 0x28
mov rcx, r13
call sym.vim.exe_ga_init2
lea rcx, [rsp + 0xc0]
call sym.vim.exe_getdigits
cmp eax, 3
je 0x10061aadd
jg 0x100619bb0
cmp eax, 1
je 0x10061ac98
cmp eax, 2
jne 0x10061aaae
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x120]
mov r8, r13
call fcn.100616f60
mov rbx, qword [rsp + 0xe0]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xd0]
cmp eax, 3
jle 0x100619c99
mov eax, dword [rbx]
test eax, eax
jne 0x100619cab
mov edx, dword [rbx + 0x28]
test edx, edx
jne 0x100619cab
mov ecx, dword [rbx + 0x50]
mov eax, ecx
and eax, 0xfffffffd
jne 0x10061b253
cmp dword [rbx + 0x78], 1
jne 0x100619cab
mov rdx, qword [rbx + 8]
mov dword [rsp + 0x88], edx
cmp edx, 4
jg 0x100619cab
movsxd r15, edx
lea rsi, [0x100729db0]
lea rdi, [0x100729dd0]
mov esi, dword [rsi + r15*4]
cmp dword [rdi + r15*4], esi
jge 0x100619cab
mov rdi, qword [rbx + 0x88]
test rdi, rdi
je 0x100619cab
cmp byte [rdi], 0
je 0x100619cab
sub edx, 1
jne 0x100619006
test ecx, ecx
je 0x10061b536
mov dword [rsp + 0x78], 0
mov eax, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x78]
mov rdx, rdi
mov r8d, dword [0x100729da0]
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call sym.vim.exe_in_history
mov esi, eax
test eax, eax
jne 0x100619c92
lea rax, [0x100729dd0]
mov eax, dword [rax + r15*4]
mov dword [rsp + 0xa8], eax
test eax, eax
jle 0x1006190c7
lea rax, [0x100729e00]
mov qword [rsp + 0x98], rbx
mov r8, qword [rax + r15*8]
mov qword [rsp + 0xa0], r13
mov r13, r8
mov rbx, qword [r13 + 8]
mov rcx, rdi
mov rdx, rbx
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x1006190a7
cmp dword [rsp + 0x88], 1
jne 0x10061b542
mov rcx, rbx
call sub.msys_2.0.dll_strlen
movzx eax, byte [rbx + rax + 1]
cmp dword [rsp + 0x78], eax
je 0x10061b542
add esi, 1
add r13, 0x18
cmp esi, dword [rsp + 0xa8]
jne 0x10061906f
mov rbx, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
movsxd r9, dword [rbx + 0x98]
lea rcx, [r9 + 2]
mov qword [rsp + 0x88], r9
call sym.vim.exe_alloc
mov r9, qword [rsp + 0x88]
test rax, rax
mov rcx, rax
je 0x100619c92
movsxd rsi, esi
lea rax, [0x100729e00]
mov rdx, qword [rbx + 0x30]
lea r8, [r9 + 1]
imul rsi, rsi, 0x18
mov rax, qword [rax + r15*8]
mov qword [rsp + 0x88], r9
mov qword [rax + rsi + 0x10], rdx
mov rdx, rdi
call sub.msys_2.0.dll_memmove
movzx edi, byte [rsp + 0x78]
mov r9, qword [rsp + 0x88]
mov rcx, rax
mov byte [rax + r9 + 1], dil
lea rax, [0x100729e00]
add rsi, qword [rax + r15*8]
lea rax, [0x100729dd0]
mov qword [rsi], r12
mov qword [rsi + 8], rcx
add dword [rax + r15*4], 1
mov eax, dword [rsp + 0xd0]
jmp 0x100619c99
mov ecx, 0x63
call sym.vim.exe_get_viminfo_parameter
test eax, eax
jne 0x10061a0f6
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
mov edx, 0x200
call sym.vim.exe_vim_fgets
mov r15d, eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
jmp 0x100618d38
cmp dword [rsp + 0x148], 2
jg 0x100619dd3
lea rax, [r15 + 1]
xor r12d, r12d
mov qword [rsp + 0xd0], rax
movzx edx, byte [r15 + 1]
cmp dl, 0x22
jne 0x1006191e1
lea rax, [r15 + 2]
mov r12d, dword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
movzx edx, byte [r15 + 2]
mov ecx, edx
and ecx, 0xffffffdf
sub ecx, 0x41
cmp cl, 0x19
jbe 0x100619202
movzx ecx, dl
sub ecx, 0x30
cmp ecx, 9
jbe 0x100619202
cmp dl, 0x2d
jne 0x10061a72e
mov esi, dword [rsp + 0x50]
lea rdx, [rax + 1]
mov qword [rsp + 0xd0], rdx
movzx ecx, byte [rax]
xor edx, edx
call sym.vim.exe_get_yank_register
call sym.vim.exe_get_y_current
mov r13d, dword [rsp + 0x58]
mov rdi, rax
mov rax, qword [rsp + 0xd0]
test r13d, r13d
jne 0x10061a309
cmp qword [rdi], 0
movzx eax, byte [rax]
je 0x10061a6b8
cmp al, 0x40
je 0x10061a973
mov dword [rsp + 0x78], 0
xor esi, esi
xor r12d, r12d
mov dword [rsp + 0x70], 0
jmp 0x10061a39a
test rax, rax
je 0x100618868
mov rbx, rbp
jmp 0x100618803
movzx r14d, byte [rbx + 0x10]
lea r15, str.LINE
cmp r14b, 1
je 0x1006192ab
lea r15, str.BLOCK
cmp r14b, 2
jne 0x100619400
call sym.vim.exe_get_y_previous
cmp rax, rbp
je 0x100619b9e
mov ecx, dword [rsp + 0x50]
call sym.vim.exe_get_register_name
lea rdx, [0x1006e2a83]
mov rcx, r13
movzx r14d, al
mov r8d, r14d
call sub.msys_2.0.dll_fprintf
call sym.vim.exe_get_execreg_lastc
cmp r14d, eax
je 0x100619b09
mov r9d, dword [rbx + 0x14]
mov r8, r15
lea rdx, str._t_s_t_d_n
mov rcx, r13
call sub.msys_2.0.dll_fprintf
mov eax, dword [rsp + 0x68]
test eax, eax
jle 0x100619450
mov edx, dword [rsp + 0x60]
cmp eax, edx
jge 0x100619450
mov esi, dword [rsp + 0x68]
xor r12d, r12d
nop dword [rax + rax]
mov rdx, r13
mov ecx, 9
call sub.msys_2.0.dll_putc
mov rax, qword [rbx]
mov rcx, r13
mov rdx, qword [rax + r12*8]
add r12, 1
call fcn.100616b60
cmp esi, r12d
jg 0x100619320
call sym.vim.exe_get_y_previous
xor r12d, r12d
cmp rax, rbp
sete r12b
call sym.vim.exe_get_execreg_lastc
cmp r14d, eax
je 0x1006196d0
mov rax, qword [rbx + 0x18]
mov r9d, r12d
mov r8d, 3
mov rcx, r13
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 [rsp + 0x50]
mov dword [rsp + 0x20], eax
call sub.msys_2.0.dll_fprintf
xor r12d, r12d
mov r14d, 0x1b9
nop word [rax + rax]
mov rdx, r13
mov ecx, 0x2c
call sub.msys_2.0.dll_putc
mov rax, qword [rbx]
lea r8d, [r14 - 1]
mov rcx, r13
mov rdx, qword [rax + r12*8]
add r12, 1
call fcn.100616d30
mov r14d, eax
cmp esi, r12d
jg 0x1006193b0
mov rdx, r13
mov ecx, 0xa
call sub.msys_2.0.dll_putc
mov rax, qword [0x100729d98]
mov qword [rsp + 0x58], rax
jmp 0x100618868
lea r15, str.CHAR
test r14b, r14b
jne 0x10067e9f0
jmp 0x1006192ab
movzx r14d, byte [rbx + 0x10]
test r14b, r14b
jne 0x10061990b
mov r14, qword [rbx]
mov rax, qword [r14]
cmp byte [rax], 0
je 0x100618868
mov eax, dword [rsp + 0x70]
lea r15, str.CHAR
test eax, eax
jg 0x100618836
jmp 0x1006192ab
mov r15d, dword [rsp + 0x60]
test r15d, r15d
jg 0x100619318
call sym.vim.exe_get_y_previous
xor esi, esi
cmp rax, rbp
sete sil
call sym.vim.exe_get_execreg_lastc
cmp r14d, eax
je 0x10061aa5e
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r9d, esi
mov r8d, 3
lea rdx, str._d__d__d__d__d__d__ld
mov rcx, r13
call sub.msys_2.0.dll_fprintf
jmp 0x1006193dc
mov r12, rsi
mov rbx, qword [rsp + 0x78]
mov esi, dword [rsp + 0x88]
mov eax, edi
cmp eax, r13d
mov rdx, qword [rsp + 0x70]
cmovg eax, r13d
xor r13d, r13d
xor ebp, ebp
sub eax, 1
mov dword [rdx], eax
mov edx, dword [r15]
test edx, edx
jle 0x100619509
nop dword [rax]
mov rax, qword [rbx]
add ebp, 1
mov rcx, qword [rax + r13 + 8]
add r13, 0x18
call sym.vim.exe_vim_free
cmp ebp, dword [r15]
jl 0x1006194f0
test edi, edi
jle 0x10061953a
mov rdx, qword [rsp + 0x58]
lea eax, [rdi - 1]
lea rax, [rax + rax*2]
lea rbp, [rdx + 8]
lea rdi, [rdx + rax*8 + 0x20]
nop word [rax + rax]
mov rcx, qword [rbp]
add rbp, 0x18
call sym.vim.exe_vim_free
cmp rdi, rbp
jne 0x100619528
mov rcx, qword [rsp + 0x58]
call sym.vim.exe_vim_free
mov rdx, qword [rsp + 0x60]
mov ecx, esi
call sym.vim.exe_set_histentry
mov rcx, r12
call sym.vim.exe_vim_free
mov rcx, qword [rbx]
test rcx, rcx
je 0x10061956c
call sym.vim.exe_vim_free
mov qword [rbx], 0
mov dword [r15], 0
add esi, 1
add r15, 4
add rbx, 8
cmp esi, 5
jne 0x10061a178
mov rax, qword [sym.vim.exe_firstbuf]
mov r13, qword [rsp + 0x1c8]
mov rbx, qword [rax]
test rbx, rbx
jne 0x100618d80
mov eax, dword [rsp + 0x1d0]
and eax, 0x1e
mov dword [rsp + 0x78], eax
mov r11d, dword [rsp + 0x78]
mov r15, qword [rsp + 0x120]
test r11d, r11d
je 0x10061856a
mov ecx, 0x200
call sym.vim.exe_alloc
mov rbp, rax
test rax, rax
je 0x100618550
mov byte [rax], 0
test r13, r13
je 0x10061a5ca
mov qword [rsp + 0x60], 0
mov eax, dword [rsp + 0xd0]
test eax, eax
jle 0x100619629
movsxd rdx, eax
mov rcx, qword [rsp + 0xe0]
lea r9, [sym.vim.exe_buf_compare]
mov r8d, 8
call fcn.100673050
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov ecx, 0x27
xor ebx, ebx
xor r14d, r14d
call sym.vim.exe_get_viminfo_parameter
mov r8d, dword [rsp + 0x94]
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x50], eax
test r8d, r8d
jne 0x1006184ff
test r13, r13
sete byte [rsp + 0x58]
xor ebx, ebx
xor r14d, r14d
cmp dword [rsp + 0x50], r14d
lea r9, [r15 + 1]
lea rdi, [rsp + 0x120]
setg sil
or sil, byte [rsp + 0x58]
test sil, sil
je 0x100618548
movzx eax, byte [r15]
cmp al, 0x3e
je 0x100619e1a
cmp al, 0x23
ja 0x1006184d4
movabs rdx, 0xfffffff7ffffdbff
bt rdx, rax
jb 0x1006184d4
mov r8, qword [rsp + 0x128]
mov edx, 0x200
mov rcx, r15
call sym.vim.exe_vim_fgets
test eax, eax
je 0x100619663
jmp 0x1006184fa
mov rax, qword [rbx + 0x18]
mov r9d, r12d
mov r8d, 3
mov rcx, r13
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 [rsp + 0x50]
mov dword [rsp + 0x20], eax
call sub.msys_2.0.dll_fprintf
jmp 0x10061939e
add r14, 0x10
jmp 0x1006189a0
mov rax, qword [0x100729d90]
xor ebx, ebx
test rax, rax
jne 0x100619747
jmp 0x10061977a
mov rax, qword [0x100729d90]
mov rcx, qword [rax + rbx + 0x18]
add rbx, 0x28
call sym.vim.exe_vim_free
cmp rbx, 0x5a0
jne 0x100619740
mov rcx, qword [0x100729d90]
test rcx, rcx
je 0x10061977a
call sym.vim.exe_vim_free
mov qword [0x100729d90], 0
mov rcx, qword [0x100729d88]
test rcx, rcx
je 0x1006197d5
mov r14d, dword [0x100729d84]
test r14d, r14d
jle 0x1006197c5
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 [0x100729d84]
mov rcx, qword [0x100729d88]
jl 0x1006197a0
test rcx, rcx
je 0x1006197d5
call sym.vim.exe_vim_free
mov qword [0x100729d88], 0
mov rcx, r13
call fcn.1006180a0
mov r12d, dword [rsp + 0x150]
test r12d, r12d
jg 0x100619cfa
mov ebp, dword [rsp + 0x78]
test ebp, ebp
jne 0x100619d64
xor ebp, ebp
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 0x10061984a
nop dword [rax]
cmp qword [rsi], rbx
je 0x1006198e8
mov r12, qword [rbx + 0x20]
jmp 0x10061983d
mov rcx, r12
call sym.vim.exe_set_last_cursor
mov r12, qword [r12 + 0x18]
test r12, r12
jne 0x100619830
mov rbx, qword [rbx]
test rbx, rbx
jne 0x100619820
lea rcx, str._n_History_of_marks_within_files__newest_to_oldest_:_n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov rax, qword [rsp + 0x98]
mov rbx, qword [rax]
test rbx, rbx
jne 0x1006198a5
jmp 0x1006195b0
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x100619898
cmp byte [rax], 0
jne 0x10061991c
nop dword [rax]
mov rbx, qword [rbx + 0x68]
test rbx, rbx
je 0x1006195b0
mov esi, dword [rbx + 0x1220]
test esi, esi
je 0x100619898
cmp qword [rbx + 0x338], 0
jne 0x100619880
lea rax, [rbx + 0x168]
lea rdx, [rbx + 0x308]
jmp 0x1006198d9
add rax, 0x10
cmp rdx, rax
je 0x100619898
cmp qword [rax], 0
je 0x1006198d0
jmp 0x100619880
mov r12, qword [rdi]
jmp 0x10061983d
mov rax, qword [r12]
add r15d, 1
jmp 0x100618b3d
add edi, 1
mov r12, rax
jmp 0x100618ad0
mov edx, dword [rsp + 0x70]
test edx, edx
jg 0x100618833
jmp 0x10061928d
mov rcx, rbx
call sym.vim.exe_bt_terminal
test eax, eax
jne 0x100619898
mov rcx, qword [rbx + 0x88]
call fcn.100616ea0
test eax, eax
jne 0x100619898
test rbp, rbp
je 0x10061aa8e
mov edx, 1
mov rcx, rbp
call sym.vim.exe_ga_grow
cmp eax, 1
jne 0x100619898
movsxd rax, dword [rbp]
mov rdx, qword [rbp + 0x10]
lea ecx, [rax + 1]
mov dword [rbp], ecx
mov qword [rdx + rax*8], rbx
jmp 0x100619898
test r14, r14
jne case.0x1006184d2.7
mov rax, qword [sym.vim.exe_p_viminfo]
mov rcx, qword [rax]
movzx eax, byte [rcx]
test al, al
jne 0x1006199c3
jmp case.0x1006184d2.7
cmp al, 0x6e
je 0x100619afc
mov edx, 0x2c
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100619afc
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x100619afc
cmp al, 0x21
jne 0x100619998
mov rax, qword [rsp + 0x120]
mov edx, 9
lea rcx, [rax + 1]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100619afc
mov byte [rax], 0
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
sub eax, 0x42
cmp al, 0x16
ja 0x10061afcf
lea rdx, [0x1006e2da0]
movzx eax, al
mov ebx, dword [rdx + rax*4]
mov edx, 9
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100619afc
lea edx, [rbx - 7]
mov dword [rsp + 0xc0], ebx
and edx, 0xfffffffa
jne 0x10061b32a
sub rax, qword [rsp + 0x120]
lea rcx, [rsp + 0x120]
mov r8d, 1
lea edx, [rax + 1]
call fcn.100616860
mov qword [rsp + 0xc8], rax
mov rcx, rax
lea eax, [rbx - 0xb]
cmp eax, 1
ja 0x10061b2c6
xor edx, edx
call sym.vim.exe_eval_expr
mov r12, rax
test rax, rax
je 0x10061b299
mov rcx, qword [rsp + 0xc8]
call sym.vim.exe_vim_free
movdqu xmm1, xmmword [r12]
mov rcx, r12
movaps xmmword [rsp + 0xc0], xmm1
call sym.vim.exe_vim_free
lea rcx, [rsp + 0xd0]
lea r12, [rsp + 0xc0]
call sym.vim.exe_save_funccal
mov rax, qword [rsp + 0x120]
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 [rsp + 0xc0]
cmp eax, 7
je 0x10061b27f
lea edx, [rax - 0xb]
cmp edx, 1
jbe 0x100619af4
mov r15, qword [rsp + 0x120]
cmp eax, 8
jne case.0x1006184d2.7
mov rcx, r12
call sym.vim.exe_clear_tv
mov r15, qword [rsp + 0x120]
jmp case.0x1006184d2.7
mov rdx, r13
mov ecx, 0x40
call sub.msys_2.0.dll_fputc
jmp 0x1006192e6
cmp dword [r15 - 0x11], 0xf
ja case.default.0x100619b2e
mov eax, dword [r15 - 0x11]
movsxd rax, dword [rbp + rax*4]
add rax, rbp
jmp rax
lea rdi, [0x1006e294a]
mov r9, rdi
mov r8, r15
mov rdx, r12
mov rcx, r13
call sub.msys_2.0.dll_fprintf
mov eax, dword [r15 - 0x11]
sub eax, 3
cmp eax, 1
jbe 0x100619d8b
lea rdx, [rsp + 0xc0]
lea rcx, [r15 - 0x11]
xor r9d, r9d
lea r8, [rsp + 0xd0]
call sym.vim.exe_echo_string
mov rdx, rax
test rax, rax
jne 0x100619dc6
mov rcx, qword [rsp + 0xc0]
call sym.vim.exe_vim_free
jmp case.0x100619b2e.0
mov r14, qword [0x100729d98]
jmp 0x10061887f
mov rdx, r13
mov ecx, 0x22
call sub.msys_2.0.dll_fputc
jmp 0x1006192b9
cmp eax, 4
jne 0x10061aaae
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x120]
mov r8, r13
call fcn.100616f60
mov rbx, qword [rsp + 0xe0]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xd0]
cmp eax, 4
jle 0x100619c99
mov eax, dword [rbx]
test eax, eax
jne 0x100619cab
mov ecx, dword [rbx + 0x28]
test ecx, ecx
jne 0x100619cab
mov edx, dword [rbx + 0x50]
test edx, edx
jne 0x100619cab
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x10061b253
cmp dword [rbx + 0xa0], 1
jne 0x100619cab
mov rsi, qword [rbx + 8]
lea edx, [rsi - 0x30]
cmp esi, 0x27
je 0x10061b3e9
cmp edx, 9
jbe 0x10061b3e9
sub esi, 0x41
cmp esi, 0x19
ja 0x100619cab
mov rdi, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x58]
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x88], edx
test rdi, rdi
jle 0x100619cab
test edx, edx
js 0x100619cab
mov r15, qword [rbx + 0x80]
call sym.vim.exe_get_namedfm
mov rdi, rax
mov rax, qword [0x100729d90]
test rax, rax
jne 0x10061b605
movsxd rsi, esi
imul rsi, rsi, 0x28
add rsi, rdi
jne 0x10061b45a
mov eax, dword [rsp + 0xd0]
test eax, eax
jle 0x10061a9e8
mov rbx, qword [rsp + 0xe0]
mov eax, dword [rbx]
xor edi, edi
xor esi, esi
jmp 0x100619ce0
mov rcx, qword [rbx + 0x18]
add edi, 1
add rsi, 0x28
call sym.vim.exe_vim_free
cmp edi, dword [rsp + 0xd0]
jge 0x10061a9e8
mov rbx, qword [rsp + 0xe0]
mov eax, dword [rbx + rsi]
add rbx, rsi
cmp eax, 1
jne 0x100619cb8
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x100619cb8
mov rcx, qword [rbx + 0x10]
call sym.vim.exe_vim_free
jmp 0x100619cb8
lea rcx, str._n_Bar_lines__copied_verbatim:_n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r13
mov rcx, rax
call sub.msys_2.0.dll_fputs
mov edi, dword [rsp + 0x150]
test edi, edi
jle 0x1006197ee
xor ebx, ebx
xor edx, edx
nop dword [rax]
mov rax, qword [rsp + 0x160]
mov rcx, qword [rax + rbx*8]
test edx, edx
jne 0x100619d3e
cmp byte [rcx + 1], 0x3c
je 0x100619d4b
mov rdx, r13
call sub.msys_2.0.dll_fputs
mov edx, 1
add rbx, 1
cmp dword [rsp + 0x150], ebx
jg 0x100619d28
mov ebp, dword [rsp + 0x78]
test ebp, ebp
je 0x1006197fa
lea rbp, [rsp + 0xd0]
mov r8d, 0x32
mov edx, 8
mov rcx, rbp
call sym.vim.exe_ga_init2
jmp 0x1006197fc
xor eax, eax
jmp 0x1006183f3
mov rax, qword [r15 - 9]
xor edx, edx
lea rcx, [rsp + 0xd0]
lea r9, [0x1006e2ac4]
mov r8d, 0x41
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x20], rax
call sub.msys_2.0.dll___sprintf_chk
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xc0], 0
mov rcx, r13
call fcn.100616b60
jmp 0x100619b80
mov rcx, r15
nop word cs:[rax + rax]
mov r8, qword [rsp + 0x128]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
jne 0x10061a610
mov rcx, qword [rsp + 0x120]
movzx eax, byte [rcx]
mov rdx, rcx
cmp al, 9
je 0x100619de0
cmp al, 0x3c
je 0x100619de0
mov r15, rcx
mov ecx, eax
jmp 0x100618499
mov rcx, r9
mov qword [rsp + 0x70], r9
call sym.vim.exe_skipwhite
xor r8d, r8d
mov rcx, rdi
mov edx, eax
sub edx, dword [rsp + 0x120]
call fcn.100616860
mov r9, qword [rsp + 0x70]
test rax, rax
mov r12, rax
je 0x10061967d
mov rcx, rax
call sub.msys_2.0.dll_strlen
lea rsi, [r12 + rax]
cmp r12, rsi
jne 0x100619e69
jmp 0x100619e7c
sub rsi, 1
cmp r12, rsi
je 0x100619e7c
movzx eax, byte [rsi]
test al, al
je 0x100619e60
movzx ecx, al
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x100619e60
cmp byte [rsi], 1
mov rax, qword [rsp + 0x68]
sbb rsi, 0xffffffffffffffff
mov byte [rsi], 0
test rax, rax
je 0x100619ea1
mov r8d, 0xffffffff
mov rdx, r12
mov rcx, rax
call sym.vim.exe_list_append_string
test r13, r13
je 0x10061af20
mov rax, qword [sym.vim.exe_firstbuf]
mov rdi, qword [rax]
test rdi, rdi
je 0x100619f02
nop dword [rax]
mov rdx, qword [rdi + 0x88]
test rdx, rdx
je 0x100619ef9
mov dword [rsp + 0x20], 1
mov r9d, 0x200
mov r8, rbp
xor ecx, ecx
call sym.vim.exe_home_replace
mov rdx, rbp
mov rcx, r12
call sym.vim.exe_vim_fnamecmp
mov esi, eax
test eax, eax
je 0x10061acc8
mov rdi, qword [rdi + 0x68]
test rdi, rdi
jne 0x100619ec0
cmp qword [rsp + 0x60], 0
je 0x100619f32
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
jne 0x100619f32
cmp byte [r15], 9
je 0x10061b18c
mov edx, 1
lea rcx, [0x1006e287c]
mov r9, r13
mov r8d, 3
call sub.msys_2.0.dll_fwrite
mov rdx, r12
mov rcx, r13
call fcn.100616b60
add r14d, 1
mov edi, 1
xor esi, esi
mov rcx, r12
call sym.vim.exe_vim_free
mov dword [rsp + 0xcc], 0
nop dword [rax]
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
jne 0x10061ad40
cmp byte [r15], 9
jne 0x10061acf6
test esi, esi
je 0x10061a9d0
cmp byte [r15 + 1], 0
je 0x100619f78
lea rcx, [r15 + 2]
lea r9, [rsp + 0xb8]
lea r8, [rsp + 0xc0]
lea rdx, str._ld__u
call sub.msys_2.0.dll_sscanf
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0xc8], eax
movzx eax, byte [r15 + 1]
cmp al, 0x2b
je 0x10061af72
ja 0x10061aa20
cmp al, 0x22
je 0x10061b067
cmp al, 0x2a
jne 0x100619f78
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rax]
mov qword [rax + 0x160], rdx
jmp 0x100619f78
mov edx, dword [rsp + 0x60]
lea rcx, [rsp + 0x120]
call fcn.1006173c0
mov r15d, eax
jmp 0x100618d38
mov edx, dword [rax + 0x10]
test edx, edx
je 0x10061a049
cmp edx, dword [r12 + 0x10]
je 0x10061a071
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x100618b3a
mov rdx, qword [r12 + 0x18]
test rdx, rdx
je 0x100618b3a
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x100618b3a
add edi, 1
jmp 0x100618b3a
test r14, r14
je case.0x1006184d2.7
mov rcx, qword [rsp + 0x80]
mov rdx, r15
call sym.vim.exe_ga_copy_string
mov r15, qword [rsp + 0x120]
jmp case.0x1006184d2.7
mov ecx, 0x22
call sym.vim.exe_get_viminfo_parameter
mov dword [rsp + 0x68], eax
jmp 0x100618781
movzx eax, byte [r15 + 1]
mov ecx, eax
and ecx, 0xffffffdf
cmp cl, 0x4d
je 0x10061a627
mov dword [rsp + 0x78], 0
xor ebx, ebx
xor edi, edi
xor r12d, r12d
mov qword [rsp + 0x70], 0
lea rax, [rdx + 1]
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
movzx eax, byte [rdx + 1]
jmp 0x100618df3
mov rcx, qword [rsp + 0x120]
mov edx, 0x3d
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10061917a
lea r12, [rax + 1]
mov rbx, r12
nop dword [rax + rax]
movzx ecx, byte [rbx]
mov rsi, rbx
add rbx, 1
call sym.vim.exe_vim_isprintc
test eax, eax
jne 0x10061a120
mov rax, qword [sym.vim.exe_p_enc]
mov byte [rsi], 0
lea rcx, [rsp + 0x130]
mov rdx, r12
mov r8, qword [rax]
call sym.vim.exe_convert_setup
jmp 0x10061917a
mov eax, dword [rsp + 0x148]
lea r15, [0x100729dd0]
lea rbx, [0x100729e00]
xor esi, esi
mov qword [rsp + 0x1c8], r13
mov dword [rsp + 0x68], eax
mov ecx, esi
call sym.vim.exe_get_histentry
test rax, rax
je 0x100619573
cmp dword [rsp + 0x68], 1
jle 0x10061a2fd
call sym.vim.exe_get_hislen
mov ecx, esi
mov edi, eax
call sym.vim.exe_get_histentry
mov ecx, esi
mov qword [rsp + 0x58], rax
call sym.vim.exe_get_hisidx
mov ecx, esi
mov qword [rsp + 0x70], rax
call sym.vim.exe_get_hisnum
mov ecx, dword [r15]
mov r14, rax
add ecx, edi
movsxd rcx, ecx
shl rcx, 3
call sym.vim.exe_alloc
mov r12, rax
movsxd rax, edi
lea rcx, [rax + rax*2]
shl rcx, 3
call sym.vim.exe_alloc
mov qword [rsp + 0x60], rax
test r12, r12
je 0x10061acdf
test rax, rax
je 0x10061acdf
mov r13d, dword [r15]
test r13d, r13d
jle 0x10061b099
movsxd rdx, r13d
mov rcx, r12
xor eax, eax
lea r9, [rdx + rdx*2]
shl r9, 3
nop dword [rax + rax]
mov r8, qword [rbx]
add rcx, 8
add r8, rax
add rax, 0x18
mov qword [rcx - 8], r8
cmp r9, rax
jne 0x10061a218
test edi, edi
jle 0x10061afb3
mov rcx, qword [rsp + 0x58]
lea edx, [rdi - 1]
lea rdx, [rdx + rdx*2]
mov rax, rcx
lea rcx, [rcx + rdx*8 + 0x18]
nop dword [rax + rax]
cmp qword [rax + 8], 0
je 0x10061a262
movsxd rdx, r13d
add r13d, 1
mov qword [r12 + rdx*8], rax
add rax, 0x18
cmp rax, rcx
jne 0x10061a250
movsxd rdx, r13d
mov rcx, r12
lea r9, [0x100616810]
xor ebp, ebp
mov r8d, 8
call fcn.100673050
mov rdx, qword [rsp + 0x60]
mov eax, edi
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x88], esi
mov rbx, r14
mov rsi, r12
mov r14, rbp
mov r12, rax
mov rbp, rdx
jmp 0x10061a2ee
mov rdx, qword [rsi + r14*8]
movdqu xmm0, xmmword [rdx]
movups xmmword [rbp], xmm0
mov rcx, qword [rdx + 0x10]
mov qword [rbp + 0x10], rcx
mov ecx, dword [rbp]
mov qword [rdx + 8], 0
test ecx, ecx
jne 0x10061a2dd
mov eax, dword [rbx]
lea edx, [rax + 1]
mov dword [rbx], edx
mov dword [rbp], edx
add r14, 1
add rbp, 0x18
cmp r12, r14
je 0x1006194bf
cmp r13d, r14d
jg 0x10061a2b0
mov rcx, rbp
call sym.vim.exe_clear_hist_entry
jmp 0x10061a2dd
mov ecx, esi
call fcn.1006169d0
jmp 0x100619558
cmp byte [rax], 0x40
je 0x10061a6d5
test esi, esi
je 0x10061af08
test r12d, r12d
jne 0x10061a721
mov ecx, 0x320
call sym.vim.exe_alloc
mov rcx, qword [rsp + 0xd0]
mov r12, rax
call sym.vim.exe_skiptowhite
mov rcx, rax
call sym.vim.exe_skipwhite
mov r8d, 4
lea rdx, str.CHAR
mov rcx, rax
mov qword [rsp + 0xd0], rax
mov r13, rax
call sub.msys_2.0.dll_strncmp
mov dword [rsp + 0x70], eax
test eax, eax
jne 0x10061a690
mov rcx, r13
call sym.vim.exe_skiptowhite
mov rcx, rax
call sym.vim.exe_skipwhite
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
call sym.vim.exe_getdigits
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x120]
xor r13d, r13d
mov r15d, 0x64
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x120]
jmp 0x10061a3dd
mov rcx, qword [rsp + 0x120]
movzx edx, byte [rcx]
cmp dl, 9
je 0x10061a3d5
cmp dl, 0x3c
jne 0x10061a3f3
test esi, esi
jne 0x10061a53e
mov r8, qword [rsp + 0x128]
mov edx, 0x200
call sym.vim.exe_vim_fgets
test eax, eax
je 0x10061a3c0
mov r15d, eax
test esi, esi
je 0x10061a464
xor esi, esi
cmp qword [rdi + 8], 0
jle 0x10061a41e
nop dword [rax + rax]
mov rax, qword [rdi]
mov rcx, qword [rax + rsi*8]
add rsi, 1
call sym.vim.exe_vim_free
cmp qword [rdi + 8], rsi
jg 0x10061a408
mov rcx, qword [rdi]
call sym.vim.exe_vim_free
movzx eax, byte [rsp + 0x70]
mov qword [rdi + 0x18], 0
mov byte [rdi + 0x10], al
mov eax, dword [rsp + 0x78]
mov dword [rdi + 0x14], eax
movsxd rax, r13d
mov qword [rdi + 8], rax
test r13d, r13d
jne 0x10061a6e3
mov qword [rdi], 0
mov rcx, r12
call sym.vim.exe_vim_free
jmp 0x100618d38
mov r15d, edx
test r13d, r13d
je 0x10061a454
lea eax, [r13 - 1]
mov rbx, r12
lea rsi, [r12 + rax*8 + 8]
nop dword [rax]
mov rcx, qword [rbx]
add rbx, 8
call sym.vim.exe_vim_free
cmp rsi, rbx
jne 0x10061a478
jmp 0x10061a454
mov r13d, dword [rsp + 0x50]
mov ecx, r13d
call sym.vim.exe_get_spat
mov r11d, dword [rsp + 0x58]
mov r15, rax
test r11d, r11d
jne 0x10061a4af
cmp qword [rax], 0
jne 0x100618d1b
mov rdx, qword [rsp + 0xd0]
sub rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x120]
mov r8d, 1
add edx, 1
call fcn.100616860
mov rcx, rax
test rax, rax
je 0x100618d1b
mov r9d, esi
mov r8d, r12d
mov edx, r13d
mov qword [rsp + 0x88], rax
call sym.vim.exe_set_last_search_pat
mov rcx, qword [rsp + 0x88]
call sym.vim.exe_vim_free
mov eax, dword [rsp + 0x78]
mov dword [r15 + 0xc], edi
mov dword [r15 + 0x18], ebx
mov dword [r15 + 0x14], eax
mov rax, qword [rsp + 0x70]
mov qword [r15 + 0x20], rax
test esi, esi
je 0x100618d1b
mov r10d, dword [0x100729d80]
xor ecx, ecx
test r10d, r10d
sete cl
call sym.vim.exe_set_no_hlsearch
jmp 0x100618d1b
cmp r13d, r15d
je 0x10061b0f0
mov rcx, qword [rsp + 0x88]
mov r8d, 1
mov edx, 1
call fcn.100616860
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x10061a88f
movsxd rdx, r13d
add r13d, 1
mov qword [r12 + rdx*8], rax
jmp 0x10061a3b3
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax]
movzx eax, byte [rcx]
test al, al
jne 0x10061a5b3
jmp 0x10061a5bf
mov edx, 0x2c
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10061a5bf
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x10061a5bf
cmp al, 0x68
je 0x1006186b5
cmp al, 0x6e
jne 0x10061a598
mov r8d, 0x48
jmp 0x1006186bb
test byte [rsp + 0x1d0], 0x18
jne 0x10061a9ab
mov qword [rsp + 0x68], 0
mov ecx, 0x27
call sym.vim.exe_get_viminfo_parameter
mov ecx, dword [rsp + 0x94]
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x50], eax
test ecx, ecx
je 0x100619656
jmp 0x100618548
mov dword [rsp + 0x94], eax
mov r13, r14
jmp 0x100618d5c
xor r13d, r13d
jmp 0x10061a490
xor r12d, r12d
cmp al, 0x4d
lea rcx, [rsp + 0xd0]
sete r12b
xor edi, edi
cmp byte [r15 + 2], 0x73
sete dil
xor eax, eax
cmp byte [r15 + 3], 0x4c
sete al
xor ebx, ebx
cmp byte [r15 + 4], 0x45
sete bl
add r15, 5
mov dword [rsp + 0x78], eax
mov qword [rsp + 0xd0], r15
shl ebx, 6
call sym.vim.exe_getdigits
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x70], rax
movzx eax, byte [rdx]
cmp al, 0x7e
je 0x10061a0dd
xor esi, esi
jmp 0x100618df3
mov r8d, 5
lea rdx, str.BLOCK
mov rcx, r13
call sub.msys_2.0.dll_strncmp
test eax, eax
mov eax, 2
cmovne eax, esi
mov dword [rsp + 0x70], eax
jmp 0x10061a371
cmp al, 0x40
jne 0x10061a312
call sym.vim.exe_get_execreg_lastc
test eax, eax
jne 0x10061a312
mov rax, qword [rsp + 0xd0]
movzx ecx, byte [rax - 1]
call sym.vim.exe_set_execreg_lastc
jmp 0x10061a312
lea rcx, [rax*8]
lea esi, [r13 - 1]
call sym.vim.exe_alloc
shl rsi, 3
mov qword [rdi], rax
jmp 0x10061a711
mov qword [rax + rbx], rcx
cmp rsi, rbx
je 0x10061a454
mov rax, qword [rdi]
add rbx, 8
mov rcx, qword [r12 + rbx]
test rax, rax
jne 0x10061a6fd
call sym.vim.exe_vim_free
jmp 0x10061a701
mov rcx, rdi
call sym.vim.exe_set_y_previous
jmp 0x10061a323
mov rcx, qword [sym.vim.exe_e_illegal_register_name]
call sub.msys_intl_8.dll_libintl_gettext
mov r8, r15
lea rcx, str.E577:
mov rdx, rax
call fcn.100617520
mov esi, eax
test eax, eax
jne 0x10061b086
mov rax, qword [rsp + 0xd0]
jmp 0x100619206
mov rbx, qword [rsp + 0xd0]
cmp byte [rbx], 0x27
jne 0x100618e7c
mov rax, qword [sym.vim.exe_curwin]
mov rdi, qword [rax]
mov esi, dword [rdi + 0x1f10]
cmp esi, 0x64
je 0x10061a882
test esi, esi
jle 0x10061a7c0
movsxd rax, esi
lea r8, [rax + rax*4]
lea eax, [rsi - 1]
cdqe
shl r8, 3
imul rax, rax, 0xffffffffffffffd8
lea rdx, [rax + r8 + 0xf48]
lea rcx, [rax + r8 + 0xf70]
add rdx, rdi
add rcx, rdi
call sub.msys_2.0.dll_memmove
add dword [rdi + 0x1f14], 1
add esi, 1
mov qword [rdi + 0xf70], 0
mov qword [rdi + 0xf88], 0
mov dword [rdi + 0x1f10], esi
lea rsi, [rdi + 0xf70]
lea rcx, [rbx + 1]
lea r12, [rsp + 0xd0]
call sym.vim.exe_skipwhite
mov rcx, r12
mov qword [rsp + 0xd0], rax
call sym.vim.exe_getdigits
mov rcx, qword [rsp + 0xd0]
mov qword [rsi], rax
call sym.vim.exe_skipwhite
mov rcx, r12
mov qword [rsp + 0xd0], rax
call sym.vim.exe_getdigits
mov qword [rsi + 0xc], 0
mov rcx, qword [rsp + 0xd0]
mov dword [rsi + 8], eax
call sym.vim.exe_skipwhite
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsi + 0x18]
call sym.vim.exe_vim_free
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x120]
xor r8d, r8d
sub edx, dword [rsp + 0x120]
call fcn.100616860
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x18], rax
mov rcx, qword [rsp + 0x120]
jmp 0x100618e7c
xor esi, esi
jmp 0x10061a3b3
lea rdi, [0x1006e293e]
jmp case.default.0x100619b2e
lea rdi, [0x1006e293a]
jmp case.default.0x100619b2e
mov rcx, qword [r15 - 9]
mov qword [rsp + 0x50], rcx
call sym.vim.exe_get_copyID
mov rcx, qword [rsp + 0x50]
mov edx, eax
test rcx, rcx
je 0x10061a8f6
xor r8d, r8d
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], rcx
call sym.vim.exe_set_ref_in_list_items
test eax, eax
jne 0x10061a8f6
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x58]
lea rdi, [0x1006e294e]
cmp edx, dword [rcx + 0x54]
je case.0x100619b2e.0
lea rdi, [0x1006e294e]
jmp case.default.0x100619b2e
lea rdi, [0x1006e2946]
jmp case.default.0x100619b2e
mov r9, qword [r15 - 9]
mov qword [rsp + 0x50], r9
call sym.vim.exe_get_copyID
mov r9, qword [rsp + 0x50]
mov edx, eax
test r9, r9
je 0x10061a95b
xor r8d, r8d
lea rcx, [r9 + 0x10]
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x50], eax
call sym.vim.exe_set_ref_in_ht
test eax, eax
jne 0x10061a95b
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x50]
lea rdi, [0x1006e2942]
cmp edx, dword [r9 + 8]
je case.0x100619b2e.0
lea rdi, [0x1006e2942]
jmp case.default.0x100619b2e
lea rdi, [0x1006e2936]
jmp case.default.0x100619b2e
call sym.vim.exe_get_execreg_lastc
mov esi, eax
test eax, eax
jne 0x10061924f
mov rax, qword [rsp + 0xd0]
xor r12d, r12d
movzx ecx, byte [rax - 1]
call sym.vim.exe_set_execreg_lastc
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x70], 0
jmp 0x10061a39a
call sym.vim.exe_list_alloc
mov qword [rsp + 0x68], rax
test rax, rax
je 0x10061a5e1
mov rdx, rax
mov ecx, 0x39
call sym.vim.exe_set_vim_var_list
jmp 0x10061a5e1
test edi, edi
je 0x100619f78
mov rdx, r13
mov rcx, r15
call sub.msys_2.0.dll_fputs
jmp 0x100619f78
mov rcx, r13
call sym.vim.exe_ga_clear
mov eax, dword [rsp + 0x70]
mov r15, qword [rsp + 0x120]
test eax, eax
jne case.0x1006184d2.7
movzx ecx, byte [r15]
mov rdx, r15
cmp cl, 0x3e
jne 0x1006184b2
jmp 0x100618d59
cmp al, 0x2e
je 0x10061b035
cmp al, 0x5e
jne 0x10061b003
movdqa xmm4, xmmword [rsp + 0xc0]
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
movups xmmword [rax + 0x348], xmm4
jmp 0x100619f78
mov dword [0x100729d80], 0
jmp 0x100618d1b
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 [rsp + 0x60]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
jmp 0x1006194a2
mov rdx, r13
mov rcx, rbx
call fcn.100617730
jmp 0x100619898
mov dword [rsp + 0x94], r15d
mov r13, r14
jmp 0x100618d5c
test r14, r14
jne 0x10061b153
mov eax, dword [rsp + 0xd0]
test eax, eax
jle 0x10061b177
mov rbx, qword [rsp + 0xe0]
mov edi, dword [rsp + 0x50]
mov eax, dword [rbx]
mov dword [rsp + 0x70], edi
jmp 0x100619cab
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x120]
mov r8, r13
call fcn.100616f60
mov rsi, qword [rsp + 0xe0]
mov dword [rsp + 0x70], eax
call sym.vim.exe_get_y_regs
mov rcx, rax
mov eax, dword [rsp + 0xd0]
cmp eax, 5
jle 0x100619c99
mov r15d, dword [rsi]
test r15d, r15d
jne 0x100619ca1
mov edi, dword [rsi + 0x28]
test edi, edi
jne 0x100619ca1
mov ebx, dword [rsi + 0x50]
test ebx, ebx
jne 0x100619ca1
mov r11d, dword [rsi + 0x78]
test r11d, r11d
jne 0x100619ca1
mov r10d, dword [rsi + 0xa0]
test r10d, r10d
jne 0x100619ca1
mov r9d, dword [rsi + 0xc8]
test r9d, r9d
jne 0x100619ca1
mov rdi, qword [rsi + 8]
mov rdx, qword [rsi + 0x30]
mov qword [rsp + 0x78], rdi
cmp edx, 0x25
ja 0x100619ca1
mov rdi, qword [rsi + 0x58]
mov qword [rsp + 0x98], rdi
cmp edi, 2
ja 0x100619ca1
mov rdi, qword [rsi + 0x80]
lea r8d, [rdi + 5]
cmp eax, r8d
jle 0x100619ca1
mov rax, qword [rsi + 0xa8]
mov qword [rsp + 0xa0], rax
test eax, eax
js 0x100619ca1
mov rax, qword [0x100729d98]
mov dword [rsp + 0x88], edx
movsxd rdx, edx
shl rdx, 5
test rax, rax
je 0x10061b615
lea rbx, [rax + rdx]
cmp qword [rbx], 0
mov r15, qword [rsi + 0xd0]
je 0x10061ac4b
cmp dword [rsp + 0x58], 0
jne 0x10061ac07
test r15, r15
je 0x100619ca1
cmp r15, qword [rbx + 0x18]
jl 0x100619ca1
xor eax, eax
cmp qword [rbx + 8], 0
jle 0x10061ac4b
mov qword [rsp + 0xa8], r13
mov r13, 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 0x10061ac24
mov rbx, rsi
mov rsi, rdi
mov rdi, r13
mov r13, qword [rsp + 0xa8]
mov rcx, qword [rbx]
call sym.vim.exe_vim_free
cmp qword [0x100729d98], 0
je 0x10061b562
movzx eax, byte [rsp + 0x98]
mov qword [rbx + 0x18], r15
mov byte [rbx + 0x10], al
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 0x14], eax
movsxd rax, edi
mov qword [rbx + 8], rax
test edi, edi
jne 0x10061b4c0
mov qword [rbx], 0
jmp 0x100619c92
mov edi, dword [rsp + 0x68]
test edi, edi
je 0x10061b0a3
mov r8d, dword [rsp + 0xd0]
test r8d, r8d
jle 0x10061b177
mov rbx, qword [rsp + 0xe0]
mov dword [rsp + 0x70], edi
mov eax, dword [rbx]
jmp 0x100619cab
mov r9d, dword [rdi + 0x1220]
xor edi, edi
test r9d, r9d
je 0x100619f02
jmp 0x100619f62
mov rcx, r12
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
jmp 0x100619558
test esi, esi
je 0x100619663
mov rdx, qword [sym.vim.exe_firstwin]
mov rdx, qword [rdx]
test rdx, rdx
je 0x10061aef0
mov rcx, qword [sym.vim.exe_curbuf]
mov rcx, qword [rcx]
jmp 0x10061ad2a
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x10061aef0
cmp qword [rdx + 8], rcx
jne 0x10061ad1d
mov r8d, dword [rcx + 0x9a8]
mov dword [rdx + 0x1f18], r8d
jmp 0x10061ad1d
test esi, esi
jne 0x10061acfe
jmp 0x1006184fa
mov rcx, qword [rdi + 0x88]
call fcn.100616ea0
test eax, eax
jne 0x100618a89
mov rax, qword [rsi]
xor r8d, r8d
mov edx, 1
mov edi, 0x1a
lea r12, [rbx + 0x410]
mov ecx, dword [rax + 0xb0]
call sym.vim.exe_buflist_nr2name
mov qword [rsp + 0x50], rbp
mov r14, qword [rsi]
mov r15, rax
mov rax, qword [rbp]
mov rbp, rbx
mov r8, qword [rax + 0x38]
mov rbx, r8
jmp 0x10061ada6
add edi, 1
add r12, 0x28
cmp edi, 0x23
je 0x10061ae25
cmp qword [r12], rbx
jne 0x10061ad9a
mov rdx, qword [r12 + 0x18]
test rdx, rdx
je 0x10061aed0
test r15, r15
je 0x10061ad9a
mov rcx, r15
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x10061ad9a
mov rcx, r15
mov rbx, rbp
mov rbp, qword [rsp + 0x50]
call sym.vim.exe_vim_free
mov rcx, qword [r12 + 0x18]
call sym.vim.exe_vim_free
cmp edi, 0x1a
jne 0x10061ae41
mov rax, qword [rbp]
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 0x100618a89
mov rbx, rbp
mov rcx, r15
mov rbp, qword [rsp + 0x50]
call sym.vim.exe_vim_free
mov rcx, qword [rbx + 0x590]
call sym.vim.exe_vim_free
lea ecx, [rdi - 0x1b]
movsxd rdi, edi
imul rax, rcx, 0xffffffffffffffd8
lea rdx, [rdi + rdi*4]
shl rdx, 3
lea r8, [rcx + rcx*4 + 5]
shl r8, 3
lea r9, [rax + rdx - 0x28]
add rax, rdx
add r9, rbx
lea rcx, [rbx + rax]
mov rdx, r9
call sub.msys_2.0.dll_memmove
jmp 0x10061adea
movzx edx, al
lea ecx, [rdx - 0x30]
cmp ecx, 9
ja 0x10061b21e
cmp al, 0x27
je 0x10061a774
lea eax, [rdx - 0x30]
cdqe
lea rax, [rax + rax*4]
lea rsi, [rsi + rax*8 + 0x410]
test rsi, rsi
je 0x10061a882
cmp qword [rsi], 0
je 0x10061a7ed
mov r8d, dword [rsp + 0x58]
test r8d, r8d
je 0x10061a882
jmp 0x10061a7ed
mov eax, dword [r14 + 0xb0]
cmp dword [r12 + 0x10], eax
jne 0x10061ad9a
jmp 0x10061adcb
test byte [rsp + 0x1d0], 4
je 0x1006196c3
jmp 0x1006184fa
mov dword [rsp + 0x78], 0
xor r12d, r12d
mov dword [rsp + 0x70], 0
jmp 0x10061a39a
mov esi, dword [rsp + 0x1d0]
xor edi, edi
and esi, 2
je 0x100619f62
mov rax, qword [sym.vim.exe_curbuf]
xor esi, esi
mov rax, qword [rax]
mov rdx, qword [rax + 0x88]
test rdx, rdx
je 0x100619f62
cmp byte [rbp], 0
je 0x10061b2a9
mov rdx, rbp
mov rcx, r12
xor esi, esi
call sym.vim.exe_vim_fnamecmp
test eax, eax
sete sil
xor edi, edi
jmp 0x100619f62
mov rax, qword [sym.vim.exe_curbuf]
mov r12, qword [rax]
movsxd rax, dword [r12 + 0x9a8]
cmp eax, 0x64
je 0x10061b25a
lea edx, [rax + 1]
mov dword [r12 + 0x9a8], edx
movdqa xmm1, xmmword [rsp + 0xc0]
shl rax, 4
movups xmmword [rax + r12 + 0x368], xmm1
jmp 0x100619f78
lea r9, [0x100616810]
mov r8d, 8
mov rcx, r12
call fcn.100673050
xor eax, eax
jmp 0x1006194d0
mov edx, 9
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100619afc
mov dword [rsp + 0xc0], 5
lea rcx, [rax + 1]
call sub.msys_2.0.dll_atol
mov qword [rsp + 0xc8], rax
jmp 0x100619a9a
sub eax, 0x61
cmp eax, 0x19
ja 0x100619f78
mov rdx, qword [sym.vim.exe_curbuf]
cdqe
movdqa xmm2, xmmword [rsp + 0xc0]
add rax, 0x16
shl rax, 4
add rax, qword [rdx]
movups xmmword [rax + 8], xmm2
jmp 0x100619f78
movdqa xmm5, xmmword [rsp + 0xc0]
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
movups xmmword [rax + 0x358], xmm5
jmp 0x100619f78
mov eax, dword [rsp + 0x1d0]
and eax, 0x1e
mov dword [rsp + 0x78], eax
jmp 0x100618607
movdqa xmm3, xmmword [rsp + 0xc0]
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
movups xmmword [rax + 0x338], xmm3
jmp 0x100619f78
mov eax, dword [rsp + 0x50]
mov r13, r14
mov dword [rsp + 0x94], eax
jmp 0x100618d5c
xor edx, edx
xor r13d, r13d
jmp 0x10061a22f
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x120]
mov r8, r13
call fcn.100616f60
mov ecx, dword [rsp + 0xd0]
mov dword [rsp + 0x70], eax
test ecx, ecx
jle 0x10061a9e8
mov rbx, qword [rsp + 0xe0]
mov eax, dword [rbx]
test eax, eax
jne 0x100619cab
mov rdx, qword [rbx + 8]
mov dword [rsp + 0x148], edx
jmp 0x100619cab
lea r15d, [r13 + r13]
mov dword [rsp + 0x98], eax
movsxd rcx, r15d
shl rcx, 3
call sym.vim.exe_alloc
mov edx, dword [rsp + 0x98]
test rax, rax
mov r8, rax
je 0x10061a461
movsxd rcx, r13d
xor eax, eax
test r13d, r13d
jle 0x10061b136
mov rdx, qword [r12 + rax*8]
mov qword [r8 + rax*8], rdx
add rax, 1
cmp rax, rcx
jne 0x10061b125
mov rcx, r12
mov qword [rsp + 0x98], r8
call sym.vim.exe_vim_free
mov r12, qword [rsp + 0x98]
jmp 0x10061a547
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x80]
call sym.vim.exe_ga_copy_string
mov eax, dword [rsp + 0xd0]
test eax, eax
jg 0x10061aac6
mov rcx, r13
call sym.vim.exe_ga_clear
mov r15, qword [rsp + 0x120]
jmp case.0x1006184d2.7
cmp byte [r15 + 1], 0x2a
je 0x10061b34c
mov eax, dword [rsp + 0x50]
movsxd rsi, ebx
shl rsi, 3
lea edi, [rbx + rax]
sub edi, r14d
jmp 0x10061b1cd
mov rax, qword [rsp + 0xe0]
mov rdx, r13
add ebx, 1
mov rcx, qword [rax + rsi]
add rsi, 8
call fcn.100617730
cmp edi, ebx
je 0x10061b3dc
mov eax, r14d
add r14d, 1
cmp dword [rsp + 0xd0], ebx
jg 0x10061b1aa
mov r14d, eax
mov qword [rsp + 0x60], 0
mov r9, r13
mov r8d, 3
mov edx, 1
lea rcx, [0x1006e287c]
call sub.msys_2.0.dll_fwrite
mov rdx, r12
mov rcx, r13
call fcn.100616b60
mov rdx, r13
mov rcx, r15
call sub.msys_2.0.dll_fputs
jmp 0x100619f57
call sub.msys_2.0.dll___locale_ctype_ptr
mov rbx, qword [rsp + 0xd0]
mov r8, rax
movzx ecx, byte [rbx]
movzx edx, byte [rcx + r8 + 1]
and edx, 3
cmp dl, 1
je 0x10061b301
mov rcx, qword [rsp + 0x120]
movzx edx, byte [rcx]
jmp 0x100618e73
xor eax, eax
jmp 0x100619cab
lea rdx, [r12 + 0x378]
lea rcx, [r12 + 0x368]
mov r8d, 0x630
call sub.msys_2.0.dll_memmove
mov eax, 0x63
jmp 0x10061af98
mov rcx, qword [rsp + 0xc8]
call sym.vim.exe_vim_free
mov r15, qword [rsp + 0x120]
jmp case.0x1006184d2.7
mov dword [rsp + 0xc0], 7
jmp 0x100619a9a
mov dword [rsp + 0x20], 1
mov r9d, 0x200
mov r8, rbp
xor ecx, ecx
call sym.vim.exe_home_replace
jmp 0x10061af58
cmp ebx, 8
jne 0x100619a9a
call sym.vim.exe_string2blob
mov rbx, rax
test rax, rax
je 0x10061b299
mov rcx, qword [rsp + 0xc8]
call sym.vim.exe_vim_free
mov qword [rsp + 0xc8], rbx
mov dword [rsp + 0xc0], 8
jmp 0x100619a9a
cmp cl, 0x27
je 0x10061a774
movzx edx, cl
lea eax, [rdx - 0x30]
cmp eax, 9
jbe 0x10061ae8f
lea rax, [rcx + rcx*4]
lea rsi, [rsi + rax*8 - 0xa28]
jmp 0x10061aea0
lea rcx, [rax + 1]
cmp ebx, 6
jne 0x10061b84c
lea rdx, [rsp + 0xc8]
xor r8d, r8d
call sym.vim.exe_string2float
jmp 0x100619a9a
lea rcx, [r15 + 2]
lea r8, [rsp + 0xb8]
lea rdx, str._ld
call sub.msys_2.0.dll_sscanf
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x160]
cmp qword [rsp + 0xb8], rax
jge 0x10061b3d1
movsxd rax, ebx
lea rsi, [rax*8 + 8]
jmp 0x10061b3bc
add ebx, 1
cmp ebx, dword [rsp + 0xd0]
je 0x10061b1e0
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax + rsi]
mov rax, qword [rsp + 0xb8]
add rsi, 8
cmp qword [rcx + 0x160], rax
jle 0x10061b87c
mov rdx, r13
add r14d, 1
call fcn.100617730
cmp r14d, dword [rsp + 0x50]
jl 0x10061b387
jmp 0x10061b3dc
cmp dword [rsp + 0x50], r14d
jg 0x10061b1e9
mov rcx, r12
call sym.vim.exe_vim_free
jmp 0x1006184ff
mov rdi, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x58]
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x88], ecx
test rdi, rdi
jle 0x100619cab
test ecx, ecx
js 0x100619cab
mov r15, qword [rbx + 0x80]
cmp esi, 0x27
jne 0x10061b5d3
mov rsi, qword [0x100729d88]
test rsi, rsi
je 0x10061b61e
mov edx, dword [0x100729d84]
cmp edx, 0x63
jg 0x100619cab
lea eax, [rdx + 1]
mov dword [0x100729d84], eax
movsxd rax, edx
imul rax, rax, 0x28
add rsi, rax
cmp qword [0x100729d90], 0
jne 0x10061b471
cmp qword [rsi], 0
je 0x10061b471
cmp qword [rsi + 0x20], r15
jl 0x10061b471
cmp dword [rsp + 0x58], 0
je 0x100619c92
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0xc], 0
mov qword [rsi], rax
mov eax, dword [rsp + 0x88]
mov dword [rsi + 8], eax
call sym.vim.exe_vim_free
cmp dword [rbx + 0xc4], 0
je 0x10061b5aa
mov rax, qword [rbx + 0xb0]
mov qword [rsi + 0x18], rax
mov qword [rbx + 0xb0], 0
mov qword [rsi + 0x20], r15
jmp 0x100619c92
lea rcx, [rax*8]
call sym.vim.exe_alloc
mov qword [rbx], rax
test rax, rax
je 0x10061b5bf
test edi, edi
jle 0x100619c92
lea eax, [rdi - 1]
add rsi, 0x100
xor r15d, r15d
lea rax, [rax*8 + 8]
mov qword [rsp + 0x78], rax
jmp 0x10061b51a
mov qword [rdi], rcx
mov qword [rsi], 0
add rsi, 0x28
add r15, 8
cmp r15, qword [rsp + 0x78]
je 0x100619c92
mov rdi, qword [rbx]
mov r8d, dword [rsi + 0x14]
mov rcx, qword [rsi]
add rdi, r15
test r8d, r8d
jne 0x10061b4fd
call sym.vim.exe_vim_strsave
mov qword [rdi], rax
jmp 0x10061b507
mov eax, dword [rbx + 0x58]
mov dword [rsp + 0x78], eax
jmp 0x10061900e
mov rbx, qword [rsp + 0x98]
mov r8, r13
mov r13, qword [rsp + 0xa0]
mov rax, qword [rbx + 0x30]
mov qword [r8 + 0x10], rax
jmp 0x100619c92
test byte [rsp + 0x78], 1
jne 0x10061b5a0
test byte [rsp + 0x78], 2
je 0x10061ac61
cmp dword [rsp + 0x58], 0
jne 0x10061b588
call sym.vim.exe_get_execreg_lastc
test eax, eax
jne 0x10061ac61
mov ecx, dword [rsp + 0x88]
call sym.vim.exe_get_register_name
mov ecx, eax
call sym.vim.exe_set_execreg_lastc
jmp 0x10061ac61
mov rcx, rbx
call sym.vim.exe_set_y_previous
jmp 0x10061b569
mov rcx, qword [rbx + 0xb0]
call sym.vim.exe_vim_strsave
mov qword [rsi + 0x18], rax
jmp 0x10061b4b7
mov qword [rbx + 8], 0
mov eax, dword [rsp + 0xd0]
jmp 0x100619c99
mov dword [rsp + 0x98], edx
call sym.vim.exe_get_namedfm
mov edx, dword [rsp + 0x98]
mov rdi, rax
cmp edx, 9
ja 0x10061b844
mov rax, qword [0x100729d90]
test rax, rax
je 0x10061b7ad
sub esi, 0x16
movsxd rdx, esi
imul rdx, rdx, 0x28
lea rsi, [rax + rdx]
jmp 0x10061b471
lea rbx, [rcx + rdx]
jmp 0x10061abe0
mov rdi, qword [sym.vim.exe_curwin]
mov rdi, qword [rdi]
mov esi, dword [rdi + 0x1f10]
test r15, r15
je 0x10061b657
lea ecx, [rsi - 1]
movsxd rcx, ecx
jmp 0x10061b651
sub rcx, 1
imul r8, rcx, 0x28
cmp r15, qword [rdi + r8 + 0xfb8]
jg 0x10061b709
mov edx, ecx
test ecx, ecx
jns 0x10061b63b
cmp esi, 0x63
jg 0x100619cab
xor r9d, r9d
mov r8d, esi
mov edx, 0x28
movsxd rcx, esi
mov dword [rsp + 0x98], r9d
sub r8d, r9d
imul rcx, rcx, 0x28
mov rax, rdx
imul r8, r8, 0x28
sub rax, r8
cmp esi, r9d
cmovl rax, rdx
mov edx, 0
cmovl r8, rdx
add esi, 1
lea rdx, [rcx + rax + 0xf48]
lea rcx, [rcx + rax + 0xf70]
add rdx, rdi
add rcx, rdi
call sub.msys_2.0.dll_memmove
mov rax, qword [sym.vim.exe_curwin]
mov dword [rdi + 0x1f10], esi
add dword [rdi + 0x1f14], 1
mov rdx, qword [rax]
movsxd rax, dword [rsp + 0x98]
imul rax, rax, 0x28
lea rsi, [rdx + rax + 0xf70]
add rax, rdx
mov qword [rax + 0xf70], 0
mov qword [rax + 0xf88], 0
mov qword [rax + 0xf90], 0
jmp 0x10061b450
lea r9d, [rdx + 1]
cmp esi, 0x64
jne 0x10061b663
mov rcx, qword [rdi + 0xf88]
mov dword [rsp + 0x98], edx
call sym.vim.exe_vim_free
movsxd rdx, dword [rsp + 0x98]
xor ecx, ecx
jmp 0x10061b761
lea r8d, [rcx + 1]
imul rcx, rcx, 0x28
lea r9, [rax + rcx + 0xf70]
movsxd rcx, r8d
imul rcx, rcx, 0x28
mov rdi, r9
lea rsi, [rax + rcx + 0xf70]
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 0x10061b735
imul rdx, rdx, 0x28
lea rsi, [rax + rdx + 0xf70]
add rax, rdx
mov qword [rax + 0xf70], 0
mov qword [rax + 0xf88], 0
mov qword [rax + 0xf90], 0
test rsi, rsi
je 0x100619c92
jmp 0x10061b450
lea r9, [rdi + 0x410]
mov esi, 0x1a
jmp 0x10061b7cb
add esi, 1
add r9, 0x28
cmp esi, 0x24
je 0x100619c92
cmp r15, qword [r9 + 0x20]
jle 0x10061b7bb
mov rcx, qword [rdi + 0x590]
mov qword [rsp + 0x98], r9
call sym.vim.exe_vim_free
mov eax, 0x23
xor edx, edx
mov ecx, 0x5a0
sub eax, esi
imul rax, rax, 0x28
cmp esi, 0x23
cmovle rdx, rax
mov r8, rdx
mov edx, 0x578
mov r11, rdx
sub r11, rax
cmp esi, 0x23
cmovg r11, rdx
mov rdx, rcx
sub rdx, rax
add r11, rdi
cmp esi, 0x23
cmovg rdx, rcx
lea rcx, [rdi + rdx]
mov rdx, r11
call sub.msys_2.0.dll_memmove
mov r9, qword [rsp + 0x98]
mov qword [r9 + 0x18], 0
jmp 0x100619c72
sub esi, 0x41
jmp 0x100619c72
call sub.msys_2.0.dll_atol
mov qword [rsp + 0xc8], rax
cmp ebx, 4
jne 0x100619a9a
cmp rax, 1
ja 0x100619a9a
mov dword [rsp + 0xc0], 3
jmp 0x100619a9a
mov qword [rsp + 0x60], rcx
jmp 0x10061b1e9
mov rcx, qword [sym.vim.exe_e_unknown_register_type_nr]
lea r15, str.LINE
call sub.msys_intl_8.dll_libintl_gettext
movzx edx, r14b
mov rcx, rax
call sym.vim.exe_semsg
nop
jmp 0x1006192ab