Function at 0x100484df0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x268
lea rbp, [rsp + 0x80]
mov rax, qword [sym.vim.exe_msg_scroll]
cmp qword [0x100708820], 0
mov eax, dword [rax]
mov dword [rbp - 0x1c], eax
mov rax, qword [sym.vim.exe_State]
mov dword [rbp + 0x230], ecx
mov eax, dword [rax]
mov qword [rbp + 0x238], rdx
mov dword [rbp + 0x240], r8d
mov dword [rbp - 0x24], eax
mov dword [rbp - 8], 0
je 0x100484e5b
lea rcx, [rbp + 0xe0]
call fcn.100481510
mov dword [rbp - 8], 1
test r9d, r9d
jne 0x100486ec9
cmp dword [rbp + 0x230], 0xffffffff
je 0x100486f44
cmp dword [rbp + 0x230], 0x3a
je 0x100485617
cmp dword [rbp + 0x230], 0x3d
je 0x100485617
cmp dword [rbp + 0x230], 0x3e
jne 0x100485621
lea rax, [rbp + 0x130]
mov dword [0x1007087fc], 0
mov rcx, rax
mov qword [rbp + 0x20], rax
call fcn.100482500
mov dword [rbp + 0x1c], 0
mov eax, dword [rbp + 0x240]
mov dword [0x10070884c], 0
mov dword [0x100708838], 0x3e
mov dword [0x10070883c], eax
mov rax, qword [sym.vim.exe_exmode_active]
mov edi, dword [rax]
test edi, edi
jne 0x100486de8
mov eax, dword [rbp + 0x240]
mov ecx, 0x64
mov ebx, 0x64
add eax, 1
cmp eax, 0x4f
jg 0x100487aff
call sym.vim.exe_alloc
mov dword [0x100708828], ebx
mov qword [0x100708820], rax
test rax, rax
je 0x1004858ff
mov qword [0x10070882c], 0
mov byte [rax], 0
call sym.vim.exe_sb_text_start_cmdline
mov esi, dword [rbp + 0x230]
test esi, esi
jg 0x100484f7f
movsxd rbx, dword [rbp + 0x240]
mov rcx, qword [0x100708820]
mov edx, 0x20
mov r8, rbx
call sub.msys_2.0.dll_memset
mov rax, qword [0x100708820]
mov byte [rax + rbx], 0
mov eax, dword [rbp + 0x240]
mov dword [0x100708830], eax
mov dword [0x100708834], eax
mov dword [0x10070882c], eax
lea r14, [rbp + 0x90]
mov rcx, r14
call sym.vim.exe_ExpandInit
mov rax, qword [sym.vim.exe_curwin]
mov qword [0x100708850], r14
mov rdx, qword [rax]
mov eax, dword [rdx + 0x454]
test eax, eax
je 0x100484fc9
mov rdx, qword [rdx + 0x458]
xor eax, eax
cmp byte [rdx], 0x73
jne 0x100484fc9
mov eax, dword [rbp + 0x230]
and eax, 0xffffffef
cmp eax, 0x2f
sete al
movzx eax, al
mov rdi, qword [sym.vim.exe_cmdmsg_rl]
mov r15, qword [sym.vim.exe_cmd_silent]
mov dword [rdi], eax
mov ebx, dword [r15]
mov rax, qword [sym.vim.exe_redir_off]
mov dword [rax], 1
test ebx, ebx
je 0x100487a01
mov r9d, dword [0x100708868]
mov dword [rbp + 0x98], 0
mov qword [rbp + 0xc0], 0
test r9d, r9d
jne 0x100487278
mov rax, qword [sym.vim.exe_msg_scroll]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_State]
mov dword [rax], 8
mov eax, dword [rbp + 0x230]
sub eax, 0x3f
cmp eax, 1
jbe 0x10048504b
cmp dword [rbp + 0x230], 0x2f
jne 0x100487481
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rax]
mov qword [rbp + 0x38], rax
mov rax, qword [rdx + 0x1298]
lea rdi, [rdx + 0x1298]
mov qword [rbp - 0x18], rdi
cmp rax, 0xffffffffffffffff
je 0x100487895
cmp rax, 1
je 0x100487883
xor ecx, ecx
cmp rax, 2
sete cl
call sym.vim.exe_im_set_active
call sym.vim.exe_setmouse
lea rdi, [rbp + 0x70]
call sym.vim.exe_ui_cursor_shape
mov ecx, 2
call sym.vim.exe_settmode
mov edx, dword [rbp + 0x230]
mov eax, 0x2d
mov r8, rdi
mov ecx, 0x14
mov byte [rbp + 0x71], 0
test edx, edx
cmovne eax, dword [rbp + 0x230]
mov rdx, rdi
xor r9d, r9d
mov qword [rbp + 0x28], rdi
mov byte [rbp + 0x1b], al
mov byte [rbp + 0x70], al
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_debug_mode]
mov ecx, dword [rax]
test ecx, ecx
je 0x1004879f7
call sym.vim.exe_init_history
call sym.vim.exe_get_hislen
mov ecx, dword [rbp + 0x230]
mov dword [rbp - 0x20], eax
call sym.vim.exe_hist_char2type
mov ecx, 0xffffffff
mov dword [rbp - 0x28], eax
call sym.vim.exe_do_digraph
mov rax, qword [sym.vim.exe_did_emsg]
mov eax, dword [rax]
test eax, eax
jne 0x1004879ed
mov rax, qword [sym.vim.exe_msg_scrolled]
mov edx, dword [r15]
or edx, dword [rax]
jne 0x100485186
mov rax, qword [sym.vim.exe_firstwin]
mov rax, qword [rax]
test rax, rax
je 0x100485186
mov rcx, qword [sym.vim.exe_p_stl]
mov rcx, qword [rcx]
cmp byte [rcx], 0
jne 0x100485166
mov r8, qword [rax + 0x490]
cmp byte [r8], 0
je 0x100485175
mov dword [rax + 0x318], 1
mov edx, 1
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x100485154
test edx, edx
jne 0x100487f13
mov dword [rbp - 0x2c], 1
xor r13d, r13d
mov rdi, r14
mov rax, qword [sym.vim.exe_got_int]
mov dword [rbp + 0x14], 0
mov dword [rax], 0
mov dword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov dword [rbp + 0x30], 0
nop dword [rax]
mov rax, qword [sym.vim.exe_redir_off]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [sym.vim.exe_quit_more]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_did_emsg]
mov dword [rax], 0
mov eax, dword [rbp + 0xc8]
test eax, eax
setle cl
call sym.vim.exe_may_trigger_safestate
nop dword [rax]
mov eax, dword [r15]
test eax, eax
jne 0x10048520c
call fcn.1004822a0
call sym.vim.exe_safe_vgetc
cmp eax, 0xffffca03
sete dl
cmp eax, 0xffff9e03
sete cl
or dl, cl
jne 0x100485200
cmp qword [rbp + 0x40], 0
mov r12d, eax
mov esi, edx
setne r14b
cmp eax, 0xffff9803
je 0x100485950
mov rax, qword [sym.vim.exe_KeyTyped]
mov eax, dword [rax]
test eax, eax
je 0x100485687
mov eax, dword [0x1007087fc]
test eax, eax
jne 0x1004859a0
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov ebx, dword [rax]
test ebx, ebx
je 0x100485680
mov rax, qword [sym.vim.exe_KeyStuffed]
mov r11d, dword [rax]
test r11d, r11d
jne 0x100485680
cmp r12d, 0xffffa903
je 0x100486eb0
cmp r12d, 0xffffa904
jge 0x100485f62
cmp r12d, 0xffff9395
je 0x100486d78
cmp r12d, 0xffff96db
jne 0x100485f3c
mov dword [rbp + 0x30], 1
mov rbx, 0xffffffffffffcbdd
mov r12d, 0xffffcbdd
nop dword [rax]
mov rax, qword [sym.vim.exe_intr_char]
cmp dword [rax], r12d
je 0x1004856c0
test r14b, r14b
je 0x100485340
cmp r12d, 0xffff8a95
je 0x100485340
lea eax, [r12 + 0x506b]
test eax, 0xfffffdff
je 0x100485340
lea eax, [r12 + 0x354b]
test eax, 0xfffffdff
je 0x100485340
mov eax, r12d
and ah, 0xf7
cmp eax, 0xffff9395
je 0x100485340
cmp r12d, 0xffff8d95
je 0x100485340
mov r8d, dword [rbp + 0xc8]
test r8d, r8d
jg 0x100485667
lea eax, [r12 - 0xe]
and eax, 0xfffffffd
jne 0x100485667
mov rax, qword [sym.vim.exe_p_wc]
cmp qword [rax], rbx
je 0x100485368
test sil, sil
je 0x100485368
mov ecx, dword [rbp + 0xc8]
mov r12d, 0xffffbd95
mov eax, 0x10
test ecx, ecx
cmovg r12d, eax
mov r9d, dword [rbp + 0x48]
mov edx, r12d
mov r8, rdi
lea rcx, [0x100708820]
call sym.vim.exe_wildmenu_translate_key
cmp dword [rbp + 0xc8], 0xffffffff
mov r12d, eax
je 0x100485418
mov rsi, qword [sym.vim.exe_p_wc]
cdqe
cmp rax, qword [rsi]
je 0x100485930
mov rdx, qword [sym.vim.exe_p_wcm]
cmp rax, qword [rdx]
je 0x100485418
cmp r12d, 0x10
jbe 0x1004860d8
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call sym.vim.exe_ExpandOne
mov rax, qword [sym.vim.exe_p_wmnu]
mov eax, dword [rax]
test eax, eax
je 0x1004853ed
cmp r12d, 0xffff8a95
je 0x1004853f7
cmp r12d, 0xffff9b95
je 0x1004853f7
mov dword [rbp + 0x98], 0
lea rcx, [0x100708820]
call sym.vim.exe_wildmenu_cleanup
mov dword [rbp + 0x14], 0
mov dword [rbp + 0x48], 0
nop dword [rax]
mov r8, rdi
mov edx, r12d
lea rcx, [0x100708820]
call sym.vim.exe_wildmenu_process_key
mov r14d, eax
cmp eax, 0x1c
je 0x1004859b0
cmp eax, dword [0x1007087f8]
je 0x100485700
cmp eax, 0xffffab03
jne 0x1004857d0
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
je 0x100485b4a
mov rax, 0xffffffffffffab03
mov r14d, 0xffffab03
mov rbx, qword [sym.vim.exe_p_wc]
cmp qword [rbx], rax
jne 0x100485481
test r13b, 1
je 0x10048602a
mov rdx, qword [sym.vim.exe_p_wcm]
cmp qword [rdx], rax
je 0x10048603b
cmp r14d, 0xffffbd95
je 0x100486a77
test r14d, r14d
je 0x1004854b0
cmp r14d, 0xffffa701
jne 0x100486104
mov rax, qword [sym.vim.exe_intr_char]
cmp dword [rax], 0xa
je 0x100486c2a
mov rbx, qword [sym.vim.exe_mod_mask]
mov r14d, 0xa
mov dword [rbx], 0
mov ecx, r14d
call sym.vim.exe_vim_iswordc
test eax, eax
jne 0x1004864bd
mov rax, qword [sym.vim.exe_p_paste]
mov eax, dword [rax]
test eax, eax
jne 0x100486e08
mov rax, qword [sym.vim.exe_no_abbr]
mov r9d, dword [rax]
test r9d, r9d
jne 0x100486e08
mov ecx, r14d
call fcn.100482210
test eax, eax
je 0x100486e08
mov rax, qword [sym.vim.exe_curwin]
mov edx, dword [rbp + 0x150]
xor r13d, r13d
mov rax, qword [rax]
mov eax, dword [rax]
nop dword [rax]
cmp edx, eax
je 0x100485540
mov rcx, qword [rbp + 0x20]
call fcn.100482500
nop dword [rax]
movzx eax, byte [rbp + 0x1b]
mov rdx, qword [rbp + 0x28]
xor r9d, r9d
mov ecx, 0x13
mov byte [rbp + 0x71], 0
mov byte [rbp + 0x70], al
mov rax, qword [rbp + 0x38]
mov r8, rdx
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov edx, dword [rbp + 0x98]
test edx, edx
jne 0x1004855a1
mov rax, qword [sym.vim.exe_KeyTyped]
mov eax, dword [rax]
test eax, eax
jne 0x10048558b
call sym.vim.exe_vpeekc
test eax, eax
jne 0x1004855a1
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x238]
mov ecx, dword [rbp + 0x230]
call fcn.100484380
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
test eax, eax
jne 0x100485600
mov rax, qword [sym.vim.exe_p_arshape]
mov eax, dword [rax]
test eax, eax
je 0x1004851c0
mov rax, qword [sym.vim.exe_p_tbidi]
mov eax, dword [rax]
test eax, eax
jne 0x1004851c0
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
test eax, eax
je 0x1004851c0
mov edx, dword [0x10070882c]
xor ecx, ecx
call fcn.100481e40
test eax, eax
je 0x1004851c0
nop word cs:[rax + rax]
call sym.vim.exe_vpeekc
test eax, eax
jne 0x1004851c0
call sym.vim.exe_redrawcmd
jmp 0x1004851c0
mov dword [0x1007087fc], 0
lea rax, [rbp + 0x130]
mov rcx, rax
mov qword [rbp + 0x20], rax
call fcn.100482500
cmp dword [rbp + 0x230], 0x40
mov dword [0x10070884c], 0
jne 0x100487155
mov dword [0x100708838], 0
mov eax, dword [rbp + 0x240]
mov dword [rbp + 0x1c], 0
jmp 0x100484ed6
mov rcx, qword [rbp + 0x40]
call sym.vim.exe_vim_free
mov qword [rbp + 0x40], 0
jmp 0x100485340
mov dword [rbp + 0x30], 1
cmp r12d, 3
je 0x1004857c0
cmp r12d, 0xffffbd95
mov eax, r12d
movsxd rbx, r12d
sete sil
and ah, 0xfe
cmp eax, 0xfffffa03
setne al
and r14d, eax
mov rax, qword [sym.vim.exe_intr_char]
cmp dword [rax], r12d
jne 0x1004852e0
cmp dword [rbp + 0x230], 0x40
je 0x1004852e0
mov r10d, dword [rbp + 0x1c]
test r10d, r10d
jne 0x1004852e0
mov rax, qword [sym.vim.exe_global_busy]
mov r9d, dword [rax]
test r9d, r9d
jne 0x1004852e0
mov rax, qword [sym.vim.exe_got_int]
mov dword [rax], 0
jmp 0x1004852e0
cmp eax, 0xffffab03
je 0x10048544d
mov rax, qword [sym.vim.exe_ex_normal_busy]
mov esi, dword [rax]
test esi, esi
je 0x100486b20
cmp r14d, 0xa
je 0x1004857a0
cmp r14d, 0xd
je 0x1004857a0
cmp r14d, 0xffffbeb5
jne 0x100485f98
mov rax, qword [sym.vim.exe_exmode_active]
mov ecx, 0xffffbfb5
mov r8d, dword [rax]
test r8d, r8d
je 0x100485767
movsxd rax, dword [0x100708830]
cmp dword [0x10070882c], eax
jne 0x100485760
test eax, eax
jg 0x100486af0
lea ecx, [r14 + 0x100]
mov r8, qword [sym.vim.exe_p_paste]
mov rdx, qword [sym.vim.exe_no_abbr]
mov r13d, dword [r8]
or r13d, dword [rdx]
jne 0x1004857e0
call fcn.100482210
test eax, eax
je 0x1004857e0
mov rax, qword [sym.vim.exe_curwin]
mov edx, dword [rbp + 0x150]
mov rax, qword [rax]
mov eax, dword [rax]
jmp 0x100485530
mov rax, qword [sym.vim.exe_exmode_active]
mov r8d, dword [rax]
test r8d, r8d
je 0x100485760
cmp r14d, 0x1b
jne 0x100485749
mov ecx, 0x11b
jmp 0x100485767
mov ebx, 3
jmp 0x1004856c0
mov ecx, r14d
call sym.vim.exe_do_digraph
mov r14d, eax
jmp 0x10048571c
mov r13d, dword [r15]
mov r14, rdi
test r13d, r13d
je 0x100487a93
xor r13d, r13d
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov rcx, r14
mov dword [rax], 0
call sym.vim.exe_ExpandCleanup
mov r15d, dword [rbp + 0x1c8]
mov qword [0x100708850], 0
test r15d, r15d
jne 0x100487264
mov rdx, qword [0x100708820]
test rdx, rdx
je 0x100485853
mov r14d, dword [0x10070882c]
test r14d, r14d
je 0x10048584a
mov r12d, dword [rbp + 0x230]
test r12d, r12d
jne 0x100487c6b
test r13d, r13d
jne 0x100487daf
call sym.vim.exe_msg_check
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp - 0x1c]
mov ebx, dword [rbp + 0x30]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_redir_off]
mov dword [rax], 0
test ebx, ebx
je 0x100485885
mov rax, qword [sym.vim.exe_need_wait_return]
mov dword [rax], 0
movzx eax, byte [rbp + 0x1b]
mov rdx, qword [rbp + 0x28]
xor r9d, r9d
mov ecx, 0x15
mov byte [rbp + 0x71], 0
mov byte [rbp + 0x70], al
mov rax, qword [rbp + 0x38]
mov r8, rdx
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_State]
mov edi, dword [rbp - 0x24]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_debug_mode]
mov r11d, dword [rax]
test r11d, r11d
je 0x1004879e3
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x1004858e2
cmp qword [rax], 1
jne 0x1004874b6
xor ecx, ecx
call sym.vim.exe_im_set_active
call sym.vim.exe_setmouse
call sym.vim.exe_ui_cursor_shape
call sym.vim.exe_sb_text_end_cmdline
mov rax, qword [0x100708820]
mov r10d, dword [rbp - 8]
test r10d, r10d
jne 0x1004870ba
mov qword [0x100708820], 0
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rsi, qword [sym.vim.exe_KeyTyped]
mov edx, dword [rsi]
test edx, edx
jne 0x100485418
jmp 0x1004853a0
xor r8d, r8d
xor ecx, ecx
mov r9d, 2
mov ebx, dword [0x10070882c]
lea rdx, [sym.vim.exe_getcmdkeycmd]
call sym.vim.exe_do_cmdline
cmp eax, 1
je 0x100486c38
mov rax, qword [sym.vim.exe_KeyTyped]
mov rbx, 0xffffffffffff9803
mov eax, dword [rax]
test eax, eax
je 0x1004852d0
mov eax, dword [0x1007087fc]
test eax, eax
je 0x10048525d
nop dword [rax]
mov ecx, r12d
call sym.vim.exe_hkmap
mov r12d, eax
jmp 0x10048525d
mov rsi, qword [sym.vim.exe_no_mapping]
mov rbx, qword [sym.vim.exe_allow_keys]
add dword [rsi], 1
add dword [rbx], 1
call sym.vim.exe_plain_vgetc
sub dword [rsi], 1
sub dword [rbx], 1
mov ecx, eax
cmp eax, 0xe
je 0x100485fe0
cmp eax, 7
je 0x100485fe0
cmp eax, 0x65
jne 0x100485b16
cmp dword [0x100708838], 0x3d
je 0x100485b05
mov rbx, qword [sym.vim.exe_cmdline_star]
mov eax, dword [rbx]
test eax, eax
jg 0x100485b16
mov eax, dword [0x100708830]
mov edx, 0x1869f
cmp eax, dword [0x10070882c]
cmove eax, edx
mov dword [0x100708808], eax
call sym.vim.exe_get_expr_register
cmp eax, 0x3d
jne 0x100485a70
mov rbx, qword [sym.vim.exe_textwinlock]
add dword [rbx], 1
call sym.vim.exe_get_expr_line
sub dword [rbx], 1
mov r12, rax
test rax, rax
je 0x100485a70
mov rcx, rax
call sub.msys_2.0.dll_strlen
lea ecx, [rax + 1]
cmp ecx, dword [0x100708828]
mov rbx, rax
jl 0x100485aa6
call fcn.1004826e0
cmp eax, 1
je 0x100485aa6
mov rcx, r12
call sym.vim.exe_vim_free
call sym.vim.exe_beep_flush
mov rax, qword [sym.vim.exe_got_int]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_did_emsg]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_emsg_on_display]
mov dword [rax], 0
call sym.vim.exe_redrawcmd
jmp 0x100486193
mov rcx, qword [0x100708820]
mov rdx, r12
mov dword [0x10070882c], ebx
call sub.msys_2.0.dll_strcpy
mov rcx, r12
call sym.vim.exe_vim_free
mov eax, dword [0x100708808]
cmp dword [0x10070882c], eax
cmovle eax, dword [0x10070882c]
mov dword [0x100708830], eax
mov rax, qword [sym.vim.exe_KeyTyped]
mov dword [rax], 0
call sym.vim.exe_redrawcmd
mov rax, qword [sym.vim.exe_curwin]
mov edx, dword [rbp + 0x150]
mov rax, qword [rax]
mov eax, dword [rax]
jmp 0x100485530
mov rax, qword [sym.vim.exe_KeyTyped]
mov eax, dword [rax]
test eax, eax
je 0x1004859f9
call sym.vim.exe_vungetc
cmp dword [0x1007087f8], 0x1c
jne 0x1004857d0
mov rax, qword [sym.vim.exe_ex_normal_busy]
mov edx, dword [rax]
test edx, edx
jne 0x1004884b3
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x1004884a8
mov rax, qword [sym.vim.exe_curwin]
mov r14, qword [sym.vim.exe_cmdwin_type]
mov rax, qword [rax]
mov ebx, dword [r14]
mov qword [rbp + 0x30], rax
mov rax, qword [sym.vim.exe_restart_edit]
mov eax, dword [rax]
mov dword [rbp + 8], eax
mov rax, qword [sym.vim.exe_State]
mov eax, dword [rax]
mov dword [rbp + 0x10], eax
mov rax, qword [sym.vim.exe_exmode_active]
mov eax, dword [rax]
mov dword [rbp + 4], eax
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
mov dword [rbp], eax
test ebx, ebx
jne 0x100487fc6
mov rbx, qword [sym.vim.exe_cmdline_star]
mov r11d, dword [rbx]
test r11d, r11d
jg 0x100487fc6
mov rsi, qword [rbp + 0x38]
lea rax, [rbp + 0x50]
mov rcx, rax
mov qword [rbp - 0x10], rax
mov rdx, qword [rsi]
call sym.vim.exe_set_bufref
mov rcx, qword [rbp + 0x28]
call sym.vim.exe_win_size_save
call sym.vim.exe_pum_undisplay
mov rax, qword [sym.vim.exe_cmdmod]
mov edx, 8
or dword [rax], 0x2000
mov dword [rax + 8], 0
mov rax, qword [sym.vim.exe_p_cwh]
mov rcx, qword [rax]
call sym.vim.exe_win_split
test eax, eax
je 0x100488095
mov rax, qword [sym.vim.exe_got_int]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov dword [rax], 0
call sym.vim.exe_get_cmdline_type
xor edx, edx
mov dword [r14], eax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 1
call sym.vim.exe_do_ecmd
test eax, eax
je 0x100486da0
mov rsi, qword [rbp + 0x38]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
lea rcx, str._Command_Line_
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, qword [rsi]
mov r9d, 1
xor r8d, r8d
mov rdx, rax
call sym.vim.exe_setfname
mov rax, qword [rsi]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 3
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov r9d, 4
xor edx, edx
lea r8, [0x1006a32fa]
lea rcx, [0x1006a3301]
call sym.vim.exe_set_option_value
mov rax, qword [rsi]
mov rbx, qword [sym.vim.exe_cmdmsg_rl]
mov ecx, dword [r14]
mov dword [rax + 0x1c30], 1
mov edx, dword [rbx]
mov rax, qword [sym.vim.exe_curwin]
mov dword [rbx], 0
mov rbx, qword [sym.vim.exe_curbuf_lock]
mov rax, qword [rax]
add dword [rbx], 1
mov dword [rax + 0x3bc], 0
mov dword [rax + 0x454], edx
mov dword [rax + 0x498], 0
mov dword [rax + 0x4c0], 0
mov rax, qword [sym.vim.exe_need_wait_return]
mov dword [rax], 0
call sym.vim.exe_hist_char2type
mov esi, eax
test eax, 0xfffffffb
jne 0x100485d59
mov rax, qword [sym.vim.exe_p_wc]
cmp qword [rax], 9
je 0x10048723d
mov r9d, 4
lea r8, [0x1006a3339]
xor edx, edx
lea rcx, [0x1006a333d]
call sym.vim.exe_set_option_value
mov rax, qword [rbp + 0x38]
sub dword [rbx], 1
mov rax, qword [rax]
mov qword [rax + 0x1ca8], 0
call sym.vim.exe_init_history
call sym.vim.exe_get_hislen
test eax, eax
jg 0x100486c70
mov rbx, qword [rbp + 0x38]
mov rdx, qword [0x100708820]
mov r8d, 1
lea r12, [rbp + 0x60]
mov rax, qword [rbx]
mov rcx, qword [rax]
call sym.vim.exe_ml_replace
mov rdx, qword [rbx]
mov rax, qword [sym.vim.exe_curwin]
mov qword [rbp + 0x38], rbx
mov rax, qword [rax]
mov rdx, qword [rdx]
mov qword [rax + 0x38], rdx
mov edx, dword [0x100708830]
mov dword [rax + 0x40], edx
call sym.vim.exe_changed_line_abv_curs
call sym.vim.exe_invalidate_botline
mov ecx, 0x23
call sym.vim.exe_redraw_later
mov rcx, qword [sym.vim.exe_exmode_active]
mov dword [rcx], 0
mov rcx, qword [sym.vim.exe_State]
mov dword [rcx], 1
call sym.vim.exe_setmouse
mov eax, dword [r14]
xor r9d, r9d
mov r8, r12
mov rbx, qword [sym.vim.exe_cmdwin_result]
mov rdx, r12
mov ecx, 0x17
mov byte [rbp + 0x61], 0
mov byte [rbp + 0x60], al
mov rax, qword [rbp + 0x38]
mov dword [rbx], 0
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_restart_edit]
mov r10d, dword [rax]
test r10d, r10d
jne 0x100486d91
mov rax, qword [sym.vim.exe_RedrawingDisabled]
xor edx, edx
mov ecx, 1
mov r8d, dword [rax]
mov dword [rax], 0
mov dword [rbp - 4], r8d
call sym.vim.exe_main_loop
mov r8d, dword [rbp - 4]
xor r9d, r9d
mov rdx, r12
mov rax, qword [sym.vim.exe_RedrawingDisabled]
mov ecx, 0x18
mov byte [rbp + 0x61], 0
mov dword [rax], r8d
mov rax, qword [sym.vim.exe_KeyTyped]
mov r8, r12
mov r10d, dword [rax]
mov eax, dword [r14]
mov byte [rbp + 0x60], al
mov rax, qword [rbp + 0x38]
mov dword [rbp - 4], r10d
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_KeyTyped]
mov r10d, dword [rbp - 4]
mov dword [r14], 0
mov ecx, dword [rbp + 4]
mov dword [rax], r10d
mov rax, qword [sym.vim.exe_exmode_active]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x30]
call sym.vim.exe_win_valid
test eax, eax
je 0x100485ee1
mov rcx, qword [rbp - 0x10]
call sym.vim.exe_bufref_valid
test eax, eax
jne 0x100486f83
lea rcx, str.E199:_Active_window_or_buffer_deleted
mov dword [rbx], 3
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov rcx, qword [rbp + 0x28]
call sym.vim.exe_ga_clear
mov rax, qword [sym.vim.exe_restart_edit]
mov esi, dword [rbp + 8]
mov dword [rax], esi
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov esi, dword [rbp]
mov dword [rax], esi
mov rax, qword [sym.vim.exe_State]
mov esi, dword [rbp + 0x10]
mov dword [rax], esi
call sym.vim.exe_setmouse
mov dword [rbp + 0x30], 1
mov r14d, dword [rbx]
jmp 0x10048571c
cmp r12d, 0xffff8d95
jne 0x100486ced
mov dword [rbp + 0x30], 1
mov rbx, 0xffffffffffff9395
mov r12d, 0xffff9395
jmp 0x1004852d0
cmp r12d, 0xffffaa03
je 0x100486b40
cmp r12d, 0xffffcbdd
jne 0x100485680
mov dword [rbp + 0x30], 1
mov rbx, 0xffffffffffff96db
mov r12d, 0xffff96db
jmp 0x1004852d0
cmp r14d, 0x1b
jne 0x100486b0f
mov rax, qword [sym.vim.exe_KeyTyped]
mov r9d, dword [rax]
test r9d, r9d
je 0x1004857b5
mov rax, qword [sym.vim.exe_p_cpo]
mov edx, 0x78
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x1004857b5
mov eax, 0x1b
jmp 0x10048546b
cmp ecx, 0x65
je 0x100485a0a
mov r14, rdi
mov r13d, 1
cmp ecx, 7
jne 0x1004857f2
mov rax, qword [sym.vim.exe_p_im]
mov r12d, dword [rax]
test r12d, r12d
je 0x1004857f2
mov rax, qword [sym.vim.exe_restart_edit]
mov edi, dword [rax]
test edi, edi
jne 0x1004857f2
mov dword [rax], 0x61
jmp 0x1004857f2
mov rbx, qword [sym.vim.exe_KeyTyped]
mov ecx, dword [rbx]
test ecx, ecx
je 0x100485481
movsxd r12, dword [rbp + 0x14]
mov rax, qword [sym.vim.exe_wim_flags]
xor esi, esi
cmp dword [rbp + 0x230], 0x40
movzx eax, byte [rax + r12]
setne sil
mov edx, eax
and edx, 8
cmp dl, 1
mov edx, dword [rbp + 0xc8]
sbb ebx, ebx
and ebx, 0xfffff000
add ebx, 0x1008
test edx, edx
jle 0x100486cf9
cmp edx, 1
je 0x100486090
mov edx, dword [rbp + 0x48]
test edx, edx
jne 0x100486090
test al, 4
jne 0x1004879bc
test al, 2
jne 0x100486e88
test al, 1
jne 0x10048717c
mov eax, dword [rbp + 0x14]
cmp eax, 2
jg 0x1004860ae
add eax, 1
mov dword [rbp + 0x14], eax
cmp r14d, 0x1b
jne 0x100485786
mov rax, qword [sym.vim.exe_curwin]
mov edx, dword [rbp + 0x150]
mov r13d, 1
mov rax, qword [rax]
mov eax, dword [rax]
jmp 0x100485530
mov eax, 0x15002
bt rax, r12
jb 0x100485418
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call sym.vim.exe_ExpandOne
jmp 0x1004853ed
cmp r14d, 0xfffffa03
je 0x1004865a5
cmp r14d, 0xfffffa04
jge 0x100486a40
cmp r14d, 0xffffb195
je 0x1004865a5
cmp r14d, 0xffffb196
jge 0x1004861a6
cmp r14d, 0xffffa603
je 0x100486190
cmp r14d, 0xffffa604
jl 0x100486950
cmp r14d, 0xffffacb0
je 0x100487914
cmp r14d, 0xffffacb1
jl 0x100486826
cmp r14d, 0xffffb003
je 0x1004867bf
cmp r14d, 0xffffb004
jl 0x10048634b
cmp r14d, 0xffffb103
jne 0x100486465
nop dword [rax + rax]
xor r13d, r13d
mov ecx, dword [rbp + 0x1cc]
test ecx, ecx
jne 0x100485786
jmp 0x1004851c0
cmp r14d, 0xffffccb5
je 0x1004865a5
cmp r14d, 0xffffccb6
jl 0x1004864f3
cmp r14d, 0xffffd003
je 0x100487938
cmp r14d, 0xffffd004
jl 0x100486558
cmp r14d, 0xffffd303
jne 0x100486458
cmp r14d, 0xffffd103
mov ecx, 0x63
sete al
cmp r14d, 0xffffcb03
sete dl
or eax, edx
movzx eax, al
mov dword [rbp - 0x2c], eax
call sym.vim.exe_mouse_has
mov r13d, eax
test eax, eax
je 0x100486193
mov r12, qword [sym.vim.exe_cmdline_row]
mov r13, qword [sym.vim.exe_mouse_row]
mov eax, dword [r12]
cmp dword [r13], eax
jge 0x100486241
mov rax, qword [sym.vim.exe_clip_star]
mov esi, dword [rax]
test esi, esi
jne 0x10048830c
mov eax, dword [0x10070883c]
mov ebx, dword [0x10070882c]
mov dword [0x100708830], 0
lea rsi, [0x100708820]
cmp dword [0x100708838], 1
sbb eax, 0xffffffff
mov dword [0x100708834], eax
test ebx, ebx
jle 0x100486190
mov qword [rbp + 8], rdi
mov r14, qword [sym.vim.exe_Columns]
xor eax, eax
mov rbx, qword [sym.vim.exe_cmdline_star]
jmp 0x1004862b0
lea eax, [rcx + 1]
lea r8d, [rdi + r9]
cmp eax, dword [0x10070882c]
mov dword [0x100708834], r8d
mov dword [0x100708830], eax
jge 0x100487a87
mov r11d, dword [rbx]
mov edi, 1
test r11d, r11d
jg 0x1004862ca
movsxd rcx, eax
add rcx, qword [rsi]
call sym.vim.exe_ptr2cells
mov edi, eax
movsxd rax, dword [0x100708834]
movsxd rcx, dword [r12]
movsxd r10, dword [r13]
cqo
mov r9, rax
idiv qword [r14]
add rax, rcx
cmp r10, rax
jg 0x100486302
mov rax, qword [sym.vim.exe_mouse_col]
movsxd rcx, edi
add rdx, rcx
movsxd rax, dword [rax]
cmp rax, rdx
jl 0x100487a87
mov rax, qword [sym.vim.exe_has_mbyte]
mov ecx, dword [0x100708830]
mov r10d, dword [rax]
test r10d, r10d
je 0x100486290
mov edx, edi
call fcn.100481d00
mov rax, qword [sym.vim.exe_mb_ptr2len]
movsxd rcx, dword [0x100708830]
add rcx, qword [rsi]
call qword [rax]
mov edx, dword [0x100708830]
mov r9d, dword [0x100708834]
lea ecx, [rdx + rax - 1]
jmp 0x100486290
cmp r14d, 0xffffaf03
jne 0x100486598
mov r12, qword [sym.vim.exe_has_mbyte]
mov ebx, dword [0x100708830]
mov eax, dword [0x10070882c]
mov edx, dword [r12]
cmp ebx, eax
je 0x100487f1d
add ebx, 1
mov dword [0x100708830], ebx
test edx, edx
jne 0x100487f25
mov eax, dword [0x10070882c]
mov edx, 1
test ebx, ebx
jg 0x100487f50
or eax, dword [rbp + 0x240]
jne 0x100485517
test dl, dl
je 0x100485517
cmp qword [0x100708840], 0
lea rsi, [0x100708820]
jne 0x100485517
mov rax, qword [sym.vim.exe_exmode_active]
mov r13d, dword [rax]
test r13d, r13d
jne 0x100486190
cmp dword [0x100708838], 0x3e
je 0x100486193
mov rcx, qword [rsi]
mov r14, rdi
test rcx, rcx
je 0x100488400
call sym.vim.exe_vim_free
mov r8d, dword [r15]
mov qword [0x100708820], 0
test r8d, r8d
jne 0x100486434
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
test eax, eax
je 0x100486421
mov rax, qword [sym.vim.exe_Columns]
mov eax, dword [rax]
mov rdx, qword [sym.vim.exe_msg_col]
mov ecx, 0x20
mov dword [rdx], eax
call sym.vim.exe_msg_putchar
mov ecx, dword [0x10070882c]
test ecx, ecx
je 0x10048840b
mov rax, qword [sym.vim.exe_redraw_cmdline]
mov dword [rax], 1
jmp 0x1004857f2
cmp r14d, 0xffffd304
jl 0x100486730
mov rax, qword [sym.vim.exe_intr_char]
cmp r14d, dword [rax]
je 0x100486c2a
mov r12, qword [sym.vim.exe_has_mbyte]
mov rax, qword [sym.vim.exe_p_paste]
mov r11d, dword [r12]
mov eax, dword [rax]
test r11d, r11d
je 0x1004854ec
cmp r14d, 0xff
jle 0x1004854ec
test eax, eax
jne 0x1004864bd
mov rax, qword [sym.vim.exe_no_abbr]
lea ecx, [r14 + 0x100]
mov r10d, dword [rax]
test r10d, r10d
je 0x10048550a
mov rbx, qword [sym.vim.exe_mod_mask]
mov r13d, dword [rbx]
test r13d, r13d
je 0x100486e2e
mov edx, r13d
mov ecx, r14d
call sym.vim.exe_get_special_key_name
mov r8d, 1
mov edx, 0xffffffff
mov rcx, rax
call sym.vim.exe_put_on_cmdline
jmp 0x100485517
cmp r14d, 0xffffc8c0
je case.0x100486a75.5
cmp r14d, 0xffffc8c1
jl 0x1004867a0
cmp r14d, 0xffffcb03
je 0x10048653d
cmp r14d, 0xffffcb04
jl 0x100486770
cmp r14d, 0xffffcbdd
je 0x10048684d
cmp r14d, 0xffffcc03
jne 0x100486747
mov r12d, dword [rbp - 0x2c]
xor r13d, r13d
test r12d, r12d
jne 0x100486193
jmp 0x1004861e7
cmp r14d, 0xffffce03
je 0x100486190
cmp r14d, 0xffffce04
jl 0x1004866df
cmp r14d, 0xffffceb5
je case.0x100486a75.2
cmp r14d, 0xffffcf03
je 0x100486190
jmp 0x100486465
cmp r14d, 0xffffaf95
jne 0x100486465
call sym.vim.exe_get_hislen
mov r9d, dword [rbp + 0x230]
test r9d, r9d
je 0x100486190
test eax, eax
je 0x100486190
cmp qword [rbp + 0x40], 0
je 0x1004880c6
mov rcx, qword [rbp + 0x40]
call sub.msys_2.0.dll_strlen
cmp r14d, 0xfffffb03
mov qword [rbp + 8], rdi
mov ebx, dword [rbp - 0x20]
sete cl
cmp r14d, 0xffff8a95
mov edi, dword [rbp - 0x28]
movsxd r12, eax
sete dl
or ecx, edx
mov r13d, ecx
jmp 0x100486687
mov ecx, edi
call sym.vim.exe_get_hisidx
mov esi, dword [rax]
call sym.vim.exe_get_hislen
sub eax, 1
cmp esi, eax
je 0x1004866c3
call sym.vim.exe_get_hislen
lea ebx, [rax - 1]
test ebx, ebx
js 0x100487c5a
movsxd rax, ebx
lea rsi, [rax + rax*2]
shl rsi, 3
mov ecx, edi
call sym.vim.exe_get_histentry
cmp qword [rsi + rax + 8], 0
je 0x100487c5a
cmp r14d, 0xffff8a95
je 0x10048665e
cmp r14d, 0xffff9b95
jne 0x10048834d
cmp ebx, dword [rbp - 0x20]
je 0x100487c5a
mov ecx, edi
call sym.vim.exe_get_histentry
mov rdx, qword [rbp + 0x40]
mov r8, r12
mov rcx, qword [rsi + rax + 8]
call sub.msys_2.0.dll_strncmp
test eax, eax
je 0x1004880f2
test r13b, r13b
jne 0x1004866ae
cmp r14d, 0x10
sete dl
cmp r14d, 0xffffaf95
sete al
or dl, al
jne 0x1004866ae
cmp r14d, 0xffffccb5
jne 0x100487988
call sym.vim.exe_get_hislen
cmp eax, ebx
je 0x10048797a
test ebx, ebx
je 0x100486601
mov ecx, edi
call sym.vim.exe_get_hisidx
mov eax, dword [rax]
add eax, 1
cmp ebx, eax
je 0x100487c5a
sub ebx, 1
jmp 0x100486622
cmp r14d, 0xffffcd03
je 0x1004861e7
cmp r14d, 0xffffcddd
jne 0x100486465
mov r13d, dword [0x100708838]
mov eax, dword [0x10070883c]
mov dword [0x100708830], 0
test r13d, r13d
je 0x1004878ac
add eax, 1
xor r13d, r13d
mov dword [0x100708834], eax
jmp 0x100486193
lea eax, [r14 + 0x2efd]
test eax, 0xfffffeff
je 0x10048653d
jmp 0x100486465
cmp r14d, 0xffffcbb5
jne 0x100486465
mov eax, dword [0x10070882c]
mov dword [0x100708830], eax
call fcn.1004825c0
xor r13d, r13d
jmp 0x100486193
cmp r14d, 0xffffca03
je 0x100486190
cmp r14d, 0xffffcab5
je 0x1004865a5
cmp r14d, 0xffffc8d6
je case.0x100486a75.5
jmp 0x100486465
cmp r14d, 0xffffb403
je 0x100486190
cmp r14d, 0xffffb404
jl 0x100486810
cmp r14d, 0xffffb695
jne 0x1004867e0
mov edx, dword [0x10070884c]
xor eax, eax
test edx, edx
sete al
xor r13d, r13d
mov dword [0x10070884c], eax
call sym.vim.exe_ui_cursor_shape
jmp 0x100486193
cmp r14d, 0xffffbb95
jne 0x100486465
mov r12, qword [sym.vim.exe_has_mbyte]
mov ebx, dword [0x100708830]
cmp dword [0x10070882c], ebx
mov edx, dword [r12]
jne 0x100486377
jmp 0x100486380
mov eax, r14d
and ah, 0xfe
cmp eax, 0xffffb203
je 0x100486190
jmp 0x100486465
cmp r14d, 0xffffa903
je 0x100487b10
cmp r14d, 0xffffa904
jl 0x100486920
cmp r14d, 0xffffaa03
jne 0x100486465
mov r13d, dword [0x100708830]
test r13d, r13d
je 0x100486193
mov rbx, qword [sym.vim.exe_cmdline_star]
mov r12, qword [sym.vim.exe_has_mbyte]
lea rsi, [0x100708820]
jmp 0x1004868a3
cmp r14d, 0xffffcbdd
je 0x100486896
cmp r14d, 0xffffaa03
je 0x100486896
mov rax, qword [sym.vim.exe_mod_mask]
test byte [rax], 6
je 0x100486905
mov rdx, qword [rsi]
movsxd rax, r13d
cmp byte [rdx + rax - 1], 0x20
je 0x100486905
mov ecx, dword [r12]
sub r13d, 1
mov dword [0x100708830], r13d
test ecx, ecx
je 0x1004868d9
mov rcx, qword [rsi]
mov rax, qword [sym.vim.exe_mb_head_off]
movsxd rdx, r13d
add rdx, rcx
call qword [rax]
mov r13d, dword [0x100708830]
sub r13d, eax
mov dword [0x100708830], r13d
mov edx, dword [rbx]
mov eax, 1
test edx, edx
jg 0x1004868f6
movsxd rcx, r13d
add rcx, qword [rsi]
call sym.vim.exe_ptr2cells
mov r13d, dword [0x100708830]
sub dword [0x100708834], eax
test r13d, r13d
jg 0x100486878
mov r13d, dword [r12]
test r13d, r13d
je 0x100486193
jmp 0x100486760
cmp r14d, 0xffffa70b
je 0x100486190
cmp r14d, 0xffffa803
je case.0x100486a75.2
cmp r14d, 0xffffa703
je case.0x100486a75.5
jmp 0x100486465
cmp r14d, 0xffff9b95
je 0x1004865a5
cmp r14d, 0xffff9b96
jl 0x1004869d8
cmp r14d, 0xffffa303
je 0x100486190
cmp r14d, 0xffffa304
jl 0x100486992
mov eax, r14d
and ah, 0xfe
cmp eax, 0xffffa403
je 0x100486190
jmp 0x100486465
lea eax, [r14 + 0x5efd]
test eax, 0xfffffeff
je 0x100486190
cmp r14d, 0xffff9d95
jne 0x100486465
mov ebx, dword [0x100708830]
test ebx, ebx
jg 0x100487df1
cmp r14d, 0x17
mov eax, dword [0x10070882c]
setne dl
jmp 0x10048639b
cmp r14d, 0xffff96db
je 0x100487b10
cmp r14d, 0xffff96dc
jl 0x100486a10
cmp r14d, 0xffff9795
je case.0x100486a75.2
cmp r14d, 0xffff9b03
je 0x100486190
jmp 0x100486465
cmp r14d, 0xffff8d95
je 0x100487b10
cmp r14d, 0xffff9395
je 0x10048684d
cmp r14d, 0xffff8a95
je 0x1004865a5
jmp 0x100486465
cmp r14d, 0xfffffb03
je 0x1004865a5
lea eax, [r14 - 1]
cmp eax, 0x1e
ja case.0x100486a75.0
cmp r14d, 0x1f
ja case.0x100486a75.0
lea rdx, [0x1006a3368]
mov eax, r14d
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rax, qword [sym.vim.exe_KeyTyped]
mov r11d, dword [rax]
test r11d, r11d
je 0x100486465
xor ebx, ebx
cmp dword [rbp + 0x230], 0x40
mov edx, 3
mov rcx, rdi
setne bl
xor r8d, r8d
mov r9d, ebx
call sym.vim.exe_nextwild
cmp eax, 1
jne 0x100486465
xor r8d, r8d
mov r9d, ebx
mov edx, 5
mov rcx, rdi
call sym.vim.exe_nextwild
cmp eax, 1
jne 0x100486465
xor r8d, r8d
mov r9d, ebx
mov edx, 5
mov rcx, rdi
call sym.vim.exe_nextwild
cmp eax, 1
jne 0x100486465
jmp 0x100485517
mov rdx, qword [0x100708820]
cmp byte [rdx + rax - 1], 0x5c
jne 0x100485760
cmp r14d, 0xffffbeb5
je 0x100487928
movsxd rax, r14d
jmp 0x10048546b
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x10048571c
jmp 0x100485b4a
mov dword [rbp + 0x30], 1
mov rbx, 0xffffffffffffa903
mov r12d, 0xffffa903
jmp 0x1004852d0
mov esi, dword [r15]
test esi, esi
jne 0x100486bb0
mov rbx, qword [sym.vim.exe_msg_no_more]
mov ecx, 0x22
mov dword [rbx], 1
call sym.vim.exe_msg_putchar
mov ecx, dword [0x100708830]
mov edx, dword [0x10070882c]
sub edx, ecx
call fcn.100481ed0
mov dword [rbx], 0
mov ebx, dword [r15]
test ebx, ebx
jne 0x100486b9c
call fcn.1004822a0
mov dword [0x100708804], 0x22
mov dword [0x100708800], 1
mov rsi, qword [sym.vim.exe_no_mapping]
mov rbx, qword [sym.vim.exe_allow_keys]
add dword [rsi], 1
add dword [rbx], 1
call sym.vim.exe_plain_vgetc
cmp eax, 0x12
je 0x100487c01
cmp eax, 0xf
je 0x100487c01
mov r14d, eax
sub dword [rsi], 1
sub dword [rbx], 1
mov dword [0x100708804], 0
mov dword [0x100708808], 0xffffffff
cmp eax, 0x3d
je 0x1004878e6
cmp eax, 0x1b
je 0x100487907
xor edx, edx
cmp r14d, 0x12
mov ecx, eax
sete dl
xor r8d, r8d
call fcn.1004832f0
call sym.vim.exe_aborting
test eax, eax
je 0x100487ee2
mov r14, rdi
mov r13d, 1
jmp 0x1004857f2
mov rax, qword [sym.vim.exe_curwin]
cmp dword [0x10070882c], ebx
mov edx, dword [rbp + 0x150]
mov rax, qword [rax]
mov eax, dword [rax]
jne 0x100485530
cmp edx, eax
je 0x10048556b
mov rcx, qword [rbp + 0x20]
call fcn.100482500
jmp 0x10048556b
mov ecx, esi
call sym.vim.exe_get_hisidx
mov ebx, dword [rax]
test ebx, ebx
js 0x100485d80
mov dword [rbp - 4], r13d
xor r12d, r12d
mov qword [rbp - 0x38], rdi
jmp 0x100486cdb
movsxd rax, ebx
lea rdi, [rax + rax*2]
shl rdi, 3
mov ecx, esi
call sym.vim.exe_get_histentry
cmp qword [rdi + rax + 8], 0
je 0x100486ccc
mov ecx, esi
lea r13, [r12 + 1]
call sym.vim.exe_get_histentry
mov rcx, r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdi + rax + 8]
mov r12, r13
call sym.vim.exe_ml_append
mov ecx, esi
call sym.vim.exe_get_hisidx
cmp ebx, dword [rax]
je 0x100486ddb
add ebx, 1
call sym.vim.exe_get_hislen
cmp ebx, eax
jne 0x100486c90
xor ebx, ebx
xor edi, edi
jmp 0x100486c9b
mov dword [rbp + 0x30], 1
jmp 0x100485691
mov eax, dword [0x100708830]
mov r9d, esi
mov r8d, ebx
mov dword [rbp + 0x14], eax
mov rax, qword [sym.vim.exe_wim_flags]
test byte [rax], 2
je 0x100486e76
mov edx, 7
mov rcx, rdi
call sym.vim.exe_nextwild
mov rcx, qword [sym.vim.exe_got_int]
mov r12d, dword [rcx]
test r12d, r12d
jne 0x100487aad
mov edx, dword [rbp + 0xc8]
cmp eax, 1
je 0x100487194
mov dword [rbp + 0x14], 1
cmp edx, 0xffffffff
jne 0x100486d5d
mov dword [rbp + 0x98], 0
cmp r14d, 0x1b
je 0x100486df7
cmp eax, 1
jne 0x100485491
jmp 0x100485786
mov dword [rbp + 0x30], 1
mov rbx, 0xffffffffffff8d95
mov r12d, 0xffff8d95
jmp 0x1004852d0
mov ecx, 0xffff9e03
call sym.vim.exe_stuffcharReadbuff
jmp 0x100485e3d
mov rax, qword [sym.vim.exe_curwin]
mov edx, 1
mov rcx, qword [rax]
call sym.vim.exe_win_close
mov rcx, qword [rbp + 0x28]
call sym.vim.exe_ga_clear
mov dword [r14], 0
mov eax, 3
mov r14d, 3
mov dword [rbp + 0x30], 1
jmp 0x10048546b
mov r13d, dword [rbp - 4]
mov rdi, qword [rbp - 0x38]
jmp 0x100485d80
mov ecx, 0x10e
mov ebx, 0x10e
jmp 0x100484f09
cmp eax, 1
jne 0x100486a4d
jmp 0x1004860b8
mov rbx, qword [sym.vim.exe_mod_mask]
cmp r14d, 0x1d
je 0x100485517
mov r13d, dword [rbx]
test r14d, r14d
js 0x1004864d0
test r13d, r13d
jne 0x1004864d0
mov r12, qword [sym.vim.exe_has_mbyte]
mov rbx, qword [sym.vim.exe_IObuff]
mov r8d, dword [r12]
mov rdx, qword [rbx]
test r8d, r8d
je 0x100487870
mov rax, qword [sym.vim.exe_mb_char2bytes]
mov ecx, r14d
call qword [rax]
mov rcx, qword [rbx]
mov r8d, 1
mov edx, eax
cdqe
mov byte [rcx + rax], 0
mov rcx, qword [rbx]
call sym.vim.exe_put_on_cmdline
jmp 0x100485786
mov edx, 3
mov rcx, rdi
call sym.vim.exe_nextwild
jmp 0x100486d25
mov r9d, esi
mov r8d, ebx
mov edx, 7
mov rcx, rdi
call sym.vim.exe_nextwild
mov ebx, dword [rbp + 0x14]
xor edx, edx
cmp ebx, 3
setl dl
add ebx, edx
mov dword [rbp + 0x14], ebx
jmp 0x100486d5d
mov dword [rbp + 0x30], 1
mov rbx, 0xffffffffffffaa03
mov r12d, 0xffffaa03
jmp 0x1004852d0
cmp dword [rbp + 0x230], 0xffffffff
mov qword [0x100708820], 0
mov qword [0x100708828], 0
mov qword [0x100708830], 0
mov qword [0x100708838], 0
mov qword [0x100708840], 0
mov qword [0x100708848], 0
mov qword [0x100708850], 0
mov qword [0x100708858], 0
mov qword [0x100708860], 0
mov qword [0x100708868], 0
jne 0x100484e71
lea rax, [rbp + 0x130]
mov rcx, rax
mov qword [rbp + 0x20], rax
call fcn.100482500
mov dword [rbp + 0x1c], 1
xor eax, eax
mov dword [0x10070884c], 0
mov dword [0x100708838], 0
mov dword [rbp + 0x230], 0
jmp 0x100484ed6
call sym.vim.exe_aborting
test eax, eax
je 0x100486f9a
cmp dword [rbx], 0xffffca03
je 0x100486f9a
mov dword [rbx], 3
mov rcx, qword [0x100708820]
call sym.vim.exe_vim_free
mov eax, dword [rbx]
lea edx, [rax + 0x3afd]
and edx, 0xfffffeff
jne 0x100487430
cmp eax, 0xffffc503
lea r14, [0x1006a32d8]
lea rax, [0x1006a32db]
cmovne r14, rax
test esi, esi
jne 0x100487c0b
mov rcx, r14
call sym.vim.exe_vim_strsave
mov dword [rbx], 0xd
mov qword [0x100708820], rax
mov rcx, rax
test rcx, rcx
je 0x100487444
call sub.msys_2.0.dll_strlen
mov rsi, qword [sym.vim.exe_curwin]
lea edx, [rax + 1]
mov dword [0x10070882c], eax
mov r14, qword [rsi]
mov dword [0x100708828], edx
mov edx, dword [r14 + 0x40]
cmp edx, eax
cmovle eax, edx
cmp dword [rbx], 0xffffca03
mov dword [0x100708830], eax
je 0x100487cb7
mov rax, qword [rbp + 0x38]
mov rcx, r12
mov qword [r14 + 0x4b8], 0
mov rdx, qword [rax]
call sym.vim.exe_set_bufref
mov rcx, qword [rbp + 0x30]
call sym.vim.exe_win_goto
mov rcx, r14
call sym.vim.exe_win_valid
test eax, eax
je 0x10048707b
mov rax, qword [sym.vim.exe_curwin]
cmp r14, qword [rax]
je 0x10048707b
mov edx, 1
mov rcx, r14
call sym.vim.exe_win_close
mov rcx, r12
call sym.vim.exe_bufref_valid
test eax, eax
je 0x1004870ac
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x60]
cmp rdx, qword [rax]
je 0x1004870ac
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 4
xor ecx, ecx
call sym.vim.exe_close_buffer
mov rcx, qword [rbp + 0x28]
call sym.vim.exe_win_size_restore
jmp 0x100485efb
movdqa xmm0, xmmword [0x1007087a0]
movdqa xmm1, xmmword [0x1007087b0]
movdqa xmm2, xmmword [0x1007087c0]
movdqa xmm3, xmmword [0x1007087d0]
movdqa xmm4, xmmword [0x1007087e0]
movdqa xmm5, xmmword [rbp + 0xe0]
movaps xmmword [0x100708820], xmm0
movaps xmmword [0x100708830], xmm1
movdqa xmm0, xmmword [rbp + 0xf0]
movdqa xmm1, xmmword [rbp + 0x100]
movaps xmmword [0x100708840], xmm2
movdqa xmm2, xmmword [rbp + 0x110]
movaps xmmword [0x100708850], xmm3
movdqa xmm3, xmmword [rbp + 0x120]
movaps xmmword [0x100708860], xmm4
movaps xmmword [0x1007087a0], xmm5
movaps xmmword [0x1007087b0], xmm0
movaps xmmword [0x1007087c0], xmm1
movaps xmmword [0x1007087d0], xmm2
movaps xmmword [0x1007087e0], xmm3
jmp 0x100485917
mov eax, dword [rbp + 0x230]
mov r12d, dword [rbp + 0x230]
mov dword [0x100708838], eax
xor eax, eax
test r12d, r12d
mov dword [rbp + 0x1c], eax
cmovg eax, dword [rbp + 0x240]
jmp 0x100484ed6
mov r9d, esi
mov r8d, ebx
mov edx, 4
mov rcx, rdi
call sym.vim.exe_nextwild
jmp 0x100486e9b
cmp edx, 1
jle 0x100486d47
mov rax, qword [sym.vim.exe_wim_flags]
mov rcx, qword [sym.vim.exe_p_wmnu]
movzx eax, byte [rax]
mov r10d, dword [rcx]
cmp al, 2
je 0x10048805c
mov dword [rbp + 0x14], 1
test al, 4
jne 0x100487d1c
mov edx, eax
xor r11d, r11d
test r10d, r10d
je 0x100488043
and edx, 1
je 0x100488043
movsxd r8, r11d
test al, 2
je 0x100487d26
mov rax, qword [sym.vim.exe_wim_flags]
xor r12d, r12d
test byte [rax + r8], 4
sete r12b
mov edx, r12d
mov rcx, rdi
mov qword [rbp + 0x48], r8
call sym.vim.exe_showmatches
call sym.vim.exe_redrawcmd
mov rax, qword [sym.vim.exe_wim_flags]
mov r8, qword [rbp + 0x48]
movzx eax, byte [rax + r8]
test al, 2
jne 0x10048802b
test al, 1
jne 0x1004882fc
mov dword [rbp + 0x48], 1
jmp 0x1004860ae
mov edx, 0x10
lea rcx, str._buffer___Tab___C_X__C_V_
call sym.vim.exe_add_map
mov edx, 1
lea rcx, str._buffer___Tab__a_C_X__C_V_
call sym.vim.exe_add_map
jmp 0x100485d3e
mov rdx, qword [rbp + 0x20]
xor r8d, r8d
mov ecx, r13d
call fcn.1004823e0
jmp 0x100485822
mov eax, dword [0x100708858]
mov dword [rbp + 0x98], eax
mov rax, qword [0x100708820]
mov qword [rbp + 0x90], rax
mov rax, qword [0x100708860]
mov qword [rbp + 0xa0], rax
jmp 0x100485016
mov rax, qword [sym.vim.exe_exmode_active]
mov r13d, dword [rax]
test r13d, r13d
je 0x100486c2a
mov rax, qword [sym.vim.exe_ex_normal_busy]
mov r13d, dword [rax]
test r13d, r13d
je 0x100486193
mov rax, qword [sym.vim.exe_typebuf]
mov r12d, dword [rax + 0x18]
test r12d, r12d
jg 0x100486190
jmp 0x100486c2a
mov edx, dword [rbp + 0xc8]
test edx, edx
jle 0x1004865a5
xor r9d, r9d
cmp dword [rbp + 0x230], 0x40
mov rcx, rdi
setne r9b
xor edx, edx
cmp r14d, 0x10
sete dl
xor r8d, r8d
add edx, 4
call sym.vim.exe_nextwild
test eax, eax
je 0x1004854d3
jmp 0x100486190
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x238]
mov r9d, r14d
mov ecx, dword [rbp + 0x230]
call fcn.100483ee0
mov r13d, eax
test eax, eax
jne 0x1004854d3
jmp 0x100486193
mov eax, dword [r15]
test eax, eax
jne 0x1004873a8
mov rbx, qword [sym.vim.exe_msg_no_more]
mov ecx, 0x5e
mov dword [rbx], 1
call sym.vim.exe_msg_putchar
mov ecx, dword [0x100708830]
mov edx, dword [0x10070882c]
sub edx, ecx
call fcn.100481ed0
mov eax, dword [r15]
mov dword [rbx], 0
test eax, eax
jne 0x100487394
call fcn.1004822a0
mov dword [0x100708804], 0x5e
mov dword [0x100708800], 1
mov rbx, qword [sym.vim.exe_mod_mask]
mov ecx, dword [rbx]
and ecx, 2
call sym.vim.exe_get_literal
mov dword [rbp - 0x2c], 1
mov dword [0x100708804], 0
mov r14d, eax
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
test eax, eax
je 0x100486e19
mov ecx, r14d
call sym.vim.exe_utf_iscomposing
test eax, eax
je 0x100486e19
mov eax, dword [r15]
test eax, eax
jne 0x100486e19
mov ecx, dword [0x100708830]
mov edx, dword [0x10070882c]
sub edx, ecx
call fcn.100481ed0
mov ecx, 0x20
call sym.vim.exe_msg_putchar
mov eax, dword [r15]
test eax, eax
jne 0x100486e19
call fcn.1004822a0
jmp 0x100486e19
cmp eax, 3
jne 0x100487c3e
mov qword [0x100708820], 0
lea rcx, [0x1006a3366]
call sym.vim.exe_vim_strsave
mov dword [rbx], 3
mov qword [0x100708820], rax
mov rax, qword [sym.vim.exe_curwin]
mov qword [0x100708828], 1
mov dword [0x100708830], 0
mov r14, qword [rax]
jmp 0x100487033
mov rax, qword [sym.vim.exe_curbuf]
mov qword [rbp - 0x18], 0
mov qword [rbp + 0x38], rax
mov rax, qword [sym.vim.exe_p_imcmdline]
mov r8d, dword [rax]
test r8d, r8d
je 0x10048508d
mov ecx, 1
call sym.vim.exe_im_set_active
jmp 0x10048508d
mov rcx, rax
call sym.vim.exe_im_save_status
jmp 0x1004858e2
xor r9d, r9d
cmp dword [rbp + 0x230], 0x40
mov edx, 6
mov rcx, rdi
setne r9b
xor r8d, r8d
call sym.vim.exe_nextwild
test eax, eax
je 0x1004854d3
jmp 0x100485517
mov rax, qword [sym.vim.exe_clip_star]
movzx eax, word [rax + 0x50]
test ax, ax
je 0x1004854d3
xor r13d, r13d
cmp ax, 2
jne 0x100486193
mov ecx, 1
call sym.vim.exe_clip_copy_modeless_selection
jmp 0x100486193
movsxd r8, dword [0x100708830]
mov edx, dword [0x10070882c]
mov dword [0x100708830], 0
lea rsi, [0x100708820]
sub edx, r8d
mov dword [0x10070882c], edx
test edx, edx
jle 0x10048756a
xor eax, eax
mov rdx, qword [rsi]
lea rcx, [rdx + rax]
movzx ecx, byte [rcx + r8]
mov byte [rdx + rax], cl
mov edx, dword [0x10070882c]
add rax, 1
cmp edx, eax
jg 0x10048754d
mov rax, qword [0x100708820]
movsxd rdx, edx
mov byte [rax + rdx], 0
mov r14d, dword [0x10070882c]
test r14d, r14d
jne 0x100487593
movdqa xmm4, xmmword [rbp + 0x140]
movaps xmmword [rbp + 0x130], xmm4
call sym.vim.exe_redrawcmd
jmp 0x100485517
mov rax, qword [sym.vim.exe_p_ari]
mov esi, dword [rax]
test esi, esi
je 0x1004854d3
mov ebx, dword [0x1007087fc]
xor eax, eax
test ebx, ebx
sete al
xor r13d, r13d
mov dword [0x1007087fc], eax
jmp 0x100486193
xor r8d, r8d
mov edx, 0x20
lea rcx, [0x1006a3366]
call sym.vim.exe_map_to_exists_mode
test eax, eax
jne 0x100487f90
mov rax, qword [sym.vim.exe_p_imdisable]
mov eax, dword [rax]
test eax, eax
je 0x1004878b7
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x1004878b7
cmp qword [rax], 2
je 0x10048842f
mov ecx, 1
call sym.vim.exe_im_set_active
mov rax, qword [rbp - 0x18]
mov qword [rax], 2
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov qword [rbp + 8], rax
add rax, 0x1290
cmp qword [rbp - 0x18], rax
je 0x100488021
call sym.vim.exe_set_imsearch_global
call sym.vim.exe_ui_cursor_shape
xor r13d, r13d
call sym.vim.exe_status_redraw_curbuf
jmp 0x100486193
call sym.vim.exe_save_last_search_pattern
lea rax, [rbp + 0x60]
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov ecx, dword [rbp + 0x230]
lea r9, [rbp + 0x50]
call fcn.1004816f0
mov r13d, eax
test eax, eax
je 0x100487fe4
call sym.vim.exe_restore_last_search_pattern
mov r13d, dword [rbp + 0x1c8]
test r13d, r13d
je 0x100486193
mov rax, qword [sym.vim.exe_curwin]
movdqu xmm5, xmmword [rbp + 0x1b8]
mov rax, qword [rax]
movups xmmword [rax + 0x38], xmm5
call sym.vim.exe_gchar_cursor
mov r14d, eax
test eax, eax
je 0x100486190
mov rax, qword [sym.vim.exe_p_ic]
mov r8d, dword [rax]
test r8d, r8d
je 0x1004876df
mov rax, qword [sym.vim.exe_p_scs]
mov ecx, dword [rax]
test ecx, ecx
jne 0x100488463
cmp dword [rbp + 0x70], r14d
je 0x10048770b
call sym.vim.exe_magic_isset
lea rcx, str._._
mov edx, r14d
test eax, eax
lea rax, [0x1006a32e7]
cmove rcx, rax
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100487719
mov ecx, r14d
mov r14d, 0x5c
call sym.vim.exe_stuffcharReadbuff
mov rsi, qword [sym.vim.exe_mb_char2len]
mov ecx, r14d
call qword [rsi]
mov ebx, eax
mov rax, qword [sym.vim.exe_mb_ptr2len]
mov r12, qword [rax]
call sym.vim.exe_ml_get_cursor
mov rcx, rax
call r12
mov r12d, r14d
cmp ebx, eax
jne 0x10048776d
jmp 0x10048778d
mov ecx, r12d
call qword [rsi]
mov r8d, eax
mov rax, qword [sym.vim.exe_curwin]
mov rax, qword [rax]
add dword [rax + 0x40], r8d
call sym.vim.exe_gchar_cursor
mov ecx, eax
mov r12d, eax
call sym.vim.exe_stuffcharReadbuff
mov ecx, r12d
call qword [rsi]
mov ebx, eax
mov rax, qword [sym.vim.exe_mb_ptr2len]
mov r13, qword [rax]
call sym.vim.exe_ml_get_cursor
mov rcx, rax
call r13
cmp ebx, eax
jne 0x100487748
xor r9d, r9d
cmp dword [rbp + 0x230], 0x40
mov edx, 7
mov rcx, rdi
setne r9b
xor r8d, r8d
call sym.vim.exe_nextwild
test eax, eax
je 0x10048785e
jmp 0x100485517
xor edx, edx
mov rcx, rdi
call sym.vim.exe_showmatches
test eax, eax
je 0x1004854d3
call sym.vim.exe_redrawcmd
xor r13d, r13d
jmp 0x1004851c0
mov r13d, dword [r15]
test r13d, r13d
jne 0x100487838
mov rbx, qword [sym.vim.exe_msg_no_more]
mov ecx, 0x3f
mov dword [rbx], 1
call sym.vim.exe_msg_putchar
mov ecx, dword [0x100708830]
mov edx, dword [0x10070882c]
sub edx, ecx
call fcn.100481ed0
mov r12d, dword [r15]
mov dword [rbx], 0
test r12d, r12d
jne 0x100487824
call fcn.1004822a0
mov dword [0x100708804], 0x3f
mov dword [0x100708800], 1
mov ecx, 1
call sym.vim.exe_get_digraph
mov dword [rbp - 0x2c], 1
mov dword [0x100708804], 0
mov r14d, eax
test eax, eax
je 0x100487907
test r14d, r14d
js 0x100486475
jmp 0x100487cf6
mov byte [rdx], r14b
mov r8d, 1
mov edx, 1
jmp 0x100486e69
mov rdi, qword [sym.vim.exe_State]
mov dword [rdi], 0x28
jmp 0x10048507f
lea rax, [rdx + 0x1290]
mov qword [rbp - 0x18], rax
mov rax, qword [rdx + 0x1290]
jmp 0x100485075
mov dword [0x100708834], eax
jmp 0x100486193
call sym.vim.exe_im_get_status
test eax, eax
je 0x100487f72
xor ecx, ecx
call sym.vim.exe_im_set_active
cmp qword [rbp - 0x18], 0
je 0x100487642
mov rax, qword [rbp - 0x18]
mov qword [rax], 0
jmp 0x100487622
cmp dword [0x100708838], 0x3d
je 0x100487902
mov rbx, qword [sym.vim.exe_cmdline_star]
mov r11d, dword [rbx]
test r11d, r11d
jle 0x100488360
call sym.vim.exe_beep_flush
call sym.vim.exe_redrawcmd
xor r13d, r13d
jmp 0x100486193
xor r8d, r8d
xor edx, edx
mov ecx, 1
call sym.vim.exe_bracketed_paste
jmp 0x100485517
mov eax, 0xa
mov r14d, 0xa
jmp 0x10048546b
mov ecx, 0x63
call sym.vim.exe_mouse_has
mov r13d, eax
test eax, eax
je 0x100486193
mov rax, qword [sym.vim.exe_clip_star]
mov r8d, 1
mov edx, 1
mov r13d, dword [rax]
test r13d, r13d
je 0x100487d10
mov ecx, 0x2a
call fcn.1004832f0
jmp 0x100487593
mov ecx, edi
call sym.vim.exe_get_hisidx
mov ebx, dword [rax]
jmp 0x100486622
mov ecx, edi
call sym.vim.exe_get_hisidx
cmp ebx, dword [rax]
je 0x10048841f
call sym.vim.exe_get_hislen
cmp ebx, eax
je 0x10048834d
call sym.vim.exe_get_hislen
sub eax, 1
cmp ebx, eax
je 0x100488018
add ebx, 1
jmp 0x100486622
xor edx, edx
mov rcx, rdi
call sym.vim.exe_showmatches
call sym.vim.exe_redrawcmd
mov rax, qword [sym.vim.exe_wim_flags]
mov dword [rbp + 0x48], 1
movzx eax, byte [rax + r12]
jmp 0x100486090
call sym.vim.exe_trigger_modechanged
jmp 0x1004858cf
call sym.vim.exe_redrawcmd
jmp 0x10048512d
call sym.vim.exe_trigger_modechanged
jmp 0x1004850f7
mov rax, qword [sym.vim.exe_msg_scrolled]
mov ebx, dword [rax]
mov dword [rax], 0
call sym.vim.exe_msg_start
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
test eax, eax
je 0x100487a2f
mov rax, qword [sym.vim.exe_Columns]
mov rax, qword [rax]
sub eax, 1
mov rdx, qword [sym.vim.exe_msg_col]
mov dword [rdx], eax
call sym.vim.exe_msg_clr_eos
mov rax, qword [sym.vim.exe_cmdline_row]
xor edx, edx
mov ecx, dword [rax]
call sym.vim.exe_windgoto
mov rax, qword [sym.vim.exe_msg_scrolled]
mov r11d, dword [r15]
add dword [rax], ebx
test r11d, r11d
jne 0x100487a63
call fcn.100481d80
mov r10d, dword [0x100708838]
mov eax, dword [0x10070883c]
test r10d, r10d
je 0x100487cac
add eax, 1
mov dword [0x100708834], eax
jmp 0x100484ff1
mov rdi, qword [rbp + 8]
xor r13d, r13d
jmp 0x100486193
mov rax, qword [sym.vim.exe_msg_row]
xor edx, edx
mov ecx, dword [rax]
call sym.vim.exe_windgoto
call sym.vim.exe_out_flush
jmp 0x1004857f2
call sym.vim.exe_vpeekc
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov rax, qword [sym.vim.exe_got_int]
mov rcx, rdi
mov dword [rax], 0
mov dword [rsp + 0x20], 1
call sym.vim.exe_ExpandOne
mov rax, qword [sym.vim.exe_curwin]
mov dword [rbp + 0x98], 0
mov dword [rbp + 0x14], 0
mov edx, dword [rbp + 0x150]
mov rax, qword [rax]
mov eax, dword [rax]
jmp 0x100485530
mov eax, dword [rbp + 0x240]
lea ebx, [rax + 0x15]
movsxd rcx, ebx
jmp 0x100484f09
mov edx, dword [0x100708830]
mov r12, qword [sym.vim.exe_has_mbyte]
lea rsi, [0x100708820]
mov rbx, qword [sym.vim.exe_cmdline_star]
mov r13, qword [sym.vim.exe_Columns]
jmp 0x100487b86
movsxd rcx, eax
mov rax, qword [sym.vim.exe_mb_ptr2len]
add rcx, qword [rsi]
call qword [rax]
add dword [0x100708830], eax
cmp r14d, 0xffff96db
je 0x100487b6f
cmp r14d, 0xffffa903
je 0x100487b6f
mov rax, qword [sym.vim.exe_mod_mask]
test byte [rax], 6
je 0x100486905
movsxd rax, dword [0x100708830]
mov rcx, qword [rsi]
cmp byte [rcx + rax], 0x20
mov rdx, rax
je 0x100486905
cmp dword [0x10070882c], edx
jle 0x100486905
mov r10d, dword [rbx]
mov eax, 1
test r10d, r10d
jg 0x100487baa
movsxd rcx, edx
add rcx, qword [rsi]
call sym.vim.exe_ptr2cells
mov rcx, qword [sym.vim.exe_KeyTyped]
add eax, dword [0x100708834]
mov r9d, dword [rcx]
test r9d, r9d
je 0x100487bda
mov r11, qword [sym.vim.exe_Rows]
mov rdx, qword [r13]
movsxd rcx, eax
imul rdx, qword [r11]
cmp rcx, rdx
jge 0x100486905
mov r8d, dword [r12]
mov dword [0x100708834], eax
mov eax, dword [0x100708830]
test r8d, r8d
jne 0x100487b38
add eax, 1
mov dword [0x100708830], eax
jmp 0x100487b4d
call sym.vim.exe_plain_vgetc
jmp 0x100486bde
mov qword [0x100708820], 0
mov ecx, 0x3a
call sym.vim.exe_stuffcharReadbuff
mov rcx, r14
call sym.vim.exe_stuffReadbuff
mov ecx, 0xd
call sym.vim.exe_stuffcharReadbuff
mov rcx, qword [0x100708820]
jmp 0x100486ff1
call sym.vim.exe_ml_get_curline
mov rcx, rax
call sym.vim.exe_vim_strsave
mov qword [0x100708820], rax
mov rcx, rax
jmp 0x100486ff1
mov rdi, qword [rbp + 8]
call sym.vim.exe_beep_flush
xor r13d, r13d
jmp 0x100486193
cmp dword [rbp - 0x28], 1
je 0x100487d6e
mov edi, dword [rbp + 0x30]
test edi, edi
jne 0x100487d6e
test r13d, r13d
jne 0x100487daf
call sym.vim.exe_msg_check
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rbp - 0x1c]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_redir_off]
mov dword [rax], 0
jmp 0x100485885
mov dword [0x100708834], eax
jmp 0x100484ff1
call fcn.1004825c0
call sym.vim.exe_redrawcmd
mov rax, qword [sym.vim.exe_curwin]
mov r14, qword [rax]
jmp 0x100487033
mov rax, qword [sym.vim.exe_intr_char]
cmp dword [rax], r14d
je 0x100486c2a
test r14d, r14d
js 0x100486475
mov rbx, qword [sym.vim.exe_mod_mask]
mov dword [rbx], 0
mov ecx, r14d
call sym.vim.exe_vim_iswordc
test eax, eax
je 0x100486475
jmp 0x1004864bd
xor ecx, ecx
call fcn.1004832f0
jmp 0x100487593
xor r8d, r8d
test al, 2
jne 0x100487d60
xor r11d, r11d
mov rax, qword [sym.vim.exe_p_wmnu]
xor r8d, r8d
mov r9d, esi
mov rcx, rdi
mov edx, 5
mov dword [rbp + 8], r10d
mov dword [rbp + 0x48], r11d
mov dword [rax], 0
call sym.vim.exe_nextwild
mov rax, qword [sym.vim.exe_p_wmnu]
mov r10d, dword [rbp + 8]
movsxd r8, dword [rbp + 0x48]
mov dword [rax], r10d
test r10d, r10d
je 0x1004871fd
jmp 0x1004871ea
mov ecx, dword [rbp - 0x28]
mov r9d, 0
mov r8d, 1
cmp ecx, 1
cmove r9d, dword [rbp + 0x230]
call sym.vim.exe_add_to_history
cmp dword [rbp + 0x230], 0x3a
je 0x100488440
test r13d, r13d
je 0x100485853
mov rdx, qword [0x100708820]
test rdx, rdx
je 0x100487dc2
mov rcx, rdx
call sym.vim.exe_vim_free
mov qword [0x100708820], 0
mov rax, qword [sym.vim.exe_msg_scrolled]
mov esi, dword [rax]
test esi, esi
je 0x1004880bc
lea rcx, [0x1006a3366]
call sym.vim.exe_msg
mov rax, qword [sym.vim.exe_redraw_cmdline]
mov dword [rax], 1
jmp 0x100485853
mov r12, qword [sym.vim.exe_has_mbyte]
mov rcx, qword [0x100708820]
movsxd rax, ebx
lea rsi, [0x100708820]
mov qword [rbp + 8], rax
mov r10d, dword [r12]
lea r13, [rcx + rax]
test r10d, r10d
je 0x10048836a
mov rdx, r13
call sym.vim.exe_mb_prevptr
mov r13, rax
cmp r14d, 0x17
je 0x1004884c8
mov rcx, qword [0x100708820]
mov eax, dword [0x10070882c]
sub r13, rcx
mov r8d, ebx
sub r8d, r13d
mov dword [0x100708830], r13d
movsxd rdx, r13d
sub eax, r8d
mov dword [0x10070882c], eax
cmp r13d, eax
jge 0x100487e8c
mov r8, qword [rbp + 8]
sub r13d, ebx
sub rdx, r8
movzx eax, byte [rcx + r8]
add rcx, r8
add r8, 1
mov byte [rcx + rdx], al
mov eax, dword [0x10070882c]
lea ecx, [r13 + r8]
cmp eax, ecx
mov rcx, qword [rsi]
jg 0x100487e6b
cdqe
mov byte [rcx + rax], 0
mov r9d, dword [0x10070882c]
test r9d, r9d
jne 0x100487593
movdqa xmm0, xmmword [rbp + 0x140]
movdqu xmm1, xmmword [rbp + 0x158]
movdqu xmm2, xmmword [rbp + 0x168]
mov rax, qword [rbp + 0x178]
movaps xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x1a0], rax
movaps xmmword [rbp + 0x180], xmm1
movaps xmmword [rbp + 0x190], xmm2
jmp 0x100487593
mov rax, qword [sym.vim.exe_KeyTyped]
mov dword [rax], 0
mov eax, dword [0x100708808]
test eax, eax
js 0x100487907
mov edx, dword [0x10070882c]
cmp eax, edx
cmovg eax, edx
mov dword [0x100708830], eax
jmp 0x100487907
call sym.vim.exe_redraw_statuslines
jmp 0x100485186
test edx, edx
je 0x10048638e
mov rcx, qword [0x100708820]
movsxd rdx, ebx
mov r14d, 0xffffbb95
add rdx, rcx
call sym.vim.exe_mb_off_next
add eax, dword [0x100708830]
mov dword [0x100708830], eax
mov ebx, eax
jmp 0x1004869b7
movsxd rdx, ebx
mov rcx, qword [0x100708820]
lea rsi, [0x100708820]
mov qword [rbp + 8], rdx
lea r13, [rcx + rdx]
sub r13, 1
jmp 0x100487e40
mov ecx, 1
call sym.vim.exe_im_set_active
cmp qword [rbp - 0x18], 0
je 0x100487642
jmp 0x100487617
mov rax, qword [sym.vim.exe_State]
xor ecx, ecx
xor dword [rax], 0x20
call sym.vim.exe_im_set_active
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x100487642
mov rax, qword [sym.vim.exe_State]
test byte [rax], 0x20
setne al
movzx eax, al
mov qword [rbx], rax
jmp 0x100487622
call sym.vim.exe_beep_flush
mov r14d, 0xffffca03
mov dword [rbp + 0x30], 1
mov rax, 0xffffffffffffca03
jmp 0x10048546b
call sym.vim.exe_restore_last_search_pattern
xor r9d, r9d
mov edx, 7
mov rcx, rdi
cmp dword [rbp + 0x230], 0x40
setne r9b
xor r8d, r8d
call sym.vim.exe_nextwild
test eax, eax
jne 0x100485786
jmp 0x1004854d3
xor esi, esi
xor ebx, ebx
jmp 0x100486635
call sym.vim.exe_set_iminsert_global
jmp 0x100487642
mov r9d, esi
mov r8d, ebx
mov edx, 7
mov rcx, rdi
call sym.vim.exe_nextwild
jmp 0x100487231
mov ecx, 0x40000
call sym.vim.exe_vim_beep
cmp r14d, 0x1b
jne 0x100485786
jmp 0x1004860b8
mov ecx, dword [rbp + 0x14]
xor r11d, r11d
cmp dword [0x100708830], ecx
sete r8b
mov rcx, qword [sym.vim.exe_wim_flags]
sete r11b
movzx r8d, r8b
movzx edx, byte [rcx + r8]
lea ecx, [r11 + 1]
mov dword [rbp + 0x14], ecx
test dl, 4
jne 0x100487d60
jmp 0x1004871cd
call sym.vim.exe_beep_flush
mov rcx, qword [rbp + 0x28]
mov r14d, 0xffffca03
call sym.vim.exe_ga_clear
mov dword [rbp + 0x30], 1
mov rax, 0xffffffffffffca03
jmp 0x10048546b
call sym.vim.exe_compute_cmdrow
jmp 0x100487dd3
mov rcx, qword [0x100708820]
call sym.vim.exe_vim_strsave
mov qword [rbp + 0x40], rax
mov rbx, rax
test rax, rax
je 0x100486190
movsxd rax, dword [0x100708830]
mov byte [rbx + rax], 0
jmp 0x1004865cd
mov rdi, qword [rbp + 8]
mov rcx, qword [0x100708820]
lea rsi, [0x100708820]
test rcx, rcx
je 0x100488119
call sym.vim.exe_vim_free
mov qword [0x100708820], 0
mov dword [rbp + 0x98], 0
call sym.vim.exe_get_hislen
cmp eax, ebx
jne 0x1004881a7
mov r12, qword [rbp + 0x40]
mov rcx, r12
call sub.msys_2.0.dll_strlen
cmp eax, 0x4f
jle 0x1004882ed
lea esi, [rax + 0x14]
movsxd rcx, esi
call sym.vim.exe_alloc
mov dword [0x100708828], esi
mov qword [0x100708820], rax
mov rcx, rax
test rax, rax
je 0x1004882e5
mov rdx, r12
call sub.msys_2.0.dll_strcpy
mov rcx, qword [0x100708820]
xor r13d, r13d
call sub.msys_2.0.dll_strlen
mov dword [0x10070882c], eax
mov dword [0x100708830], eax
call sym.vim.exe_redrawcmd
mov rax, qword [sym.vim.exe_curwin]
mov dword [rbp - 0x20], ebx
mov edx, dword [rbp + 0x150]
mov rax, qword [rax]
mov eax, dword [rax]
jmp 0x100485530
mov r14d, dword [rbp - 0x28]
mov ecx, r14d
call sym.vim.exe_get_histentry
mov r8, rax
movsxd rax, ebx
lea rax, [rax + rax*2]
mov r12, qword [r8 + rax*8 + 8]
mov rcx, r12
cmp r14d, 1
jne 0x100488133
cmp qword [rbp + 0x40], r12
je 0x100488133
call sub.msys_2.0.dll_strlen
xor ecx, ecx
movzx edx, byte [r12 + rax + 1]
mov r14d, edx
cmp edx, dword [rbp + 0x230]
je 0x100488138
movzx r9d, byte [r12]
xor r8d, r8d
xor edx, edx
test r9b, r9b
jne 0x100488230
jmp 0x100488490
cmp r9d, dword [rbp + 0x230]
je 0x10048825e
cmp ecx, 1
je 0x10048826e
add rdx, 1
lea r8d, [rax + 1]
movzx r9d, byte [r12 + rdx]
test r9b, r9b
je 0x10048827f
mov eax, r8d
cmp r14b, r9b
jne 0x100488210
test rdx, rdx
je 0x100488245
cmp byte [r12 + rdx - 1], 0x5c
je 0x100488219
cmp ecx, 1
jne 0x10048821e
mov r9, qword [rsi]
movzx r11d, byte [rbp + 0x230]
movsxd r8, eax
mov byte [r9 + r8], r11b
jmp 0x10048821e
test rdx, rdx
jne 0x100488292
cmp ecx, 1
je 0x1004882b3
lea eax, [r8 + 1]
jmp 0x100488219
movzx r10d, byte [r12 + rdx]
mov r9, qword [rsi]
movsxd r8, eax
mov byte [r9 + r8], r10b
jmp 0x10048821e
test ecx, ecx
je 0x1004882c0
cmp ecx, 1
je 0x10048829f
mov ecx, 1
jmp 0x1004881f5
cmp byte [r12 + rdx - 1], 0x5c
jne 0x100488263
jmp 0x100488219
mov rax, qword [0x100708820]
movsxd r8, r8d
mov byte [rax + r8], 0
jmp 0x10048816d
mov r9, qword [rsi]
movsxd rax, r8d
mov byte [r9 + rax], 0x5c
jmp 0x100488268
cmp r8d, 0x4f
jle 0x100488498
lea r13d, [rax + 0x15]
movsxd rcx, r13d
call sym.vim.exe_alloc
mov dword [0x100708828], r13d
mov qword [rsi], rax
test rax, rax
jne 0x100488288
mov r14, rdi
jmp 0x1004857ef
mov ecx, 0x64
mov esi, 0x64
jmp 0x100488147
mov r9d, esi
mov r8d, ebx
mov edx, 4
jmp 0x100488036
mov ecx, r14d
mov r8, qword [rbp + 0x28]
lea rdx, [rbp + 0x60]
neg ecx
shr ecx, 8
call sym.vim.exe_get_mouse_button
mov r12d, eax
call sym.vim.exe_mouse_model_popup
test r12d, r12d
jne 0x100488336
test eax, eax
jne 0x100488564
mov r8d, dword [rbp + 0x70]
mov edx, dword [rbp + 0x60]
mov ecx, r12d
xor r13d, r13d
call sym.vim.exe_clip_modeless
jmp 0x100486193
mov rdi, qword [rbp + 8]
cmp ebx, dword [rbp - 0x20]
jne 0x1004880f6
jmp 0x100487c5e
call sym.vim.exe_get_expr_register
jmp 0x100486c01
cmp r14d, 0x17
jne 0x1004883ee
cmp rcx, r13
jb 0x100488389
jmp 0x100488397
sub r13, 1
cmp r13, qword [rsi]
jbe 0x100488397
movzx ecx, byte [r13 - 1]
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x100488380
movzx ecx, byte [r13 - 1]
call sym.vim.exe_vim_iswordc
mov rcx, qword [0x100708820]
mov r12d, eax
cmp rcx, r13
jb 0x1004883db
jmp 0x100487e3a
movzx ecx, byte [r13 - 1]
call sym.vim.exe_vim_iswordc
cmp r12d, eax
jne 0x100487e33
mov rcx, qword [rsi]
sub r13, 1
cmp r13, rcx
jbe 0x100487e3a
movzx ecx, byte [r13 - 1]
call sym.vim.exe_vim_isspace
test eax, eax
je 0x1004883b8
jmp 0x100487e33
mov eax, dword [0x10070882c]
jmp 0x100487f69
mov ecx, dword [r15]
test ecx, ecx
je 0x10048640b
movdqa xmm3, xmmword [rbp + 0x140]
movaps xmmword [rbp + 0x130], xmm3
jmp 0x100486442
mov rdi, qword [rbp + 8]
call sym.vim.exe_get_hislen
mov ebx, eax
jmp 0x100488351
xor ecx, ecx
call sym.vim.exe_im_set_active
jmp 0x1004878d6
mov rbx, qword [sym.vim.exe_new_last_cmdline]
mov rcx, qword [rbx]
call sym.vim.exe_vim_free
mov rcx, qword [0x100708820]
call sym.vim.exe_vim_strsave
mov qword [rbx], rax
jmp 0x100487d9a
movsxd rcx, dword [rbp + 0x50]
add rcx, qword [0x100708820]
call sym.vim.exe_pat_has_uppercase
test eax, eax
jne 0x1004876df
mov ecx, r14d
call sym.vim.exe_vim_tolower
mov r14d, eax
jmp 0x1004876df
test ecx, ecx
jne 0x100488283
mov ecx, 0x64
mov r13d, 0x64
jmp 0x1004882d1
mov r14d, 0x1c
jmp 0x100486b0f
mov r14d, 0x1c
mov eax, 0x1c
jmp 0x10048546b
cmp rax, qword [0x100708820]
ja 0x1004884eb
jmp 0x1004884f9
mov rcx, qword [rsi]
mov rdx, r13
call sym.vim.exe_mb_prevptr
mov r13, rax
cmp rax, qword [rsi]
jbe 0x1004884f9
movzx ecx, byte [r13]
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x1004884d8
mov rcx, r13
call sym.vim.exe_mb_get_class
cmp r13, qword [0x100708820]
mov r12d, eax
ja 0x100488523
jmp 0x100488530
mov rcx, qword [rsi]
mov rdx, r13
call sym.vim.exe_mb_prevptr
mov r13, rax
cmp rax, qword [rsi]
jbe 0x100488530
mov rcx, r13
call sym.vim.exe_mb_get_class
cmp r12d, eax
je 0x100488510
mov rcx, r13
call sym.vim.exe_mb_get_class
cmp r12d, eax
je 0x100487e33
mov rax, qword [sym.vim.exe_mb_ptr2len]
mov rcx, r13
call qword [rax]
mov rcx, qword [0x100708820]
cdqe
add r13, rax
mov eax, dword [0x10070882c]
jmp 0x100487e40
mov rbx, qword [sym.vim.exe_mod_mask]
mov eax, dword [rbx]
mov r12d, eax
and r12d, 2
je 0x100488336
and eax, 0xfffffffd
mov r12d, 2
mov dword [rbx], eax
jmp 0x100488336