Function at 0x1004229c0
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, 0x1d8
mov rsi, qword [sym.vim.exe_p_wop]
xor edi, edi
mov ebp, dword [rsp + 0x240]
mov r14, rcx
mov rcx, qword [rsi]
mov r15, rdx
mov edx, 0x7a
mov r13, r8
mov r12, r9
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100422a0b
cmp byte [r15], 0
jne 0x100422af0
mov eax, ebp
and eax, 1
cmp eax, 1
sbb ebx, ebx
and ebx, 0xfffffffc
add ebx, 5
mov eax, ebx
or eax, 8
test bpl, 0x10
cmovne ebx, eax
mov eax, ebx
or eax, 0x10
test bpl, 0x20
cmovne ebx, eax
mov eax, ebx
or eax, 0x20
test bpl, 0x40
cmovne ebx, eax
mov eax, ebx
or ah, 2
test ebp, 0x800
cmovne ebx, eax
mov eax, ebx
or ah, 0x10
test ebp, 0x200
cmovne ebx, eax
mov eax, dword [r14 + 8]
lea edx, [rax - 2]
cmp edx, 1
jbe 0x100422b50
cmp eax, 0x26
je 0x100422b50
lea rax, [0x1006ae780]
mov qword [r13], rax
mov dword [r12], 0
mov eax, dword [r14 + 8]
cmp eax, 8
je 0x100422b08
cmp eax, 0x20
je 0x100422e60
cmp eax, 7
je 0x100422fc0
mov r9d, ebp
cmp eax, 9
je 0x100422f07
cmp eax, 0x31
je 0x100422f00
cmp eax, 6
sete cl
cmp eax, 0x11
je 0x100422f30
test cl, cl
jne 0x100422f30
sub eax, 0x13
cmp eax, 0x1f
ja case.0x100422ae8.20
lea rdx, [0x1006ae7c0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rcx, r14
xor edi, edi
call fcn.100422500
test eax, eax
setne dil
jmp 0x100422a0b
cmp byte [r15], 0
lea rax, [0x1006ae779]
mov r8, r13
mov rdx, r12
cmove r15, rax
xor r9d, r9d
mov rcx, r15
call sym.vim.exe_find_help_tags
mov esi, eax
cmp eax, 1
je 0x100422ee8
xor esi, esi
mov eax, esi
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, dword [r14 + 0x30]
mov qword [rsp + 0xa0], r15
test edi, edi
jne 0x100422dc8
cmp eax, 2
je 0x100422db8
mov edx, ebx
and ebx, 0xfffffffc
or dl, 0x82
or ebx, 1
cmp eax, 0x26
cmovne edx, ebx
mov r9d, edx
mov eax, r9d
lea rcx, [rsp + 0xa0]
mov r8, r13
mov rdx, r12
or ah, 1
and ebp, 0x100
cmovne r9d, eax
call sym.vim.exe_expand_wildcards_eval
mov esi, eax
test edi, edi
je 0x100422b35
mov rcx, qword [rsp + 0xa0]
call sym.vim.exe_vim_free
jmp 0x100422b35
mov qword [rsp + 0x30], 0
test edi, edi
je 0x100422fe0
mov r8d, dword [r14 + 8]
lea eax, [r8 - 4]
cmp eax, 1
jbe 0x100423088
cmp r8d, 0x10
je 0x10042393b
cmp r8d, 0x1e
je 0x100423650
lea rdx, [0x1006af0f8]
mov ecx, 1
xor eax, eax
jmp 0x100422c22
add eax, 1
cmp eax, 0x20
je 0x100423640
mov ecx, dword [rdx]
add rdx, 0x18
cmp r8d, ecx
jne 0x100422c10
cdqe
lea rdx, [0x1006af0e0]
lea rcx, [rax + rax*2]
mov ecx, dword [rdx + rcx*8 + 0x10]
test ecx, ecx
je 0x100422c47
mov dword [rsp + 0x148], 1
lea rax, [rax + rax*2]
mov rcx, qword [rsi]
lea rax, [rdx + rax*8]
mov edx, dword [rax + 0x14]
mov rbp, qword [rax + 8]
mov dword [rsp + 0x50], edx
mov edx, 0x7a
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100423904
cmp byte [r15], 0
je 0x100423904
mov r8d, 0x1e
mov edx, 0x18
mov esi, 1
mov qword [r13], 0
mov dword [r12], 0
lea rax, [rsp + 0x80]
mov rcx, rax
mov qword [rsp + 0x48], rax
call sym.vim.exe_ga_init2
xor edx, edx
lea rax, [rsp + 0xa0]
mov dword [rsp + 0x58], edi
xor ebx, ebx
mov qword [rsp + 0x60], r13
mov edi, edx
mov r13, qword [rsp + 0x48]
mov qword [rsp + 0x68], r12
mov r12d, dword [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
jmp 0x100422d5f
mov rcx, r15
lea rdx, str.__t.
call sym.vim.exe_vim_strsave_escaped
mov r15, rax
test r15, r15
je 0x1004239e7
mov edx, 1
mov rcx, r13
call sym.vim.exe_ga_grow
test eax, eax
je 0x100423a02
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov rdx, rax
test esi, esi
je 0x100423288
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
mov dword [rax], edx
mov qword [rax + 8], r15
mov dword [rax + 0x10], edi
mov rax, qword [sym.vim.exe_get_menu_names]
cmp rbp, rax
je 0x1004235c8
add dword [rsp + 0x80], 1
add ebx, 1
mov edx, ebx
mov rcx, r14
call rbp
mov r15, rax
test rax, rax
je 0x100423809
cmp byte [rax], 0
je 0x100422d5c
mov rax, qword [r14]
cmp byte [rax], 0
je 0x100422d9b
test esi, esi
jne 0x100423590
mov rcx, qword [rsp + 0x38]
xor r8d, r8d
mov rdx, r15
call sym.vim.exe_vim_regexec
test eax, eax
je 0x100422d5c
test r12d, r12d
jne 0x100422ce8
mov rcx, r15
call sym.vim.exe_vim_strsave
mov r15, rax
jmp 0x100422cfa
or ebx, 2
mov r9d, ebx
jmp 0x100422b81
mov rcx, r15
mov edi, 1
call sym.vim.exe_vim_strsave
mov rsi, rax
mov qword [rsp + 0xa0], rax
movzx eax, byte [rax]
mov r15, rsi
test al, al
jne 0x100422e0c
jmp 0x100423958
mov rsi, qword [rsp + 0xa0]
lea r15, [rsi + rdi]
movzx eax, byte [r15]
add rdi, 1
test al, al
je 0x100422fa8
lea r9, [rdi - 1]
cmp al, 0x5c
jne 0x100422df0
mov eax, dword [r14 + 0x30]
cmp eax, 2
je 0x100422f58
mov rsi, qword [rsp + 0xa0]
lea r15, [rsi + rdi]
cmp eax, 1
jne 0x100422dfc
cmp byte [r15], 0x20
jne 0x100422dfc
mov rcx, r15
mov qword [rsp + 0x30], r9
call sub.msys_2.0.dll_strlen
mov r9, qword [rsp + 0x30]
mov rdx, r15
lea r8, [rax + 1]
lea rcx, [rsi + r9]
call sub.msys_2.0.dll_memmove
jmp 0x100422df0
mov ecx, 0x1000
mov dword [rsp + 0x74], 0
xor esi, esi
call sym.vim.exe_alloc
mov r14, rax
test rax, rax
je 0x100422b35
mov rcx, r15
call sym.vim.exe_vim_strsave
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1004239da
mov rsi, rax
movzx eax, byte [rax]
or ebx, 0x2042
add rsi, 1
test al, al
jne 0x100422ebf
jmp 0x1004232a6
movzx eax, byte [rsi]
add rsi, 1
test al, al
je 0x100423298
lea r15, [rsi - 1]
cmp al, 0x5c
jne 0x100422eb0
cmp byte [rsi], 0x20
jne 0x100422eb0
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov rdx, rsi
mov rcx, r15
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
jmp 0x100422eb0
mov rdx, qword [r13]
mov ecx, dword [r12]
call sym.vim.exe_cleanup_help_tags
jmp 0x100422b35
or r9d, 0x2000
mov r8, r13
mov rdx, r12
mov rcx, r15
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_ExpandBufnames
movzx ecx, cl
mov r9, r13
mov r8, r12
mov rdx, r15
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_expand_tags
cmp byte [rsi + rdi], 0x5c
jne 0x100422df0
cmp byte [rsi + rdi + 1], 0x5c
jne 0x100422df0
lea rsi, [rsi + rdi + 2]
cmp byte [rsi], 0x20
jne 0x100422df0
mov rcx, rsi
mov qword [rsp + 0x30], r9
call sub.msys_2.0.dll_strlen
mov rdx, rsi
mov rcx, r15
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
mov eax, dword [r14 + 0x30]
mov r9, qword [rsp + 0x30]
jmp 0x100422e21
mov eax, dword [r14 + 8]
mov edi, 1
jmp 0x100422b64
mov rdx, r13
mov rcx, r12
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_ExpandOldSetting
call sym.vim.exe_magic_isset
xor edx, edx
mov rcx, r15
test eax, eax
setne dl
call sym.vim.exe_vim_regcomp
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x100422b33
mov rcx, r15
call sym.vim.exe_ignorecase
mov dword [rsp + 0x148], eax
jmp 0x100422bd1
cmp byte [r15], 0x5e
jne case.0x100422ae8.20
cmp byte [r15 + 1], 0x73
jne case.0x100422ae8.20
cmp byte [r15 + 2], 0x3a
jne case.0x100422ae8.20
mov rcx, r15
call sub.msys_2.0.dll_strlen
lea ebx, [rax + 0x14]
movsxd rbx, ebx
mov rcx, rbx
call sym.vim.exe_alloc
mov qword [rsp + 0x30], rax
test rax, rax
je 0x100422b33
lea r9, [r15 + 3]
lea r8, str._SNR_d__s
mov rdx, rbx
mov rcx, rax
mov r15, rax
call sym.vim.exe_vim_snprintf
jmp 0x100422bc9
mov dword [rsp + 0x28], edi
mov r9, r12
mov r8, r15
mov rcx, r14
mov qword [rsp + 0x20], r13
lea rdx, [rsp + 0xa0]
call sym.vim.exe_ExpandSettings
mov esi, eax
nop dword [rax]
test edi, edi
je 0x1004235f0
mov rcx, qword [rsp + 0x30]
call sym.vim.exe_vim_free
jmp 0x100422b35
mov r8, r13
mov rdx, r12
mov rcx, r15
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_ExpandPackAddDir
lea rax, str.colors
mov r9, r13
mov r8, r12
mov rcx, r15
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xa0]
mov edx, 0x18
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], 0
call sym.vim.exe_ExpandRTDir
mov esi, eax
jmp 0x100422b35
mov qword [r13], 0
mov rcx, qword [sym.vim.exe_call_func_retlist]
mov rdx, r14
xor esi, esi
mov dword [r12], 0
call fcn.100422560
mov r14, rax
test rax, rax
je 0x100422b35
lea rax, [rsp + 0xa0]
mov r8d, 3
mov edx, 8
mov rcx, rax
mov qword [rsp + 0x40], rax
call sym.vim.exe_ga_init2
mov rbx, qword [r14]
mov rdi, qword [rsp + 0x40]
test rbx, rbx
je 0x1004231d6
nop dword [rax]
cmp dword [rbx + 0x10], 7
jne 0x1004231ce
cmp qword [rbx + 0x18], 0
je 0x1004231ce
mov edx, 1
mov rcx, rdi
call sym.vim.exe_ga_grow
test eax, eax
je 0x1004231d6
movsxd rdx, dword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rbx + 0x18]
lea rsi, [rax + rdx*8]
call sym.vim.exe_vim_strsave
mov qword [rsi], rax
add dword [rsp + 0xa0], 1
mov rbx, qword [rbx]
test rbx, rbx
jne 0x100423188
mov rcx, r14
mov esi, 1
call sym.vim.exe_list_unref
mov rax, qword [rsp + 0xb0]
mov qword [r13], rax
mov eax, dword [rsp + 0xa0]
mov dword [r12], eax
jmp 0x100422b35
lea rax, [0x1006ae78d]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 0
lea rax, [rsp + 0xa0]
mov r9, r13
mov r8, r12
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, r15
call sym.vim.exe_ExpandRTDir
mov esi, eax
jmp 0x100422b35
lea rax, [0x1006ae796]
jmp 0x100423206
lea rax, [0x1006ae796]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xa0], rax
lea rax, [0x1006ae79d]
mov qword [rsp + 0xa8], rax
lea rax, str.ftplugin
mov qword [rsp + 0xb0], rax
jmp 0x10042321a
mov qword [rcx + rax*8], r15
jmp 0x100422d44
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0x2e
je 0x100423608
mov rcx, qword [rsp + 0x38]
call sym.vim.exe_mch_isFullName
test eax, eax
je 0x1004238e0
lea rax, [0x1006ae780]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x80]
mov r8d, 0xa
mov edx, 8
mov rcx, rax
mov qword [rsp + 0x48], rax
call sym.vim.exe_ga_init2
lea rax, [rsp + 0xa0]
mov rcx, rax
mov qword [rsp + 0x40], rax
call sym.vim.exe_hash_init
mov dword [rsp + 0x30], 0
mov rdi, qword [rsp + 0x68]
jmp 0x1004233ad
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x100423540
mov dword [rsp + 0x30], 1
mov rbp, rsi
or ebx, 1
sub rbp, rdi
cmp rbp, 0xffb
ja 0x100423540
mov r8, rbp
mov rdx, rdi
mov rcx, r14
mov qword [rsp + 0x78], r14
call sym.vim.exe_vim_strncpy
mov rcx, qword [rsp + 0x78]
call sym.vim.exe_add_pathsep
mov rbp, qword [rsp + 0x78]
mov rcx, rbp
call sub.msys_2.0.dll_strlen
mov rdx, qword [rsp + 0x38]
mov r8d, 0xfff
sub r8, rax
lea rcx, [rbp + rax]
mov rdi, rax
call sym.vim.exe_vim_strncpy
mov dword [rsp + 0x20], ebx
mov r9, r13
mov r8, r12
lea rdx, [rsp + 0x78]
mov ecx, 1
call sym.vim.exe_expand_wildcards
cmp eax, 1
je 0x100423430
cmp byte [rsi], 1
mov rdi, rsi
sbb rdi, 0xffffffffffffffff
mov edx, 0x3a
mov rcx, rdi
call sym.vim.exe_vim_strchr
mov rsi, rax
test rax, rax
je 0x100423408
cmp byte [rdi], 0
je 0x100423310
mov rbp, rsi
mov eax, 2
lea rdx, [0x1006ae77e]
mov rcx, rdi
sub rbp, rdi
movsxd r8, ebp
cmp r8, rax
cmova r8, rax
call sub.msys_2.0.dll_strncmp
test eax, eax
jne 0x100423420
mov dword [rsp + 0x30], 1
or ebx, 1
jmp 0x10042332f
mov rcx, rdi
call sub.msys_2.0.dll_strlen
lea rsi, [rdi + rax]
jmp 0x1004233c2
and ebx, 0xfffffffe
jmp 0x10042332f
mov edx, dword [r12]
mov rcx, qword [rsp + 0x48]
call sym.vim.exe_ga_grow
test eax, eax
je 0x1004235b0
mov r9d, dword [r12]
xor ebp, ebp
test r9d, r9d
jle 0x10042352e
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x60], ebx
jmp 0x10042347e
mov rcx, r14
add rbp, 1
call sym.vim.exe_vim_free
cmp dword [r12], ebp
jle 0x100423520
mov rax, qword [r13]
mov r14, qword [rax + rbp*8]
mov rcx, r14
call sub.msys_2.0.dll_strlen
cmp rdi, rax
jae 0x100423468
lea r15, [r14 + rdi]
mov rcx, r15
call sym.vim.exe_hash_hash
mov rcx, qword [rsp + 0x40]
mov rdx, r15
mov r8, rax
mov rsi, rax
call sym.vim.exe_hash_lookup
mov rbx, rax
mov rax, qword [rax + 8]
test rax, rax
je 0x1004234c7
cmp rax, qword [sym.vim.exe_hash_removed]
jne 0x100423468
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov rcx, r14
mov rdx, r15
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
mov rcx, qword [rsp + 0x40]
mov r8, r14
mov r9, rsi
movsxd rax, dword [rsp + 0x80]
lea edx, [rax + 1]
mov dword [rsp + 0x80], edx
mov rdx, qword [rsp + 0x90]
mov qword [rdx + rax*8], r14
mov rdx, rbx
xor r14d, r14d
call sym.vim.exe_hash_add_item
jmp 0x100423468
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x60]
mov rcx, qword [r13]
call sym.vim.exe_vim_free
jmp 0x1004233a3
mov rax, qword [rsp + 0x90]
mov rcx, r14
mov qword [r13], rax
mov eax, dword [rsp + 0x80]
mov dword [r12], eax
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0x38]
call sym.vim.exe_vim_free
mov r8d, dword [rsp + 0x74]
test r8d, r8d
jne 0x100423630
mov rcx, qword [rsp + 0x40]
mov esi, 1
call sym.vim.exe_hash_clear
jmp 0x100422b35
mov rdx, qword [rsp + 0x40]
mov rcx, r15
call sym.vim.exe_fuzzy_match_str
mov edi, eax
test eax, eax
jne 0x100422d9b
jmp 0x100422d5c
mov rdx, qword [r13]
mov ecx, dword [r12]
call sym.vim.exe_FreeWild
jmp 0x1004233a3
mov rcx, r15
call sub.msys_2.0.dll_strlen
lea rax, [r15 + rax - 1]
cmp byte [rax], 1
jne 0x100422d54
mov byte [rax], 0x2e
jmp 0x100422d54
mov rcx, qword [rsp + 0xa0]
call sym.vim.exe_vim_regfree
jmp 0x1004230b8
movzx ecx, byte [rax + 1]
call sym.vim.exe_vim_ispathsep
test eax, eax
je 0x1004239b5
lea rax, [0x1006ae77e]
mov qword [rsp + 0x68], rax
jmp 0x1004232c4
mov rcx, qword [rsp + 0x68]
call sym.vim.exe_vim_free
jmp 0x100423577
xor esi, esi
jmp 0x1004230b0
mov rcx, qword [rsi]
mov edx, 0x7a
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100423961
cmp byte [r15], 0
je 0x100423961
mov qword [r13], 0
mov rcx, qword [sym.vim.exe_call_func_retstr]
mov rdx, r14
mov dword [r12], 0
call fcn.100422560
mov qword [rsp + 0x38], rax
test rax, rax
je 0x100423640
mov r8d, 3
mov edx, 0x18
mov esi, 1
lea rax, [rsp + 0x80]
mov rcx, rax
mov qword [rsp + 0x48], rax
call sym.vim.exe_ga_init2
mov rax, qword [rsp + 0x38]
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x50], rdx
cmp byte [rax], 0
je 0x100423775
mov qword [rsp + 0x58], r15
mov r15, rax
nop dword [rax]
mov edx, 0xa
mov rcx, r15
call sym.vim.exe_vim_strchr
mov rbx, rax
test rax, rax
je 0x1004237f8
movzx ebp, byte [rbx]
mov byte [rbx], 0
mov rax, qword [r14]
cmp byte [rax], 0
jne 0x1004237d0
mov byte [rbx], bpl
mov rcx, qword [rsp + 0x48]
mov edx, 1
call sym.vim.exe_ga_grow
test eax, eax
je 0x100423775
movsxd rdx, dword [rsp + 0x80]
mov r11, rbx
mov rcx, qword [rsp + 0x90]
sub r11, r15
mov rax, rdx
test esi, esi
jne 0x1004238b0
lea rbp, [rcx + rdx*8]
mov rdx, r11
mov rcx, r15
call sym.vim.exe_vim_strnsave
mov qword [rbp], rax
add dword [rsp + 0x80], 1
movzx ebp, byte [rbx]
test bpl, bpl
jne 0x1004237b8
mov rcx, qword [rsp + 0x38]
call sym.vim.exe_vim_free
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x100423880
mov rcx, qword [rsp + 0x90]
test esi, esi
jne 0x100423a5f
mov qword [r13], rcx
mov esi, 1
mov dword [r12], r8d
jmp 0x1004230b0
cmp byte [rbx + 1], 0
lea r15, [rbx + 1]
jne 0x1004236f0
jmp 0x100423775
test esi, esi
jne 0x100423890
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r15
call sym.vim.exe_vim_regexec
mov byte [rbx], bpl
test eax, eax
je 0x100423770
jmp 0x10042371e
mov rcx, r15
call sub.msys_2.0.dll_strlen
lea rbx, [r15 + rax]
jmp 0x100423709
mov edi, dword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x100423880
mov eax, dword [r14 + 8]
lea edx, [rax - 0x12]
test esi, esi
jne 0x100423a1d
cmp eax, 0x34
jbe 0x100423a9d
mov rcx, qword [rsp + 0x90]
cmp edx, 2
ja 0x100423acb
movsxd rdx, r8d
lea r9, [0x100422690]
mov r8d, 8
call fcn.100673050
mov r8d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
mov qword [r13], rax
mov dword [r12], r8d
call sym.vim.exe_reset_expand_highlight
nop
mov esi, 1
jmp 0x1004230b0
mov rdx, qword [rsp + 0x58]
mov rcx, r15
call sym.vim.exe_fuzzy_match_str
test eax, eax
mov dword [rsp + 0x40], eax
setne al
movzx eax, al
jmp 0x1004237e8
lea rdx, [rdx + rdx*2]
lea rbp, [rcx + rdx*8]
mov rdx, r11
mov rcx, r15
mov dword [rbp], eax
call sym.vim.exe_vim_strnsave
mov qword [rbp + 8], rax
mov eax, dword [rsp + 0x40]
mov dword [rbp + 0x10], eax
jmp 0x100423765
lea rdx, [rsp + 0x74]
lea rcx, [0x1006ae781]
call sym.vim.exe_vim_getenv
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1004232c4
jmp 0x1004232b8
mov qword [r13], 0
lea rax, [rsp + 0x80]
mov r8d, 0x1e
xor esi, esi
mov dword [r12], 0
mov edx, 8
mov rcx, rax
mov qword [rsp + 0x48], rax
call sym.vim.exe_ga_init2
jmp 0x100422caf
lea rdx, [rsp + 0xa0]
mov r9, r13
mov r8, r12
mov rcx, r15
call sym.vim.exe_ExpandMappings
mov esi, eax
jmp 0x1004230b0
mov eax, dword [r14 + 8]
jmp 0x100422b64
mov qword [r13], 0
mov rcx, qword [sym.vim.exe_call_func_retstr]
mov rdx, r14
mov dword [r12], 0
call fcn.100422560
mov qword [rsp + 0x38], rax
test rax, rax
je 0x100423640
lea rax, [rsp + 0x80]
mov r8d, 3
mov edx, 8
xor esi, esi
mov rcx, rax
mov qword [rsp + 0x48], rax
call sym.vim.exe_ga_init2
jmp 0x1004236be
mov rax, qword [rsp + 0x38]
cmp byte [rax + 1], 0x2e
jne 0x1004232a6
movzx ecx, byte [rax + 2]
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x100423619
jmp 0x1004232a6
mov rcx, r14
call sym.vim.exe_vim_free
jmp 0x100422b35
mov edi, dword [rsp + 0x58]
test esi, esi
jne 0x100423a82
mov rcx, qword [rsp + 0x48]
call sym.vim.exe_ga_clear_strings
jmp 0x1004230b0
mov rcx, r15
mov edi, dword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
call sym.vim.exe_vim_free
jmp 0x100423817
and edx, 0xfffffffd
je 0x100423a35
cmp eax, 0x32
sete sil
cmp eax, 0x13
sete al
or esi, eax
movzx esi, sil
mov rcx, qword [rsp + 0x90]
mov r9d, esi
mov rdx, r13
call sym.vim.exe_fuzzymatches_to_strmatches
mov esi, eax
test eax, eax
je 0x1004230b0
mov r8d, dword [rsp + 0x80]
jmp 0x100423876
xor r9d, r9d
mov rdx, r13
call sym.vim.exe_fuzzymatches_to_strmatches
test eax, eax
je 0x100423640
mov eax, dword [rsp + 0x80]
mov dword [r12], eax
jmp 0x1004230b0
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
xor esi, esi
call sym.vim.exe_fuzmatch_str_free
jmp 0x1004230b0
movabs rcx, 0xffefffffffdff7ff
bt rcx, rax
jae 0x10042386a
mov rcx, qword [rsp + 0x90]
cmp edx, 2
jbe 0x10042384d
cmp eax, 0x32
je 0x10042384d
mov edx, r8d
call sym.vim.exe_sort_strings
jmp 0x100423862