Function at 0x10048ab00
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x268
mov rax, qword [sym.vim.exe_msg_scroll]
add dword [0x1007217e4], 1
cmp qword [0x100721880], 0
mov eax, dword [rax]
mov dword [rsp + 0xac], eax
mov rax, qword [sym.vim.exe_State]
mov dword [rsp + 0x2b0], ecx
mov eax, dword [rax]
mov qword [rsp + 0x2b8], rdx
mov dword [rsp + 0x2c0], r8d
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xa8], 0
je 0x10048ab7e
lea rcx, [rsp + 0x160]
call fcn.1004874a0
mov dword [rsp + 0xa8], 1
test r9d, r9d
jne 0x10048ce39
cmp dword [rsp + 0x2b0], 0xffffffff
je 0x10048ceb5
cmp dword [rsp + 0x2b0], 0x3a
je 0x10048b35f
cmp dword [rsp + 0x2b0], 0x3d
je 0x10048b35f
cmp dword [rsp + 0x2b0], 0x3e
jne 0x10048b369
lea rax, [rsp + 0x1b0]
mov dword [0x10072185c], 0
mov rcx, rax
mov qword [rsp + 0x68], rax
call fcn.100488630
mov dword [rsp + 0x74], 0
mov edx, 0x3e
mov eax, dword [rsp + 0x2c0]
cmp dword [rsp + 0x2c0], 0x1d
mov dword [0x100721898], edx
mov dword [0x1007218ac], 0
mov dword [0x10072189c], eax
jle 0x10048ccd9
mov eax, dword [rsp + 0x2c0]
lea ebx, [rax + 0x46]
movsxd rcx, ebx
call sym.vim.exe_alloc
mov dword [0x100721888], ebx
mov qword [0x100721880], rax
test rax, rax
je 0x10048b8d2
mov qword [0x10072188c], 0
mov byte [rax], 0
call sym.vim.exe_sb_text_start_cmdline
mov ebx, dword [rsp + 0x2b0]
test ebx, ebx
jg 0x10048ac9c
movsxd rbx, dword [rsp + 0x2c0]
mov rcx, qword [0x100721880]
mov edx, 0x20
mov r8, rbx
call sub.msys_2.0.dll_memset
mov rax, qword [0x100721880]
mov byte [rax + rbx], 0
mov eax, dword [rsp + 0x2c0]
mov dword [0x100721890], eax
mov dword [0x100721894], eax
mov dword [0x10072188c], eax
cmp dword [0x1007217e4], 0x32
je 0x10048da7b
lea rax, [rsp + 0x110]
mov rcx, rax
mov rdi, rax
mov qword [rsp + 0x50], rax
call sym.vim.exe_ExpandInit
mov rax, qword [sym.vim.exe_curwin]
mov qword [0x1007218b0], rdi
mov rdx, qword [rax]
mov eax, dword [rdx + 0x48c]
test eax, eax
je 0x10048acfd
mov rdx, qword [rdx + 0x490]
xor eax, eax
cmp byte [rdx], 0x73
jne 0x10048acfd
mov eax, dword [rsp + 0x2b0]
and eax, 0xffffffef
cmp eax, 0x2f
sete al
movzx eax, al
mov rdi, qword [sym.vim.exe_cmdmsg_rl]
mov rbp, qword [sym.vim.exe_cmd_silent]
mov dword [rdi], eax
mov r11d, dword [rbp]
mov rax, qword [sym.vim.exe_redir_off]
mov dword [rax], 1
test r11d, r11d
je 0x10048d88b
mov r8d, dword [0x1007218c8]
mov dword [rsp + 0x118], 0
mov qword [rsp + 0x140], 0
test r8d, r8d
jne 0x10048d2e5
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 [rsp + 0x2b0]
sub eax, 0x3f
cmp eax, 1
jbe 0x10048ad85
cmp dword [rsp + 0x2b0], 0x2f
jne 0x10048d793
mov r14, qword [sym.vim.exe_curbuf]
mov rdx, qword [r14]
mov rax, qword [rdx + 0x1298]
lea rdi, [rdx + 0x1298]
mov qword [rsp + 0xa0], rdi
cmp rax, 0xffffffffffffffff
je 0x10048d7c6
cmp rax, 1
je 0x10048d7e1
xor ecx, ecx
cmp rax, 2
sete cl
call sym.vim.exe_im_set_active
call sym.vim.exe_setmouse
call sym.vim.exe_ui_cursor_shape
mov ecx, 2
call sym.vim.exe_settmode
mov eax, dword [rsp + 0x2b0]
mov ecx, 0x14
mov byte [rsp + 0xf1], 0
test eax, eax
mov eax, 0x2d
cmovne eax, dword [rsp + 0x2b0]
xor r9d, r9d
mov byte [rsp + 0x7b], al
mov byte [rsp + 0xf0], al
lea rax, [rsp + 0xf0]
mov rdx, rax
mov qword [rsp + 0x60], rax
mov rax, qword [r14]
mov r8, rdx
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_debug_mode]
mov edx, dword [rax]
test edx, edx
je 0x10048da67
call sym.vim.exe_init_history
call sym.vim.exe_get_hislen
mov ecx, dword [rsp + 0x2b0]
mov dword [rsp + 0xb8], eax
call sym.vim.exe_hist_char2type
mov ecx, 0xffffffff
mov dword [rsp + 0xb4], eax
call sym.vim.exe_do_digraph
mov rax, qword [sym.vim.exe_did_emsg]
mov eax, dword [rax]
test eax, eax
jne 0x10048d912
mov rax, qword [sym.vim.exe_msg_scrolled]
mov edx, dword [rbp]
or edx, dword [rax]
jne 0x10048aed5
mov rax, qword [sym.vim.exe_firstwin]
mov rax, qword [rax]
test rax, rax
je 0x10048aed5
mov rcx, qword [sym.vim.exe_p_stl]
mov rcx, qword [rcx]
cmp byte [rcx], 0
jne 0x10048aeb5
mov r8, qword [rax + 0x4c8]
cmp byte [r8], 0
je 0x10048aec4
mov dword [rax + 0x350], 1
mov edx, 1
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x10048aea3
test edx, edx
jne 0x10048dc6f
mov rax, qword [sym.vim.exe_got_int]
mov qword [rsp + 0x40], r14
xor r15d, r15d
mov dword [rsp + 0x7c], 0
mov rdi, qword [sym.vim.exe_KeyTyped]
mov dword [rax], 0
mov dword [rsp + 0xbc], 1
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x5c], 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 [rsp + 0x148]
test eax, eax
setle cl
call sym.vim.exe_may_trigger_safestate
nop word [rax + rax]
mov eax, dword [rbp]
test eax, eax
jne 0x10048af6c
call fcn.1004883f0
call sym.vim.exe_safe_vgetc
mov dword [rsp + 0xcc], eax
cmp eax, 0xffffca03
je 0x10048af60
cmp eax, 0xffff9e03
je 0x10048af60
mov r12d, eax
cmp qword [rsp + 0x48], 0
lea eax, [rax + 0x68fd]
setne sil
test eax, 0xfffffeff
je 0x10048b670
mov eax, dword [rdi]
test eax, eax
je 0x10048b600
mov r14d, dword [0x10072185c]
test r14d, r14d
jne 0x10048c398
mov ebx, dword [rsp + 0xcc]
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov r13d, dword [rax]
test r13d, r13d
je 0x10048b660
mov rax, qword [sym.vim.exe_KeyStuffed]
mov r12d, dword [rax]
test r12d, r12d
jne 0x10048b660
cmp ebx, 0xffffa903
je 0x10048cf30
cmp ebx, 0xffffa904
jge 0x10048c939
cmp ebx, 0xffff9395
je 0x10048ccc0
cmp ebx, 0xffff96db
jne 0x10048c923
mov ebx, 0xffffcbdd
mov dword [rsp + 0xcc], ebx
mov dword [rsp + 0x5c], 1
mov eax, 1
mov rdx, qword [sym.vim.exe_intr_char]
cmp dword [rdx], ebx
je 0x10048b61d
test al, al
je 0x10048b3b8
test sil, sil
je 0x10048b3b8
cmp ebx, 0xffff8a95
je 0x10048b0c0
lea eax, [rbx + 0x506b]
test eax, 0xfffffdff
je 0x10048b3b8
lea eax, [rbx + 0x354b]
test eax, 0xfffffdff
je 0x10048b3b8
mov eax, ebx
and ah, 0xf7
cmp eax, 0xffff9395
je 0x10048b3b8
cmp ebx, 0xffff8d95
je 0x10048b3b8
mov r9d, dword [rsp + 0x148]
test r9d, r9d
jg 0x10048b3a2
lea eax, [rbx - 0xe]
and eax, 0xfffffffd
jne 0x10048b3a2
nop word [rax + rax]
mov rax, qword [sym.vim.exe_p_wmnu]
mov ecx, dword [rax]
test ecx, ecx
jne 0x10048b408
call sym.vim.exe_cmdline_pum_active
test eax, eax
jne 0x10048b43c
movsxd rax, dword [rsp + 0xcc]
mov r13, rax
mov rsi, qword [sym.vim.exe_p_wc]
cmp qword [rsi], rax
je 0x10048b4b0
mov rdx, qword [sym.vim.exe_p_wcm]
cmp qword [rdx], rax
je 0x10048b130
cmp r13d, 0x10
jbe 0x10048c878
call sym.vim.exe_cmdline_pum_active
test eax, eax
je 0x10048c8a4
lea eax, [r13 + 0x506b]
test eax, 0xfffffdff
jne 0x10048c892
nop
mov rax, qword [sym.vim.exe_p_wmnu]
mov eax, dword [rax]
test eax, eax
jne 0x10048b4d0
mov r12d, dword [rsp + 0xcc]
cmp r12d, 0x1c
je 0x10048b4fb
cmp dword [0x100721858], r12d
je 0x10048b910
cmp r12d, 0xffffab03
jne 0x10048b6f8
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
je 0x10048c3f8
mov rax, 0xffffffffffffab03
mov rsi, qword [sym.vim.exe_p_wc]
cmp qword [rsi], rax
jne 0x10048b19b
test r15b, 1
je 0x10048c9aa
mov rdx, qword [sym.vim.exe_p_wcm]
cmp qword [rdx], rax
je 0x10048c9b6
cmp r12d, 0xffffbd95
je 0x10048ca6f
test r12d, r12d
je 0x10048b1ca
cmp r12d, 0xffffa701
jne 0x10048b9c0
mov rax, qword [sym.vim.exe_intr_char]
mov dword [rsp + 0xcc], 0xa
cmp dword [rax], 0xa
je 0x10048bc79
mov r14d, 0xa
mov rbx, qword [sym.vim.exe_mod_mask]
mov dword [rbx], 0
mov ecx, r14d
call sym.vim.exe_vim_iswordc
test eax, eax
jne 0x10048ccff
mov r13, qword [sym.vim.exe_has_mbyte]
mov rax, qword [sym.vim.exe_p_paste]
mov r9d, dword [r13]
mov eax, dword [rax]
test r9d, r9d
je 0x10048b22e
cmp r14d, 0xff
jg 0x10048d864
test eax, eax
jne 0x10048ccf2
mov rax, qword [sym.vim.exe_no_abbr]
mov edx, dword [rax]
test edx, edx
jne 0x10048ccf2
mov ecx, r14d
call fcn.100488360
xor r15d, r15d
test eax, eax
je 0x10048ccf2
nop word [rax + rax]
mov rax, qword [sym.vim.exe_curwin]
mov rax, qword [rax]
mov eax, dword [rax]
cmp dword [rsp + 0x1d0], eax
je 0x10048b280
mov rcx, qword [rsp + 0x68]
call fcn.100488630
nop
movzx eax, byte [rsp + 0x7b]
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov ecx, 0x13
mov byte [rsp + 0xf1], 0
mov byte [rsp + 0xf0], al
mov rax, qword [rsp + 0x40]
mov r8, rdx
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov eax, dword [rsp + 0x118]
test eax, eax
jne 0x10048b2e9
mov eax, dword [rdi]
test eax, eax
jne 0x10048b2d0
call sym.vim.exe_vpeekc
test eax, eax
jne 0x10048b2e9
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x2b8]
mov ecx, dword [rsp + 0x2b0]
call fcn.10048a530
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
test eax, eax
jne 0x10048b348
mov rax, qword [sym.vim.exe_p_arshape]
mov r14d, dword [rax]
test r14d, r14d
je 0x10048af20
mov rax, qword [sym.vim.exe_p_tbidi]
mov r13d, dword [rax]
test r13d, r13d
jne 0x10048af20
mov rax, qword [sym.vim.exe_enc_utf8]
mov r12d, dword [rax]
test r12d, r12d
je 0x10048af20
mov edx, dword [0x10072188c]
xor ecx, ecx
call fcn.100487f80
test eax, eax
je 0x10048af20
nop dword [rax]
call sym.vim.exe_vpeekc
test eax, eax
jne 0x10048af20
call sym.vim.exe_redrawcmd
jmp 0x10048af20
mov dword [0x10072185c], 0
lea rax, [rsp + 0x1b0]
mov rcx, rax
mov qword [rsp + 0x68], rax
call fcn.100488630
cmp dword [rsp + 0x2b0], 0x40
jne 0x10048d04f
mov dword [rsp + 0x74], 0
mov eax, dword [rsp + 0x2c0]
xor edx, edx
jmp 0x10048abf2
mov rcx, qword [rsp + 0x48]
call sym.vim.exe_vim_free
mov qword [rsp + 0x48], 0
nop dword [rax]
mov rdx, qword [sym.vim.exe_p_wc]
movsxd rax, ebx
cmp qword [rdx], rax
je 0x10048b0c0
cmp ebx, 0xffffbd95
jne 0x10048b0c0
mov r8d, dword [rsp + 0x148]
test r8d, r8d
jle 0x10048b0c0
mov rax, qword [sym.vim.exe_p_wmnu]
mov dword [rsp + 0xcc], 0x10
mov ecx, dword [rax]
test ecx, ecx
je 0x10048b0d1
nop dword [rax]
mov r9d, dword [rsp + 0x70]
mov r8, qword [rsp + 0x50]
lea r12, [0x100721880]
mov edx, dword [rsp + 0xcc]
mov rcx, r12
call sym.vim.exe_wildmenu_translate_key
mov dword [rsp + 0xcc], eax
call sym.vim.exe_cmdline_pum_active
test eax, eax
je 0x10048b0de
mov r13d, dword [rsp + 0xcc]
cmp r13d, 5
je 0x10048b457
movsxd rax, r13d
cmp r13d, 0x19
jne 0x10048b0e9
xor edx, edx
cmp r13d, 5
mov rcx, qword [rsp + 0x50]
mov r8d, 8
setne dl
xor r9d, r9d
add edx, 9
cmp dword [rsp + 0x2b0], 0x40
setne r9b
call sym.vim.exe_nextwild
test eax, eax
je 0x10048dadb
mov rsi, qword [sym.vim.exe_p_wc]
mov eax, 5
mov dword [rsp + 0xcc], 5
mov r13d, 5
cmp qword [rsi], rax
jne 0x10048b0f9
mov edx, dword [rdi]
test edx, edx
je 0x10048b0f9
mov rax, qword [sym.vim.exe_p_wmnu]
mov eax, dword [rax]
test eax, eax
je 0x10048b141
nop dword [rax + rax]
lea r12, [0x100721880]
mov r8, qword [rsp + 0x50]
mov edx, r13d
mov rcx, r12
call sym.vim.exe_wildmenu_process_key
mov r12d, eax
mov dword [rsp + 0xcc], eax
cmp r12d, 0x1c
jne 0x10048b153
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 0x10048c960
cmp eax, 7
je 0x10048c960
cmp eax, 0x65
jne 0x10048b6d4
cmp dword [0x100721898], 0x3d
je 0x10048b6c8
mov rsi, qword [sym.vim.exe_cmdline_star]
mov r13d, dword [rsi]
test r13d, r13d
jg 0x10048b6d4
mov eax, dword [0x100721890]
mov edx, 0x1869f
cmp eax, dword [0x10072188c]
cmove eax, edx
mov dword [0x100721868], eax
call sym.vim.exe_get_expr_register
cmp eax, 0x3d
jne 0x10048b5c5
mov rbx, qword [sym.vim.exe_textlock]
add dword [rbx], 1
call sym.vim.exe_get_expr_line
sub dword [rbx], 1
mov r12, rax
test rax, rax
je 0x10048b5c5
mov rcx, rax
call sub.msys_2.0.dll_strlen
lea ecx, [rax + 1]
cmp ecx, dword [0x100721888]
mov rbx, rax
jl 0x10048c351
call fcn.100488810
cmp eax, 1
je 0x10048c351
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 0x10048ba53
mov ebx, dword [rsp + 0xcc]
mov eax, ebx
and ah, 0xfe
cmp eax, 0xfffffa03
setne al
cmp ebx, 3
jne 0x10048b034
cmp dword [rsp + 0x2b0], 0x40
je 0x10048b043
mov r11d, dword [rsp + 0x74]
test r11d, r11d
jne 0x10048b043
mov rdx, qword [sym.vim.exe_global_busy]
mov r10d, dword [rdx]
test r10d, r10d
jne 0x10048b043
mov rcx, qword [sym.vim.exe_got_int]
mov dword [rcx], 0
jmp 0x10048b043
mov dword [rsp + 0x5c], 1
jmp 0x10048b607
mov edx, 2
mov ecx, r12d
mov ebx, dword [0x10072188c]
call sym.vim.exe_do_cmdkey_command
cmp eax, 1
jne 0x10048afa4
mov rax, qword [sym.vim.exe_curwin]
cmp dword [0x10072188c], ebx
mov edx, dword [rsp + 0x1d0]
mov rax, qword [rax]
mov eax, dword [rax]
jne 0x10048b260
cmp edx, eax
je 0x10048b2b6
mov rcx, qword [rsp + 0x68]
call fcn.100488630
jmp 0x10048b2b6
mov r14d, dword [rdi]
test r14d, r14d
je 0x10048b544
call sym.vim.exe_vungetc
cmp dword [0x100721858], 0x1c
mov dword [rsp + 0xcc], 0x1c
je 0x10048b91d
nop dword [rax]
mov ecx, r12d
call sym.vim.exe_do_digraph
mov dword [rsp + 0xcc], eax
mov r12d, eax
cmp r12d, 0xa
sete al
cmp r12d, 0xd
sete dl
or eax, edx
cmp r12d, 0xffffbeb5
sete dl
or eax, edx
test al, al
je 0x10048c3b0
mov rax, qword [sym.vim.exe_exmode_active]
mov r9d, dword [rax]
test r9d, r9d
je 0x10048b760
cmp r12d, 0x1b
je 0x10048b760
movsxd rax, dword [0x100721890]
cmp dword [0x10072188c], eax
jne 0x10048b760
test eax, eax
jg 0x10048cb56
nop word [rax + rax]
mov rdx, qword [sym.vim.exe_p_paste]
mov rax, qword [sym.vim.exe_no_abbr]
mov r15d, dword [rdx]
or r15d, dword [rax]
jne 0x10048b790
lea ecx, [r12 + 0x100]
call fcn.100488360
test eax, eax
jne 0x10048b260
nop dword [rax + rax]
mov r15d, dword [rbp]
mov r14, qword [rsp + 0x40]
test r15d, r15d
je 0x10048dac1
xor r15d, r15d
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov rcx, qword [rsp + 0x50]
mov dword [rax], 0
call sym.vim.exe_ExpandCleanup
mov edi, dword [rsp + 0x248]
mov qword [0x1007218b0], 0
test edi, edi
jne 0x10048d2d0
mov rdx, qword [0x100721880]
test rdx, rdx
je 0x10048b953
mov esi, dword [0x10072188c]
test esi, esi
je 0x10048b94a
mov ebx, dword [rsp + 0x2b0]
test ebx, ebx
je 0x10048b94a
cmp dword [rsp + 0xb4], 1
je 0x10048dbb0
mov r11d, dword [rsp + 0x5c]
test r11d, r11d
jne 0x10048dbb0
test r15d, r15d
jne 0x10048dbf4
call sym.vim.exe_msg_check
mov rax, qword [sym.vim.exe_msg_scroll]
mov edi, dword [rsp + 0xac]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_redir_off]
mov dword [rax], 0
movzx eax, byte [rsp + 0x7b]
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov ecx, 0x15
mov byte [rsp + 0xf1], 0
mov byte [rsp + 0xf0], al
mov rax, qword [r14]
mov r8, rdx
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_State]
mov edi, dword [rsp + 0xb0]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_debug_mode]
mov r8d, dword [rax]
test r8d, r8d
je 0x10048da71
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x10048b8b5
cmp qword [rax], 1
jne 0x10048d3a7
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 [0x100721880]
mov ecx, dword [rsp + 0xa8]
sub dword [0x1007217e4], 1
test ecx, ecx
jne 0x10048cd99
mov qword [0x100721880], 0
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r12d, 0xffffab03
je 0x10048b16d
mov rax, qword [sym.vim.exe_ex_normal_busy]
mov r12d, dword [rax]
test r12d, r12d
jne 0x10048b998
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
je 0x10048c3f8
mov r12d, dword [rsp + 0xcc]
jmp 0x10048b70a
test r15d, r15d
jne 0x10048dbf4
call sym.vim.exe_msg_check
mov rax, qword [sym.vim.exe_msg_scroll]
mov r9d, dword [rsp + 0x5c]
mov edi, dword [rsp + 0xac]
mov dword [rax], edi
mov rax, qword [sym.vim.exe_redir_off]
mov dword [rax], 0
test r9d, r9d
je 0x10048b84a
mov rax, qword [sym.vim.exe_need_wait_return]
mov dword [rax], 0
jmp 0x10048b84a
mov r12d, dword [rsp + 0xcc]
cmp r12d, 0xd
sete al
cmp r12d, 0xa
jmp 0x10048b715
cmp eax, 1
je 0x10048e2b6
nop dword [rax]
mov r14d, dword [rsp + 0xcc]
cmp r14d, 0xfffffa03
je 0x10048c207
cmp r14d, 0xfffffa04
jge 0x10048bc20
cmp r14d, 0xffffb195
je 0x10048c032
cmp r14d, 0xffffb196
jge 0x10048ba70
cmp r14d, 0xffffa603
je 0x10048ba50
cmp r14d, 0xffffa604
jl 0x10048c120
cmp r14d, 0xffffacb0
je 0x10048d91c
cmp r14d, 0xffffacb1
jl 0x10048bef0
cmp r14d, 0xffffb003
je 0x10048c0af
cmp r14d, 0xffffb004
jl 0x10048bdb0
cmp r14d, 0xffffb103
jne 0x10048bc69
nop
xor r15d, r15d
mov eax, dword [rsp + 0x24c]
test eax, eax
jne 0x10048b260
jmp 0x10048af20
cmp r14d, 0xffffccb5
je 0x10048c032
cmp r14d, 0xffffccb6
jl 0x10048bd40
cmp r14d, 0xffffd003
je 0x10048da25
cmp r14d, 0xffffd004
jl 0x10048bc90
cmp r14d, 0xffffd303
jne 0x10048bc60
cmp r14d, 0xffffd103
mov ecx, 0x63
sete al
cmp r14d, 0xffffcb03
sete dl
or eax, edx
movzx eax, al
mov dword [rsp + 0xbc], eax
call sym.vim.exe_mouse_has
mov r15d, eax
test eax, eax
je 0x10048ba53
mov rax, qword [sym.vim.exe_cmdline_row]
mov r13, qword [sym.vim.exe_mouse_row]
mov eax, dword [rax]
cmp dword [r13], eax
jge 0x10048bb0f
mov rax, qword [sym.vim.exe_clip_star]
mov r8d, dword [rax]
test r8d, r8d
jne 0x10048e0ac
mov eax, dword [0x10072189c]
mov ecx, dword [0x10072188c]
mov dword [0x100721890], 0
lea r12, [0x100721880]
cmp dword [0x100721898], 1
sbb eax, 0xffffffff
mov dword [0x100721894], eax
test ecx, ecx
jle 0x10048ba50
mov rbx, qword [sym.vim.exe_Columns]
mov rsi, qword [sym.vim.exe_cmdline_star]
xor eax, eax
mov r14, qword [sym.vim.exe_has_mbyte]
jmp 0x10048bb7f
add r15d, r8d
lea eax, [rcx + 1]
cmp eax, dword [0x10072188c]
mov dword [0x100721894], r15d
mov dword [0x100721890], eax
jge 0x10048ba50
mov edx, dword [rsi]
mov r15d, 1
test edx, edx
jg 0x10048bb9a
movsxd rcx, eax
add rcx, qword [r12]
call sym.vim.exe_ptr2cells
mov r15d, eax
movsxd rax, dword [0x100721894]
mov rcx, qword [sym.vim.exe_cmdline_row]
movsxd r9, dword [r13]
cqo
mov r8, rax
movsxd rcx, dword [rcx]
idiv qword [rbx]
add rcx, rax
cmp r9, rcx
jg 0x10048bbd8
mov rax, qword [sym.vim.exe_mouse_col]
movsxd rcx, r15d
add rdx, rcx
movsxd rax, dword [rax]
cmp rax, rdx
jl 0x10048ba50
mov eax, dword [r14]
mov ecx, dword [0x100721890]
test eax, eax
je 0x10048bb60
mov edx, r15d
call fcn.100487e50
mov rax, qword [sym.vim.exe_mb_ptr2len]
movsxd rcx, dword [0x100721890]
add rcx, qword [r12]
call qword [rax]
mov edx, dword [0x100721890]
mov r8d, dword [0x100721894]
lea ecx, [rdx + rax - 1]
jmp 0x10048bb60
cmp r14d, 0xfffffb03
je 0x10048c207
lea eax, [r14 - 1]
cmp eax, 0x1e
ja case.0x10048bc55.0
cmp r14d, 0x1f
ja case.0x10048bc55.0
lea rdx, [0x1006c0630]
mov eax, r14d
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp r14d, 0xffffd304
jl 0x10048bcc0
mov rax, qword [sym.vim.exe_intr_char]
cmp r14d, dword [rax]
jne 0x10048b208
mov r14, qword [rsp + 0x40]
mov r15d, 1
jmp 0x10048b7a5
cmp r14d, 0xffffce03
je 0x10048ba50
cmp r14d, 0xffffce04
jl 0x10048bcf0
cmp r14d, 0xffffceb5
je case.0x10048bc55.2
cmp r14d, 0xffffcf03
je 0x10048ba50
jmp 0x10048bc69
lea eax, [r14 + 0x2efd]
test eax, 0xfffffeff
jne 0x10048bc69
mov r9d, dword [rsp + 0xbc]
xor r15d, r15d
test r9d, r9d
jne 0x10048ba53
jmp 0x10048bab1
cmp r14d, 0xffffcd03
je 0x10048bab1
cmp r14d, 0xffffcddd
jne 0x10048bc69
mov r15d, dword [0x100721898]
mov eax, dword [0x10072189c]
mov dword [0x100721890], 0
test r15d, r15d
je 0x10048d80d
add eax, 1
xor r15d, r15d
mov dword [0x100721894], eax
jmp 0x10048ba53
cmp r14d, 0xffffc8c0
je case.0x10048bc55.5
cmp r14d, 0xffffc8c1
jl 0x10048c090
cmp r14d, 0xffffcb03
je 0x10048bcce
cmp r14d, 0xffffcb04
jl 0x10048c018
cmp r14d, 0xffffcbdd
je 0x10048bf17
cmp r14d, 0xffffcc03
je 0x10048bcce
cmp r14d, 0xffffcbb5
jne 0x10048bc69
mov eax, dword [0x10072188c]
mov dword [0x100721890], eax
call fcn.1004886f0
xor r15d, r15d
jmp 0x10048ba53
cmp r14d, 0xffffaf03
jne 0x10048c162
mov r13, qword [sym.vim.exe_has_mbyte]
mov ebx, dword [0x100721890]
lea r12, [0x100721880]
mov eax, dword [0x10072188c]
mov edx, dword [r13]
cmp ebx, eax
je 0x10048dd00
add ebx, 1
mov dword [0x100721890], ebx
test edx, edx
je 0x10048dd08
mov rcx, qword [0x100721880]
movsxd rdx, ebx
mov r14d, 0xffffbb95
add rdx, rcx
call sym.vim.exe_mb_off_next
add eax, dword [0x100721890]
mov dword [0x100721890], eax
mov ebx, eax
test ebx, ebx
jg 0x10048df95
cmp r14d, 0x17
mov eax, dword [0x10072188c]
setne dl
or eax, dword [rsp + 0x2c0]
jne 0x10048cb05
test dl, dl
je 0x10048cb05
xor r15d, r15d
cmp qword [0x1007218a0], 0
lea r12, [0x100721880]
jne 0x10048b260
mov rax, qword [sym.vim.exe_exmode_active]
mov r15d, dword [rax]
test r15d, r15d
jne 0x10048ba50
cmp dword [0x100721898], 0x3e
je 0x10048ba53
mov rcx, qword [r12]
mov r14, qword [rsp + 0x40]
test rcx, rcx
je 0x10048e331
call sym.vim.exe_vim_free
mov eax, dword [rbp]
mov qword [0x100721880], 0
test eax, eax
jne 0x10048bece
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
test eax, eax
je 0x10048bebb
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 eax, dword [0x10072188c]
test eax, eax
je 0x10048e33c
mov rax, qword [sym.vim.exe_redraw_cmdline]
mov dword [rax], 1
jmp 0x10048b7a5
cmp r14d, 0xffffa903
je 0x10048d938
cmp r14d, 0xffffa904
jl 0x10048bfe8
cmp r14d, 0xffffaa03
jne 0x10048bc69
mov r15d, dword [0x100721890]
test r15d, r15d
je 0x10048ba53
mov rsi, qword [sym.vim.exe_cmdline_star]
mov r13, qword [sym.vim.exe_has_mbyte]
lea r12, [0x100721880]
mov rbx, qword [sym.vim.exe_mb_head_off]
jmp 0x10048bf74
cmp r14d, 0xffffcbdd
je 0x10048bf66
cmp r14d, 0xffffaa03
je 0x10048bf66
mov rax, qword [sym.vim.exe_mod_mask]
test byte [rax], 6
je 0x10048bfd3
mov rdx, qword [r12]
movsxd rax, r15d
cmp byte [rdx + rax - 1], 0x20
je 0x10048bfd3
mov eax, dword [r13]
sub r15d, 1
mov dword [0x100721890], r15d
test eax, eax
je 0x10048bfa4
mov rcx, qword [r12]
movsxd rdx, r15d
add rdx, rcx
call qword [rbx]
mov r15d, dword [0x100721890]
sub r15d, eax
mov dword [0x100721890], r15d
mov r11d, dword [rsi]
mov eax, 1
test r11d, r11d
jg 0x10048bfc4
movsxd rcx, r15d
add rcx, qword [r12]
call sym.vim.exe_ptr2cells
mov r15d, dword [0x100721890]
sub dword [0x100721894], eax
test r15d, r15d
jg 0x10048bf48
mov r15d, dword [r13]
test r15d, r15d
je 0x10048ba53
jmp 0x10048bda3
cmp r14d, 0xffffa70b
je 0x10048ba50
cmp r14d, 0xffffa803
je case.0x10048bc55.2
cmp r14d, 0xffffa703
je case.0x10048bc55.5
jmp 0x10048bc69
cmp r14d, 0xffffca03
je 0x10048ba50
cmp r14d, 0xffffcab5
jne 0x10048c106
call sym.vim.exe_cmdline_pum_active
test eax, eax
je 0x10048c20c
xor r9d, r9d
cmp dword [rsp + 0x2b0], 0x40
mov rcx, qword [rsp + 0x50]
setne r9b
cmp r14d, 0xffffb195
sete al
cmp r14d, 0xffffcab5
sete dl
xor r8d, r8d
or edx, eax
movzx edx, dl
add edx, 0xb
call sym.vim.exe_nextwild
mov r14d, dword [rsp + 0xcc]
test eax, eax
je 0x10048d17a
jmp 0x10048ba50
cmp r14d, 0xffffb403
je 0x10048ba50
cmp r14d, 0xffffb404
jl 0x10048c0f0
cmp r14d, 0xffffb695
jne 0x10048c0d8
mov r15d, dword [0x1007218ac]
xor eax, eax
test r15d, r15d
sete al
xor r15d, r15d
mov dword [0x1007218ac], eax
call sym.vim.exe_ui_cursor_shape
jmp 0x10048ba53
cmp r14d, 0xffffbb95
je 0x10048bdbd
jmp 0x10048bc69
mov eax, r14d
and ah, 0xfe
cmp eax, 0xffffb203
je 0x10048ba50
jmp 0x10048bc69
cmp r14d, 0xffffc8d6
je case.0x10048bc55.5
jmp 0x10048bc69
cmp r14d, 0xffff9b95
je 0x10048c207
cmp r14d, 0xffff9b96
jl 0x10048c1a8
cmp r14d, 0xffffa303
je 0x10048ba50
cmp r14d, 0xffffa304
jl 0x10048c178
mov eax, r14d
and ah, 0xfe
cmp eax, 0xffffa403
je 0x10048ba50
jmp 0x10048bc69
cmp r14d, 0xffffaf95
je 0x10048c032
jmp 0x10048bc69
lea eax, [r14 + 0x5efd]
test eax, 0xfffffeff
je 0x10048ba50
cmp r14d, 0xffff9d95
jne 0x10048bc69
mov ebx, dword [0x100721890]
jmp 0x10048be1a
cmp r14d, 0xffff96db
je 0x10048d938
cmp r14d, 0xffff96dc
jl 0x10048c1e0
cmp r14d, 0xffff9795
je case.0x10048bc55.2
cmp r14d, 0xffff9b03
je 0x10048ba50
jmp 0x10048bc69
cmp r14d, 0xffff8d95
je 0x10048d938
cmp r14d, 0xffff9395
je 0x10048bf17
cmp r14d, 0xffff8a95
jne 0x10048bc69
call sym.vim.exe_cmdline_pum_active
call sym.vim.exe_get_hislen
test eax, eax
je 0x10048ba50
mov edx, dword [rsp + 0x2b0]
test edx, edx
je 0x10048ba50
cmp qword [rsp + 0x48], 0
je 0x10048e304
mov rcx, qword [rsp + 0x48]
call sub.msys_2.0.dll_strlen
cmp r14d, 0xffff8a95
mov ebx, dword [rsp + 0xb8]
mov esi, dword [rsp + 0xb4]
sete r13b
cmp r14d, 0xfffffb03
movsxd r12, eax
sete dl
or r13d, edx
jmp 0x10048c2f9
mov ecx, esi
call sym.vim.exe_get_hisidx
mov r15d, dword [rax]
call sym.vim.exe_get_hislen
sub eax, 1
cmp r15d, eax
je 0x10048c335
call sym.vim.exe_get_hislen
lea ebx, [rax - 1]
test ebx, ebx
js 0x10048e140
movsxd rax, ebx
lea r15, [rax + rax*2]
shl r15, 3
mov ecx, esi
call sym.vim.exe_get_histentry
cmp qword [r15 + rax + 8], 0
je 0x10048e140
cmp r14d, 0xffff8a95
je 0x10048c2cb
cmp r14d, 0xffff9b95
jne 0x10048de31
cmp ebx, dword [rsp + 0xb8]
je 0x10048e140
mov ecx, esi
call sym.vim.exe_get_histentry
mov rdx, qword [rsp + 0x48]
mov r8, r12
mov rcx, qword [r15 + rax + 8]
call sub.msys_2.0.dll_strncmp
test eax, eax
je 0x10048de3e
test r13b, r13b
jne 0x10048c320
cmp r14d, 0x10
sete al
cmp r14d, 0xffffaf95
sete dl
or al, dl
jne 0x10048c320
cmp r14d, 0xffffccb5
jne 0x10048ddd8
call sym.vim.exe_get_hislen
cmp eax, ebx
je 0x10048ddca
test ebx, ebx
je 0x10048c26c
mov ecx, esi
call sym.vim.exe_get_hisidx
mov eax, dword [rax]
add eax, 1
cmp ebx, eax
je 0x10048e140
sub ebx, 1
jmp 0x10048c28f
mov rcx, qword [0x100721880]
mov rdx, r12
mov dword [0x10072188c], ebx
call sub.msys_2.0.dll_strcpy
mov rcx, r12
call sym.vim.exe_vim_free
mov edx, dword [0x100721868]
mov eax, dword [0x10072188c]
mov dword [rdi], 0
cmp eax, edx
cmovg eax, edx
mov dword [0x100721890], eax
call sym.vim.exe_redrawcmd
jmp 0x10048b260
mov ecx, r12d
call sym.vim.exe_hkmap
mov dword [rsp + 0xcc], eax
mov ebx, eax
jmp 0x10048afc5
cmp r12d, 0x1b
jne 0x10048cb4e
mov r10d, dword [rdi]
test r10d, r10d
je 0x10048b760
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 0x10048b760
movsxd rax, dword [rsp + 0xcc]
mov r12, rax
jmp 0x10048b185
mov rax, qword [sym.vim.exe_curwin]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, qword [sym.vim.exe_restart_edit]
mov eax, dword [rax]
mov dword [rsp + 0x88], eax
mov rax, qword [sym.vim.exe_State]
mov eax, dword [rax]
mov dword [rsp + 0x8c], eax
mov rax, qword [sym.vim.exe_exmode_active]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
call sym.vim.exe_text_or_buf_locked
mov r14, qword [sym.vim.exe_cmdwin_type]
or eax, dword [r14]
jne 0x10048da9b
mov rsi, qword [sym.vim.exe_cmdline_star]
mov ebx, dword [rsi]
test ebx, ebx
jg 0x10048da9b
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0xd0]
mov rcx, rax
mov qword [rsp + 0x98], rax
mov rdx, qword [rsi]
call sym.vim.exe_set_bufref
mov rcx, qword [rsp + 0x60]
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 ecx, dword [rax]
call sym.vim.exe_win_split
test eax, eax
je 0x10048e0fa
mov rax, qword [sym.vim.exe_got_int]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_State]
mov eax, dword [rax]
mov dword [rsp + 0x5c], eax
and eax, 8
je 0x10048c515
cmp qword [0x100721880], 0
lea rdx, [0x100721880]
je 0x10048cb96
mov eax, dword [rdx + 0x18]
test eax, eax
jne 0x10048c515
cmp dword [rdx + 0x48], 1
sbb eax, eax
and eax, 0xffffffed
add eax, 0x40
mov dword [r14], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x30], 0
xor ecx, ecx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 1
call sym.vim.exe_do_ecmd
test eax, eax
je 0x10048cb10
mov rsi, qword [rsp + 0x40]
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, [0x1006c05e6]
lea rcx, [0x1006c05ed]
call sym.vim.exe_set_option_value_give_err
mov rax, qword [rsi]
mov rsi, qword [sym.vim.exe_cmdmsg_rl]
mov rbx, qword [sym.vim.exe_curbuf_lock]
mov ecx, dword [r14]
mov dword [rax + 0x1c80], 1
mov edx, dword [rsi]
mov rax, qword [sym.vim.exe_curwin]
mov dword [rsi], 0
add dword [rbx], 1
mov rax, qword [rax]
mov dword [rax + 0x3f4], 0
mov dword [rax + 0x48c], edx
mov dword [rax + 0x4d0], 0
mov dword [rax + 0x4f8], 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 0x10048c65b
mov rax, qword [sym.vim.exe_p_wc]
cmp qword [rax], 9
je 0x10048d818
mov r9d, 4
lea r8, [0x1006c0625]
xor edx, edx
lea rcx, [0x1006c0629]
call sym.vim.exe_set_option_value_give_err
mov rax, qword [rsp + 0x40]
sub dword [rbx], 1
mov rax, qword [rax]
mov qword [rax + 0x1cf8], 0
call sym.vim.exe_init_history
call sym.vim.exe_get_hislen
test eax, eax
jg 0x10048cbc0
mov r13, qword [rsp + 0x40]
mov rdx, qword [0x100721880]
mov r8d, 1
lea r12, [rsp + 0xe0]
mov rax, qword [r13]
mov rcx, qword [rax]
call sym.vim.exe_ml_replace
mov rax, qword [sym.vim.exe_curwin]
mov rdx, qword [r13]
mov rax, qword [rax]
mov rdx, qword [rdx]
mov qword [rax + 0x38], rdx
mov edx, dword [0x100721890]
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 rax, qword [sym.vim.exe_exmode_active]
mov dword [rax], 0
mov rax, qword [sym.vim.exe_State]
mov dword [rax], 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 [rsp + 0xe1], 0
mov byte [rsp + 0xe0], al
mov rax, qword [r13]
mov dword [rbx], 0
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_restart_edit]
mov r11d, dword [rax]
test r11d, r11d
jne 0x10048ccca
mov r13, qword [sym.vim.exe_RedrawingDisabled]
xor edx, edx
mov ecx, 1
mov eax, dword [r13]
mov dword [r13], 0
mov dword [rsp + 0x5c], eax
call sym.vim.exe_main_loop
mov eax, dword [rsp + 0x5c]
xor r9d, r9d
mov r8, r12
mov ecx, 0x18
mov rdx, r12
mov byte [rsp + 0xe1], 0
mov dword [r13], eax
mov eax, dword [r14]
mov r13d, dword [rdi]
mov byte [rsp + 0xe0], al
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov ecx, dword [rsp + 0x90]
mov dword [rdi], r13d
mov rax, qword [sym.vim.exe_exmode_active]
mov dword [r14], 0
mov dword [rax], ecx
mov rcx, qword [rsp + 0x80]
call sym.vim.exe_win_valid
test eax, eax
je 0x10048c7e8
mov rcx, qword [rsp + 0x98]
call sym.vim.exe_bufref_valid
test eax, eax
jne 0x10048cf3a
mov rcx, qword [sym.vim.exe_e_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 [rsp + 0x60]
call sym.vim.exe_ga_clear
mov rax, qword [sym.vim.exe_restart_edit]
mov esi, dword [rsp + 0x88]
mov dword [rax], esi
mov rax, qword [sym.vim.exe_cmdmsg_rl]
mov esi, dword [rsp + 0x94]
mov dword [rax], esi
mov rax, qword [sym.vim.exe_State]
mov esi, dword [rsp + 0x8c]
mov dword [rax], esi
call sym.vim.exe_setmouse
mov r12d, dword [rbx]
mov dword [rsp + 0x5c], 1
cmp r12d, 0xa
mov dword [rsp + 0xcc], r12d
sete al
cmp r12d, 0xd
sete dl
or eax, edx
cmp r12d, 0xffffbeb5
sete dl
or eax, edx
jmp 0x10048b726
mov rax, 0xfffffffffffeaffd
bt rax, r13
jae 0x10048b130
call sym.vim.exe_cmdline_pum_active
test eax, eax
je 0x10048c8a4
lea eax, [r13 + 0x354b]
test eax, 0xfffffdff
je 0x10048b130
call sym.vim.exe_cmdline_pum_active
test eax, eax
jne 0x10048d06b
cmp dword [rsp + 0x148], 0xffffffff
je 0x10048c8d5
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x50]
call sym.vim.exe_ExpandOne
mov rax, qword [sym.vim.exe_p_wmnu]
mov eax, dword [rax]
test eax, eax
je 0x10048c8f4
cmp r13d, 0xffff8a95
je 0x10048c8ff
cmp r13d, 0xffff9b95
je 0x10048c8ff
mov dword [rsp + 0x118], 0
lea r12, [0x100721880]
mov rcx, r12
call sym.vim.exe_wildmenu_cleanup
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x70], 0
jmp 0x10048b130
cmp ebx, 0xffff8d95
jne 0x10048b027
mov ebx, 0xffff9395
jmp 0x10048b020
cmp ebx, 0xffffaa03
je 0x10048cb8c
cmp ebx, 0xffffcbdd
jne 0x10048b660
mov ebx, 0xffff96db
jmp 0x10048b020
cmp ecx, 0x65
je 0x10048b557
mov r14, qword [rsp + 0x40]
mov r15d, 1
cmp ecx, 7
jne 0x10048b7a5
mov rax, qword [sym.vim.exe_p_im]
mov edi, dword [rax]
test edi, edi
je 0x10048b7a5
mov rax, qword [sym.vim.exe_restart_edit]
mov esi, dword [rax]
test esi, esi
jne 0x10048b7a5
mov dword [rax], 0x61
jmp 0x10048b7a5
mov r8d, dword [rdi]
test r8d, r8d
je 0x10048b19b
mov rsi, qword [sym.vim.exe_wim_flags]
movsxd r13, dword [rsp + 0x7c]
xor r9d, r9d
cmp dword [rsp + 0x2b0], 0x40
movzx eax, byte [rsi + r13]
setne r9b
mov edx, eax
and edx, 8
cmp dl, 1
mov edx, dword [rsp + 0x148]
sbb ebx, ebx
and ebx, 0xfffff000
add ebx, 0x1008
test edx, edx
jle 0x10048cc3d
cmp edx, 1
je 0x10048ca40
mov ecx, dword [rsp + 0x70]
test ecx, ecx
jne 0x10048ca40
test al, 4
je 0x10048cee6
mov edx, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x80], r9d
call sym.vim.exe_showmatches
call sym.vim.exe_redrawcmd
mov dword [rsp + 0x70], 1
movzx eax, byte [rsi + r13]
mov r9d, dword [rsp + 0x80]
test al, 2
jne 0x10048cf07
test al, 1
jne 0x10048d075
mov eax, dword [rsp + 0x7c]
cmp eax, 2
jle 0x10048d84b
cmp r12d, 0x1b
mov eax, 1
cmove r15d, eax
jmp 0x10048b260
mov eax, dword [rdi]
test eax, eax
je 0x10048b9c0
xor ebx, ebx
cmp dword [rsp + 0x2b0], 0x40
mov rcx, qword [rsp + 0x50]
mov edx, 3
setne bl
xor r8d, r8d
mov r9d, ebx
call sym.vim.exe_nextwild
cmp eax, 1
jne 0x10048b9c0
cmp dword [rsp + 0x148], 1
jle 0x10048cac9
mov rax, qword [sym.vim.exe_p_wmnu]
mov edx, dword [rax]
test edx, edx
jne 0x10048dc38
mov rcx, qword [rsp + 0x50]
call sym.vim.exe_showmatches
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov r9d, ebx
mov edx, 5
call sym.vim.exe_nextwild
cmp eax, 1
jne 0x10048b9c0
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov r9d, ebx
mov edx, 5
call sym.vim.exe_nextwild
cmp eax, 1
jne 0x10048b9c0
xor r15d, r15d
jmp 0x10048b260
mov rax, qword [sym.vim.exe_curwin]
mov edx, 1
mov r12d, 3
mov rcx, qword [rax]
call sym.vim.exe_win_close
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_ga_clear
mov dword [r14], 0
mov dword [rsp + 0xcc], 3
mov dword [rsp + 0x5c], 1
movsxd rax, r12d
jmp 0x10048b185
mov rdx, qword [0x100721880]
cmp byte [rdx + rax - 1], 0x5c
jne 0x10048b760
cmp r12d, 0xffffbeb5
jne 0x10048cb4e
mov dword [rsp + 0xcc], 0xa
mov eax, 0xa
mov r12d, 0xa
jmp 0x10048b185
mov ebx, 0xffffa903
jmp 0x10048b020
mov eax, dword [0x1007217e8]
test eax, eax
je 0x10048c515
xor eax, eax
cmp qword [0x100721800], 0
lea rdx, [0x100721800]
jne 0x10048c502
jmp 0x10048c515
mov ecx, esi
call sym.vim.exe_get_hisidx
mov ebx, dword [rax]
test ebx, ebx
js 0x10048c683
mov dword [rsp + 0x5c], r15d
xor r13d, r13d
jmp 0x10048cc2a
movsxd rax, ebx
lea r12, [rax + rax*2]
shl r12, 3
mov ecx, esi
call sym.vim.exe_get_histentry
cmp qword [r12 + rax + 8], 0
je 0x10048cc1b
mov ecx, esi
lea r15, [r13 + 1]
call sym.vim.exe_get_histentry
mov rcx, r13
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r12 + rax + 8]
mov r13, r15
call sym.vim.exe_ml_append
mov ecx, esi
call sym.vim.exe_get_hisidx
cmp ebx, dword [rax]
je 0x10048cce8
add ebx, 1
call sym.vim.exe_get_hislen
cmp ebx, eax
jne 0x10048cbe0
xor ebx, ebx
xor r12d, r12d
jmp 0x10048cbeb
test byte [rsi], 2
mov dword [rsp + 0x7c], r9d
mov r8d, ebx
mov r14d, dword [0x100721890]
je 0x10048cd80
mov rcx, qword [rsp + 0x50]
mov edx, 7
call sym.vim.exe_nextwild
mov r9d, dword [rsp + 0x7c]
mov rcx, qword [sym.vim.exe_got_int]
mov r13d, dword [rcx]
test r13d, r13d
jne 0x10048dae5
mov edx, dword [rsp + 0x148]
cmp eax, 1
je 0x10048d08c
mov dword [rsp + 0x7c], 1
cmp edx, 0xffffffff
jne 0x10048cca4
mov dword [rsp + 0x118], 0
cmp r12d, 0x1b
je 0x10048b9b0
cmp eax, 1
jne 0x10048b1ab
jmp 0x10048b260
mov ebx, 0xffff8d95
jmp 0x10048b020
mov ecx, 0xffff9e03
call sym.vim.exe_stuffcharReadbuff
jmp 0x10048c748
mov ecx, 0x64
mov ebx, 0x64
jmp 0x10048ac23
mov r15d, dword [rsp + 0x5c]
jmp 0x10048c683
xor r15d, r15d
cmp r14d, 0x1d
je 0x10048b260
mov ecx, dword [rsp + 0xcc]
mov rbx, qword [sym.vim.exe_mod_mask]
mov r15d, dword [rbx]
test ecx, ecx
js 0x10048cd5d
test r15d, r15d
jne 0x10048cd5d
mov r13, qword [sym.vim.exe_has_mbyte]
mov rbx, qword [sym.vim.exe_IObuff]
mov eax, dword [r13]
mov rdx, qword [rbx]
test eax, eax
je 0x10048d7f3
mov rax, qword [sym.vim.exe_mb_char2bytes]
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 0x10048b260
mov edx, r15d
xor r15d, r15d
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 0x10048b260
mov rcx, qword [rsp + 0x50]
mov edx, 3
call sym.vim.exe_nextwild
mov r9d, dword [rsp + 0x7c]
jmp 0x10048cc69
movdqa xmm5, xmmword [0x100721800]
movdqa xmm0, xmmword [0x100721810]
movdqa xmm1, xmmword [0x100721820]
movdqa xmm2, xmmword [0x100721830]
movdqa xmm3, xmmword [0x100721840]
movaps xmmword [0x100721880], xmm5
movdqa xmm4, xmmword [rsp + 0x160]
movdqa xmm5, xmmword [rsp + 0x170]
movaps xmmword [0x100721890], xmm0
movdqa xmm0, xmmword [rsp + 0x180]
movaps xmmword [0x1007218a0], xmm1
movdqa xmm1, xmmword [rsp + 0x190]
movaps xmmword [0x1007218b0], xmm2
movdqa xmm2, xmmword [rsp + 0x1a0]
movaps xmmword [0x1007218c0], xmm3
movaps xmmword [0x100721800], xmm4
movaps xmmword [0x100721810], xmm5
movaps xmmword [0x100721820], xmm0
movaps xmmword [0x100721830], xmm1
movaps xmmword [0x100721840], xmm2
jmp 0x10048b8f3
cmp dword [rsp + 0x2b0], 0xffffffff
mov qword [0x100721880], 0
mov qword [0x100721888], 0
mov qword [0x100721890], 0
mov qword [0x100721898], 0
mov qword [0x1007218a0], 0
mov qword [0x1007218a8], 0
mov qword [0x1007218b0], 0
mov qword [0x1007218b8], 0
mov qword [0x1007218c0], 0
mov qword [0x1007218c8], 0
jne 0x10048ab95
lea rax, [rsp + 0x1b0]
mov rcx, rax
mov qword [rsp + 0x68], rax
call fcn.100488630
mov dword [rsp + 0x74], 1
xor edx, edx
xor eax, eax
mov dword [rsp + 0x2b0], 0
jmp 0x10048abf2
mov rcx, qword [sym.vim.exe_p_wmnu]
mov edx, dword [rcx]
test edx, edx
je 0x10048ca40
test al, 1
jne 0x10048dc62
test al, 2
je 0x10048ca50
mov rcx, qword [rsp + 0x50]
mov r8d, ebx
mov edx, 7
call sym.vim.exe_nextwild
mov esi, dword [rsp + 0x7c]
xor edx, edx
cmp esi, 3
setl dl
add esi, edx
mov dword [rsp + 0x7c], esi
jmp 0x10048cca4
mov ebx, 0xffffaa03
jmp 0x10048b020
call sym.vim.exe_aborting
test eax, eax
je 0x10048cf51
cmp dword [rbx], 0xffffca03
je 0x10048cf51
mov dword [rbx], 3
mov rcx, qword [0x100721880]
call sym.vim.exe_vim_free
mov eax, dword [rbx]
lea edx, [rax + 0x3afd]
and edx, 0xfffffeff
je 0x10048d315
cmp eax, 3
jne 0x10048db66
mov qword [0x100721880], 0
lea rcx, [0x1006c062c]
call sym.vim.exe_vim_strsave
mov dword [rbx], 3
mov qword [0x100721880], rax
mov rax, qword [sym.vim.exe_curwin]
mov qword [0x100721888], 1
mov dword [0x100721890], 0
mov r13, qword [rax]
mov rax, qword [rsp + 0x40]
mov rcx, r12
mov qword [r13 + 0x4f0], 0
mov rdx, qword [rax]
call sym.vim.exe_set_bufref
mov rcx, qword [rsp + 0x80]
call sym.vim.exe_win_goto
mov rcx, r13
call sym.vim.exe_win_valid
test eax, eax
je 0x10048d00a
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], r13
je 0x10048d00a
mov edx, 1
mov rcx, r13
call sym.vim.exe_win_close
mov rcx, r12
call sym.vim.exe_bufref_valid
test eax, eax
je 0x10048d040
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xe0]
cmp rdx, qword [rax]
je 0x10048d040
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 4
xor ecx, ecx
call sym.vim.exe_close_buffer
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_win_size_restore
jmp 0x10048c802
mov edx, dword [rsp + 0x2b0]
xor eax, eax
mov dword [rsp + 0x74], eax
test edx, edx
cmovg eax, dword [rsp + 0x2c0]
jmp 0x10048abf2
call sym.vim.exe_cmdline_pum_remove
jmp 0x10048c8b1
mov rcx, qword [rsp + 0x50]
mov r8d, ebx
mov edx, 4
call sym.vim.exe_nextwild
jmp 0x10048cf19
cmp edx, 1
jle 0x10048cc8c
mov rcx, qword [sym.vim.exe_p_wmnu]
movzx eax, byte [rsi]
mov r10d, dword [rcx]
cmp al, 2
je 0x10048df63
mov dword [rsp + 0x7c], 1
test al, 4
jne 0x10048dc79
mov edx, eax
xor r14d, r14d
test r10d, r10d
je 0x10048e067
and edx, 1
je 0x10048e067
movsxd r8, r14d
test al, 2
je 0x10048dc83
xor r13d, r13d
test byte [rsi + r8], 4
sete r13b
mov rcx, qword [rsp + 0x50]
mov edx, r13d
mov dword [rsp + 0x70], r9d
mov qword [rsp + 0x80], r8
call sym.vim.exe_showmatches
call sym.vim.exe_redrawcmd
mov r9d, dword [rsp + 0x70]
mov edx, 7
mov r8, qword [rsp + 0x80]
movzx eax, byte [rsi + r8]
mov r8d, ebx
test al, 2
jne 0x10048e058
test al, 1
jne 0x10048e053
cmp r12d, 0x1b
mov eax, 1
mov dword [rsp + 0x70], 1
cmove r15d, eax
jmp 0x10048b260
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x2b8]
mov r9d, r14d
mov ecx, dword [rsp + 0x2b0]
call fcn.10048a040
mov r15d, eax
test eax, eax
je 0x10048ba53
mov r14d, dword [rsp + 0xcc]
test r14d, r14d
js 0x10048b208
jmp 0x10048b1f8
mov eax, dword [rbp]
test eax, eax
jne 0x10048d1e1
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 [0x100721890]
mov edx, dword [0x10072188c]
sub edx, ecx
call fcn.100488020
mov r15d, dword [rbp]
mov dword [rbx], 0
test r15d, r15d
jne 0x10048d1cd
call fcn.1004883f0
mov dword [0x100721864], 0x5e
mov dword [0x100721860], 1
mov rbx, qword [sym.vim.exe_mod_mask]
mov ecx, dword [rbx]
and ecx, 2
call sym.vim.exe_get_literal
mov dword [0x100721864], 0
mov dword [rsp + 0xcc], eax
mov ecx, eax
mov rax, qword [sym.vim.exe_enc_utf8]
mov dword [rsp + 0xbc], 1
mov r14d, dword [rax]
test r14d, r14d
je 0x10048cd0d
call sym.vim.exe_utf_iscomposing
test eax, eax
je 0x10048d239
mov r13d, dword [rbp]
test r13d, r13d
je 0x10048e2c1
mov ecx, dword [rsp + 0xcc]
jmp 0x10048cd0d
mov eax, dword [rsp + 0x148]
test eax, eax
jle 0x10048c207
xor edx, edx
cmp r14d, 0x10
mov rcx, qword [rsp + 0x50]
sete dl
xor r9d, r9d
add edx, 4
cmp dword [rsp + 0x2b0], 0x40
setne r9b
xor r8d, r8d
call sym.vim.exe_nextwild
test eax, eax
je 0x10048d172
jmp 0x10048ba50
mov rax, qword [sym.vim.exe_exmode_active]
mov r12d, dword [rax]
test r12d, r12d
je 0x10048bc79
mov rax, qword [sym.vim.exe_ex_normal_busy]
mov r15d, dword [rax]
test r15d, r15d
je 0x10048ba53
mov rax, qword [sym.vim.exe_typebuf]
mov esi, dword [rax + 0x18]
test esi, esi
jg 0x10048ba50
jmp 0x10048bc79
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov ecx, r15d
call fcn.100488510
jmp 0x10048b7d6
mov eax, dword [0x1007218b8]
mov dword [rsp + 0x118], eax
mov rax, qword [0x100721880]
mov qword [rsp + 0x110], rax
mov rax, qword [0x1007218c0]
mov qword [rsp + 0x120], rax
jmp 0x10048ad4e
cmp eax, 0xffffc503
lea r13, [0x1006c05d0]
lea rax, [0x1006c05d3]
cmovne r13, rax
test esi, esi
jne 0x10048db33
mov rcx, r13
call sym.vim.exe_vim_strsave
mov dword [rbx], 0xd
mov qword [0x100721880], rax
mov rcx, rax
test rcx, rcx
je 0x10048cf85
call sub.msys_2.0.dll_strlen
mov rsi, qword [sym.vim.exe_curwin]
lea edx, [rax + 1]
mov dword [0x10072188c], eax
mov r13, qword [rsi]
mov dword [0x100721888], edx
mov edx, dword [r13 + 0x40]
cmp edx, eax
cmovg edx, eax
cmp dword [rbx], 0xffffca03
mov dword [0x100721890], edx
jne 0x10048cfbd
call fcn.1004886f0
call sym.vim.exe_redrawcmd
mov rax, qword [sym.vim.exe_curwin]
mov r13, qword [rax]
jmp 0x10048cfbd
mov rcx, rax
call sym.vim.exe_im_save_status
jmp 0x10048b8b5
mov rax, qword [sym.vim.exe_p_ari]
mov r11d, dword [rax]
test r11d, r11d
je 0x10048b1f8
mov r10d, dword [0x10072185c]
xor eax, eax
test r10d, r10d
sete al
xor r15d, r15d
mov dword [0x10072185c], eax
jmp 0x10048ba53
xor r8d, r8d
mov edx, 0x20
lea rcx, [0x1006c062c]
call sym.vim.exe_map_to_exists_mode
test eax, eax
jne 0x10048def1
mov rax, qword [sym.vim.exe_p_imdisable]
mov r14d, dword [rax]
test r14d, r14d
je 0x10048dcd7
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x10048dcd7
cmp qword [rax], 2
jne 0x10048e131
xor ecx, ecx
call sym.vim.exe_im_set_active
xor eax, eax
mov rsi, qword [rsp + 0xa0]
mov qword [rsi], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
add rax, 0x1290
cmp rsi, rax
je 0x10048e049
call sym.vim.exe_set_imsearch_global
call sym.vim.exe_ui_cursor_shape
xor r15d, r15d
call sym.vim.exe_status_redraw_curbuf
jmp 0x10048ba53
mov esi, dword [rbp]
test esi, esi
jne 0x10048d4cf
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 [0x100721890]
mov edx, dword [0x10072188c]
sub edx, ecx
call fcn.100488020
mov dword [rbx], 0
mov ebx, dword [rbp]
test ebx, ebx
jne 0x10048d4bb
call fcn.1004883f0
mov dword [0x100721864], 0x3f
mov dword [0x100721860], 1
mov ecx, 1
call sym.vim.exe_get_digraph
mov dword [0x100721864], 0
mov dword [rsp + 0xcc], eax
mov r14d, eax
mov dword [rsp + 0xbc], 1
test eax, eax
jne 0x10048d17a
call sym.vim.exe_redrawcmd
xor r15d, r15d
jmp 0x10048ba53
call sym.vim.exe_cmdline_pum_active
test eax, eax
jne 0x10048df2c
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
cmp dword [rsp + 0x2b0], 0x40
mov edx, 6
setne r9b
xor r8d, r8d
call sym.vim.exe_nextwild
test eax, eax
je 0x10048d172
mov dword [rsp + 0x118], 0
xor r15d, r15d
mov dword [rsp + 0x70], 0
jmp 0x10048b260
mov rcx, qword [rsp + 0x50]
xor edx, edx
call sym.vim.exe_showmatches
mov r14d, dword [rsp + 0xcc]
test eax, eax
je 0x10048d17a
call sym.vim.exe_redrawcmd
xor r15d, r15d
jmp 0x10048af20
mov ebx, dword [rbp]
test ebx, ebx
jne 0x10048d5e0
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 [0x100721890]
mov edx, dword [0x10072188c]
sub edx, ecx
call fcn.100488020
mov r11d, dword [rbp]
mov dword [rbx], 0
test r11d, r11d
jne 0x10048d5cc
call fcn.1004883f0
mov dword [0x100721864], 0x22
mov dword [0x100721860], 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 0x10048db29
cmp eax, 0xf
je 0x10048db29
mov r14d, eax
sub dword [rsi], 1
sub dword [rbx], 1
mov dword [0x100721864], 0
mov dword [0x100721868], 0xffffffff
cmp eax, 0x3d
je 0x10048de04
cmp eax, 0x1b
je 0x10048d500
xor edx, edx
cmp r14d, 0x12
mov ecx, eax
sete dl
xor r8d, r8d
call fcn.100489420
call sym.vim.exe_aborting
test eax, eax
jne 0x10048bc79
mov edx, dword [0x100721868]
mov dword [rdi], 0
test edx, edx
js 0x10048d500
mov eax, dword [0x10072188c]
cmp eax, edx
cmovg eax, edx
mov dword [0x100721890], eax
jmp 0x10048d500
mov r8, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x2b0]
lea rdx, [rsp + 0xcc]
call fcn.100487c80
cmp eax, 1
je 0x10048ba50
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
cmp dword [rsp + 0x2b0], 0x40
mov edx, 7
setne r9b
xor r8d, r8d
xor r15d, r15d
call sym.vim.exe_nextwild
test eax, eax
je 0x10048d172
jmp 0x10048b260
mov rax, qword [sym.vim.exe_clip_star]
movzx eax, word [rax + 0x50]
test ax, ax
je 0x10048b1f8
xor r15d, r15d
cmp ax, 2
jne 0x10048ba53
mov ecx, 1
call sym.vim.exe_clip_copy_modeless_selection
jmp 0x10048ba53
movsxd r8, dword [0x100721890]
mov edx, dword [0x10072188c]
mov dword [0x100721890], 0
lea r12, [0x100721880]
sub edx, r8d
mov dword [0x10072188c], edx
test edx, edx
jle 0x10048d75b
xor eax, eax
mov rdx, qword [r12]
lea rcx, [rdx + rax]
movzx ecx, byte [rcx + r8]
mov byte [rdx + rax], cl
mov edx, dword [0x10072188c]
add rax, 1
cmp edx, eax
jg 0x10048d73d
mov rax, qword [0x100721880]
movsxd rdx, edx
mov byte [rax + rdx], 0
mov r13d, dword [0x10072188c]
test r13d, r13d
jne 0x10048d786
movdqa xmm4, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x1b0], xmm4
call sym.vim.exe_redrawcmd
xor r15d, r15d
jmp 0x10048b260
mov rax, qword [sym.vim.exe_p_imcmdline]
mov r14, qword [sym.vim.exe_curbuf]
mov qword [rsp + 0xa0], 0
mov ecx, dword [rax]
test ecx, ecx
je 0x10048adc7
mov ecx, 1
call sym.vim.exe_im_set_active
jmp 0x10048adc7
lea rax, [rdx + 0x1290]
mov qword [rsp + 0xa0], rax
mov rax, qword [rdx + 0x1290]
jmp 0x10048adaf
mov rdi, qword [sym.vim.exe_State]
mov dword [rdi], 0x28
jmp 0x10048adb9
mov byte [rdx], cl
mov rcx, qword [rbx]
mov r8d, 1
mov edx, 1
call sym.vim.exe_put_on_cmdline
jmp 0x10048b260
mov dword [0x100721894], eax
jmp 0x10048ba53
mov r8d, 1
mov edx, 0x10
lea rcx, str._buffer___Tab___C_X__C_V_
call sym.vim.exe_add_map
mov r8d, 1
mov edx, 1
lea rcx, str._buffer___Tab__a_C_X__C_V_
call sym.vim.exe_add_map
jmp 0x10048c640
add eax, 1
cmp r12d, 0x1b
mov dword [rsp + 0x7c], eax
mov eax, 1
cmove r15d, eax
jmp 0x10048b260
test eax, eax
jne 0x10048ccff
mov rax, qword [sym.vim.exe_no_abbr]
lea ecx, [r14 + 0x100]
mov r8d, dword [rax]
test r8d, r8d
je 0x10048b24a
jmp 0x10048ccff
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 0x10048d8b9
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 r10d, dword [rbp]
add dword [rax], ebx
test r10d, r10d
jne 0x10048d8ee
call fcn.100487ed0
mov r9d, dword [0x100721898]
mov eax, dword [0x10072189c]
test r9d, r9d
je 0x10048db82
add eax, 1
mov dword [0x100721894], eax
jmp 0x10048ad27
call sym.vim.exe_redrawcmd
jmp 0x10048ae7c
xor r8d, r8d
xor edx, edx
mov ecx, 1
xor r15d, r15d
call sym.vim.exe_bracketed_paste
jmp 0x10048b260
mov eax, dword [0x100721890]
mov r13, qword [sym.vim.exe_has_mbyte]
lea r12, [0x100721880]
mov rbx, qword [sym.vim.exe_cmdline_star]
mov r15, qword [sym.vim.exe_Columns]
mov rsi, qword [sym.vim.exe_Rows]
jmp 0x10048da14
mov r9d, dword [rbx]
mov edx, 1
test r9d, r9d
jg 0x10048d98b
movsxd rcx, eax
add rcx, qword [r12]
call sym.vim.exe_ptr2cells
mov edx, eax
mov eax, dword [0x100721894]
mov r8d, dword [rdi]
add eax, edx
test r8d, r8d
je 0x10048d9ae
mov rdx, qword [r15]
imul rdx, qword [rsi]
movsxd rcx, eax
cmp rcx, rdx
jge 0x10048bfd3
mov edx, dword [0x100721890]
mov ecx, dword [r13]
mov dword [0x100721894], eax
lea eax, [rdx + 1]
test ecx, ecx
je 0x10048d9db
mov rax, qword [sym.vim.exe_mb_ptr2len]
movsxd rcx, edx
add rcx, qword [r12]
call qword [rax]
add eax, dword [0x100721890]
mov dword [0x100721890], eax
cmp r14d, 0xffff96db
je 0x10048da03
cmp r14d, 0xffffa903
je 0x10048da03
mov rdx, qword [sym.vim.exe_mod_mask]
test byte [rdx], 6
je 0x10048bfd3
mov rcx, qword [r12]
movsxd rdx, eax
cmp byte [rcx + rdx], 0x20
je 0x10048bfd3
cmp dword [0x10072188c], eax
jg 0x10048d970
jmp 0x10048bfd3
mov ecx, 0x63
call sym.vim.exe_mouse_has
mov r15d, eax
test eax, eax
je 0x10048ba53
mov rax, qword [sym.vim.exe_clip_star]
mov r8d, 1
mov edx, 1
mov r10d, dword [rax]
test r10d, r10d
je 0x10048dc56
mov ecx, 0x2a
call fcn.100489420
jmp 0x10048d786
call sym.vim.exe_may_trigger_modechanged
jmp 0x10048ae3d
call sym.vim.exe_may_trigger_modechanged
jmp 0x10048b89e
mov rcx, qword [sym.vim.exe_e_command_too_recursive]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov rax, qword [0x100721880]
jmp 0x10048b8d2
call sym.vim.exe_beep_flush
mov r12d, 0xffffca03
mov dword [rsp + 0xcc], 0xffffca03
mov dword [rsp + 0x5c], 1
movsxd rax, r12d
jmp 0x10048b185
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 0x10048b7a5
mov r14, qword [rsp + 0x40]
jmp 0x10048b7a5
call sym.vim.exe_vpeekc
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [sym.vim.exe_got_int]
xor edx, edx
mov dword [rax], 0
mov dword [rsp + 0x20], 1
call sym.vim.exe_ExpandOne
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x118], 0
jmp 0x10048b260
call sym.vim.exe_plain_vgetc
jmp 0x10048d60e
mov qword [0x100721880], 0
mov ecx, 0x3a
call sym.vim.exe_stuffcharReadbuff
mov rcx, r13
call sym.vim.exe_stuffReadbuff
mov ecx, 0xd
call sym.vim.exe_stuffcharReadbuff
mov rcx, qword [0x100721880]
jmp 0x10048d34c
call sym.vim.exe_ml_get_curline
mov rcx, rax
call sym.vim.exe_vim_strsave
mov qword [0x100721880], rax
mov rcx, rax
jmp 0x10048d34c
mov dword [0x100721894], eax
jmp 0x10048ad27
mov rax, qword [sym.vim.exe_intr_char]
cmp r14d, dword [rax]
je 0x10048bc79
test r14d, r14d
jns 0x10048b1eb
jmp 0x10048b208
mov ecx, dword [rsp + 0xb4]
xor r9d, r9d
mov r8d, 1
cmp ecx, 1
cmove r9d, dword [rsp + 0x2b0]
call sym.vim.exe_add_to_history
cmp dword [rsp + 0x2b0], 0x3a
je 0x10048e352
test r15d, r15d
je 0x10048b953
mov rdx, qword [0x100721880]
test rdx, rdx
je 0x10048dc07
mov rcx, rdx
call sym.vim.exe_vim_free
mov qword [0x100721880], 0
mov rax, qword [sym.vim.exe_msg_scrolled]
mov r10d, dword [rax]
test r10d, r10d
je 0x10048dee7
lea rcx, [0x1006c062c]
call sym.vim.exe_msg
mov rax, qword [sym.vim.exe_redraw_cmdline]
mov dword [rax], 1
jmp 0x10048b953
movsxd rax, dword [rsp + 0x7c]
mov rdx, qword [sym.vim.exe_wim_flags]
movzx edx, byte [rdx + rax]
shr dl, 2
xor edx, 1
and edx, 1
jmp 0x10048cabf
xor ecx, ecx
call fcn.100489420
jmp 0x10048d786
mov dword [rsp + 0x70], 1
jmp 0x10048ca10
call sym.vim.exe_redraw_statuslines
jmp 0x10048aed5
xor r8d, r8d
test al, 2
jne 0x10048dcc9
xor r14d, r14d
mov rax, qword [sym.vim.exe_p_wmnu]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 5
mov dword [rsp + 0x80], r10d
mov dword [rsp + 0x70], r9d
mov dword [rax], 0
call sym.vim.exe_nextwild
mov rax, qword [sym.vim.exe_p_wmnu]
mov r9d, dword [rsp + 0x70]
movsxd r8, r14d
mov r10d, dword [rsp + 0x80]
mov dword [rax], r10d
test r10d, r10d
je 0x10048d0e8
jmp 0x10048d0dc
call sym.vim.exe_im_get_status
test eax, eax
je 0x10048df40
xor ecx, ecx
call sym.vim.exe_im_set_active
cmp qword [rsp + 0xa0], 0
je 0x10048d466
jmp 0x10048d435
test edx, edx
jne 0x10048bdf4
mov edx, 1
test ebx, ebx
jle 0x10048be2f
mov rcx, qword [0x100721880]
movsxd rsi, ebx
lea r15, [rcx + rsi]
sub r15, 1
sub r15, rcx
mov r8d, ebx
sub r8d, r15d
mov dword [0x100721890], r15d
movsxd rdx, r15d
sub eax, r8d
mov dword [0x10072188c], eax
cmp r15d, eax
jge 0x10048dd6e
sub rdx, rsi
sub r15d, ebx
movzx eax, byte [rcx + rsi]
add rcx, rsi
add rsi, 1
mov byte [rcx + rdx], al
mov eax, dword [0x10072188c]
lea ecx, [r15 + rsi]
cmp eax, ecx
mov rcx, qword [r12]
jg 0x10048dd4e
cdqe
mov byte [rcx + rax], 0
mov eax, dword [0x10072188c]
test eax, eax
jne 0x10048d786
movdqa xmm0, xmmword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1f8]
movdqu xmm1, xmmword [rsp + 0x1d8]
movdqu xmm2, xmmword [rsp + 0x1e8]
mov qword [rsp + 0x220], rax
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x210], xmm2
jmp 0x10048d786
mov ecx, esi
call sym.vim.exe_get_hisidx
mov ebx, dword [rax]
jmp 0x10048c28f
mov ecx, esi
call sym.vim.exe_get_hisidx
cmp ebx, dword [rax]
je 0x10048de2a
call sym.vim.exe_get_hislen
cmp ebx, eax
je 0x10048de31
call sym.vim.exe_get_hislen
sub eax, 1
cmp ebx, eax
je 0x10048e127
add ebx, 1
jmp 0x10048c28f
cmp dword [0x100721898], 0x3d
je 0x10048de20
mov rsi, qword [sym.vim.exe_cmdline_star]
mov r10d, dword [rsi]
test r10d, r10d
jle 0x10048e22d
call sym.vim.exe_beep_flush
jmp 0x10048d500
call sym.vim.exe_get_hislen
mov ebx, eax
cmp ebx, dword [rsp + 0xb8]
je 0x10048e140
mov rcx, qword [0x100721880]
lea r12, [0x100721880]
test rcx, rcx
je 0x10048de61
call sym.vim.exe_vim_free
mov qword [0x100721880], 0
mov dword [rsp + 0x118], 0
call sym.vim.exe_get_hislen
cmp eax, ebx
jne 0x10048e14d
mov r13, qword [rsp + 0x48]
mov rcx, r13
call sub.msys_2.0.dll_strlen
cmp eax, 0x4f
jle 0x10048e2f5
lea esi, [rax + 0x14]
movsxd rcx, esi
call sym.vim.exe_alloc
mov dword [0x100721888], esi
mov qword [0x100721880], rax
mov rcx, rax
test rax, rax
je 0x10048e29b
mov rdx, r13
call sub.msys_2.0.dll_strcpy
mov rcx, qword [0x100721880]
xor r15d, r15d
call sub.msys_2.0.dll_strlen
mov dword [0x10072188c], eax
mov dword [0x100721890], eax
call sym.vim.exe_redrawcmd
mov dword [rsp + 0xb8], ebx
jmp 0x10048b260
call sym.vim.exe_compute_cmdrow
jmp 0x10048dc1a
mov rax, qword [sym.vim.exe_State]
xor ecx, ecx
xor dword [rax], 0x20
call sym.vim.exe_im_set_active
cmp qword [rsp + 0xa0], 0
je 0x10048d466
mov rax, qword [sym.vim.exe_State]
mov eax, dword [rax]
mov dword [rsp + 0x80], eax
shr eax, 5
and eax, 1
jmp 0x10048d437
lea r12, [0x100721880]
mov rcx, r12
call sym.vim.exe_cmdline_pum_cleanup
jmp 0x10048d51a
mov ecx, 1
call sym.vim.exe_im_set_active
cmp qword [rsp + 0xa0], 0
je 0x10048d466
mov eax, 2
jmp 0x10048d437
cmp dword [0x100721890], r14d
sete r8b
sete r14b
movzx r8d, r8b
movzx r14d, r14b
movzx edx, byte [rsi + r8]
lea ecx, [r14 + 1]
mov dword [rsp + 0x7c], ecx
test dl, 4
jne 0x10048dcc9
jmp 0x10048d0bf
mov r13, qword [sym.vim.exe_has_mbyte]
mov rcx, qword [0x100721880]
movsxd rsi, ebx
lea r12, [0x100721880]
mov eax, dword [r13]
lea r15, [rcx + rsi]
test eax, eax
jne 0x10048e08e
cmp r14d, 0x17
jne 0x10048e083
cmp rcx, r15
jb 0x10048dfdd
jmp 0x10048e03e
mov rcx, qword [r12]
sub r15, 1
cmp r15, rcx
jbe 0x10048e03e
movzx ecx, byte [r15 - 1]
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x10048dfd0
mov rcx, qword [0x100721880]
cmp rcx, r15
jae 0x10048e03e
movzx ecx, byte [r15 - 1]
call sym.vim.exe_vim_iswordc
mov rcx, qword [0x100721880]
mov r13d, eax
cmp rcx, r15
jae 0x10048e03e
movzx ecx, byte [r15 - 1]
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x10048e0a3
movzx ecx, byte [r15 - 1]
call sym.vim.exe_vim_iswordc
cmp r13d, eax
jne 0x10048e0a3
mov rcx, qword [r12]
sub r15, 1
cmp r15, rcx
ja 0x10048e010
mov eax, dword [0x10072188c]
jmp 0x10048dd27
call sym.vim.exe_set_iminsert_global
jmp 0x10048d466
mov edx, 4
mov rcx, qword [rsp + 0x50]
call sym.vim.exe_nextwild
jmp 0x10048d131
mov ecx, 0x80000
call sym.vim.exe_vim_beep
cmp r12d, 0x1b
mov eax, 1
cmove r15d, eax
jmp 0x10048b260
mov eax, dword [0x10072188c]
jmp 0x10048dd23
mov rdx, r15
call sym.vim.exe_mb_prevptr
mov r15, rax
cmp r14d, 0x17
je 0x10048e375
mov rcx, qword [0x100721880]
jmp 0x10048e03e
mov ecx, r14d
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0xe0]
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 0x10048e0db
test eax, eax
jne 0x10048e416
mov r8d, dword [rsp + 0xf0]
mov edx, dword [rsp + 0xe0]
mov ecx, r12d
xor r15d, r15d
call sym.vim.exe_clip_modeless
jmp 0x10048ba53
call sym.vim.exe_beep_flush
mov rcx, qword [rsp + 0x60]
mov r12d, 0xffffca03
call sym.vim.exe_ga_clear
mov dword [rsp + 0x5c], 1
mov dword [rsp + 0xcc], 0xffffca03
jmp 0x10048cb4e
xor r15d, r15d
xor ebx, ebx
jmp 0x10048c2a2
mov ecx, 1
call sym.vim.exe_im_set_active
jmp 0x10048df59
call sym.vim.exe_beep_flush
xor r15d, r15d
jmp 0x10048ba53
mov esi, dword [rsp + 0xb4]
mov ecx, esi
call sym.vim.exe_get_histentry
mov r8, rax
movsxd rax, ebx
lea rax, [rax + rax*2]
mov r13, qword [r8 + rax*8 + 8]
mov rcx, r13
cmp esi, 1
jne 0x10048de81
cmp qword [rsp + 0x48], r13
je 0x10048de81
call sub.msys_2.0.dll_strlen
xor ecx, ecx
movzx edx, byte [r13 + rax + 1]
mov esi, edx
cmp edx, dword [rsp + 0x2b0]
je 0x10048de86
movzx r9d, byte [r13]
xor r8d, r8d
xor edx, edx
test r9b, r9b
jne 0x10048e1da
jmp 0x10048e2a5
cmp r9d, dword [rsp + 0x2b0]
je 0x10048e20a
cmp ecx, 1
je 0x10048e21a
add rdx, 1
lea r8d, [rax + 1]
movzx r9d, byte [r13 + rdx]
test r9b, r9b
je 0x10048e237
mov eax, r8d
cmp r9b, sil
jne 0x10048e1b8
test rdx, rdx
je 0x10048e1ef
cmp byte [r13 + rdx - 1], 0x5c
je 0x10048e1c2
cmp ecx, 1
jne 0x10048e1c7
movzx r11d, byte [rsp + 0x2b0]
mov r9, qword [r12]
movsxd r8, eax
mov byte [r9 + r8], r11b
jmp 0x10048e1c7
test rdx, rdx
jne 0x10048e258
cmp ecx, 1
je 0x10048e24a
lea eax, [r8 + 1]
jmp 0x10048e1c2
movzx r10d, byte [r13 + rdx]
mov r9, qword [r12]
movsxd r8, eax
mov byte [r9 + r8], r10b
jmp 0x10048e1c7
call sym.vim.exe_get_expr_register
jmp 0x10048d631
test ecx, ecx
je 0x10048e279
cmp ecx, 1
je 0x10048e265
mov ecx, 1
jmp 0x10048e19d
mov r9, qword [r12]
movsxd rax, r8d
mov byte [r9 + rax], 0x5c
jmp 0x10048e214
cmp byte [r13 + rdx - 1], 0x5c
jne 0x10048e20f
jmp 0x10048e1c2
mov rax, qword [0x100721880]
movsxd r8, r8d
mov byte [rax + r8], 0
jmp 0x10048debb
cmp r8d, 0x4f
jle 0x10048e2a9
lea r14d, [rax + 0x15]
movsxd rcx, r14d
call sym.vim.exe_alloc
mov dword [0x100721888], r14d
mov qword [r12], rax
test rax, rax
jne 0x10048e240
mov r14, qword [rsp + 0x40]
jmp 0x10048b7a2
test ecx, ecx
jne 0x10048e23b
mov ecx, 0x64
mov r14d, 0x64
jmp 0x10048e286
mov r15d, 1
jmp 0x10048b260
mov ecx, dword [0x100721890]
mov edx, dword [0x10072188c]
sub edx, ecx
call fcn.100488020
mov ecx, 0x20
call sym.vim.exe_msg_putchar
mov r12d, dword [rbp]
test r12d, r12d
jne 0x10048d239
call fcn.1004883f0
jmp 0x10048d239
mov ecx, 0x64
mov esi, 0x64
jmp 0x10048de95
mov rcx, qword [0x100721880]
call sym.vim.exe_vim_strsave
mov qword [rsp + 0x48], rax
mov rsi, rax
test rax, rax
je 0x10048ba50
movsxd rax, dword [0x100721890]
mov byte [rsi + rax], 0
jmp 0x10048c234
mov eax, dword [rbp]
test eax, eax
je 0x10048bea5
movdqa xmm3, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x1b0], xmm3
jmp 0x10048bedc
mov rbx, qword [sym.vim.exe_new_last_cmdline]
mov rcx, qword [rbx]
call sym.vim.exe_vim_free
mov rcx, qword [0x100721880]
call sym.vim.exe_vim_strsave
mov qword [rbx], rax
jmp 0x10048dbdf
cmp rax, qword [0x100721880]
ja 0x10048e395
jmp 0x10048e3a2
mov rcx, qword [r12]
mov rdx, r15
call sym.vim.exe_mb_prevptr
mov r15, rax
cmp rax, qword [r12]
jbe 0x10048e3a2
movzx ecx, byte [r15]
call sym.vim.exe_vim_isspace
test eax, eax
jne 0x10048e380
mov rcx, r15
call sym.vim.exe_mb_get_class
cmp qword [0x100721880], r15
mov r13d, eax
jb 0x10048e3d5
jmp 0x10048e3e2
mov rcx, qword [r12]
mov rdx, r15
call sym.vim.exe_mb_prevptr
mov r15, rax
cmp rax, qword [r12]
jbe 0x10048e3e2
mov rcx, r15
call sym.vim.exe_mb_get_class
cmp r13d, eax
je 0x10048e3c0
mov rcx, r15
call sym.vim.exe_mb_get_class
cmp r13d, eax
je 0x10048e0a3
mov rax, qword [sym.vim.exe_mb_ptr2len]
mov rcx, r15
call qword [rax]
mov rcx, qword [0x100721880]
cdqe
add r15, rax
mov eax, dword [0x10072188c]
jmp 0x10048dd27
mov rbx, qword [sym.vim.exe_mod_mask]
mov eax, dword [rbx]
mov r12d, eax
and r12d, 2
je 0x10048e0db
and eax, 0xfffffffd
mov r12d, 2
mov dword [rbx], eax
jmp 0x10048e0db