Function at 0x100433aa0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x418
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0xf8], eax
mov eax, dword [rcx + 0x90]
mov r12, rcx
mov qword [rsp + 0x468], rdx
mov dword [rsp + 0x470], r8d
mov dword [rsp + 0x478], r9d
mov dword [rsp + 0x200], 0
mov qword [rsp + 0x238], 0
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x204], 0xfffffff6
mov dword [rsp + 0x208], 0x7fffffff
mov dword [rsp + 0x20c], 0
mov dword [rsp + 0x210], 0
mov dword [rsp + 0x214], 0
mov dword [rsp + 0x218], 0x7fffffff
mov dword [rsp + 0x21c], 0xffffffff
mov dword [rsp + 0x220], 0
mov dword [rsp + 0x224], 0
mov dword [rsp + 0x228], 0
mov dword [rsp + 0xa8], r8d
cmp r8d, r9d
jg 0x100433e83
mov rax, qword [sym.vim.exe_highlight_attr]
mov r9d, dword [rsp + 0x488]
mov eax, dword [rax + 0x80]
mov dword [rsp + 0x194], eax
mov eax, dword [rcx + 0x3c0]
add eax, dword [rcx + 0x114]
add eax, r8d
test r9d, r9d
mov dword [rsp + 0xc4], eax
sete dil
je 0x100433e9e
mov dword [rsp + 0x1d8], 0
xor ebx, ebx
xor r14d, r14d
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0x1d4], 0
mov dword [rsp + 0x15c], 0
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0x1a0], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0x1ac], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x1b4], 0
mov rdx, qword [rsp + 0x468]
mov rcx, r12
call sym.vim.exe_diff_check
mov dword [rsp + 0xfc], 0
mov dword [rsp + 0x168], eax
test eax, eax
js 0x100435092
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0xc8], rax
jne 0x100433c86
mov eax, dword [r12 + 0xe0]
mov dword [rsp + 0x168], eax
mov rdx, qword [rsp + 0x468]
lea r8, [rsp + 0x2b0]
mov rcx, r12
call sym.vim.exe_buf_get_signattrs
mov dword [rsp + 0x1e0], eax
test eax, eax
je 0x100434310
mov eax, dword [rsp + 0x2d4]
mov rcx, qword [r12 + 8]
mov dword [rsp + 0x1cc], eax
mov eax, dword [rsp + 0x2cc]
mov dword [rsp + 0x88], eax
call sym.vim.exe_bt_quickfix
test eax, eax
jne 0x1004395e6
mov esi, dword [rsp + 0x88]
test esi, esi
je 0x10043434a
mov dword [rsp + 0x110], 1
mov rcx, qword [r12 + 8]
mov rdx, qword [rsp + 0x468]
xor r8d, r8d
call sym.vim.exe_ml_get_buf
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x230], rax
test bl, bl
je 0x100433fd0
mov r11d, dword [0x100685100]
test r11d, r11d
je 0x1004395d3
cmp byte [rsp + 0x376], 0
je 0x100435140
mov r13, qword [rsp + 0x230]
mov rcx, r13
call sub.msys_2.0.dll_strlen
mov rbx, rax
cmp rax, 0x95
ja 0x100439932
lea rsi, [rsp + 0x2e0]
mov rdx, r13
mov r9d, 0x12c
mov r8, rax
mov rcx, rsi
lea r13, [rsp + 0x376]
call sub.msys_2.0.dll___memmove_chk
mov rcx, r13
call sub.msys_2.0.dll_strlen
lea rcx, [rsi + rbx]
mov rdx, r13
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
lea eax, [rbx + 1]
mov dword [rsp + 0x1f8], 0
mov dword [rsp + 0x1fc], eax
jmp 0x100433fe6
cmp dword [rsp + 0xf8], 0xffffffff
je 0x100433e30
cmp ebx, 7
je 0x100434f3d
test dil, dil
je 0x100434f3d
mov esi, dword [rsp + 0xa8]
mov dword [rsp + 0x30], 2
mov edx, 0x40
mov rcx, r12
mov eax, dword [r12 + 0x118]
mov r9d, 1
mov r8d, 0x20
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], eax
call sym.vim.exe_win_draw_end
mov edx, esi
mov rcx, r12
call sym.vim.exe_draw_vsep_win
mov eax, dword [rsp + 0x478]
add eax, 1
mov dword [rsp + 0xa8], eax
nop word [rax + rax]
mov rcx, qword [rsp + 0x230]
call sym.vim.exe_skipwhite
cmp byte [rax], 0
jne 0x100433e5f
mov rax, qword [rsp + 0x468]
mov dword [0x100685100], 0
add rax, 1
mov qword [0x100720f20], rax
mov rcx, qword [rsp + 0x138]
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0x178]
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
mov eax, dword [rsp + 0xa8]
add rsp, 0x418
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rcx + 0x450]
mov dword [rsp + 0xf0], eax
call sym.vim.exe_syntax_present
mov dword [rsp + 0x1a0], eax
test eax, eax
je 0x100433ed9
mov dword [rsp + 0x1a0], 0
mov rax, qword [r12 + 0x20]
cmp qword [rax + 0x260], 0
je 0x100439e5b
mov r14, qword [r12 + 0xef0]
mov dword [rsp + 0xc0], 0
test r14, r14
je 0x100433f00
mov eax, dword [r14]
not eax
shr eax, 0x1f
mov dword [rsp + 0xc0], eax
mov rcx, qword [r12 + 8]
call sym.vim.exe_term_show_buffer
mov dword [rsp + 0x1d8], 0
mov dword [rsp + 0xa0], eax
test eax, eax
jne 0x100435279
mov eax, dword [r12 + 0x4a0]
mov dword [rsp + 0x15c], eax
test eax, eax
jne 0x100435198
mov dword [rsp + 0x1d4], 0
xor ebx, ebx
mov rax, qword [sym.vim.exe_VIsual_active]
mov r15d, dword [rax]
test r15d, r15d
je 0x100433f71
mov rbp, qword [sym.vim.exe_curwin]
mov rax, qword [rbp]
mov rsi, qword [rax + 8]
cmp qword [r12 + 8], rsi
je 0x10043a1e0
mov rax, qword [sym.vim.exe_highlight_match]
mov eax, dword [rax]
mov dword [rsp + 0x110], eax
test eax, eax
je 0x100439776
mov rsi, qword [sym.vim.exe_curwin]
cmp qword [rsi], r12
je 0x10043a3ae
mov dword [rsp + 0x1ac], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x1b4], 0
jmp 0x100433c3b
mov dword [rsp + 0x1fc], 0
mov dword [rsp + 0x1f8], 0
mov eax, dword [r12 + 0x454]
mov dword [rsp + 0x1a4], 0x7fffffff
mov dword [rsp + 0x190], eax
test eax, eax
je 0x1004340ec
mov r10d, dword [r12 + 0x98]
test r10d, r10d
je 0x1004350e6
mov dword [rsp + 0xf0], 1
mov r8d, dword [r12 + 0xa8]
mov dword [rsp + 0x1a4], 0x7fffffff
test r8d, r8d
je 0x10043408c
mov rsi, qword [rsp + 0x70]
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov edx, eax
test eax, eax
jle 0x100434076
cdqe
lea rax, [rsi + rax - 1]
jmp 0x100434069
sub rax, 1
sub edx, 1
je 0x100434076
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x100434060
cmp cl, 9
je 0x100434060
mov rax, qword [rsp + 0x70]
sub rax, qword [rsp + 0x230]
add eax, edx
mov dword [rsp + 0x1a4], eax
mov eax, dword [r12 + 0xac]
mov dword [rsp + 0x190], eax
test eax, eax
je 0x1004350c1
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax]
cmp dl, 9
je 0x1004340b9
cmp dl, 0x20
jne 0x100439ecf
mov eax, 1
nop
mov rsi, qword [rsp + 0x70]
mov ecx, eax
movzx edx, byte [rsi + rax]
add rax, 1
cmp dl, 0x20
je 0x1004340c0
cmp dl, 9
je 0x1004340c0
mov dword [rsp + 0x190], 0
test dl, dl
jne 0x10043515b
mov rcx, r12
call sym.vim.exe_get_wcr_attr
mov esi, dword [rsp + 0xa0]
mov edx, dword [r12 + 0x158]
test eax, eax
mov dword [rsp + 0x18c], eax
mov ecx, dword [r12 + 0x4dc]
cmovne esi, eax
mov eax, 1
cmove eax, dword [rsp + 0x110]
mov dword [rsp + 0x110], eax
xor eax, eax
test edx, edx
setne al
mov dword [rsp + 0xa0], esi
add eax, eax
mov dword [rsp + 0x120], eax
test ecx, ecx
je 0x100435080
movsxd rax, dword [r12 + 0xf4]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jle 0x100434360
mov rbp, qword [rsp + 0x70]
mov rsi, qword [sym.vim.exe_mb_ptr2len]
xor ebx, ebx
test dil, dil
je 0x100434360
mov rdi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
jmp 0x100434193
mov rbp, rax
cmp byte [rbp], 0
je 0x100438f4a
mov qword [rsp + 0x20], 0
mov r9d, ebx
mov r8, rbp
mov rcx, r12
mov rdx, qword [rsp + 0x230]
call sym.vim.exe_win_lbr_chartabsize
mov rcx, rbp
mov dword [rsp + 0x200], eax
cdqe
add rbx, rax
call qword [rsi]
mov rdx, rbp
cdqe
add rax, rbp
cmp rdi, rbx
jg 0x100434190
cmp qword [rsp + 0x50], rbx
jge 0x10043a4ba
movsxd rax, dword [rsp + 0x200]
mov rcx, rbp
sub rbx, rax
mov rax, qword [sym.vim.exe_mb_ptr2cells]
call qword [rax]
cmp eax, dword [rsp + 0x200]
jge 0x1004394ad
cmp byte [rbp], 9
je 0x1004394ad
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x8c], 0
movsxd rax, dword [rsp + 0x208]
cmp rax, qword [rsp + 0x50]
jg 0x100438f99
mov dword [rsp + 0x204], 0
mov ebp, dword [r12 + 0x4dc]
xor eax, eax
mov r13d, dword [rsp + 0x15c]
test ebp, ebp
setne al
mov dword [rsp + 0x14c], eax
test r13d, r13d
jne 0x1004394c9
lea rax, [rsp + 0x290]
mov dword [rsp + 0x1a8], 0
mov dword [rsp + 0x140], 0
mov qword [rsp + 0x1c0], rax
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x198], eax
test eax, eax
jns 0x1004343bb
mov dword [rsp + 0x198], 0xfffffffe
lea rax, [rsp + 0x210]
mov rbx, qword [rsp + 0x70]
mov rcx, r12
sub rbx, qword [rsp + 0x230]
mov qword [rsp + 0x28], rax
mov rax, qword [sym.vim.exe_screen_search_hl]
mov r8d, ebx
lea r9, [rsp + 0x230]
mov rdx, qword [rsp + 0x468]
mov qword [rsp + 0x20], rax
call sym.vim.exe_prepare_search_hl_line
add rbx, qword [rsp + 0x230]
or dword [rsp + 0x110], eax
mov qword [rsp + 0x70], rbx
jmp 0x1004343f8
mov rcx, qword [r12 + 8]
call sym.vim.exe_bt_quickfix
mov dword [rsp + 0x1cc], 0
mov dword [rsp + 0x88], eax
test eax, eax
je 0x100433cf5
mov rcx, r12
call sym.vim.exe_qf_current_entry
cmp qword [rsp + 0x468], rax
je 0x1004395fc
mov dword [rsp + 0x88], 0
jmp 0x100433cf5
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x14c], 0
mov dword [rsp + 0x1a8], 0
mov dword [rsp + 0x198], eax
mov dword [rsp + 0x140], 0
mov dword [rsp + 0x8c], 0
mov qword [rsp + 0x50], 0
test eax, eax
js 0x100435178
lea rsi, [rsp + 0x290]
mov qword [rsp + 0x1c0], rsi
mov esi, dword [rsp + 0x1b4]
test esi, esi
jne 0x100438bfe
mov dword [rsp + 0x198], 0xfffffffe
cmp dword [rsp + 0x208], eax
jg 0x1004343e9
mov dword [rsp + 0x204], 0xffffffff
mov ebx, dword [rsp + 0x488]
test ebx, ebx
je 0x1004342b4
mov eax, dword [r12 + 0x4a8]
mov dword [rsp + 0xac], eax
test eax, eax
je 0x1004385c0
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x10043928c
mov dword [rsp + 0x16c], 0
mov dword [rsp + 0x11c], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xac], 0
mov rcx, qword [r12 + 8]
mov r8, qword [rsp + 0x1c0]
xor r9d, r9d
mov rdx, qword [rsp + 0x468]
call sym.vim.exe_get_text_props
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x1c8], eax
mov qword [rsp + 0x138], 0
test eax, eax
jg 0x10043876c
mov rsi, qword [sym.vim.exe_ScreenLines]
mov rax, qword [sym.vim.exe_current_ScreenLine]
mov rax, qword [rax]
sub rax, qword [rsi]
mov esi, dword [r12 + 0x48c]
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x68], esi
test esi, esi
je 0x1004344dd
mov esi, dword [r12 + 0x124]
or dword [rsp + 0x120], 1
sub esi, 1
add eax, esi
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x15c]
xor eax, eax
lea rdx, [rsp + 0x214]
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x1d0], 0
test ecx, ecx
mov dword [rsp + 0xb4], 0
cmovne rax, rdx
xor esi, esi
xor ebx, ebx
mov dword [rsp + 0xec], 0
mov qword [rsp + 0x1e8], rax
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x470]
mov dword [rsp + 0x108], 0
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0x148], 0
mov dword [rsp + 0x174], 0
mov dword [rsp + 0xe4], 0
mov dword [rsp + 0x1f4], 0
mov dword [rsp + 0x1f0], 0
mov dword [rsp + 0x170], 0
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0x84], 0
mov dword [rsp + 0xd4], 1
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0x180], 0
mov dword [rsp + 0x124], 0
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x150], 0
mov dword [rsp + 0x19c], 0
mov dword [rsp + 0x100], 0
mov dword [rsp + 0x1e4], 0
mov dword [rsp + 0x1dc], 0xffffffff
mov dword [rsp + 0x118], 0
mov dword [rsp + 0xbc], 0
mov dword [rsp + 0xd0], 0
mov dword [rsp + 0x188], 0
mov dword [rsp + 0xd8], 0
mov dword [rsp + 0x158], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x10c], 0
mov dword [rsp + 0x134], 0
mov dword [rsp + 0x130], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x114], 0
mov dword [rsp + 0xdc], 0
mov dword [rsp + 0x154], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x78], 0xffffffffffffffff
mov qword [rsp + 0x1b8], 0xffffffffffffffff
nop word cs:[rax + rax]
mov dword [rsp + 0x22c], 0
cmp ebx, 7
je 0x100434960
mov eax, dword [rsp + 0xa4]
test eax, eax
mov eax, dword [rsp + 0x88]
cmovne eax, dword [rsp + 0x104]
mov dword [rsp + 0x88], eax
mov eax, 0
cmove eax, dword [rsp + 0xac]
mov dword [rsp + 0xac], eax
mov eax, ebx
or eax, esi
jne 0x100435418
mov rax, qword [sym.vim.exe_cmdwin_type]
mov ebx, dword [rax]
test ebx, ebx
je 0x10043475e
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], r12
je 0x100438520
xor edx, edx
mov rcx, r12
call sym.vim.exe_compute_foldcolumn
mov ebx, eax
test eax, eax
jg 0x100436c58
mov rcx, r12
call sym.vim.exe_signcolumn_on
test eax, eax
jne 0x100437138
cmp qword [r12 + 0x460], 0
je 0x1004347c5
mov ebx, dword [rsp + 0x168]
add ebx, dword [rsp + 0x470]
cmp ebx, dword [rsp + 0xa8]
je 0x100437c60
mov rax, qword [sym.vim.exe_p_cpo]
mov edx, 0x6e
mov rcx, qword [rax]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100438fe4
mov r13d, dword [r12 + 0xf18]
test r13d, r13d
je 0x1004347e0
mov rcx, r12
call sym.vim.exe_get_showbreak_value
cmp byte [rax], 0
jne 0x100434819
nop
mov edi, dword [r12 + 0x3cc]
test edi, edi
je 0x100434819
mov eax, dword [rsp + 0xa8]
cmp eax, dword [rsp + 0x470]
jne 0x100438368
test byte [rsp + 0x14c], 1
jne 0x100438368
mov dword [rsp + 0x14c], 0
mov r9d, dword [rsp + 0x6c]
test r9d, r9d
jg 0x100436b5e
mov rcx, r12
call sym.vim.exe_get_showbreak_value
cmp byte [rax], 0
mov r13, rax
je 0x100434915
xor esi, esi
mov ecx, dword [rsp + 0x14c]
test ecx, ecx
je 0x10043490d
mov rcx, r13
mov qword [rsp + 0x238], r13
call sub.msys_2.0.dll_strlen
mov rbx, rax
mov esi, eax
mov eax, dword [r12 + 0xf4]
mov dword [rsp + 0x14c], eax
test eax, eax
je 0x10043488a
mov edx, dword [r12 + 0x4dc]
xor eax, eax
test edx, edx
setne al
mov dword [rsp + 0x14c], eax
mov rdi, qword [sym.vim.exe_has_mbyte]
movsxd rax, ebx
mov r15d, dword [rdi]
test r15d, r15d
jne 0x100439035
mov rdi, qword [rsp + 0x50]
movsxd rdx, dword [rsp + 0x208]
add rax, rdi
mov qword [rsp + 0x1b8], rax
mov rax, rdx
cmp rdx, rdi
jne 0x1004348c9
test esi, esi
jne 0x100436bd5
mov esi, dword [rsp + 0x114]
test esi, esi
je 0x100437ae0
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x238], rax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x98], eax
nop
mov ebp, dword [rsp + 0xa4]
test ebp, ebp
je 0x1004359a0
movsxd rax, dword [rsp + 0x11c]
mov rdi, qword [rsp + 0x50]
cmp rax, rdi
jg 0x1004359a0
movsxd rax, dword [rsp + 0x16c]
cmp rax, rdi
jle 0x1004359a0
mov rax, qword [sym.vim.exe_dollar_vcol]
mov edi, dword [rax]
test edi, edi
js 0x1004349dd
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], r12
je 0x100436590
mov r11d, dword [rsp + 0x488]
test r11d, r11d
je 0x1004349fd
cmp ebx, 4
jle 0x1004349fd
mov r10d, dword [rsp + 0x6c]
test r10d, r10d
jle 0x1004365c4
cmp ebx, 7
je 0x100435a00
mov eax, dword [rsp + 0xd0]
movzx edi, byte [rsp + 0x58]
xor eax, 1
and edi, eax
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x100434a38
mov edx, dword [rsp + 0x20c]
test edx, edx
jne 0x100436670
mov dword [rsp + 0x20c], eax
test esi, esi
jle 0x100435480
mov edx, dword [rsp + 0x90]
cmp esi, 1
mov ecx, dword [rsp + 0x98]
sete al
test edx, edx
setne dl
and eax, edx
test ecx, ecx
jne 0x100435c38
test al, al
jne 0x100435c40
mov rcx, qword [rsp + 0x238]
mov rax, qword [sym.vim.exe_has_mbyte]
movzx ebp, byte [rcx]
mov eax, dword [rax]
mov dword [rsp + 0x200], ebp
test eax, eax
jne 0x1004368b0
lea rax, [rcx + 1]
sub esi, 1
mov qword [rsp + 0x238], rax
mov r9d, dword [rsp + 0x80]
test r9d, r9d
setg al
and edi, eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
xor eax, eax
test esi, esi
cmovg eax, dword [rsp + 0xdc]
mov dword [rsp + 0xdc], eax
mov r9d, dword [rsp + 0xb4]
test r9d, r9d
jne 0x100434afa
cmp byte [rsp + 0x58], 0
je 0x100434afa
mov rbp, qword [sym.vim.exe_curwin]
cmp qword [rbp], r12
je 0x100436718
mov dword [rsp + 0xb4], 0
test dil, dil
jne 0x100435ce0
mov eax, dword [rsp + 0xb0]
test eax, eax
je 0x100434c00
mov eax, dword [r12 + 0x454]
test eax, eax
je 0x100434c00
mov eax, dword [r12 + 0x4dc]
test eax, eax
je 0x100436890
mov eax, dword [r12 + 0xf4]
test eax, eax
jle 0x100434c00
mov r15d, dword [rsp + 0xa8]
test r15d, r15d
jne 0x100434c00
mov ebp, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x200]
test ebp, ebp
setle al
cmp ebx, 4
setg dl
and al, dl
je 0x100434c00
test ecx, ecx
je 0x100434c1c
mov rdx, qword [sym.vim.exe_has_mbyte]
mov eax, dword [r12 + 0x90]
mov edi, dword [rdx]
mov dword [rsp + 0x200], eax
test edi, edi
je 0x100438de9
mov rax, qword [sym.vim.exe_mb_char2cells]
mov ecx, dword [rsp + 0x84]
call qword [rax]
cmp eax, 1
jg 0x100439a24
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
mov rax, qword [sym.vim.exe_enc_utf8]
mov r11d, dword [rax]
test r11d, r11d
jne 0x100438e03
mov dword [rsp + 0xb8], 0
mov r10d, dword [rsp + 0xd0]
mov dword [rsp + 0xb0], 0
test r10d, r10d
je 0x1004391da
nop word [rax + rax]
mov r9d, dword [rsp + 0x200]
test r9d, r9d
sete al
cmp dword [rsp + 0xe4], 1
je 0x100434c1c
test al, al
je 0x100434c3c
mov r8d, dword [rsp + 0x100]
test r8d, r8d
je 0x100435d08
mov edi, dword [rsp + 0x200]
test edi, edi
je 0x100435e55
mov edi, dword [rsp + 0x6c]
mov eax, dword [r12 + 0x8c]
test edi, edi
setle dil
cmp ebx, 7
jne 0x100434c5b
test eax, eax
jne 0x1004352d0
mov eax, dword [rsp + 0xc0]
test eax, eax
jne 0x100435ca0
lea eax, [rbx - 5]
cmp eax, 1
jbe 0x100435310
cmp byte [rsp + 0x58], 0
mov ebp, 0xffffffff
jne 0x100435310
mov r11d, dword [rsp + 0x8c]
cmp ebx, 6
setle dl
test r11d, r11d
setle al
cmp ebx, 4
setg r13b
mov r15d, r13d
and r15d, edi
or dl, al
je 0x100435340
mov rax, qword [sym.vim.exe_has_mbyte]
mov r10d, dword [rax]
mov qword [rsp + 0xc8], rax
test r10d, r10d
je 0x100434cf8
mov r9d, dword [r12 + 0x48c]
test r9d, r9d
je 0x100434cf8
mov rax, qword [sym.vim.exe_mb_char2cells]
mov ecx, dword [rsp + 0x84]
call qword [rax]
cmp eax, 1
jle 0x100434cf8
sub dword [rsp + 0x94], 1
sub dword [rsp + 0x68], 1
nop dword [rax]
mov rax, qword [sym.vim.exe_ScreenLines]
mov edx, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x200]
mov rax, qword [rax]
mov byte [rax + rdx], cl
mov rax, qword [sym.vim.exe_enc_dbcs]
cmp dword [rax], 0x26cc
je 0x100436630
mov rax, qword [sym.vim.exe_enc_utf8]
mov r8d, dword [rax]
test r8d, r8d
je 0x100434d62
mov rax, qword [sym.vim.exe_ScreenLinesUC]
lea r9, [rdx*4]
mov rcx, qword [rax]
add rcx, r9
mov rax, rcx
mov ecx, dword [rsp + 0xb8]
test ecx, ecx
jne 0x100437e40
mov dword [rax], 0
mov rax, qword [sym.vim.exe_ScreenAttrs]
mov ecx, dword [rsp + 0xe8]
mov rax, qword [rax]
test ecx, ecx
lea rdx, [rax + rdx*2]
mov eax, ecx
cmove ax, word [rsp + 0x20c]
mov word [rdx], ax
mov rax, qword [rsp + 0xc8]
mov r9d, dword [rax]
test r9d, r9d
je 0x1004359b0
mov rax, qword [sym.vim.exe_mb_char2cells]
mov ecx, dword [rsp + 0x84]
call qword [rax]
cmp eax, 1
jle 0x1004359b0
mov eax, dword [rsp + 0x94]
lea ecx, [rax + 1]
mov rax, qword [sym.vim.exe_ScreenLines]
mov rdx, rcx
add rcx, qword [rax]
mov rax, qword [sym.vim.exe_enc_utf8]
mov r8d, dword [rax]
xor eax, eax
test r8d, r8d
cmove eax, dword [rsp + 0x84]
cmp r15b, 1
mov byte [rcx], al
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rsp + 0x208]
sbb rax, 0xffffffffffffffff
mov r10, rax
mov qword [rsp + 0x50], rax
mov rax, rcx
cmp rcx, r10
jne 0x100434e13
add eax, 1
mov dword [rsp + 0x208], eax
mov eax, dword [r12 + 0x48c]
test eax, eax
jne 0x1004359ca
add dword [rsp + 0x68], 1
mov dword [rsp + 0x94], edx
mov eax, dword [rsp + 0x80]
add dword [rsp + 0x94], 1
mov dword [rsp + 0xe8], 0
add dword [rsp + 0x68], 1
test eax, eax
setg dl
xor eax, eax
and dl, byte [rsp + 0x58]
cmp r15b, 1
sbb qword [rsp + 0x50], 0xffffffffffffffff
test ebp, ebp
js 0x100434e6e
mov dword [rsp + 0x20c], ebp
mov ecx, dword [rsp + 0xd8]
test ecx, ecx
je 0x100434e97
test r13b, r13b
je 0x100434e97
mov ecx, dword [rsp + 0x188]
mov dword [rsp + 0xd8], 0
mov dword [rsp + 0x20c], ecx
test dl, dl
je 0x100434eb3
sub dword [rsp + 0x80], 1
jne 0x100434eb3
mov edx, dword [rsp + 0x158]
mov dword [rsp + 0x20c], edx
test eax, eax
je 0x100435390
mov r15d, dword [rsp + 0x68]
test r15d, r15d
jns 0x1004346f0
cmp ebx, 7
jne 0x1004353ab
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x1004353ab
mov r13d, dword [rsp + 0x6c]
test r13d, r13d
jle 0x100437bd0
mov eax, dword [rsp + 0x120]
mov ebx, dword [rsp + 0xc4]
mov edx, dword [r12 + 0x120]
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, dword [r12 + 0x124]
mov ecx, ebx
lea ebp, [rbx + 1]
sub r8d, dword [rsp + 0xe0]
call sym.vim.exe_screen_line
add dword [rsp + 0xa8], 1
cmp dword [rsp + 0xf8], 0xffffffff
je 0x100433e30
mov eax, dword [rsp + 0xa8]
cmp eax, dword [rsp + 0x478]
je 0x100433e16
mov rax, qword [sym.vim.exe_screen_cur_row]
mov ebx, dword [rsp + 0xc4]
cmp dword [rax], ebx
jne 0x100434f6c
test dil, dil
jne 0x100437928
mov rax, qword [sym.vim.exe_current_ScreenLine]
mov rdi, qword [sym.vim.exe_ScreenLines]
mov ebx, dword [r12 + 0x48c]
mov rax, qword [rax]
sub rax, qword [rdi]
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x68], ebx
test ebx, ebx
je 0x100434faf
mov ebx, dword [r12 + 0x124]
sub ebx, 1
add eax, ebx
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0x238]
mov edi, dword [rsp + 0xa4]
mov qword [rsp + 0x128], rax
test edi, edi
je 0x1004360f8
mov ebx, dword [rsp + 0xfc]
mov dword [rsp + 0x10c], 0
test ebx, ebx
jne 0x1004360f8
mov eax, dword [r12 + 0x90]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x6c]
test eax, eax
jle 0x100436538
sub eax, 1
mov dword [rsp + 0x6c], eax
jne 0x100438180
mov eax, dword [r12 + 0xe8]
mov dword [rsp + 0x6c], eax
test eax, eax
jne 0x100433e30
mov eax, dword [rsp + 0x90]
xor ebx, ebx
mov dword [rsp + 0x114], esi
xor esi, esi
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0xc4], ebp
mov dword [rsp + 0x130], eax
mov dword [rsp + 0x22c], 0
cmp ebx, 7
jne 0x100434704
jmp 0x100434960
movsxd rax, dword [r12 + 0xf0]
mov qword [rsp + 0x50], rax
jmp 0x100434157
cmp eax, 0xffffffff
je 0x100439cc6
mov dword [rsp + 0xfc], 0x1c
mov dword [rsp + 0x168], 0
mov dword [rsp + 0x110], 1
jmp 0x100433c65
cmp qword [r12 + 0xb8], 0
je 0x1004340ec
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax]
cmp dl, 9
jne 0x1004340b0
jmp 0x1004340b9
cmp qword [r12 + 0xb0], 0
jne 0x100434019
cmp qword [r12 + 0xb8], 0
jne 0x100434019
cmp qword [r12 + 0xa8], 0
jne 0x100434019
mov r9d, dword [r12 + 0x94]
mov eax, 1
test r9d, r9d
cmove eax, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], eax
jmp 0x100434024
mov dword [rsp + 0x1fc], 0
mov dword [rsp + 0x1f8], 0x7fffffff
jmp 0x100433fe6
mov rax, qword [rsp + 0x70]
sub rax, qword [rsp + 0x230]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x190], eax
jmp 0x1004340ec
lea rax, [rsp + 0x290]
mov dword [rsp + 0x198], 0xfffffffe
mov qword [rsp + 0x1c0], rax
jmp 0x1004343e9
mov rax, qword [r12 + 0x20]
mov rdx, qword [rax + 0x498]
cmp byte [rdx], 0
je 0x1004352b1
mov edx, dword [rax + 0x360]
test edx, edx
jle 0x1004352b1
mov rax, qword [rax + 0x370]
cmp qword [rax], 0
je 0x1004352b1
mov rcx, qword [r12 + 8]
mov byte [rsp + 0x376], 0
mov rax, qword [rsp + 0x468]
cmp qword [rcx], rax
jg 0x10043a660
mov rax, qword [rsp + 0x468]
cmp qword [0x100720f30], rax
mov dword [rsp + 0x1d4], 0
jne 0x100435213
mov eax, dword [0x100720f28]
mov dword [rsp + 0x1d4], eax
mov rax, qword [rsp + 0x468]
cmp qword [0x100720f20], rax
mov qword [0x100720f30], 0
je 0x100435239
mov dword [0x100685100], 0xffffffff
cmp qword [rsp + 0x468], 1
jne 0x10043524e
mov dword [0x100685100], 0
mov qword [0x100720f20], 0
mov ebx, 1
mov dword [rsp + 0xf0], 1
mov dword [rsp + 0x15c], 1
jmp 0x100433f48
mov rdx, qword [rsp + 0x468]
mov r8d, 0xffffffff
mov rcx, r12
call sym.vim.exe_term_get_attr
mov dword [rsp + 0x1d8], 1
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xf0], 1
jmp 0x100433f24
mov dword [rsp + 0x1d4], 0
xor ebx, ebx
mov dword [rsp + 0x15c], 0
jmp 0x100433f48
mov r11d, dword [r12 + 0x454]
test r11d, r11d
je 0x1004352f8
mov r10d, dword [r12 + 0x4dc]
test r10d, r10d
jne 0x1004352f8
test dil, dil
jne 0x100438c22
nop dword [rax + rax]
mov r11d, dword [rsp + 0xc0]
test r11d, r11d
jne 0x100435ca0
nop dword [rax]
mov eax, dword [rsp + 0xf4]
or eax, dword [rsp + 0x210]
or eax, dword [rsp + 0xbc]
jne 0x100435330
test dil, dil
jne 0x1004377d0
mov ebp, 0xffffffff
jmp 0x100434c86
sub dword [rsp + 0x8c], 1
cmp qword [r12 + 0x4f0], 0
jle 0x100435362
mov eax, dword [rsp + 0x108]
test eax, eax
jne 0x1004367c0
mov eax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
test eax, eax
mov qword [rsp + 0x50], rcx
mov eax, dword [r12 + 0x48c]
setg dl
and dl, byte [rsp + 0x58]
jmp 0x100434e59
mov eax, dword [rsp + 0x68]
cmp dword [r12 + 0x124], eax
jg 0x1004346f0
cmp ebx, 7
je 0x100434ed2
mov eax, dword [rsp + 0x120]
mov r15d, dword [rsp + 0xc4]
mov edx, dword [r12 + 0x120]
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, dword [r12 + 0x124]
mov ecx, r15d
lea ebp, [r15 + 1]
sub r8d, dword [rsp + 0xe0]
call sym.vim.exe_screen_line
mov r9d, dword [r12 + 0x4dc]
add dword [rsp + 0xa8], 1
test r9d, r9d
jne 0x100433db8
mov r8d, dword [rsp + 0x6c]
test r8d, r8d
jg 0x100434f2f
jmp 0x100433e30
test esi, esi
sete al
cmp ebx, 1
jne 0x10043542a
test al, al
jne 0x10043475e
cmp ebx, 2
jne 0x100435437
test al, al
jne 0x100434772
cmp ebx, 3
je 0x100436700
mov ebp, dword [r12 + 0xf18]
test ebp, ebp
jne 0x100436a88
cmp ebx, 4
jne 0x100436b3a
test esi, esi
je 0x1004347e0
mov byte [rsp + 0x58], 0
jmp 0x1004349c0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x100435492
mov rcx, rax
call sym.vim.exe_vim_free
mov rax, qword [rsp + 0x70]
movzx r13d, byte [rax]
mov dword [rsp + 0x200], r13d
movzx ecx, byte [rax]
mov dword [rsp + 0x60], ecx
mov rcx, qword [sym.vim.exe_has_mbyte]
mov r8d, dword [rcx]
mov qword [rsp + 0xc8], rcx
test r8d, r8d
jne 0x100436408
mov r15, rax
add rax, 1
xor ebp, ebp
mov qword [rsp + 0x70], rax
mov r10d, dword [rsp + 0xf0]
test r10d, r10d
jne 0x100436110
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x200]
mov qword [rsp + 0x78], rax
call sym.vim.exe_vim_isprintc
mov qword [rsp + 0x60], 0
test eax, eax
jne 0x100435670
mov edx, dword [rsp + 0x200]
cmp edx, 9
je 0x1004371f0
test edx, edx
jne 0x100437ec0
mov eax, dword [r12 + 0x454]
test eax, eax
jne 0x1004355a0
mov edx, dword [rsp + 0x198]
and edx, dword [rsp + 0x204]
js 0x100435808
movsxd rdx, dword [rsp + 0x208]
cmp rdx, qword [rsp + 0x50]
jle 0x100435808
mov rdx, qword [sym.vim.exe_VIsual_mode]
cmp dword [rdx], 0x16
je 0x100438e4d
mov r11d, dword [r12 + 0x48c]
test r11d, r11d
je 0x1004357ef
mov r10d, dword [rsp + 0x68]
test r10d, r10d
js 0x100435808
mov r9d, dword [rsp + 0x1b4]
test r9d, r9d
jne 0x100439ea5
nop word cs:[rax + rax]
mov r8d, dword [rsp + 0xf8]
test r8d, r8d
jle 0x100435808
mov edx, dword [rsp + 0x88]
or edx, dword [rsp + 0xfc]
jne 0x1004355fa
mov ecx, dword [rsp + 0x110]
test ecx, ecx
jne 0x100439d98
mov dword [rsp + 0x90], 0
lea rsi, [0x1006afe6f]
mov dword [rsp + 0x98], 0
mov qword [rsp + 0x238], rsi
mov esi, 1
mov dword [rsp + 0x84], 0x20
test eax, eax
je 0x100435622
mov edx, dword [r12 + 0x88]
mov eax, 0x20
test edx, edx
cmovg eax, edx
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x84]
mov edx, dword [rsp + 0xd0]
mov dword [rsp + 0x200], eax
test edx, edx
je 0x10043969a
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x100439646
mov qword [rsp + 0x70], r15
mov dword [rsp + 0xf8], 0xffffffff
mov qword [rsp + 0x60], 0
cmp qword [r12 + 0x4f0], 0
jle 0x100435960
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], r12
je 0x1004371c0
test dword [rsp + 0x174], 0x20000
jne 0x100436940
mov eax, dword [rsp + 0x22c]
test eax, eax
jle 0x100435960
mov r9d, dword [rsp + 0xf4]
test r9d, r9d
jne 0x100438904
mov edx, dword [rsp + 0x194]
mov dword [rsp + 0x20c], edx
cmp eax, 1
jle 0x100436981
call sym.vim.exe_syn_get_sub_char
test eax, eax
je 0x100437a70
cmp qword [r12 + 0x4f0], 3
je 0x100436981
mov r13d, dword [rsp + 0x22c]
test r13d, r13d
je 0x100435712
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x84], eax
test eax, eax
jne 0x100435738
call sym.vim.exe_syn_get_sub_char
test eax, eax
jne 0x1004384a7
mov edi, dword [r12 + 0xc0]
mov eax, 0x20
test edi, edi
cmovne eax, edi
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x84]
mov edi, dword [rsp + 0x8c]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x228]
mov dword [rsp + 0x148], eax
movsxd rax, esi
add qword [rsp + 0x78], rax
test edi, edi
setg al
and ebp, eax
test esi, esi
jle 0x100438758
mov eax, dword [r12 + 0x4dc]
add dword [rsp + 0xec], esi
mov dword [rsp + 0x80], eax
test eax, eax
je 0x100438b9d
mov eax, dword [r12 + 0x48c]
mov dword [rsp + 0x80], eax
test eax, eax
je 0x1004396d5
mov dword [rsp + 0x80], 0
xor edi, edi
sub dword [rsp + 0x68], esi
sub dword [rsp + 0xe0], esi
xor esi, esi
nop dword [rax]
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x100437b60
cmp bpl, 1
sbb qword [rsp + 0x70], 0xffffffffffffffff
jmp 0x100434aca
mov ecx, dword [rsp + 0x68]
cmp ecx, dword [r12 + 0x124]
jl 0x100435585
nop dword [rax]
mov rax, qword [sym.vim.exe_VIsual_active]
mov eax, dword [rax]
test eax, eax
je 0x100435830
mov rax, qword [sym.vim.exe_VIsual_mode]
mov eax, dword [rax]
cmp eax, 0x16
je 0x100438e60
cmp eax, 0x76
je 0x100438e60
mov edx, dword [rsp + 0x88]
mov eax, dword [rsp + 0xa0]
test edx, edx
setne r13b
or eax, dword [rsp + 0xfc]
or eax, edx
je 0x10043593d
mov r11d, dword [r12 + 0x48c]
test r11d, r11d
je 0x100438450
mov eax, dword [rsp + 0x68]
not eax
shr eax, 0x1f
test al, al
je 0x100435948
add dword [rsp + 0xe4], 1
mov dword [rsp + 0x200], 0x20
test r13b, r13b
je 0x1004358a1
mov eax, dword [rsp + 0x210]
cmp dword [rsp + 0x20c], eax
je 0x100439b41
cmp dword [rsp + 0xfc], 0x1f
je 0x10043913c
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x100438beb
mov dword [rsp + 0x20c], eax
mov eax, dword [r12 + 0x4a8]
test eax, eax
je 0x1004358e4
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x10043a316
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x60], 0
test r13b, r13b
je 0x100435670
mov edx, dword [rsp + 0x88]
mov ecx, dword [rsp + 0xa0]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
jmp 0x100435670
mov edx, dword [rsp + 0x88]
mov eax, dword [rsp + 0xa0]
test edx, edx
setne r13b
or eax, dword [rsp + 0xfc]
or eax, edx
jne 0x100435864
mov dword [rsp + 0xfc], 0
cmp qword [r12 + 0x4f0], 0
mov qword [rsp + 0x60], 0
jg 0x10043567f
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x108], 0
mov dword [rsp + 0x148], 0
test eax, eax
setg al
and ebp, eax
mov eax, dword [rsp + 0x80]
test eax, eax
setg al
and edi, eax
jmp 0x1004357e0
mov byte [rsp + 0x58], 1
mov ebx, 7
jmp 0x1004349c0
mov eax, dword [r12 + 0x48c]
test eax, eax
je 0x100436620
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rdx
mov edx, dword [rsp + 0x80]
sub dword [rsp + 0x68], 1
sub dword [rsp + 0x94], 1
mov dword [rsp + 0xe8], 0
test edx, edx
setg dl
and dl, byte [rsp + 0x58]
jmp 0x100434e59
mov eax, dword [rsp + 0x110]
or eax, dword [rsp + 0xf0]
je 0x100434a06
test esi, esi
movsxd rax, dword [rsp + 0x204]
sete byte [rsp + 0xc8]
cmp rax, qword [rsp + 0x50]
je 0x100437870
mov rdx, qword [sym.vim.exe_has_mbyte]
mov r8d, dword [rdx]
test r8d, r8d
je 0x100435a5c
mov rdi, qword [rsp + 0x50]
lea rdx, [rdi + 1]
cmp rdx, rax
jne 0x100435a5c
cmp byte [rsp + 0xc8], 0
jne 0x100439483
mov rax, qword [rsp + 0x78]
cmp qword [rsp + 0x50], rax
jle 0x100435a75
cmp dword [rsp + 0x198], eax
je 0x100437857
mov edi, dword [rsp + 0xbc]
test edi, edi
je 0x100435ac0
movsxd rax, dword [rsp + 0x208]
mov rdx, qword [rsp + 0x50]
cmp rax, rdx
je 0x100438cf0
mov ecx, dword [rsp + 0x1b4]
test ecx, ecx
je 0x100435ac0
cmp dword [r12 + 0x2f0], edx
mov eax, 0
cmovne eax, edi
mov dword [rsp + 0xbc], eax
nop dword [rax + rax]
test esi, esi
je 0x100437886
mov eax, dword [rsp + 0xfc]
test eax, eax
je 0x100435b20
cmp eax, 0x1d
je 0x100438578
mov eax, dword [rsp + 0xfc]
cmp eax, 0x1f
je 0x100438720
mov rdi, qword [sym.vim.exe_highlight_attr]
cdqe
mov edx, dword [r12 + 0x4a8]
mov eax, dword [rdi + rax*4]
mov dword [rsp + 0x88], eax
test edx, edx
je 0x100435b20
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x100438ed0
nop
cmp qword [rsp + 0x138], 0
jne 0x100436d90
mov eax, dword [rsp + 0xf0]
test eax, eax
je 0x100435b48
cmp byte [rsp + 0xc8], 0
jne 0x100437fb0
cmp qword [rsp + 0x160], 0
je 0x100435b72
mov r11d, dword [rsp + 0x180]
test r11d, r11d
jne 0x1004381c0
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0x118], eax
mov r10d, dword [rsp + 0xbc]
test r10d, r10d
jne 0x100437b08
mov eax, dword [rsp + 0x210]
mov dword [rsp + 0xd0], eax
test eax, eax
jne 0x100438200
mov r8d, dword [rsp + 0x88]
test r8d, r8d
je 0x100435c10
movsxd rax, dword [rsp + 0x204]
cmp eax, 0xfffffff6
je 0x100439005
mov rdi, qword [rsp + 0x50]
cmp rax, rdi
jg 0x100435be0
movsxd rax, dword [rsp + 0x198]
cmp rax, qword [rsp + 0x78]
jg 0x100435be0
movsxd rax, dword [rsp + 0x208]
cmp rax, rdi
jg 0x100435c10
nop dword [rax]
mov edx, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x118]
call sym.vim.exe_hl_combine_attr
movzx edi, byte [rsp + 0x58]
mov dword [rsp + 0xbc], 0
mov dword [rsp + 0x20c], eax
jmp 0x100434a17
mov eax, dword [rsp + 0x118]
movzx edi, byte [rsp + 0x58]
mov dword [rsp + 0xbc], 0
mov dword [rsp + 0x20c], eax
jmp 0x100434a17
test al, al
je 0x100436c20
mov rax, qword [sym.vim.exe_enc_utf8]
mov ecx, dword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0x200], ecx
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x100436d10
mov r10d, dword [rsp + 0x80]
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0xdc], 0
test r10d, r10d
setg al
xor esi, esi
and edi, eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
jmp 0x100434aca
mov r8d, dword [rsp + 0x78]
sub r8d, dword [rsp + 0xec]
jmp 0x100435cb8
test al, al
je 0x100435cc9
add r14, 4
mov edx, dword [r14]
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, eax
cmp r8d, edx
jg 0x100435cb0
movzx eax, cl
mov dword [rsp + 0xc0], eax
jmp 0x100434c6a
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x100436d70
mov eax, dword [rsp + 0x154]
mov dword [rsp + 0x20c], eax
jmp 0x100434b03
mov r8, qword [rsp + 0x70]
movzx eax, al
mov rdx, qword [sym.vim.exe_screen_search_hl]
mov rcx, r12
sub r8, qword [rsp + 0x230]
sub r8, rax
call sym.vim.exe_get_prevcol_hl_flag
mov edi, dword [rsp + 0xf8]
cmp dword [r12 + 0x88], edi
jne 0x100434c2d
mov ecx, dword [rsp + 0xbc]
test ecx, ecx
je 0x100435d5d
movsxd rdx, dword [rsp + 0x204]
cmp rdx, qword [rsp + 0x78]
je 0x100439044
test eax, eax
je 0x100438340
mov eax, dword [r12 + 0x4a8]
test eax, eax
je 0x100435d84
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x10043831f
mov eax, dword [rsp + 0xfc]
test eax, eax
jne 0x100434c2d
cmp dword [rsp + 0xe4], 1
jg 0x100434c2d
mov eax, dword [r12 + 0x48c]
test eax, eax
je 0x100439215
mov eax, dword [rsp + 0x68]
test eax, eax
js 0x10043a05f
mov rax, qword [sym.vim.exe_ScreenLines]
mov edi, dword [rsp + 0x94]
mov rax, qword [rax]
mov byte [rax + rdi], 0x20
mov rax, qword [sym.vim.exe_enc_utf8]
mov r15d, dword [rax]
test r15d, r15d
je 0x100435df2
mov rax, qword [sym.vim.exe_ScreenLinesUC]
mov rax, qword [rax]
mov dword [rax + rdi*4], 0
mov r13d, dword [rsp + 0xbc]
test r13d, r13d
je 0x1004399fb
mov rax, qword [sym.vim.exe_ScreenAttrs]
mov edx, dword [rsp + 0x20c]
mov ebp, dword [r12 + 0x48c]
mov rax, qword [rax]
mov word [rax + rdi*2], dx
test ebp, ebp
je 0x10043926d
sub dword [rsp + 0x68], 1
sub dword [rsp + 0x94], 1
mov edi, dword [rsp + 0x200]
add qword [rsp + 0x78], 1
mov dword [rsp + 0x100], 1
test edi, edi
jne 0x100434c3c
mov esi, dword [r12 + 0x4dc]
test esi, esi
je 0x10043927f
movsxd rsi, dword [r12 + 0xf4]
movsxd rbx, dword [rsp + 0x68]
mov rcx, r12
call sym.vim.exe_win_col_off
add rbx, rsi
cdqe
mov rdx, rbx
sub rdx, rax
cmp rdx, qword [rsp + 0x78]
jg 0x1004399e4
mov ebx, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0x68]
sub r8d, dword [rsp + 0xe0]
test ebx, ebx
je 0x100435ee3
mov r9d, dword [rsp + 0x78]
sub r9d, dword [rsp + 0xec]
jmp 0x100435ec8
test al, al
je 0x100435ed9
add r14, 4
mov edx, dword [r14]
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, eax
cmp r9d, edx
jg 0x100435ec0
movzx eax, cl
mov dword [rsp + 0xc0], eax
mov eax, dword [r12 + 0x4a4]
mov r9d, dword [r12 + 0x124]
test eax, eax
je 0x100438ad2
movsxd r11, dword [rsp + 0xec]
mov rdx, qword [rsp + 0x78]
movsxd rcx, dword [r12 + 0x2f0]
sub rdx, r11
movsxd r11, dword [rsp + 0x100]
mov r10, rcx
sub rdx, r11
cmp rcx, rdx
jl 0x100438ad2
mov edx, dword [rsp + 0xa8]
sub edx, dword [rsp + 0x470]
movsxd r11, r9d
add edx, 1
movsxd rdx, edx
imul rdx, r11
add rdx, rsi
cmp rcx, rdx
jge 0x100438ad2
mov rsi, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rsi
je 0x100438ad2
mov r11d, dword [r12 + 0x48c]
test r11d, r11d
jne 0x100438b08
mov eax, r10d
mov r10d, dword [rsp + 0xc0]
test r10d, r10d
jne 0x100439ed6
cmp r8d, r9d
jge 0x100438b08
mov ecx, dword [rsp + 0xa0]
mov rsi, qword [rsp + 0x78]
movsxd r13, eax
mov ebx, dword [rsp + 0x94]
movsxd rax, dword [rsp + 0xec]
test ecx, ecx
mov r10, rsi
mov ecx, esi
mov rbp, qword [sym.vim.exe_enc_utf8]
sete byte [rsp + 0x50]
sub r10, rax
sub ecx, eax
add ebx, 1
mov rdi, qword [sym.vim.exe_ScreenAttrs]
mov r15, qword [sym.vim.exe_ScreenLinesUC]
mov eax, dword [rsp + 0xc0]
jmp 0x10043603c
test esi, esi
je 0x100435fff
movsxd rdx, dword [r12 + 0x2f0]
xor esi, esi
cmp rdx, r10
je 0x100439191
mov rax, qword [rdi]
movzx edx, word [rsp + 0xa0]
mov word [rax + r11*2], dx
mov eax, esi
mov r9d, dword [r12 + 0x124]
cmp r10, r13
jl 0x100436029
cmp byte [rsp + 0x50], 0
jne 0x100438b08
add ebx, 1
add r10, 1
add ecx, 1
cmp r8d, r9d
jge 0x100438b08
mov rsi, qword [sym.vim.exe_ScreenLines]
lea r11d, [rbx - 1]
mov rdx, qword [rsi]
mov byte [rdx + r11], 0x20
mov edx, dword [rbp]
test edx, edx
je 0x100436061
mov rdx, qword [r15]
mov dword [rdx + r11*4], 0
mov esi, dword [r12 + 0x4a4]
add r8d, 1
test eax, eax
je 0x100435fe8
mov edx, dword [r14]
mov eax, edx
not eax
shr eax, 0x1f
mov r9d, eax
cmp ecx, edx
jg 0x1004360a6
jmp 0x1004360aa
mov edx, dword [r14 + 4]
add r14, 4
mov eax, edx
not eax
shr eax, 0x1f
mov r9d, eax
cmp edx, ecx
jge 0x1004360aa
test al, al
jne 0x100436090
movzx eax, r9b
test esi, esi
je 0x1004360c3
movsxd r9, dword [r12 + 0x2f0]
cmp r9, r10
je 0x100439191
test edx, edx
js 0x10043a6d5
movsxd rdx, dword [r14]
mov esi, eax
cmp rdx, r10
jne 0x100435fff
mov rsi, qword [sym.vim.exe_highlight_attr]
mov rdx, qword [rdi]
mov r9d, dword [rsi + 0xbc]
mov word [rdx + r11*2], r9w
jmp 0x100436011
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x10c], eax
jmp 0x100434fe8
mov r9d, dword [rsp + 0x15c]
mov rdx, qword [rsp + 0x230]
test r9d, r9d
je 0x100436320
mov r13, qword [rsp + 0x70]
movsxd rax, dword [rsp + 0x1a8]
sub r13, rdx
cmp rax, r13
jg 0x100436320
movsxd rax, dword [rsp + 0x1d4]
cmp rax, r13
jge 0x100436320
mov ecx, dword [rsp + 0x200]
mov dword [rsp + 0x140], 0
mov eax, ecx
test ecx, ecx
je 0x100436345
mov r8d, dword [rsp + 0x1a0]
test r8d, r8d
je 0x100436195
mov r10d, dword [rsp + 0x214]
mov dword [rsp + 0x140], r10d
test r10d, r10d
je 0x100436345
mov rax, qword [rsp + 0xc8]
mov r10, r15
mov dword [rsp + 0x290], 0x33
mov eax, dword [rax]
test eax, eax
je 0x1004361c9
movsxd rax, dword [rsp + 0xd4]
mov r10, qword [rsp + 0x70]
sub r10, rax
lea eax, [rax - 1]
cdqe
sub r13, rax
mov rax, r10
movsxd rcx, dword [rsp + 0x1f8]
sub rax, rdx
mov rdx, r10
cmp rax, rcx
jl 0x1004361ed
mov rdx, rax
sub rdx, rcx
lea rdx, [rsp + rdx + 0x2e0]
sub dword [0x100685100], eax
mov eax, dword [rsp + 0x480]
mov rcx, r12
lea r9, [0x100685100]
mov r8, qword [rsp + 0x1c0]
mov qword [rsp + 0x140], r10
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x78], rdx
call sym.vim.exe_spell_check
mov rdx, qword [rsp + 0x78]
mov r10, qword [rsp + 0x140]
mov ecx, eax
lea eax, [rax + r13]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x290]
cmp eax, 0x33
je 0x1004362a8
mov r8, qword [sym.vim.exe_State]
test byte [r8], 0x10
je 0x10043638f
mov r11, qword [rsp + 0x468]
cmp qword [r12 + 0x38], r11
jne 0x10043638f
mov r8d, dword [r12 + 0x40]
mov r9, r10
sub r9, qword [rsp + 0x230]
cmp r8d, r9d
jl 0x10043638f
cmp r8d, dword [rsp + 0x1a8]
jge 0x10043638f
mov rax, qword [sym.vim.exe_spell_redraw_lnum]
mov dword [rsp + 0x290], 0x33
mov qword [rax], r11
mov eax, dword [0x100685100]
cmp r10, rdx
je 0x10043a5bf
lea r8, [rsp + 0x2e0]
movsxd r9, ecx
sub rdx, r8
movsxd r8, dword [rsp + 0x1fc]
add r9, rdx
cmp r9, r8
jle 0x1004362f3
mov r9, qword [rsp + 0x468]
sub ecx, r8d
add ecx, edx
add r9, 1
mov dword [0x100720f28], ecx
mov qword [0x100720f30], r9
mov dword [rsp + 0x140], 0
test eax, eax
jg 0x1004363ca
jmp 0x100436331
mov rdx, r10
sub rdx, qword [rsp + 0x230]
add eax, edx
mov dword [0x100685100], eax
nop dword [rax + rax]
mov r11d, dword [rsp + 0x140]
test r11d, r11d
jne 0x100436be0
mov ecx, dword [rsp + 0x200]
mov dword [rsp + 0x140], 0
mov eax, ecx
mov r9d, dword [r12 + 0x450]
test r9d, r9d
je 0x10043635c
cmp dword [rsp + 0x60], ecx
je 0x100438230
mov edx, dword [r12 + 0x454]
cmp eax, 0x20
je 0x1004373f0
test edx, edx
jne 0x100437710
mov dword [rsp + 0x170], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
jmp 0x1004354f5
mov rcx, qword [sym.vim.exe_highlight_attr]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x140], eax
mov eax, dword [0x100685100]
test eax, eax
jle 0x100436320
cmp r10, rdx
je 0x100436308
lea rcx, [rsp + 0x2e0]
movsxd r8, dword [rsp + 0x1fc]
sub rdx, rcx
movsxd rcx, eax
add rcx, rdx
cmp rcx, r8
jl 0x100436308
mov rcx, qword [rsp + 0x468]
add edx, eax
mov eax, edx
sub eax, dword [rsp + 0x1fc]
add rcx, 1
mov dword [0x100685100], eax
mov qword [0x100720f20], rcx
jmp 0x100436320
mov rax, qword [sym.vim.exe_enc_utf8]
mov ecx, dword [rax]
test ecx, ecx
jne 0x100437630
mov rdx, qword [sym.vim.exe_mb_bytelen_tab]
movsxd rax, r13d
mov dword [rsp + 0x84], r13d
movsx eax, byte [rdx + rax]
mov dword [rsp + 0xd4], eax
test eax, eax
je 0x100437620
cmp eax, 1
jle 0x100436468
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 1]
cmp al, 0x1f
jbe 0x100438a16
mov edx, r13d
shl edx, 8
add eax, edx
mov dword [rsp + 0x84], eax
nop dword [rax + rax]
mov r13d, dword [r12 + 0x48c]
test r13d, r13d
je 0x100436ab0
mov ebp, dword [rsp + 0x68]
test ebp, ebp
jle 0x100436ac5
mov r15, qword [rsp + 0x70]
cmp byte [r15], 0
je 0x10043649d
movsxd rax, dword [rsp + 0xd4]
lea r15, [r15 + rax - 1]
cmp dword [rsp + 0xd4], 1
mov r11d, dword [rsp + 0x8c]
lea rcx, [r15 + 1]
setg al
test esi, esi
mov qword [rsp + 0x70], rcx
sete dl
and eax, edx
test r11d, r11d
setg dl
and al, dl
mov ebp, eax
je 0x1004354d3
mov eax, dword [rsp + 0xbc]
or eax, dword [rsp + 0x210]
mov dword [rsp + 0x200], 0x20
mov dword [rsp + 0x84], 0x20
je 0x100439703
mov dword [rsp + 0x90], 0
xor ebp, ebp
mov esi, 1
mov dword [rsp + 0x98], 0x3c
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xd4], 1
jmp 0x1004354d3
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x114], esi
xor ebx, ebx
xor esi, esi
sub dword [rsp + 0x6c], 1
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0xc4], ebp
mov dword [rsp + 0x130], eax
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x14c], 1
jmp 0x1004346f0
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
jne 0x1004349dd
movsxd rax, dword [r12 + 0x2f0]
cmp rax, qword [rsp + 0x50]
jg 0x1004349dd
mov r10d, dword [rsp + 0x6c]
test r10d, r10d
jg 0x1004349fd
mov eax, dword [rsp + 0x120]
mov edx, dword [r12 + 0x120]
mov r8d, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0x20], eax
mov r9d, dword [r12 + 0x124]
neg r9d
call sym.vim.exe_screen_line
mov r9d, dword [r12 + 0x4a4]
test r9d, r9d
je 0x100439c6b
mov eax, dword [r12 + 0x2e4]
add eax, dword [r12 + 0x2ec]
mov dword [rsp + 0xa8], eax
jmp 0x100433e30
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
jmp 0x100434e2f
mov eax, dword [rsp + 0x84]
and eax, 0xff00
cmp eax, 0x8e00
jne 0x100436651
mov rax, qword [sym.vim.exe_ScreenLines]
mov rax, qword [rax]
mov byte [rax + rdx], 0x8e
mov rax, qword [sym.vim.exe_ScreenLines2]
movzx ecx, byte [rsp + 0x84]
mov rax, qword [rax]
mov byte [rax + rdx], cl
jmp 0x100434d62
mov ecx, dword [rsp + 0xa0]
call sym.vim.exe_hl_combine_attr
jmp 0x100434a31
mov rcx, qword [rsp + 0x2c0]
test rcx, rcx
je 0x10043719b
mov eax, dword [rsp + 0x2b0]
mov dword [rsp + 0x90], eax
test eax, eax
je 0x1004371a6
mov qword [rsp + 0x238], rcx
call sub.msys_2.0.dll_strlen
mov edi, dword [r12 + 0x4a8]
mov esi, eax
test edi, edi
je 0x1004366d6
mov rax, qword [r12 + 0x38]
cmp qword [rsp + 0x468], rax
je 0x10043a6b2
mov eax, dword [rsp + 0x2c8]
mov dword [rsp + 0x20c], eax
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
nop word [rax + rax]
test esi, esi
je 0x100434782
mov ebx, 3
jmp 0x100435470
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
jne 0x100434aef
mov rcx, r12
call sym.vim.exe_conceal_cursor_line
test eax, eax
je 0x100434aef
movsxd rdx, dword [r12 + 0x2f0]
movsxd rax, dword [rsp + 0x8c]
add rax, qword [rsp + 0x78]
cmp rdx, rax
jg 0x100434aef
mov edx, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xe0]
mov r8d, dword [r12 + 0x48c]
mov eax, edx
sub eax, ecx
test r8d, r8d
je 0x100436783
mov eax, dword [r12 + 0x124]
sub eax, edx
lea eax, [rcx + rax - 1]
mov dword [r12 + 0x2f8], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0xb4], 1
mov dword [r12 + 0x2f4], eax
mov rax, qword [rbp]
or dword [rax + 0x2cc], 7
and dword [rax + 0x2c8], 0xfffffffc
jmp 0x100434afa
add dword [rsp + 0xec], 1
mov ecx, dword [r12 + 0x4dc]
mov eax, dword [rsp + 0xec]
test esi, esi
jle 0x100437ab0
add eax, esi
movsxd r8, esi
add r8, qword [rsp + 0x78]
mov dword [rsp + 0xec], eax
mov eax, dword [r12 + 0x48c]
mov qword [rsp + 0x50], r8
test ecx, ecx
je 0x1004380d8
mov rcx, qword [sym.vim.exe_has_mbyte]
mov ecx, dword [rcx]
mov dword [rsp + 0x80], ecx
test eax, eax
je 0x1004389f5
sub dword [rsp + 0x68], esi
sub dword [rsp + 0xe0], esi
xor esi, esi
test ecx, ecx
je 0x100436878
mov dword [rsp + 0x80], 0
mov rax, qword [sym.vim.exe_mb_char2cells]
mov byte [rsp + 0x58], dl
mov ecx, dword [rsp + 0x84]
call qword [rax]
movzx edx, byte [rsp + 0x58]
cmp eax, 1
jle 0x1004384f3
mov eax, dword [r12 + 0x48c]
test eax, eax
je 0x1004391ac
sub dword [rsp + 0xe0], 1
sub dword [rsp + 0x68], 1
sub dword [rsp + 0xe0], 1
sub dword [rsp + 0x68], 1
jmp 0x100434e59
mov r13d, dword [r12 + 0xf0]
test r13d, r13d
jle 0x100434c00
jmp 0x100434b53
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
test eax, eax
jne 0x100438120
mov rdx, qword [sym.vim.exe_mb_bytelen_tab]
movsxd rax, ebp
movsx eax, byte [rdx + rax]
mov dword [rsp + 0xd4], eax
cmp eax, esi
jge 0x1004369d1
cmp eax, 1
jle 0x1004369c0
movzx eax, byte [rcx + 1]
shl ebp, 8
add ebp, eax
mov r13d, dword [r12 + 0x48c]
test r13d, r13d
je 0x1004369ed
nop dword [rax]
mov r11d, dword [rsp + 0x68]
test r11d, r11d
jle 0x100436a02
movsxd rax, dword [rsp + 0xd4]
mov dword [rsp + 0x84], ebp
mov rdx, rax
add rax, qword [rsp + 0x238]
sub esi, edx
jmp 0x100434a95
mov eax, dword [rsp + 0xf4]
test eax, eax
jne 0x1004381e0
mov eax, dword [rsp + 0x194]
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0x148]
cmp dword [rsp + 0x228], eax
jne 0x1004356d7
mov eax, dword [rsp + 0x22c]
cmp eax, 1
jg 0x1004356d7
mov r10d, dword [rsp + 0x80]
mov r11d, dword [rsp + 0x8c]
test r10d, r10d
setg al
and edi, eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
test r11d, r11d
je 0x100437bb0
setg al
and ebp, eax
jmp 0x1004357c8
mov r15d, dword [rsp + 0xd4]
test r15d, r15d
jne 0x1004368f0
mov r13d, dword [r12 + 0x48c]
mov dword [rsp + 0xd4], 1
test r13d, r13d
jne 0x100436908
mov eax, dword [r12 + 0x124]
sub eax, 1
cmp dword [rsp + 0x68], eax
jl 0x100436916
mov rax, qword [sym.vim.exe_mb_char2cells]
mov ecx, ebp
call qword [rax]
cmp eax, 2
jne 0x100436916
mov rax, qword [sym.vim.exe_highlight_attr]
mov r10d, dword [rsp + 0xac]
mov dword [rsp + 0x200], 0x3e
mov r8d, dword [rax + 8]
test r10d, r10d
jne 0x100439a7a
mov ecx, dword [rsp + 0xa0]
mov edx, r8d
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x238]
mov dword [rsp + 0x84], 0x3e
mov dword [rsp + 0xd4], 1
jmp 0x100434a95
cmp ebx, 4
je 0x100437128
cmp ebx, 6
jne 0x10043a9b4
test esi, esi
je 0x1004347e0
jmp 0x100435470
mov eax, dword [r12 + 0x124]
sub eax, 1
cmp dword [rsp + 0x68], eax
jl 0x100436485
mov rax, qword [sym.vim.exe_mb_char2cells]
mov ecx, dword [rsp + 0x84]
call qword [rax]
cmp eax, 2
jne 0x100436485
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov ebp, 1
mov dword [rsp + 0x200], 0x3e
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x84], 0x3e
mov dword [rsp + 0xd4], 1
lea r15, [rax - 1]
jmp 0x1004354d3
cmp ebx, 5
jne 0x1004385b0
mov ebx, 5
test esi, esi
jne 0x100435470
mov r9d, dword [rsp + 0x6c]
test r9d, r9d
jle 0x100434827
mov rbx, qword [sym.vim.exe_fill_diff]
mov ecx, dword [rbx]
call sym.vim.exe_char2cells
mov dword [rsp + 0x98], 0x2d
cmp eax, 1
jg 0x100436b85
mov eax, dword [rbx]
mov dword [rsp + 0x98], eax
mov r8d, dword [r12 + 0x48c]
test r8d, r8d
je 0x100438350
mov eax, dword [rsp + 0x68]
lea esi, [rax + 1]
mov rax, qword [sym.vim.exe_highlight_attr]
mov rcx, r12
mov eax, dword [rax + 0x78]
mov dword [rsp + 0x20c], eax
call sym.vim.exe_get_showbreak_value
mov dword [rsp + 0x90], 0
cmp byte [rax], 0
mov r13, rax
jne 0x10043483d
test esi, esi
je 0x100434915
mov ebx, 6
jmp 0x100435470
mov r10d, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0x20c]
test r10d, r10d
jne 0x100437da0
mov edx, dword [rsp + 0x140]
call sym.vim.exe_hl_combine_attr
mov ecx, dword [rsp + 0x200]
mov dword [rsp + 0x20c], eax
mov eax, ecx
jmp 0x100436345
mov rax, qword [sym.vim.exe_enc_utf8]
mov edx, dword [rsp + 0x98]
mov eax, dword [rax]
mov dword [rsp + 0x200], edx
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x1004384c0
mov dword [rsp + 0x84], edx
sub esi, 1
jmp 0x100434a9d
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
lea eax, [rbx + rbx*2]
lea ecx, [rax + rax + 1]
movsxd rcx, ecx
call sym.vim.exe_alloc
mov qword [rsp + 0x60], rax
mov rdi, rax
test rax, rax
je 0x100434772
mov r9, qword [rsp + 0x468]
xor r8d, r8d
mov rdx, r12
mov rcx, rax
call sym.vim.exe_fill_foldcolumn
mov rbx, rax
mov esi, eax
cdqe
mov byte [rdi + rax], 0
mov r15d, dword [r12 + 0x4a8]
mov qword [rsp + 0x238], rdi
test r15d, r15d
je 0x100436ccb
mov rax, qword [r12 + 0x38]
cmp qword [rsp + 0x468], rax
je 0x10043974c
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0x18c]
mov edx, dword [rax + 0x6c]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
test ebx, ebx
je 0x100434772
mov ebx, 2
jmp 0x100435470
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x84], eax
mov ecx, dword [rsp + 0x84]
sub esi, 1
call sym.vim.exe_utf_char2len
mov dword [rsp + 0xb8], 0
cmp eax, 1
jle 0x100434a9d
mov dword [rsp + 0x270], 0
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0xb8], 1
jmp 0x100434a9d
mov edx, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x154]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
jmp 0x100434b03
mov rax, qword [rsp + 0x70]
sub rax, qword [rsp + 0x230]
test esi, esi
setg byte [rsp + 0xd0]
mov r13d, eax
movzx edi, byte [rsp + 0xd0]
test byte [rsp + 0xdc], 1
jne 0x100436dc6
sub eax, 1
test dil, dil
cmovne r13d, eax
mov eax, dword [rsp + 0x150]
test eax, eax
je 0x100436ebf
mov dword [rsp + 0x160], ebx
xor r15d, r15d
xor edi, edi
mov ebx, eax
movzx ebp, byte [rsp + 0xdc]
mov qword [rsp + 0x180], r14
mov dword [rsp + 0x1b0], esi
mov r14, qword [rsp + 0x178]
mov qword [rsp + 0x460], r12
mov rsi, qword [rsp + 0x138]
mov r12d, r13d
and ebp, 1
mov r13d, dword [rsp + 0x118]
jmp 0x100436e5d
cmp ebx, r11d
jle 0x100436e44
mov r8d, ebx
lea rdx, [r14 + rax + 4]
sub r8d, r11d
movsxd r8, r8d
shl r8, 2
call sub.msys_2.0.dll_memmove
sub ebx, 1
cmp r13d, dword [rsp + 0x124]
jne 0x100436e58
test bpl, bpl
cmovne r13d, edi
cmp ebx, r15d
jle 0x100436e8f
movsxd rax, r15d
lea r11d, [r15 + 1]
shl rax, 2
lea rcx, [r14 + rax]
movsxd rdx, dword [rcx]
lea rdx, [rdx + rdx*4]
lea rdx, [rsi + rdx*4]
mov r8d, dword [rdx]
mov edx, dword [rdx + 4]
lea edx, [r8 + rdx - 1]
cmp edx, r12d
jle 0x100436e28
mov r15d, r11d
cmp ebx, r15d
jg 0x100436e5d
mov dword [rsp + 0x150], ebx
mov r14, qword [rsp + 0x180]
mov dword [rsp + 0x118], r13d
mov ebx, dword [rsp + 0x160]
mov r13d, r12d
mov esi, dword [rsp + 0x1b0]
mov r12, qword [rsp + 0x460]
test byte [rsp + 0xdc], 1
je 0x100436ed5
cmp byte [rsp + 0xd0], 1
adc r13d, 0xffffffff
mov ecx, dword [rsp + 0x19c]
mov r9d, dword [rsp + 0x1c8]
cmp ecx, r9d
jge 0x100436f48
mov rdi, qword [rsp + 0x138]
movsxd rax, ecx
mov r8d, dword [rsp + 0x150]
lea rax, [rax + rax*4]
mov r10, qword [rsp + 0x178]
lea rdx, [rdi + rax*4]
jmp 0x100436f2f
add eax, dword [rdx + 4]
cmp eax, r13d
jl 0x100436f23
movsxd rax, r8d
add r8d, 1
mov dword [r10 + rax*4], ecx
add ecx, 1
add rdx, 0x14
cmp r9d, ecx
je 0x100436f39
mov eax, dword [rdx]
sub eax, 1
cmp eax, r13d
jle 0x100436f10
mov dword [rsp + 0x150], r8d
mov dword [rsp + 0x19c], ecx
mov eax, dword [rsp + 0x150]
test eax, eax
jne 0x100438d0d
mov dword [rsp + 0x180], 0
mov dword [rsp + 0x124], 0
mov qword [rsp + 0x160], 0
jmp 0x100435b2f
mov r9d, dword [r12 + 0x460]
test r9d, r9d
je 0x100436fa7
mov r8d, dword [r12 + 0x464]
mov rsi, qword [rsp + 0x468]
lea rdi, [0x1006afe60]
test r8d, r8d
je 0x100436fd1
mov rdx, qword [rsp + 0x468]
mov rcx, r12
call sym.vim.exe_get_cursor_rel_lnum
mov rsi, rax
test rax, rax
je 0x1004399aa
neg rax
lea rdi, [0x1006afe60]
cmovns rsi, rax
mov rcx, r12
lea r15, [rsp + 0x250]
call sym.vim.exe_number_width
mov qword [rsp + 0x28], rsi
mov r9, rdi
xor edx, edx
mov dword [rsp + 0x20], eax
mov r8d, 0x15
mov rcx, r15
call sub.msys_2.0.dll___sprintf_chk
mov eax, dword [r12 + 0xf4]
test eax, eax
jg 0x100439969
mov eax, dword [r12 + 0x48c]
test eax, eax
jne 0x10043a169
mov rcx, r12
call sym.vim.exe_number_width
mov ecx, dword [rsp + 0x18c]
lea esi, [rax + 1]
mov rax, qword [sym.vim.exe_highlight_attr]
mov edx, dword [rax + 0x2c]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov eax, dword [r12 + 0x4a8]
test eax, eax
je 0x100437077
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x100439439
mov eax, dword [r12 + 0x464]
test eax, eax
je 0x1004370f0
mov rax, qword [r12 + 0x38]
cmp rax, qword [rsp + 0x468]
jle 0x1004370c4
mov eax, dword [r12 + 0xf18]
mov ebx, dword [rsp + 0x1cc]
mov dword [rsp + 0x90], eax
test ebx, ebx
je 0x100438470
mov dword [rsp + 0x20c], ebx
test eax, eax
je 0x100435459
mov dword [rsp + 0x90], 0
test esi, esi
jne 0x100435461
mov r13d, dword [r12 + 0x4a8]
test r13d, r13d
je 0x100437158
mov rax, qword [r12 + 0x38]
cmp qword [rsp + 0x468], rax
je 0x10043907b
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0x18c]
mov edx, dword [rax + 0x84]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0x168]
add eax, dword [rsp + 0x470]
cmp eax, dword [rsp + 0xa8]
jne 0x10043719b
mov ebp, dword [rsp + 0x6c]
test ebp, ebp
jle 0x100436681
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0x20
mov esi, 2
jmp 0x100436708
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
jne 0x10043568f
mov rcx, r12
call sym.vim.exe_conceal_cursor_line
test eax, eax
jne 0x10043568f
jmp 0x100435960
mov r8d, dword [r12 + 0x454]
test r8d, r8d
je 0x10043720d
mov ecx, dword [r12 + 0x9c]
test ecx, ecx
je 0x100437ec0
mov rcx, r12
call sym.vim.exe_get_showbreak_value
cmp byte [rax], 0
je 0x10043722d
mov rcx, qword [rsp + 0x1b8]
cmp qword [rsp + 0x50], rcx
je 0x100439805
mov rcx, qword [rsp + 0x50]
mov rax, qword [r12 + 8]
mov r8, qword [rax + 0x1d48]
mov edx, dword [rax + 0x1ce8]
call sym.vim.exe_tabstop_padding
lea r15d, [rax - 1]
mov eax, dword [r12 + 0x450]
test eax, eax
mov eax, dword [r12 + 0x454]
jne 0x1004387cf
movsxd rcx, dword [rsp + 0xec]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x60], 0
sub rsi, rcx
lea edx, [rcx + r15]
mov ecx, dword [rsp + 0xe0]
sub dword [rsp + 0x68], ecx
mov qword [rsp + 0x78], rsi
mov esi, edx
test eax, eax
je 0x1004388af
mov eax, dword [r12 + 0x9c]
test eax, eax
cmovne r15d, edx
mov eax, dword [r12 + 0xa4]
mov dword [rsp + 0x90], eax
test esi, esi
jne 0x1004372c1
test eax, eax
jne 0x1004372c9
mov eax, dword [r12 + 0x9c]
mov r13d, dword [r12 + 0x450]
mov dword [rsp + 0x200], eax
mov dword [rsp + 0x98], 0
test r13d, r13d
jne 0x1004372f7
mov eax, dword [r12 + 0xa0]
mov dword [rsp + 0x98], eax
lea eax, [r15 + 1]
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x80], eax
mov rax, qword [sym.vim.exe_highlight_attr]
mov edx, dword [rax]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x100439893
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x1d0], eax
jmp 0x100435670
cmp eax, 0x20
je 0x10043a64a
cmp eax, 9
jne 0x100438307
mov r11d, dword [rsp + 0xe0]
movsxd rdx, dword [rsp + 0xec]
mov dword [rsp + 0xe0], 0
sub qword [rsp + 0x50], rdx
sub dword [rsp + 0x68], r11d
add esi, edx
mov dword [rsp + 0x1d0], r11d
mov dword [rsp + 0xec], 0
mov edx, dword [r12 + 0x454]
test edx, edx
jne 0x10043a460
mov dword [rsp + 0x200], 0x20
mov dword [rsp + 0x90], 0
nop dword [rax]
mov rax, qword [rsp + 0x230]
add rax, 1
cmp qword [rsp + 0x70], rax
jbe 0x100437410
cmp byte [r15 - 1], 0x20
mov r13d, 1
je 0x100437430
xor r13d, r13d
mov eax, 0
cmp byte [r15 + 1], 0x20
cmove eax, dword [rsp + 0x170]
sete r13b
mov dword [rsp + 0x170], eax
test edx, edx
je 0x100437608
mov r11d, dword [rsp + 0xb8]
cmp dword [rsp + 0xd4], 1
mov eax, 0x20
sete r8b
test r11d, r11d
je 0x10043774c
cmp dword [rsp + 0x84], 0xa0
jne 0x100438932
cmp dword [rsp + 0xd4], 2
jne 0x100438932
mov edx, dword [r12 + 0x94]
test edx, edx
je 0x100437608
test r13d, r13d
je 0x100439623
mov rdx, qword [r12 + 0xb0]
test rdx, rdx
je 0x100439615
movsxd rax, dword [rsp + 0x170]
mov ecx, dword [rdx + rax*4]
lea r8d, [rax + 1]
mov dword [rsp + 0x200], ecx
mov eax, dword [rdx + rax*4 + 4]
mov dword [rsp + 0x170], eax
test eax, eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
jne 0x100439e12
mov r13d, 1
mov eax, dword [rsp + 0xbc]
or eax, dword [rsp + 0x210]
je 0x10043a06e
mov rax, qword [sym.vim.exe_enc_utf8]
mov ecx, dword [rsp + 0x200]
mov eax, dword [rax]
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x1004397e0
nop word cs:[rax + rax]
cmp ecx, 0x20
jne 0x1004354f5
movsxd rax, dword [rsp + 0x1a4]
cmp eax, 0x7fffffff
je 0x100437dc8
mov rdx, qword [rsp + 0x230]
add rax, rdx
cmp qword [rsp + 0x70], rax
jbe 0x100437dc8
mov ecx, dword [rsp + 0x190]
test ecx, ecx
setne cl
and r13b, cl
je 0x100439abe
movsxd rax, dword [rsp + 0x190]
add rax, rdx
cmp qword [rsp + 0x70], rax
jb 0x100439aae
mov eax, dword [r12 + 0xa8]
test eax, eax
je 0x100437e26
mov dword [rsp + 0x200], eax
mov r9d, dword [rsp + 0xd0]
test r9d, r9d
je 0x1004390c8
mov rax, qword [sym.vim.exe_enc_utf8]
mov ecx, dword [rsp + 0x200]
mov eax, dword [rax]
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0xb8], eax
test eax, eax
je 0x1004354f5
call sym.vim.exe_utf_char2len
cmp eax, 1
jle 0x100439d81
mov dword [rsp + 0x270], 0
mov ecx, 0xc0
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0xb8], 1
jmp 0x1004354f5
mov ecx, dword [rsp + 0x200]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
jmp 0x100437520
mov dword [rsp + 0xd4], 1
jmp 0x100436468
mov r15, qword [rsp + 0x70]
mov rcx, r15
call sym.vim.exe_utfc_ptr2len
mov dword [rsp + 0xd4], eax
cmp eax, 1
jg 0x1004385f0
cmp dword [rsp + 0x200], 0x7f
jle 0x100438ba6
cmp dword [rsp + 0xd4], 1
jne 0x100438ba6
lea r15, [rsp + 0x250]
mov edx, r13d
mov rcx, r15
call sym.vim.exe_transchar_hex
mov edx, dword [r12 + 0x48c]
test edx, edx
jne 0x100438d00
movzx eax, byte [rsp + 0x250]
lea rcx, [rsp + 0x238]
mov qword [rsp + 0x238], r15
mov dword [rsp + 0x200], eax
call sym.vim.exe_mb_ptr2char_adv
mov rcx, qword [rsp + 0x238]
mov dword [rsp + 0x84], eax
xor eax, eax
cmp dword [rsp + 0x200], 0x7f
setg al
mov dword [rsp + 0xb8], eax
call sub.msys_2.0.dll_strlen
mov ecx, dword [rsp + 0xbc]
or ecx, dword [rsp + 0x210]
mov dword [rsp + 0x98], ecx
mov esi, eax
je 0x10043979c
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
jmp 0x100436468
cmp dword [rsp + 0xd4], 1
sete dl
mov r8d, edx
cmp eax, 0xa0
jne 0x10043772d
test dl, dl
jne 0x1004390a5
mov r11d, dword [rsp + 0xb8]
xor r13d, r13d
mov dword [rsp + 0x170], 0
test r11d, r11d
jne 0x10043745a
cmp eax, 0x20
jne 0x100437608
test r8b, r8b
je 0x100437608
mov edx, dword [r12 + 0x98]
test edx, edx
jne 0x100437782
test r13d, r13d
je 0x100437af5
cmp qword [r12 + 0xb0], 0
je 0x100437af5
movsxd rcx, dword [rsp + 0x190]
mov rax, qword [rsp + 0x70]
sub rax, qword [rsp + 0x230]
cmp rax, rcx
jl 0x100437af5
movsxd rcx, dword [rsp + 0x1a4]
cmp rax, rcx
jg 0x100437af5
test r13d, r13d
jne 0x10043a640
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
jmp 0x10043963a
mov r15d, dword [r12 + 0x4a4]
test r15d, r15d
je 0x1004377fe
movsxd rax, dword [rsp + 0xec]
mov rdx, qword [rsp + 0x78]
sub rdx, rax
movsxd rax, dword [r12 + 0x2f0]
cmp rdx, rax
je 0x100439102
mov r13d, dword [rsp + 0xc0]
mov ebp, 0xffffffff
test r13d, r13d
je 0x100434c86
movsxd rax, dword [rsp + 0xec]
mov rdx, qword [rsp + 0x78]
sub rdx, rax
movsxd rax, dword [r14]
cmp rdx, rax
jne 0x100434c86
mov rax, qword [sym.vim.exe_highlight_attr]
mov ebp, dword [rsp + 0x20c]
mov edx, dword [rax + 0xbc]
mov ecx, ebp
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
jmp 0x100434c86
movsxd rax, dword [rsp + 0x208]
cmp rax, qword [rsp + 0x50]
jle 0x100435a75
nop word [rax + rax]
mov eax, dword [rsp + 0x1ac]
mov dword [rsp + 0xbc], eax
test esi, esi
jne 0x100435ac8
lea rax, [rsp + 0x224]
mov rdi, qword [rsp + 0x70]
mov rcx, r12
sub rdi, qword [rsp + 0x230]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xf8]
mov r8d, edi
lea r9, [rsp + 0x230]
mov rdx, qword [rsp + 0x468]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x22c]
mov qword [rsp + 0x28], rax
mov rax, qword [sym.vim.exe_screen_search_hl]
mov qword [rsp + 0x20], rax
call sym.vim.exe_update_search_hl
add rdi, qword [rsp + 0x230]
mov dword [rsp + 0x210], eax
cmp byte [rdi], 0
mov qword [rsp + 0x70], rdi
jne 0x100435ac8
mov dword [rsp + 0x22c], 0
jmp 0x100435ac8
mov r13, qword [sym.vim.exe_Columns]
movsxd rax, dword [r12 + 0x124]
cmp rax, qword [r13]
jne 0x100434f6c
mov rax, qword [sym.vim.exe_LineWraps]
movsxd rbx, ebp
mov rax, qword [rax]
mov byte [rax + rbx - 1], 1
mov rax, qword [sym.vim.exe_p_tf]
mov ecx, dword [rax]
test ecx, ecx
je 0x100434f6c
mov rdx, qword [sym.vim.exe_has_mbyte]
mov rdi, qword [sym.vim.exe_LineOffset]
lea r8, [rbx*4]
mov qword [rsp + 0xc8], rdx
mov edx, dword [rdx]
mov rax, qword [rdi]
test edx, edx
je 0x100439c7f
mov ecx, dword [rax + rbx*4]
mov rax, qword [sym.vim.exe_screen_Columns]
mov qword [rsp + 0x58], r8
mov edx, dword [rax]
mov rax, qword [sym.vim.exe_mb_off2cells]
add edx, ecx
call qword [rax]
cmp eax, 2
je 0x100434f6c
mov rax, qword [rdi]
mov r8, qword [rsp + 0x58]
mov rcx, qword [sym.vim.exe_screen_Columns]
lea r15, [r8 - 4]
mov edx, dword [rcx]
mov rcx, qword [r13]
add edx, dword [rax + rbx*4]
mov eax, dword [rax + r8 - 4]
lea ecx, [rax + rcx - 2]
mov rax, qword [sym.vim.exe_mb_off2cells]
call qword [rax]
cmp eax, 2
je 0x100434f6c
mov rax, qword [sym.vim.exe_screen_cur_col]
mov eax, dword [rax]
cmp dword [r12 + 0x124], eax
jne 0x100439ca3
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rdi]
mov rdx, qword [sym.vim.exe_ScreenLines]
mov eax, dword [rax + r15]
mov r15d, dword [rcx]
add rax, qword [rdx]
add rax, qword [r13]
movzx eax, byte [rax - 1]
test r15d, r15d
movzx ecx, al
je 0x100437a3f
mov rdx, qword [sym.vim.exe_mb_bytelen_tab]
cmp byte [rdx + rax], 1
jg 0x10043a4ab
call sym.vim.exe_out_char
mov rax, qword [rdi]
mov r13d, 0xffffffff
mov edx, dword [rax + rbx*4]
mov rax, qword [sym.vim.exe_ScreenAttrs]
mov rax, qword [rax]
mov word [rax + rdx*2], r13w
call sym.vim.exe_screen_start
jmp 0x100434f6c
mov r15d, dword [rsp + 0x22c]
mov rdx, qword [r12 + 0x4f0]
test r15d, r15d
je 0x100438490
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x84], eax
test eax, eax
je 0x100438e3e
cmp rdx, 3
jne 0x100435738
jmp 0x100436981
mov eax, dword [rsp + 0x80]
test eax, eax
setg dl
and dl, byte [rsp + 0x58]
test ecx, ecx
jne 0x1004384d8
mov rcx, qword [rsp + 0x78]
mov eax, dword [r12 + 0x48c]
mov qword [rsp + 0x50], rcx
jmp 0x100434e59
mov eax, dword [rsp + 0xa0]
xor esi, esi
mov dword [rsp + 0x20c], eax
jmp 0x100434960
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
jmp 0x100437529
mov edx, dword [rsp + 0xbc]
mov ecx, dword [rsp + 0x88]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov edx, eax
mov rax, qword [sym.vim.exe_highlight_match]
mov r9d, dword [rax]
test r9d, r9d
je 0x100438b91
mov ecx, dword [rsp + 0x118]
xor edi, edi
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0xd0], 1
mov dword [rsp + 0x20c], eax
jmp 0x100434a17
mov ecx, dword [rsp + 0x84]
call sym.vim.exe_utf_char2len
mov dword [rsp + 0xb8], 0
cmp eax, 1
jle 0x1004357e0
mov dword [rsp + 0x270], 0
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0xb8], 1
jmp 0x1004357e0
mov dword [rsp + 0x108], 1
mov dword [rsp + 0x8c], 1
jmp 0x1004357c8
mov ebp, dword [r12 + 0x454]
test ebp, ebp
je 0x1004380f0
mov r11d, dword [r12 + 0x88]
test r11d, r11d
je 0x1004380f0
lea rax, [0x1006afe6f]
cmp qword [rsp + 0x238], rax
je 0x1004380f0
mov eax, dword [rsp + 0x120]
mov ebx, dword [rsp + 0xc4]
mov edx, dword [r12 + 0x120]
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, dword [r12 + 0x124]
mov ecx, ebx
lea ebp, [rbx + 1]
sub r8d, dword [rsp + 0xe0]
call sym.vim.exe_screen_line
mov r8d, dword [r12 + 0x4dc]
add dword [rsp + 0xa8], 1
test r8d, r8d
jne 0x100434f2f
jmp 0x100433e30
mov rax, qword [r12 + 0x500]
cmp byte [rax], 0x6e
jne 0x100436f7e
cmp byte [rax + 1], 0x75
jne 0x100436f7e
mov eax, dword [rsp + 0x1e0]
test eax, eax
je 0x100436f7e
mov rcx, r12
call sym.vim.exe_number_width
mov ebx, dword [rsp + 0x6c]
mov dword [rsp + 0x98], 0x20
lea esi, [rax + 1]
test ebx, ebx
jg 0x1004370f0
mov rax, qword [rsp + 0x2c0]
test rax, rax
je 0x1004370f0
mov r11d, dword [rsp + 0x2b0]
test r11d, r11d
je 0x1004370f0
mov rcx, r12
mov qword [rsp + 0x238], rax
call sym.vim.exe_number_width
lea ebx, [rax - 2]
test ebx, ebx
jle 0x10043a868
mov edx, ecx
mov ecx, dword [rsp + 0x140]
call sym.vim.exe_hl_combine_attr
mov ecx, dword [rsp + 0x200]
mov dword [rsp + 0x20c], eax
mov eax, ecx
jmp 0x100436345
mov r10d, dword [rsp + 0x190]
test r10d, r10d
je 0x100438220
mov rdx, qword [rsp + 0x230]
movsxd rax, dword [rsp + 0x190]
add rax, rdx
cmp qword [rsp + 0x70], rax
jae 0x100438220
test r13d, r13d
jne 0x10043a1ae
movsxd rax, dword [rsp + 0x1a4]
add rax, rdx
cmp qword [rsp + 0x70], rax
ja 0x10043a8aa
mov eax, dword [r12 + 0xac]
test eax, eax
jne 0x10043758d
mov eax, dword [r12 + 0x98]
test eax, eax
je 0x100437594
jmp 0x10043758d
mov ecx, dword [rsp + 0x84]
mov dword [rax], ecx
cmp byte [rsp + 0x200], 0
jne 0x100437e61
mov rax, qword [sym.vim.exe_ScreenLines]
mov rax, qword [rax]
mov byte [rax + rdx], pe_nt_image_headers64
mov r10, qword [sym.vim.exe_Screen_mco]
mov r11d, dword [r10]
test r11d, r11d
jle 0x100434d62
mov qword [rsp + 0x50], rdx
mov r11, qword [sym.vim.exe_ScreenLinesC]
xor eax, eax
lea r8, [rsp + 0x270]
jmp 0x100437e99
add rax, 1
cmp dword [r10], eax
jle 0x100437ead
mov edx, dword [r8 + rax*4]
mov rcx, qword [r11 + rax*8]
mov dword [rcx + r9], edx
mov edx, dword [r8 + rax*4]
test edx, edx
jne 0x100437e90
mov rdx, qword [rsp + 0x50]
jmp 0x100434d62
mov rcx, qword [r12 + 8]
call sym.vim.exe_transchar_buf
mov qword [rsp + 0x238], rax
test esi, esi
je 0x100438f36
mov rax, qword [sym.vim.exe_dy_flags]
test byte [rax], 4
je 0x100437ef6
mov eax, dword [r12 + 0x48c]
test eax, eax
jne 0x1004398f2
mov eax, dword [r12 + 0x450]
test eax, eax
je 0x100438956
mov rax, qword [rsp + 0x238]
lea ecx, [rsi + 1]
movsxd r13, esi
movsxd rcx, ecx
movzx eax, byte [rax]
mov dword [rsp + 0x200], eax
call sym.vim.exe_alloc
mov r8, r13
mov edx, 0x20
mov rcx, rax
mov qword [rsp + 0x60], rax
call sub.msys_2.0.dll_memset
mov r15, qword [rsp + 0x238]
mov rcx, r15
call sub.msys_2.0.dll_strlen
lea rdx, [r15 + 1]
mov r15, qword [rsp + 0x60]
lea r8, [rax - 1]
mov rcx, r15
call sub.msys_2.0.dll_strncpy
mov byte [r15 + r13], 0
xor ecx, ecx
call sym.vim.exe_vim_free
mov eax, dword [rsp + 0xd0]
mov qword [rsp + 0x238], r15
test eax, eax
je 0x10043899b
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xb8], 0
jmp 0x100435670
mov eax, dword [rsp + 0x1d8]
mov dword [rsp + 0x118], 0
test eax, eax
jne 0x100438fc3
mov eax, dword [rsp + 0x1a0]
test eax, eax
je 0x100435b48
mov rbp, qword [sym.vim.exe_did_emsg]
movsxd rax, dword [rsp + 0x1dc]
mov rdi, qword [rsp + 0x70]
sub rdi, qword [rsp + 0x230]
mov r13d, dword [rbp]
mov dword [rbp], 0
cmp rax, rdi
je 0x1004391be
mov rdx, qword [rsp + 0x1e8]
mov ecx, edi
xor r8d, r8d
mov dword [rsp + 0x214], 1
mov dword [rsp + 0x1dc], edi
call sym.vim.exe_get_syntax_attr
mov r15d, dword [rbp]
mov dword [rsp + 0x1e4], eax
test r15d, r15d
je 0x1004391be
mov dword [rsp + 0x1a0], 0
mov rax, qword [r12 + 0x20]
mov dword [rsp + 0x118], 0
mov dword [rax + 0x260], 1
mov ebp, dword [rax + 0x264]
mov rcx, qword [r12 + 8]
xor eax, eax
mov rdx, qword [rsp + 0x468]
test ebp, ebp
cmove eax, dword [rsp + 0x1a0]
xor r8d, r8d
mov dword [rsp + 0x1a0], eax
call sym.vim.exe_ml_get_buf
mov dword [rsp + 0x174], 0
mov qword [rsp + 0x230], rax
add rax, rdi
cmp byte [rax], 0
mov qword [rsp + 0x70], rax
je 0x100435b48
lea rcx, [rsp + 0x228]
call sym.vim.exe_get_syntax_info
mov dword [rsp + 0x174], eax
jmp 0x100435b48
mov dword [rsp + 0x80], 0
xor esi, esi
jmp 0x100434e59
test esi, esi
je 0x1004346f0
mov r10d, dword [rsp + 0x98]
test r10d, r10d
jne 0x100437c06
mov rax, qword [rsp + 0x238]
cmp byte [rax], 0
jne 0x100437c06
jmp 0x1004346f0
call sym.vim.exe_utfc_ptr2len
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xd4], eax
cmp eax, esi
jg 0x1004369d1
cmp eax, 1
jle 0x1004369c0
lea r8, [rsp + 0x270]
mov rcx, qword [rsp + 0x238]
mov rdx, r8
call sym.vim.exe_utfc_ptr2char
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0xb8], 1
mov ebp, eax
jmp 0x1004368f0
mov eax, dword [rsp + 0x90]
xor ebx, ebx
mov dword [rsp + 0x114], esi
xor esi, esi
mov dword [rsp + 0xc4], ebp
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x130], eax
jmp 0x1004346f0
mov edx, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x118]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x118], eax
jmp 0x100435b72
mov rcx, qword [r12 + 0x4e8]
mov edx, 0x76
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x10043694f
jmp 0x100435960
mov ecx, dword [rsp + 0x88]
mov edx, eax
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov edx, eax
jmp 0x100437b37
mov ecx, dword [rsp + 0x200]
jmp 0x1004354f5
mov rdx, qword [sym.vim.exe_breakat_flags]
movzx r8d, cl
cmp byte [rdx + r8], 0
je 0x10043635c
movzx r8d, byte [r15 + 1]
cmp byte [rdx + r8], 0
jne 0x10043635c
mov rax, qword [rsp + 0xc8]
mov r8, r15
mov r13d, dword [rax]
test r13d, r13d
jne 0x100439deb
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x230]
mov rcx, r12
mov qword [rsp + 0x20], 0
mov r9d, eax
mov dword [rsp + 0x60], eax
call sym.vim.exe_win_lbr_chartabsize
mov rcx, qword [rsp + 0x1b8]
lea esi, [rax - 1]
cmp qword [rsp + 0x50], rcx
je 0x10043a2e3
mov ecx, dword [rsp + 0x200]
mov edx, dword [rsp + 0x224]
mov eax, ecx
test edx, edx
jne 0x100439dd2
cmp ecx, 9
je 0x10043a123
test r13d, r13d
mov r8d, 0x3c
mov edx, 0x20
cmovg edx, r8d
mov dword [rsp + 0x98], edx
test esi, esi
jle 0x10043737b
cmp eax, 9
je 0x10043738d
mov dword [rsp + 0xdc], 1
cmp eax, 0x20
je 0x1004373c7
mov dword [rsp + 0x90], 0
mov edx, dword [r12 + 0x454]
jmp 0x10043636d
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], r12
jne 0x100434c2d
mov rax, qword [sym.vim.exe_VIsual_active]
mov eax, dword [rax]
test eax, eax
jne 0x100435d84
mov dword [rsp + 0x100], 0
jmp 0x100434c2d
mov esi, dword [r12 + 0x124]
sub esi, dword [rsp + 0x68]
jmp 0x100436b9d
mov esi, dword [rsp + 0x168]
test esi, esi
jne 0x100434819
movsxd rax, dword [rsp + 0xfc]
mov dword [rsp + 0x20c], 0
test eax, eax
je 0x10043839f
mov rsi, qword [sym.vim.exe_highlight_attr]
mov eax, dword [rsi + rax*4]
mov dword [rsp + 0x20c], eax
mov rcx, qword [r12 + 8]
xor r8d, r8d
mov rdx, qword [rsp + 0x468]
mov qword [rsp + 0x238], 0
call sym.vim.exe_ml_get_buf
mov rcx, r12
mov rdx, rax
call sym.vim.exe_get_breakindent_win
mov esi, eax
mov eax, dword [rsp + 0xa8]
cmp eax, dword [rsp + 0x470]
je 0x10043a0c0
mov ebx, dword [r12 + 0xf4]
test ebx, ebx
jle 0x100438416
mov eax, dword [r12 + 0x124]
mov edx, dword [rsp + 0x68]
sub edx, dword [rsp + 0xe0]
cmp edx, eax
setl al
jmp 0x10043586d
mov r15d, dword [rsp + 0x90]
test r15d, r15d
jne 0x10043711d
jmp 0x100435459
cmp rdx, 1
jne 0x100436981
call sym.vim.exe_syn_get_sub_char
test eax, eax
je 0x10043571f
call sym.vim.exe_syn_get_sub_char
mov dword [rsp + 0x84], eax
jmp 0x100435738
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x84], eax
jmp 0x100436d1e
mov rax, qword [sym.vim.exe_has_mbyte]
mov eax, dword [rax]
test eax, eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
jne 0x100436839
mov eax, dword [r12 + 0x48c]
test eax, eax
jne 0x100436878
add dword [rsp + 0xe0], 1
xor eax, eax
add dword [rsp + 0x68], 1
jmp 0x100434e59
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0x18c]
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov eax, dword [r12 + 0xf18]
mov dword [rsp + 0x90], eax
test eax, eax
je 0x10043855b
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], ebx
mov esi, 1
mov ebx, 1
jmp 0x100435470
movsxd rdx, dword [rsp + 0x218]
mov rax, qword [rsp + 0x70]
sub rax, qword [rsp + 0x230]
cmp rax, rdx
jl 0x1004385a0
cmp byte [rsp + 0xc8], 0
jne 0x100439904
mov eax, 0x1d
jmp 0x100435aec
cmp ebx, 6
je 0x10043490d
jmp 0x100435470
mov dword [rsp + 0x16c], 0
mov dword [rsp + 0x11c], 0
mov dword [rsp + 0xa4], 0
jmp 0x10043444e
lea r8, [rsp + 0x270]
mov rcx, r15
mov rdx, r8
mov qword [rsp + 0x78], r8
call sym.vim.exe_utfc_ptr2char
mov r8, qword [rsp + 0x78]
cmp eax, 0x7f
mov r13d, eax
jg 0x100438620
mov dword [rsp + 0x200], eax
mov dword [rsp + 0x60], eax
mov ecx, r13d
mov qword [rsp + 0x78], r8
call sym.vim.exe_utf_iscomposing
mov r8, qword [rsp + 0x78]
test eax, eax
jne 0x100439843
test r13d, r13d
je 0x100437669
mov ecx, r13d
call sym.vim.exe_vim_isprintc
test eax, eax
je 0x100437669
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0xb8], 1
mov rax, qword [sym.vim.exe_p_arshape]
mov eax, dword [rax]
test eax, eax
je 0x100438710
mov rax, qword [sym.vim.exe_p_tbidi]
mov eax, dword [rax]
test eax, eax
jne 0x100438710
mov eax, r13d
and eax, 0xff00
cmp eax, 0x600
jne 0x100438710
mov eax, dword [r12 + 0x48c]
movsxd rcx, dword [rsp + 0xd4]
add rcx, qword [rsp + 0x70]
test eax, eax
je 0x10043a68f
call sym.vim.exe_utf_ptr2char
mov edx, dword [rsp + 0x270]
mov ecx, dword [rsp + 0x1f4]
mov r9d, dword [rsp + 0x1f0]
mov dword [rsp + 0x1f4], edx
mov dword [rsp + 0x20], ecx
lea rdx, [rsp + 0x200]
mov ecx, r13d
lea r8, [rsp + 0x270]
mov dword [rsp + 0x28], eax
call sym.vim.exe_arabic_shape
mov dword [rsp + 0x1f0], r13d
mov dword [rsp + 0x84], eax
jmp 0x100436468
mov dword [rsp + 0x1f0], r13d
jmp 0x100436468
movsxd rax, dword [rsp + 0x21c]
mov rdx, qword [rsp + 0x70]
sub rdx, qword [rsp + 0x230]
cmp rdx, rax
jle 0x100438748
cmp byte [rsp + 0xc8], 0
jne 0x100439d6c
mov eax, 0x1f
jmp 0x100435aec
mov dword [rsp + 0x80], 0
xor edi, edi
xor esi, esi
jmp 0x1004357c8
movsxd rbx, eax
lea rsi, [rbx + rbx*4]
shl rsi, 2
mov rcx, rsi
call sym.vim.exe_alloc
mov qword [rsp + 0x138], rax
test rax, rax
je 0x10043879f
mov rdx, qword [rsp + 0x290]
mov r8, rsi
mov rcx, rax
call sub.msys_2.0.dll_memmove
lea rcx, [rbx*4]
call sym.vim.exe_alloc
mov dword [rsp + 0xf0], 1
mov qword [rsp + 0x178], rax
mov dword [rsp + 0x110], 1
jmp 0x100434492
test eax, eax
je 0x100437265
mov eax, dword [r12 + 0x9c]
add r15d, dword [rsp + 0xec]
test eax, eax
je 0x100438806
mov eax, dword [rsp + 0x1d0]
test eax, eax
mov eax, esi
setg dl
cmp r15d, esi
cmovge eax, r15d
test dl, dl
cmovne r15d, eax
mov rax, qword [sym.vim.exe_mb_char2len]
mov ecx, dword [r12 + 0xa0]
call qword [rax]
mov ecx, dword [r12 + 0xa4]
imul eax, r15d
mov r13d, eax
test ecx, ecx
je 0x100438836
mov rax, qword [sym.vim.exe_mb_char2len]
call qword [rax]
add r13d, eax
mov eax, esi
sub eax, r15d
add eax, r13d
test esi, esi
cmovg r13d, eax
mov eax, dword [r12 + 0x9c]
lea ecx, [r13 + 1]
mov dword [rsp + 0x200], eax
movsxd rcx, ecx
call sym.vim.exe_alloc
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x100439b62
mov esi, dword [rsp + 0xec]
xor edx, edx
movsxd rax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov eax, dword [r12 + 0x454]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rsp + 0xe0]
sub dword [rsp + 0x68], ecx
cmp r15d, edx
je 0x10043a8bf
test eax, eax
jne 0x1004372aa
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x200], 0x20
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x1d0], eax
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0x98], 0x20
jmp 0x100435670
mov rcx, qword [r12 + 0x4e8]
mov edx, 0x76
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100435960
mov eax, dword [rsp + 0x194]
mov dword [rsp + 0x20c], eax
jmp 0x100436971
cmp dword [rsp + 0x84], 0x202f
jne 0x10043774c
cmp dword [rsp + 0xd4], 3
je 0x100437479
jmp 0x10043774c
mov ecx, dword [rsp + 0x200]
call sym.vim.exe_byte2cells
mov qword [rsp + 0x60], 0
lea esi, [rax - 1]
mov rax, qword [rsp + 0x238]
lea rdx, [rax + 1]
mov qword [rsp + 0x238], rdx
movzx eax, byte [rax]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0xd0]
test eax, eax
jne 0x100437f83
lea eax, [rsi + 1]
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x80], eax
mov rax, qword [sym.vim.exe_highlight_attr]
mov edx, dword [rax]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x158], eax
mov dword [rsp + 0xb8], 0
jmp 0x100435670
mov eax, dword [rsp + 0x80]
add dword [rsp + 0x68], esi
add dword [rsp + 0xe0], esi
xor esi, esi
test eax, eax
jne 0x10043682e
jmp 0x100438503
lea r15, [rsp + 0x250]
test al, al
jne 0x100439248
mov rcx, qword [r12 + 8]
mov r8d, dword [rsp + 0x84]
mov rdx, r15
call sym.vim.exe_transchar_nonprint
mov dword [rsp + 0xd4], 1
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov rbp, rax
lea esi, [rax - 1]
lea rax, [rsp + 0x251]
mov qword [rsp + 0x238], rax
movzx eax, byte [rsp + 0x250]
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0xbc]
or eax, dword [rsp + 0x210]
jne 0x1004376f5
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x80], ebp
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
jmp 0x1004376f5
mov esi, dword [rsp + 0xa0]
or esi, dword [rsp + 0xc0]
je 0x100438b08
mov r11d, dword [r12 + 0x48c]
test r11d, r11d
jne 0x100438b08
test eax, eax
je 0x100435f78
mov eax, dword [r12 + 0x2f0]
jmp 0x100435f78
mov eax, dword [rsp + 0x120]
mov edx, dword [r12 + 0x120]
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0x20], eax
call sym.vim.exe_screen_line
mov rax, qword [sym.vim.exe_curwin]
add dword [rsp + 0xa8], 1
cmp qword [rax], r12
jne 0x100433e30
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
jne 0x100433e30
or dword [r12 + 0x2cc], 0x18
mov eax, dword [rsp + 0x470]
mov dword [r12 + 0x2e8], 0
mov dword [r12 + 0x2ec], eax
mov eax, dword [rsp + 0xa8]
sub eax, dword [rsp + 0x470]
mov dword [r12 + 0x2e4], eax
jmp 0x100433e30
mov ecx, dword [rsp + 0x210]
jmp 0x100438209
xor esi, esi
xor edi, edi
jmp 0x1004357c8
test r13d, r13d
jne 0x100438bb9
cmp dword [rsp + 0xd4], 1
je 0x10043a0a8
mov eax, dword [rsp + 0xd4]
test eax, eax
jne 0x10043a047
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0xd4], 1
jmp 0x100436468
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x60], 0
jmp 0x100435670
mov edx, dword [r12 + 0x2f0]
cmp edx, eax
je 0x100439b2c
mov ecx, 0xfffffffe
cmovg ecx, edx
mov dword [rsp + 0x198], ecx
jmp 0x1004343d5
mov r9d, dword [r12 + 0x48c]
test r9d, r9d
je 0x1004396e9
mov r8d, dword [rsp + 0x68]
test r8d, r8d
jne 0x1004352f8
mov rdx, qword [rsp + 0x70]
cmp byte [rdx], 0
jne 0x100438c5a
mov ecx, dword [rsp + 0xf8]
test ecx, ecx
jle 0x100439f8a
mov dword [rsp + 0x200], eax
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
mov rax, qword [sym.vim.exe_enc_utf8]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
test eax, eax
je 0x1004352f8
mov ecx, dword [rsp + 0x84]
call sym.vim.exe_utf_char2len
mov dword [rsp + 0xb8], 0
cmp eax, 1
jle 0x1004352f8
mov dword [rsp + 0x270], 0
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0xb8], 1
jmp 0x1004352f8
mov dword [rsp + 0xbc], 0
jmp 0x100435ac0
mov rcx, r15
call sym.vim.exe_rl_mirror
jmp 0x10043768c
mov rdi, qword [rsp + 0x178]
mov rax, qword [r12 + 8]
lea r9, [0x1004339d0]
mov r8d, 4
mov rbp, qword [rsp + 0x138]
movsxd rdx, dword [rsp + 0x150]
mov rcx, rdi
mov qword [0x100720f38], rax
mov r13, rdi
mov r15, rdx
mov qword [0x100720f40], rbp
call fcn.100673050
mov dword [rsp + 0xd0], ebx
lea eax, [r15 - 1]
xor r15d, r15d
mov dword [rsp + 0x180], 0
lea rdi, [rdi + rax*4 + 4]
mov qword [rsp + 0x160], 0
nop dword [rax]
movsxd rax, dword [r13]
mov rcx, qword [r12 + 8]
lea rax, [rax + rax*4]
mov edx, dword [rbp + rax*4 + 0xc]
call sym.vim.exe_text_prop_type_by_id
mov rbx, rax
test rax, rax
je 0x100438dcc
mov ecx, dword [rax + 8]
test ecx, ecx
jle 0x100438dcc
call sym.vim.exe_syn_id2attr
mov ecx, r15d
mov edx, eax
call sym.vim.exe_hl_combine_attr
mov qword [rsp + 0x160], rbx
mov r15d, eax
mov eax, dword [rbx + 0x10]
and eax, 4
mov dword [rsp + 0x180], eax
add r13, 4
cmp rdi, r13
jne 0x100438d80
mov dword [rsp + 0x124], r15d
mov ebx, dword [rsp + 0xd0]
jmp 0x100435b2f
mov dword [rsp + 0x84], eax
mov rax, qword [sym.vim.exe_enc_utf8]
mov r11d, dword [rax]
test r11d, r11d
je 0x100434bd3
mov ecx, dword [rsp + 0x84]
call sym.vim.exe_utf_char2len
cmp eax, 1
jle 0x100434bd3
mov dword [rsp + 0x270], 0
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0xb8], 1
jmp 0x100434bde
cmp rdx, 1
jne 0x100436981
jmp 0x100435707
mov rax, qword [sym.vim.exe_VIsual_active]
mov r8d, dword [rax]
test r8d, r8d
je 0x100435830
call sym.vim.exe_virtual_active
test eax, eax
je 0x100435830
movsxd rax, dword [rsp + 0x208]
cmp eax, 0x7fffffff
je 0x100435830
cmp rax, qword [rsp + 0x50]
jle 0x100435830
mov eax, dword [r12 + 0x48c]
test eax, eax
je 0x10043a585
mov r13d, dword [rsp + 0x68]
test r13d, r13d
js 0x10043591a
mov dword [rsp + 0x200], 0x20
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x60], 0
jmp 0x100435670
cmp byte [r12 + 0xef8], 4
je 0x100435b20
mov eax, dword [rsp + 0xa4]
test eax, eax
je 0x100438f11
movsxd rax, dword [rsp + 0x11c]
mov rdi, qword [rsp + 0x50]
cmp rax, rdi
jg 0x100435b20
movsxd rax, dword [rsp + 0x16c]
cmp rax, rdi
jl 0x100435b20
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0x88]
mov edx, dword [rax + 0xb8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x88], eax
jmp 0x100435b20
mov ecx, dword [rsp + 0x200]
call sym.vim.exe_byte2cells
lea esi, [rax - 1]
jmp 0x100437eda
mov qword [rsp + 0x70], rdx
cmp qword [rsp + 0x50], rbx
jle 0x100439d5f
mov eax, dword [rsp + 0xc0]
or eax, dword [r12 + 0x4a4]
mov dword [rsp + 0x8c], eax
je 0x100439d2a
mov qword [rsp + 0x70], rbp
movsxd rax, dword [rsp + 0x208]
mov dword [rsp + 0x8c], 0
cmp rax, qword [rsp + 0x50]
jle 0x10043423b
movsxd rax, dword [rsp + 0x204]
test eax, eax
js 0x100434246
mov rsi, qword [rsp + 0x50]
cmp rax, rsi
jge 0x100434246
mov dword [rsp + 0x204], esi
jmp 0x100434246
mov r8d, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x468]
mov rcx, r12
call sym.vim.exe_term_get_attr
mov dword [rsp + 0x118], eax
jmp 0x100437fca
mov rax, qword [r12 + 0x500]
cmp byte [rax], 0x6e
je 0x10043a877
mov dword [rsp + 0x98], 0x20
jmp 0x100437030
cmp dword [rsp + 0x208], 0x7fffffff
jne 0x100435bb7
jmp 0x100435be0
mov rcx, r13
call sym.vim.exe_mb_charlen
cdqe
jmp 0x1004348a0
mov rdx, qword [sym.vim.exe_VIsual_mode]
cmp dword [rdx], 0x16
je 0x10043a016
mov edx, dword [rsp + 0x200]
test edx, edx
je 0x100435da1
test eax, eax
jne 0x100435d65
mov dword [rsp + 0x100], 0
jmp 0x100434c3c
test byte [r12 + 0xef8], 4
je 0x100437158
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0x18c]
mov edx, dword [rax + 0x3c]
call sym.vim.exe_hl_combine_attr
jmp 0x100437171
mov edx, dword [r12 + 0x94]
test edx, edx
jne 0x100439a91
mov dword [rsp + 0x170], 0
xor r13d, r13d
jmp 0x10043760f
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x158], eax
jmp 0x1004375a5
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x1004377fe
mov rax, qword [sym.vim.exe_highlight_attr]
mov ebp, dword [rsp + 0x20c]
mov edx, dword [rax + 0xb4]
mov ecx, ebp
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
jmp 0x100434c86
mov eax, dword [rsp + 0x1ac]
test eax, eax
je 0x100439150
cmp dword [rsp + 0x20c], eax
je 0x100439181
mov rax, qword [sym.vim.exe_highlight_attr]
mov r8d, dword [r12 + 0x4a8]
mov ecx, dword [rax + 0x74]
mov dword [rsp + 0x20c], ecx
test r8d, r8d
je 0x100439181
mov rax, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rax
je 0x100439fb7
mov dword [rsp + 0xfc], 0x1d
jmp 0x1004358af
mov rsi, qword [sym.vim.exe_highlight_attr]
mov rdx, qword [rdi]
mov r9d, dword [rsi + 0xb4]
mov word [rdx + r11*2], r9w
jmp 0x100436011
add dword [rsp + 0xe0], 1
add dword [rsp + 0x68], 1
jmp 0x100438503
mov edx, dword [rsp + 0x1e4]
mov rax, qword [r12 + 0x20]
mov dword [rbp], r13d
mov dword [rsp + 0x118], edx
jmp 0x100438066
mov eax, dword [rsp + 0x20c]
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x188], eax
mov rax, qword [sym.vim.exe_highlight_attr]
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0xd8], 1
mov dword [rsp + 0x20c], eax
jmp 0x100434c00
mov eax, dword [rsp + 0x68]
cmp dword [r12 + 0x124], eax
jg 0x100435dbd
mov edx, 0xffffffff
mov eax, 0xffffffff
add dword [rsp + 0x94], edx
mov edi, dword [rsp + 0x94]
add dword [rsp + 0x68], eax
jmp 0x100435df2
mov eax, 0x5858
mov byte [rsp + 0x252], 0
mov word [rsp + 0x250], ax
mov dword [rsp + 0xd4], 2
jmp 0x100438a46
add dword [rsp + 0x68], 1
add dword [rsp + 0x94], 1
jmp 0x100435e35
movsxd rsi, dword [r12 + 0xf0]
jmp 0x100435e6d
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], r12
je 0x10043a10b
movzx eax, byte [r12 + 0xef8]
cmp al, 4
je 0x100434422
mov r10d, dword [r12 + 0x4dc]
test r10d, r10d
je 0x1004393af
test al, 2
je 0x1004393af
mov rcx, r12
call sym.vim.exe_win_col_off
mov ebx, eax
mov eax, dword [0x100720f18]
cmp dword [r12 + 0x2f0], eax
jne 0x1004392ed
cmp r12, qword [0x100720f10]
je 0x10043a821
mov esi, dword [r12 + 0x124]
mov rcx, r12
sub esi, ebx
mov dword [rsp + 0x16c], esi
call sym.vim.exe_win_col_off2
mov r8d, dword [r12 + 0x2f0]
mov dword [rsp + 0x11c], 0
mov ecx, eax
cmp esi, r8d
jg 0x10043934d
mov eax, r8d
add ecx, esi
sub eax, esi
cdq
idiv ecx
add eax, 1
imul eax, ecx
lea edx, [rsi + rax]
test ecx, ecx
jle 0x10043a84c
sub eax, ecx
mov dword [rsp + 0x16c], edx
add eax, esi
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
mov qword [0x100720f10], r12
mov dword [0x100720f18], r8d
mov dword [0x100720f00], eax
mov eax, dword [rsp + 0x16c]
mov dword [0x100720f08], ebx
mov dword [0x100720f04], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0xa4], 1
mov dword [rsp + 0xac], 0
mov dword [rsp + 0x104], eax
mov dword [rsp + 0x110], 1
jmp 0x10043444e
mov rax, qword [sym.vim.exe_highlight_attr]
mov r9d, dword [rsp + 0x1e0]
mov eax, dword [rax + 0xb8]
mov dword [rsp + 0xac], eax
test r9d, r9d
je 0x100439f4b
mov r8d, dword [rsp + 0x2cc]
test r8d, r8d
jle 0x10043a5df
cmp dword [rsp + 0x2d8], 0x63
jle 0x10043a628
mov edx, dword [rsp + 0x88]
mov ecx, eax
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x16c], 0
mov dword [rsp + 0x11c], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0x110], 1
jmp 0x10043444e
movzx eax, byte [r12 + 0xef8]
test al, 4
je 0x1004370b3
mov rax, qword [sym.vim.exe_mb_ptr2cells]
mov rcx, qword [rsp + 0x70]
call qword [rax]
cmp eax, 1
jle 0x100435a5c
mov eax, dword [rsp + 0x1ac]
mov dword [rsp + 0xbc], eax
jmp 0x100437886
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x50], rbx
sub eax, ebx
mov dword [rsp + 0x8c], eax
jmp 0x100434228
mov rax, qword [rsp + 0x468]
movdqu xmm0, xmmword [r12 + 0x38]
mov rcx, r12
mov r9d, 1
mov rbx, qword [rsp + 0x70]
mov edx, 1
sub rbx, qword [rsp + 0x230]
mov r8d, 1
mov qword [r12 + 0x38], rax
lea rax, [rsp + 0x290]
mov dword [r12 + 0x40], ebx
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x240], xmm0
mov dword [rsp + 0x290], 0x33
mov qword [rsp + 0x1c0], rax
call sym.vim.exe_spell_move_to
mov rdx, qword [rsp + 0x468]
mov rcx, qword [r12 + 8]
xor r8d, r8d
mov esi, eax
call sym.vim.exe_ml_get_buf
movsxd rdx, ebx
mov qword [rsp + 0x230], rax
add rax, rdx
mov qword [rsp + 0x70], rax
test esi, esi
je 0x10043956b
mov eax, dword [r12 + 0x40]
cmp eax, ebx
jle 0x100439e1f
mov rcx, qword [rsp + 0x70]
mov rdx, r12
mov dword [rsp + 0x290], 0x33
call sym.vim.exe_spell_to_word_end
sub rax, qword [rsp + 0x230]
mov dword [rsp + 0x140], 0
add eax, 1
mov dword [rsp + 0x1a8], eax
movdqa xmm1, xmmword [rsp + 0x240]
mov edi, dword [rsp + 0x1a0]
movups xmmword [r12 + 0x38], xmm1
test edi, edi
je 0x100434293
mov rdx, qword [rsp + 0x468]
mov rcx, r12
call sym.vim.exe_syntax_start
jmp 0x100434293
mov rcx, rax
call sym.vim.exe_getwhitecols
mov dword [0x100685100], eax
jmp 0x100433d2f
mov rcx, r12
call sym.vim.exe_qf_current_entry
cmp rax, qword [rsp + 0x468]
jne 0x100433cdb
mov rax, qword [sym.vim.exe_highlight_attr]
mov eax, dword [rax + 0xc0]
mov dword [rsp + 0x88], eax
jmp 0x100433cdb
mov edx, dword [r12 + 0x94]
mov r13d, 1
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x78], rcx
cmp eax, 0x20
jne 0x10043963a
mov edx, dword [r12 + 0x98]
mov dword [rsp + 0x200], edx
jmp 0x1004374dc
mov ecx, dword [rsp + 0x84]
call sym.vim.exe_utf_char2len
cmp eax, 1
jle 0x10043a0b0
mov dword [rsp + 0x270], 0
mov dword [rsp + 0x200], 0xc0
mov qword [rsp + 0x70], r15
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0xf8], 0xffffffff
mov qword [rsp + 0x60], 0
jmp 0x100435670
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
jmp 0x10043563f
add dword [rsp + 0xe0], esi
xor edi, edi
add dword [rsp + 0x68], esi
xor esi, esi
jmp 0x1004357c8
mov ecx, dword [r12 + 0x124]
lea edx, [rcx - 1]
cmp edx, dword [rsp + 0x68]
jne 0x1004352f8
jmp 0x100438c41
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x80], 2
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
jmp 0x1004364fa
test byte [r12 + 0xef8], 4
je 0x100436ccb
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0x18c]
mov edx, dword [rax + 0x40]
call sym.vim.exe_hl_combine_attr
jmp 0x100436ce1
mov dword [rsp + 0x1ac], 0
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x1b4], 0
jmp 0x100433c3b
add eax, 1
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x80], eax
mov rax, qword [sym.vim.exe_highlight_attr]
mov edx, dword [rax]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x158], eax
jmp 0x100436468
call sym.vim.exe_utf_char2len
cmp eax, 1
jg 0x1004375d9
mov dword [rsp + 0xb8], 0
mov ecx, dword [rsp + 0x200]
jmp 0x100437520
mov edx, dword [r12 + 0x4dc]
mov rcx, qword [rsp + 0x50]
test edx, edx
je 0x100437232
mov rdx, qword [rsp + 0xc8]
mov rcx, rax
mov eax, dword [rdx]
test eax, eax
jne 0x10043a55e
call sub.msys_2.0.dll_strlen
cdqe
mov rcx, qword [rsp + 0x50]
sub rcx, rax
jmp 0x100437232
mov rax, qword [sym.vim.exe_Screen_mco]
mov edx, dword [rax]
lea eax, [rdx - 1]
test eax, eax
jle 0x100439880
lea r9d, [rdx - 2]
movsxd rcx, eax
mov rax, r9
neg rax
shl rax, 2
lea rdx, [rax + rcx*4 - 4]
lea rcx, [rax + rcx*4]
add rdx, r8
add rcx, r8
lea r8, [r9*4 + 4]
call sub.msys_2.0.dll_memmove
mov dword [rsp + 0x270], r13d
mov r13d, 0x20
jmp 0x100438643
mov ecx, dword [rsp + 0x84]
call sym.vim.exe_utf_char2len
cmp eax, 1
jle 0x10043a0d7
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x270], 0
mov dword [rsp + 0x200], 0xc0
mov dword [rsp + 0x1d0], eax
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xb8], 1
jmp 0x100435670
mov rcx, qword [rsp + 0x238]
call sym.vim.exe_rl_mirror
jmp 0x100437ef6
movsxd rdx, dword [rsp + 0x21c]
cmp rax, rdx
mov edx, 0x1f
cmovg edx, dword [rsp + 0xfc]
setle al
movzx eax, al
mov dword [rsp + 0xfc], edx
lea eax, [rax + rax + 0x1d]
jmp 0x100435aec
lea eax, [rax - 0x96]
lea rcx, [rsp + 0x2e0]
mov r8d, 0x96
mov dword [rsp + 0x1f8], eax
cdqe
lea rdx, [r13 + rax]
call sub.msys_2.0.dll_memmove
mov dword [rsp + 0x1fc], 0x97
jmp 0x100433fe6
cmp byte [rsp + 0x250], 0x20
mov qword [rsp + 0x238], r15
jne 0x10043700d
mov rax, r15
nop word [rax + rax]
mov byte [rax], 0x2d
mov rdx, qword [rsp + 0x238]
lea rax, [rdx + 1]
mov qword [rsp + 0x238], rax
cmp byte [rdx + 1], 0x20
je 0x100439988
mov ecx, dword [r12 + 0x460]
lea rdi, [0x1006afe60]
test ecx, ecx
je 0x100436fd1
mov edx, dword [r12 + 0x464]
lea rax, [0x1006afe66]
test edx, edx
cmovne rsi, qword [rsp + 0x468]
cmovne rdi, rax
jmp 0x100436fd1
mov rcx, r12
call sym.vim.exe_win_col_off
cdqe
sub rbx, rax
mov qword [rsp + 0x78], rbx
jmp 0x100435e90
mov rdx, qword [sym.vim.exe_screen_search_hl]
mov r8, qword [rsp + 0x70]
lea r9, [rsp + 0x20c]
mov rcx, r12
sub r8, qword [rsp + 0x230]
call sym.vim.exe_get_search_match_hl
jmp 0x100435e03
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov esi, 1
mov edx, dword [rax + 8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x98], 0x3c
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x80], 2
jmp 0x100434bc0
mov edx, dword [rsp + 0xac]
mov ecx, r8d
call sym.vim.exe_hl_combine_attr
mov r8d, eax
jmp 0x100436a3d
mov rax, qword [rsp + 0x50]
xor r13d, r13d
mov dword [rsp + 0x170], 0
mov qword [rsp + 0x78], rax
jmp 0x10043963a
mov rcx, qword [r12 + 0xb8]
test rcx, rcx
jne 0x100439b00
mov ecx, r13d
mov eax, dword [r12 + 0xa8]
test eax, eax
jne 0x10043758d
movsxd rax, dword [rsp + 0x190]
add rax, rdx
cmp qword [rsp + 0x70], rax
jae 0x100439af0
mov eax, dword [r12 + 0xac]
test eax, eax
jne 0x10043758d
test cl, cl
je 0x100437594
jmp 0x100437e26
movsxd rax, dword [rsp + 0x170]
mov r8d, dword [rcx + rax*4]
lea edx, [rax + 1]
mov dword [rsp + 0x200], r8d
mov eax, dword [rcx + rax*4 + 4]
test eax, eax
cmove edx, eax
mov dword [rsp + 0x170], edx
jmp 0x100437594
mov dword [rsp + 0x204], 0xffffffff
mov eax, 0xffffffff
jmp 0x1004343d5
cmp dword [rsp + 0xe4], 1
je 0x100439f24
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20c], eax
jmp 0x1004358a1
movsxd r13, r13d
mov edx, 0x20
mov rcx, rax
mov r8, r13
call sub.msys_2.0.dll_memset
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov byte [rax + r13], 0
call sym.vim.exe_vim_free
mov r9d, esi
test r15d, r15d
jle 0x100439c4c
mov r13, qword [rsp + 0x60]
xor r8d, r8d
lea eax, [r15 - 1]
mov dword [rsp + 0x78], ebx
mov byte [rsp + 0x90], dil
mov ebx, eax
mov byte [rsp + 0xb8], bpl
mov rdi, r13
mov ebp, r8d
mov r13d, esi
mov qword [rsp + 0x98], r14
jmp 0x100439c1a
mov eax, dword [r12 + 0xa4]
test eax, eax
je 0x100439be2
cmp ebx, ebp
cmove r14d, eax
mov rax, qword [sym.vim.exe_mb_char2bytes]
mov rdx, rdi
mov ecx, r14d
call qword [rax]
mov ecx, r14d
cdqe
add rdi, rax
mov rax, qword [sym.vim.exe_mb_char2len]
call qword [rax]
xor ecx, ecx
test r13d, r13d
setg cl
add ebp, 1
sub eax, ecx
add esi, eax
cmp r15d, ebp
je 0x10043a38a
cmp byte [rdi], 0
mov r14d, dword [r12 + 0xa0]
jne 0x100439bd0
mov r8d, ebp
mov ebx, dword [rsp + 0x78]
movzx edi, byte [rsp + 0x90]
mov r9d, esi
mov r14, qword [rsp + 0x98]
movzx ebp, byte [rsp + 0xb8]
mov r15d, r8d
mov rax, qword [rsp + 0x60]
mov edx, r9d
mov esi, r9d
sub edx, dword [rsp + 0xec]
mov qword [rsp + 0x238], rax
jmp 0x100438876
mov eax, dword [r12 + 0x118]
mov dword [rsp + 0xa8], eax
jmp 0x100433e30
mov rcx, qword [sym.vim.exe_screen_cur_col]
mov edx, dword [rax + r8 - 4]
lea r15, [r8 - 4]
mov rax, qword [r13]
mov ecx, dword [rcx]
cmp dword [r12 + 0x124], ecx
je 0x100439f03
mov eax, dword [r13]
mov edx, dword [rsp + 0xc4]
lea r8d, [rax - 1]
mov rax, qword [rdi]
mov ecx, dword [rax + r15]
add ecx, r8d
call sym.vim.exe_screen_char
jmp 0x100437a02
mov rdx, qword [rsp + 0x468]
lea r9, [rsp + 0x21c]
lea r8, [rsp + 0x218]
mov rcx, r12
call sym.vim.exe_diff_find_change
test eax, eax
jne 0x10043509b
mov eax, dword [rsp + 0x218]
mov dword [rsp + 0x168], eax
test eax, eax
je 0x10043a543
mov dword [rsp + 0x168], 0
mov dword [rsp + 0xfc], 0x1d
mov dword [rsp + 0x110], 1
jmp 0x100433c65
call sym.vim.exe_virtual_active
test eax, eax
jne 0x100439ef9
mov rax, qword [sym.vim.exe_VIsual_active]
mov r15d, dword [rax]
test r15d, r15d
je 0x100439d5f
mov rax, qword [sym.vim.exe_curwin]
mov rax, qword [rax]
mov rax, qword [rax + 8]
cmp qword [r12 + 8], rax
je 0x100439ef9
mov rax, rbp
mov rbp, qword [rsp + 0x70]
jmp 0x1004341da
mov dword [rsp + 0xfc], 0x1d
mov eax, 0x1d
jmp 0x100435aec
mov dword [rsp + 0xb8], 0
mov ecx, dword [rsp + 0x200]
jmp 0x1004354f5
call sym.vim.exe_virtual_active
test eax, eax
je 0x100439f17
movsxd rax, dword [rsp + 0x208]
cmp eax, 0x7fffffff
je 0x100439f17
cmp rax, qword [rsp + 0x50]
jle 0x100439f17
mov eax, dword [r12 + 0x454]
xor esi, esi
jmp 0x1004355fa
cmp ecx, 9
je 0x10043a123
mov dword [rsp + 0x210], 0
jmp 0x1004382c9
mov rax, qword [sym.vim.exe_mb_head_off]
mov rcx, qword [rsp + 0x230]
mov rdx, r15
call qword [rax]
movsxd r8, eax
mov r13, r8
not r8
add r8, qword [rsp + 0x70]
jmp 0x10043826d
mov dword [rsp + 0x170], r8d
jmp 0x1004374d6
mov dword [rsp + 0x140], 0
lea eax, [rax + rsi + 1]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x290]
cmp eax, 0x33
je 0x1004395a0
mov rsi, qword [sym.vim.exe_highlight_attr]
mov eax, dword [rsi + rax*4]
mov dword [rsp + 0x140], eax
jmp 0x1004395a0
mov rbx, qword [sym.vim.exe_did_emsg]
mov rdx, qword [rsp + 0x468]
mov rcx, r12
mov esi, dword [rbx]
mov dword [rbx], 0
call sym.vim.exe_syntax_start
mov r8d, dword [rbx]
test r8d, r8d
je 0x10043a50e
mov dword [rsp + 0x1a0], 0
mov rax, qword [r12 + 0x20]
mov dword [rax + 0x260], 1
jmp 0x100433ed9
mov rdx, qword [rsp + 0x468]
cmp qword [r12 + 0x38], rdx
jne 0x1004355a0
mov ecx, dword [rsp + 0x50]
cmp dword [r12 + 0x2f0], ecx
jne 0x1004355a0
jmp 0x100435808
xor ecx, ecx
jmp 0x1004340d9
mov edx, dword [r14]
test edx, edx
js 0x100435f89
lea rcx, [r14 + 4]
cmp eax, edx
cmovl eax, edx
mov edx, dword [rcx]
add rcx, 4
test edx, edx
jns 0x100439ee5
jmp 0x100435f89
mov qword [rsp + 0x70], rbp
jmp 0x100434228
mov rcx, qword [sym.vim.exe_ScreenLines]
add rax, qword [rcx]
movzx ecx, byte [rdx + rax - 1]
jmp 0x100437a3f
mov eax, dword [r12 + 0x454]
jmp 0x1004355d0
mov r10d, dword [r12 + 0x454]
test r10d, r10d
je 0x1004358a1
mov r9d, dword [r12 + 0x88]
test r9d, r9d
jg 0x100439b4f
jmp 0x1004358a1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x16c], 0
mov dword [rsp + 0x11c], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x110], 1
jmp 0x10043444e
test esi, esi
je 0x1004352f8
mov edx, dword [rsp + 0x98]
test edx, edx
jne 0x100438c5a
mov rdx, qword [rsp + 0x238]
cmp byte [rdx], 0
je 0x1004352f8
jmp 0x100438c5a
cmp byte [r12 + 0xef8], 4
je 0x100439181
mov edx, dword [rsp + 0xa4]
test edx, edx
je 0x100439ff8
movsxd rax, dword [rsp + 0x11c]
mov rdx, qword [rsp + 0x50]
cmp rax, rdx
jg 0x100439181
movsxd rax, dword [rsp + 0x16c]
cmp rax, rdx
jl 0x100439181
mov rax, qword [sym.vim.exe_highlight_attr]
mov edx, dword [rax + 0xb8]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x20c], eax
jmp 0x100439181
mov rdx, qword [sym.vim.exe_VIsual]
mov rdi, qword [rsp + 0x468]
cmp qword [rdx], rdi
je 0x100439054
mov rdx, qword [sym.vim.exe_curwin]
mov rdx, qword [rdx]
cmp qword [rdx + 0x38], rdi
jne 0x100435d5d
jmp 0x100439054
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0xb8], 0
jmp 0x100438666
mov edx, 1
mov eax, 1
jmp 0x100439231
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax]
call sym.vim.exe_hl_combine_attr
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x158], eax
jmp 0x1004374f0
xor r13d, r13d
jmp 0x100437669
mov dword [rsp + 0xb8], 0
jmp 0x100435657
mov rcx, r12
call sym.vim.exe_win_col_off2
sub esi, eax
mov eax, 0
cmovs esi, eax
jmp 0x1004383e1
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x1d0], eax
mov dword [rsp + 0xb8], 0
jmp 0x100435670
mov rax, qword [sym.vim.exe_VIsual_active]
mov r11d, dword [rax]
test r11d, r11d
jne 0x100434422
jmp 0x10043929c
mov eax, dword [rsp + 0x68]
lea edx, [rax + rsi]
mov eax, 9
cmp edx, dword [r12 + 0x124]
jle 0x1004382c9
mov rax, qword [r12 + 8]
mov ecx, dword [rsp + 0x60]
mov r8, qword [rax + 0x1d48]
mov edx, dword [rax + 0x1ce8]
call sym.vim.exe_tabstop_padding
mov ecx, dword [rsp + 0x200]
lea esi, [rax - 1]
mov eax, ecx
jmp 0x1004382c9
mov rcx, qword [r12 + 0xb8]
test rcx, rcx
jne 0x100439b00
movsxd rax, dword [rsp + 0x1a4]
add rax, rdx
cmp qword [rsp + 0x70], rax
jbe 0x100437e16
mov ecx, 1
jmp 0x100439abe
mov rdx, qword [sym.vim.exe_VIsual]
mov rcx, qword [rax + 0x38]
mov r8, qword [rdx]
cmp rcx, r8
je 0x10043a4d4
jl 0x10043a4f0
lea rsi, [rax + 0x38]
mov rcx, r8
mov r15, rdx
mov r13, qword [sym.vim.exe_VIsual_mode]
mov eax, dword [r13]
cmp qword [rsp + 0x468], rcx
jl 0x10043a470
mov rdx, qword [rsp + 0x468]
cmp qword [rsi], rdx
jl 0x10043a470
cmp eax, 0x16
je 0x10043a73d
cmp qword [rsp + 0x468], rcx
mov dword [rsp + 0xf4], 1
jle 0x10043a601
mov dword [rsp + 0x204], 0
cmp eax, 0x56
je 0x10043a274
mov rax, qword [rsp + 0x468]
cmp qword [rsi], rax
je 0x10043a6dc
mov eax, dword [rsp + 0x204]
mov rdx, qword [sym.vim.exe_highlight_match]
mov dword [rsp + 0x1b4], 0
mov r13d, dword [rdx]
test r13d, r13d
jne 0x10043a2ba
mov rdx, qword [rbp]
mov rsi, qword [rsp + 0x468]
cmp qword [rdx + 0x38], rsi
sete cl
cmp rdx, r12
sete dl
movzx edx, dl
and edx, ecx
mov dword [rsp + 0x1b4], edx
test eax, eax
js 0x10043a56a
mov rax, qword [sym.vim.exe_highlight_attr]
mov dword [rsp + 0x110], 1
mov eax, dword [rax + 0x58]
mov dword [rsp + 0x1ac], eax
jmp 0x100433c3b
mov rax, qword [rsp + 0xc8]
mov rcx, r12
mov r8d, dword [rax]
test r8d, r8d
je 0x10043a4fc
call sym.vim.exe_get_showbreak_value
mov rcx, rax
call sym.vim.exe_mb_charlen
sub esi, eax
mov eax, 0
cmovs esi, eax
jmp 0x1004382a8
cmp byte [r12 + 0xef8], 4
je 0x1004358e4
mov eax, dword [rsp + 0xa4]
test eax, eax
je 0x10043a357
movsxd rax, dword [rsp + 0x11c]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jg 0x100438beb
movsxd rax, dword [rsp + 0x16c]
cmp rax, rcx
jl 0x100438beb
mov rax, qword [sym.vim.exe_highlight_attr]
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rax + 0xb8]
call sym.vim.exe_hl_combine_attr
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x20c], eax
mov qword [rsp + 0x60], 0
jmp 0x100435670
mov ebx, dword [rsp + 0x78]
movzx edi, byte [rsp + 0x90]
mov r9d, esi
mov r14, qword [rsp + 0x98]
movzx ebp, byte [rsp + 0xb8]
jmp 0x100439c4c
mov rdx, qword [r12 + 0x38]
cmp rdx, qword [rsp + 0x468]
jg 0x100433f99
mov rbp, qword [sym.vim.exe_search_match_lines]
mov rax, qword [rbp]
lea rcx, [rdx + rax]
cmp rcx, qword [rsp + 0x468]
jl 0x100433f99
cmp rdx, qword [rsp + 0x468]
je 0x10043a964
mov dword [rsp + 0x204], 0
mov rcx, r12
add rax, qword [rcx + 0x38]
cmp rax, qword [rsp + 0x468]
je 0x10043a917
mov dword [rsp + 0x208], 0x7fffffff
mov eax, 0x7fffffff
cmp dword [rsp + 0x204], eax
je 0x10043a801
mov rax, qword [sym.vim.exe_highlight_attr]
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x1b4], 0
mov dword [rsp + 0x110], 1
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x1ac], eax
jmp 0x100433c3b
mov dword [rsp + 0x90], 0
jmp 0x100436364
cmp eax, 0x16
je 0x10043a494
cmp qword [rsp + 0x468], rcx
jle 0x10043a5f6
mov rcx, qword [rsp + 0x468]
cmp qword [rsi], rcx
jge 0x10043a858
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0x204]
jmp 0x10043a27b
mov ecx, 0x20
call sym.vim.exe_out_char
jmp 0x100437a44
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x8c], 0
jmp 0x100434228
mov esi, dword [rdx + 8]
cmp dword [rax + 0x40], esi
je 0x10043a5eb
jl 0x10043a4f0
mov rsi, qword [rdx + 8]
cmp qword [rax + 0x40], rsi
jne 0x10043a1fd
lea r15, [rax + 0x38]
mov rsi, rdx
jmp 0x10043a207
call sym.vim.exe_get_showbreak_value
mov rcx, rax
call sub.msys_2.0.dll_strlen
jmp 0x10043a307
mov rax, qword [r12 + 0x20]
mov dword [rbx], esi
mov ecx, dword [rax + 0x264]
mov eax, 1
test ecx, ecx
cmovne eax, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], eax
sete al
movzx eax, al
mov dword [rsp + 0x1a0], eax
jmp 0x100433ed9
mov dword [rsp + 0xfc], 0x1f
mov dword [rsp + 0x110], 1
jmp 0x100433c65
call sym.vim.exe_mb_charlen
cdqe
jmp 0x100439836
mov dword [rsp + 0x1ac], 0
mov dword [rsp + 0x110], 0
jmp 0x100433c3b
mov eax, dword [r12 + 0x124]
cmp dword [rsp + 0x68], eax
jl 0x100438ea9
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0xa0]
or edx, dword [rsp + 0xfc]
or edx, ecx
je 0x10043593d
test ecx, ecx
setne r13b
jmp 0x100438458
test eax, eax
jle 0x100436331
mov rdx, r10
sub rdx, qword [rsp + 0x230]
add eax, edx
mov dword [0x100685100], eax
jmp 0x100436331
mov eax, dword [rsp + 0xac]
jmp 0x100439401
mov esi, dword [rdx + 0xc]
cmp dword [rax + 0x44], esi
jmp 0x10043a4e0
mov dword [rsp + 0xf4], 0
cmp qword [rsp + 0x468], rcx
jne 0x10043a25e
cmp eax, 0x56
jne 0x10043a7bc
mov dword [rsp + 0x204], 0
jmp 0x10043a274
mov edx, dword [rsp + 0xac]
mov ecx, dword [rsp + 0x88]
call sym.vim.exe_hl_combine_attr
jmp 0x100439401
mov eax, 0x20
jmp 0x100437492
cmp eax, 9
jne 0x1004373c7
jmp 0x10043738d
xor r8d, r8d
lea rdx, [rax + 1]
call sym.vim.exe_ml_get_buf
lea rcx, [rsp + 0x376]
mov r8d, 0x96
mov rdx, rax
mov qword [rsp + 0x230], rax
call sym.vim.exe_spell_cat_line
jmp 0x1004351ea
mov rdx, qword [rsp + 0x1c0]
call sym.vim.exe_utfc_ptr2char
mov ecx, dword [rsp + 0x290]
mov r9d, eax
mov eax, dword [rsp + 0x1f0]
jmp 0x1004386d6
test byte [r12 + 0xef8], 4
je 0x1004366d6
mov eax, dword [rsp + 0x2d0]
test eax, eax
jg 0x1004366dd
mov esi, eax
jmp 0x100435fff
mov rax, qword [sym.vim.exe_p_sel]
mov rax, qword [rax]
cmp byte [rax], 0x65
je 0x10043a765
cmp dword [rsi + 8], 0x7fffffff
je 0x10043a900
movdqu xmm2, xmmword [rsi]
lea rdx, [rsp + 0x240]
movaps xmmword [rsp + 0x240], xmm2
cmp byte [rax], 0x65
je 0x10043a8d8
lea rax, [rsp + 0x208]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rax
call sym.vim.exe_getvvcol
add dword [rsp + 0x208], 1
jmp 0x10043a274
mov eax, dword [r12 + 0x68]
mov edx, dword [r12 + 0x6c]
mov dword [rsp + 0xf4], 1
mov dword [rsp + 0x204], eax
mov dword [rsp + 0x208], edx
jmp 0x10043a27b
cmp qword [rsi + 8], 0
jne 0x10043a6eb
mov rax, qword [sym.vim.exe_highlight_match]
mov dword [rsp + 0x204], 0xfffffff6
mov dword [rsp + 0x208], 0x7fffffff
cmp dword [rax], 0
je 0x10043a8ce
mov dword [rsp + 0x1ac], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x1b4], 0
jmp 0x100433c3b
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, r12
lea r8, [rsp + 0x204]
mov rdx, r15
call sym.vim.exe_getvvcol
mov rcx, r15
call sym.vim.exe_gchar_pos
test eax, eax
jne 0x10043a7f8
mov eax, dword [rsp + 0x204]
add eax, 1
mov dword [rsp + 0x208], eax
mov eax, dword [r13]
jmp 0x10043a25e
mov rdx, qword [sym.vim.exe_search_match_endcol]
mov ebp, dword [rdx]
test ebp, ebp
je 0x10043a429
add eax, 1
mov dword [rsp + 0x208], eax
jmp 0x10043a429
cmp ebx, dword [0x100720f08]
jne 0x1004392ed
mov eax, dword [0x100720f04]
mov dword [rsp + 0x16c], eax
mov eax, dword [0x100720f00]
mov dword [rsp + 0x11c], eax
jmp 0x10043937b
mov dword [rsp + 0x16c], edx
jmp 0x10043934d
mov dword [rsp + 0xf4], 0
jmp 0x10043a253
cmp byte [rax + 1], 0x75
jne 0x100438ff5
cmp dword [rsp + 0x1e0], 0
je 0x100438ff5
mov rcx, r12
call sym.vim.exe_number_width
mov dword [rsp + 0x98], 0x20
lea esi, [rax + 1]
jmp 0x1004370f0
mov eax, dword [r12 + 0xa8]
test eax, eax
jne 0x10043758d
jmp 0x100437e16
mov edx, dword [rsp + 0xec]
add edx, r15d
jmp 0x100437294
mov eax, 0xfffffff6
jmp 0x10043a295
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x208]
mov rcx, r12
call sym.vim.exe_getvvcol
mov eax, dword [rsp + 0x204]
jmp 0x10043a27b
mov dword [rsp + 0x208], 0x7fffffff
mov eax, dword [rsp + 0x204]
jmp 0x10043a27b
mov rax, qword [rsp + 0x468]
lea rdx, [rsp + 0x240]
xor r9d, r9d
lea r8, [rsp + 0x208]
mov qword [rsp + 0x240], rax
mov rax, qword [sym.vim.exe_search_match_endcol]
mov eax, dword [rax]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x248], eax
call sym.vim.exe_getvcol
mov eax, dword [rsp + 0x208]
jmp 0x10043a41c
mov qword [rsp + 0x20], 0
mov rcx, r12
lea rdx, [r12 + 0x38]
xor r9d, r9d
lea r8, [rsp + 0x204]
call sym.vim.exe_getvcol
mov rcx, qword [rsi]
mov rax, qword [rbp]
jmp 0x10043a3fa
cmp ebx, 5
je 0x100436b43
jmp 0x100435470