Function at 0x1005dab00
Capabilities:
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov r14, qword [rcx]
mov qword [rbp + 0x20], 0
mov rbx, rcx
mov dword [rbp + 0x18], 0
mov dword [rbp + 0x1c], 0
mov qword [rbp + 0x28], 0
movzx esi, byte [r14]
cmp sil, 0x2d
jne 0x1005db7b2
lea rax, [rbp + 0x38]
mov dword [rbp - 0x28], 0xb
mov qword [rbp - 0x20], 0xffffffffffffffff
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x90], rcx
jmp 0x1005dab8b
or qword [rbp + 0x20], 2
mov rcx, rbx
call sym.vim.exe_skipwhite
mov r14, rax
movzx eax, byte [rax]
cmp al, 0x2d
jne 0x1005dacf8
lea r12, [r14 + 1]
mov rcx, r12
call sym.vim.exe_skiptowhite
mov r13, rax
mov rbx, rax
sub r13, r12
je 0x1005dabd8
mov r8, r13
lea rdx, str.bang
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
je 0x1005dab70
mov r8, r13
lea rdx, [0x1006c1987]
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
jne 0x1005dac08
or dword [rbp + 0x18], 1
jmp 0x1005dab75
lea rcx, str.E175:_No_attribute_specified
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
nop
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r8, r13
lea rdx, str.register
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
jne 0x1005dac30
or qword [rbp + 0x20], 0x200
jmp 0x1005dab75
mov r8, r13
lea rdx, [0x1006c1997]
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
je 0x1005dace8
lea edx, [r13 - 1]
xor r15d, r15d
test r13d, r13d
jg 0x1005dac70
jmp 0x1005daf43
lea rax, [r15 + 1]
cmp r15, rdx
je 0x1005daf43
mov r15, rax
cmp byte [r14 + r15 + 1], 0x3d
jne 0x1005dac60
lea rdi, [r13 - 1]
mov r8, r15
lea r14, [r12 + r15 + 1]
mov rcx, r12
lea rdx, str.nargs
sub rdi, r15
call sub.msys_2.0.dll_strncasecmp
test eax, eax
jne 0x1005db4b5
cmp rdi, 1
jne 0x1005db044
movzx eax, byte [r14]
cmp al, 0x30
je 0x1005dab75
cmp al, 0x31
je 0x1005dba0e
cmp al, 0x2a
je 0x1005db938
cmp al, 0x3f
je 0x1005dba7e
cmp al, 0x2b
jne 0x1005db044
or qword [rbp + 0x20], 0x84
jmp 0x1005dab75
or qword [rbp + 0x20], 0x100
jmp 0x1005dab75
mov rbx, qword [rbp + 0x90]
mov rcx, qword [rbx]
and eax, 0xffffffdf
mov r12, r14
sub eax, 0x41
cmp al, 0x19
jbe 0x1005daf24
mov rdx, r12
call sym.vim.exe_ends_excmd2
test eax, eax
jne 0x1005dad30
movzx eax, byte [r12]
cmp al, 0x20
je 0x1005dad30
cmp al, 9
jne 0x1005db49c
mov rax, r12
mov rcx, r12
sub rax, r14
mov qword [rbp - 0x18], rax
call sym.vim.exe_skipwhite
mov r12, rax
cmp sil, 0x2d
je 0x1005dad5e
mov rcx, qword [rbx]
mov rdx, rax
call sym.vim.exe_ends_excmd2
test eax, eax
jne 0x1005db05d
movzx eax, byte [r14]
mov edx, eax
sub eax, 0x41
cmp eax, 0x19
ja 0x1005db75c
cmp dword [rbp - 0x18], 1
je 0x1005daff9
cmp dword [rbp - 0x18], 4
jle 0x1005daffe
mov r10d, dword [rbp + 0x1c]
test r10d, r10d
jle 0x1005dad97
test byte [rbp + 0x20], 4
je 0x1005db9ec
mov rdx, r12
lea r9, [rbp + 0x18]
lea r8, [rbp + 0x30]
mov rcx, rbx
mov qword [rbp + 0x30], 0
call sym.vim.exe_may_get_cmd_block
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x38]
mov r12, rax
mov eax, dword [rbx + 0x3c]
mov qword [rbp + 0x38], 0
mov rcx, r12
mov r15, qword [rbp + 0x20]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x1c]
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x38], eax
call sym.vim.exe_replace_termcodes
cmp qword [rbp + 0x38], 0
je 0x1005dba47
test byte [rbp - 0x38], 1
jne 0x1005db775
lea rax, [0x100686820]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov edi, dword [rax]
test edi, edi
jle 0x1005dbae2
mov r13, qword [rax + 0x10]
mov r12, qword [rbp - 0x18]
mov qword [rbp - 0x30], r15
xor ebx, ebx
nop dword [rax]
mov r15, qword [r13]
mov r8, r12
mov rcx, r14
mov rsi, r13
mov rdx, r15
call sub.msys_2.0.dll_strncmp
test eax, eax
jne 0x1005db570
mov rcx, r15
call sub.msys_2.0.dll_strlen
cmp r12, rax
jb 0x1005db588
ja 0x1005db572
mov r8d, dword [rbp - 0x50]
mov r15, qword [rbp - 0x30]
mov rbx, qword [sym.vim.exe_current_sctx]
test r8d, r8d
je 0x1005db968
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1005dae92
call sym.vim.exe_vim_free
mov qword [r13 + 0x10], 0
mov rcx, qword [r13 + 0x40]
test rcx, rcx
je 0x1005daea8
call sym.vim.exe_vim_free
mov qword [r13 + 0x40], 0
mov rax, qword [rbp + 0x38]
movdqu xmm1, xmmword [rbx]
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], rax
mov rax, qword [rbp - 0x20]
movups xmmword [rsi + 0x28], xmm1
mov qword [rsi + 0x18], rax
mov eax, dword [rbp - 0x4c]
mov dword [rsi + 0x20], eax
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x38], rax
test byte [rbp - 0x38], 2
je 0x1005daedf
mov dword [rsi + 0x38], 0xf423f
mov rdx, qword [sym.vim.exe_exestack]
movsxd rcx, dword [rdx]
lea rax, [rcx*8]
sub rax, rcx
mov rcx, qword [rdx + 0x10]
lea rax, [rcx + rax*8]
mov rax, qword [rax - 0x38]
add qword [rsi + 0x30], rax
mov rax, qword [rbp - 0x48]
mov qword [rsi + 0x40], rax
mov eax, dword [rbp - 0x28]
mov dword [rsi + 0x24], eax
jmp 0x1005db5b5
add r12, 1
movzx eax, byte [r12]
mov edx, eax
and edx, 0xffffffdf
sub edx, 0x41
cmp dl, 0x19
jbe 0x1005daf20
sub eax, 0x30
cmp eax, 9
jbe 0x1005daf20
jmp 0x1005dad13
mov r8, r13
lea rdx, str.nargs
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
je 0x1005db044
mov r8, r13
lea rdx, [0x1006c19c2]
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
je 0x1005dba1b
mov r15, r13
xor r14d, r14d
xor edi, edi
mov r8, r15
lea rdx, [0x1006c1a16]
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
jne 0x1005db7cb
mov ecx, dword [rbp - 0x28]
or qword [rbp + 0x20], 0x1401
mov eax, 0xa
cmp ecx, 0xb
cmovne eax, ecx
mov dword [rbp - 0x28], eax
test r14, r14
je 0x1005dafe0
cmp qword [rbp - 0x20], 0
mov qword [rbp + 0x38], r14
jns 0x1005db4f7
mov rcx, qword [rbp - 0x18]
add rdi, r14
call sym.vim.exe_getdigits
mov qword [rbp - 0x20], rax
cmp qword [rbp + 0x38], rdi
jne 0x1005db91f
mov rax, qword [rbp - 0x20]
mov edi, 0
test rax, rax
cmovns rdi, rax
mov qword [rbp - 0x20], rdi
jmp 0x1005dab75
cmp dl, 0x58
je 0x1005db02b
movsxd rcx, dword [rbp - 0x18]
mov eax, 5
lea rdi, str.Next
mov rsi, r14
cmp rcx, 5
cmova rcx, rax
cmp rcx, rcx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x1005dad84
lea rcx, str.E841:_Reserved_name__cannot_be_used_for_user_defined_command
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
lea rcx, str.E176:_Invalid_number_of_arguments
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
mov rax, qword [sym.vim.exe_cmdwin_type]
mov ebx, dword [rax]
test ebx, ebx
jne 0x1005db942
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
add rax, 0x11d8
mov qword [rbp - 0x28], r14
xor r13d, r13d
mov r15, rax
nop dword [rax + rax]
mov r11d, dword [r15]
test r11d, r11d
jle 0x1005db480
mov rbx, qword [sym.vim.exe_IObuff]
xor esi, esi
jmp 0x1005db0bd
add rsi, 1
cmp dword [r15], esi
jle 0x1005db480
mov rdx, qword [r15 + 0x10]
lea rax, [rsi + rsi*8]
mov r8, qword [rbp - 0x18]
mov dword [rbp - 0x20], esi
mov rcx, qword [rbp - 0x28]
lea rdi, [rdx + rax*8]
mov r14, qword [rdi]
mov rdx, r14
call sub.msys_2.0.dll_strncmp
test eax, eax
jne 0x1005db0b0
mov rcx, r14
mov r12, qword [rdi + 8]
call sym.vim.exe_message_filtered
test eax, eax
jne 0x1005db0b0
test r13d, r13d
je 0x1005db5c8
mov ecx, 0xa
call sym.vim.exe_msg_putchar
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
mov dword [rbp - 0x30], eax
test eax, eax
jne 0x1005db72c
mov r13d, 3
mov r14d, 4
test r12b, 2
jne 0x1005db5e8
test r12d, 0x200
jne 0x1005db60b
lea rax, [0x100686820]
cmp r15, rax
je 0x1005db540
mov ecx, 0x62
call sym.vim.exe_msg_putchar
lea eax, [r13 - 1]
test r12d, 0x100
jne 0x1005db668
mov r13d, eax
nop dword [rax + rax]
mov ecx, 0x20
call sym.vim.exe_msg_putchar
mov eax, r13d
sub r13d, 1
test eax, eax
jg 0x1005db170
mov rax, qword [sym.vim.exe_highlight_attr]
mov rcx, qword [rdi]
mov edx, dword [rax + 0xc]
call sym.vim.exe_msg_outtrans_attr
mov rcx, qword [rdi]
call sub.msys_2.0.dll_strlen
mov r13, rax
lea eax, [rax + 4]
mov dword [rbp - 0x38], eax
mov r14d, eax
nop dword [rax + rax]
mov ecx, 0x20
add r14d, 1
call sym.vim.exe_msg_putchar
cmp r14d, 0x15
jle 0x1005db1b0
mov eax, 0x11
mov edx, 0
mov ecx, dword [rbp - 0x38]
sub eax, r13d
cmp r13d, 0x11
cmovg eax, edx
mov rdx, qword [rbx]
lea r13d, [rcx + rax - 0x15]
mov eax, r12d
and eax, 0x94
cmp eax, 0x14
je 0x1005db6c8
jg 0x1005db510
test eax, eax
je 0x1005db6e0
cmp eax, 4
jne 0x1005dbae9
mov byte [rdx], 0x2a
mov rdx, qword [rbx]
mov r8d, 1
mov ecx, 5
movsxd rax, r8d
sub ecx, r13d
jmp 0x1005db22b
mov rdx, qword [rbx]
mov byte [rdx + rax], 0x20
add rax, 1
cmp eax, ecx
jl 0x1005db228
mov eax, 4
mov edx, 0
sub eax, r13d
sub eax, r8d
cmp r8d, ecx
cmovge eax, edx
mov rdx, qword [rbx]
lea r10d, [r8 + rax]
lea r14d, [r8 + rax + 1]
test r12d, 0x401
je 0x1005db290
movsxd r9, r14d
lea rcx, [rdx + r9]
test r12d, 0x400
jne 0x1005db6f8
and r12d, 0x20
je 0x1005db688
mov byte [rcx], 0x25
mov rdx, qword [rbx]
lea r14d, [r10 + 2]
nop word [rax + rax]
mov ecx, 8
movsxd rax, r14d
sub ecx, r13d
jmp 0x1005db2a3
mov rdx, qword [rbx]
mov byte [rdx + rax], 0x20
add rax, 1
cmp eax, ecx
jl 0x1005db2a0
mov eax, 7
mov edx, 0
sub eax, r13d
sub eax, r14d
cmp r14d, ecx
cmovge eax, edx
lea rdx, [0x1006c1ef8]
xor ecx, ecx
lea r12d, [r14 + rax + 1]
mov eax, 2
nop dword [rax + rax]
test eax, eax
je 0x1005db2ed
cmp dword [rdi + 0x24], eax
je 0x1005db628
mov eax, dword [rdx]
add rdx, 0x18
add ecx, 1
cmp eax, 0xb
jne 0x1005db2e0
mov rdx, qword [rbx]
mov ecx, 0xd
movsxd rax, r12d
xor r8d, r8d
sub ecx, r13d
jmp 0x1005db313
mov rdx, qword [rbx]
mov byte [rdx + rax], 0x20
add rax, 1
lea edx, [r8 + rax]
cmp edx, ecx
jl 0x1005db310
mov eax, 0xc
mov edx, 0
mov r8d, dword [rdi + 0x20]
sub eax, r13d
sub eax, r12d
cmp r12d, ecx
cmovge eax, edx
lea rdx, [0x1006c20f0]
xor ecx, ecx
lea r12d, [r12 + rax + 1]
mov eax, 0x30
jmp 0x1005db369
mov eax, dword [rdx]
add rdx, 0x10
add ecx, 1
test eax, eax
je 0x1005db560
cmp r8d, eax
jne 0x1005db358
mov r8, qword [rbx]
movsxd rcx, ecx
movsxd r14, r12d
lea rax, [0x1006c20e0]
shl rcx, 4
mov rdx, qword [rax + rcx + 8]
add r8, r14
mov rcx, r8
call sub.msys_2.0.dll_strcpy
mov rdx, qword [rbx]
lea rcx, [rdx + r14]
mov qword [rbp - 0x38], rdx
call sub.msys_2.0.dll_strlen
mov rdx, qword [rbp - 0x38]
add r12d, eax
mov ecx, 0x19
movsxd rax, r12d
xor r8d, r8d
sub ecx, r13d
jmp 0x1005db3c3
mov rdx, qword [rbx]
mov byte [rdx + rax], 0x20
add rax, 1
lea edx, [r8 + rax]
cmp edx, ecx
jl 0x1005db3c0
mov eax, 0x18
mov edx, 0
sub eax, r13d
sub eax, r12d
cmp r12d, ecx
cmovge eax, edx
mov rdx, qword [rbx]
lea eax, [r12 + rax + 1]
cdqe
mov byte [rdx + rax], 0
mov rcx, qword [rbx]
call sym.vim.exe_msg_outtrans
cmp qword [rbp - 0x18], 0
jne 0x1005db416
mov rax, qword [sym.vim.exe_Columns]
mov rax, qword [rax]
sub eax, 0x2f
mov dword [rbp - 0x30], eax
mov rcx, qword [rdi + 0x10]
mov r8d, dword [rbp - 0x30]
xor edx, edx
call sym.vim.exe_msg_outtrans_special
mov rax, qword [sym.vim.exe_p_verbose]
cmp qword [rax], 0
jle 0x1005db44c
movdqu xmm0, xmmword [rdi + 0x28]
lea rcx, [rbp - 0x10]
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [rdi + 0x38]
mov qword [rbp], rax
call sym.vim.exe_last_set_msg
call sym.vim.exe_out_flush
call sym.vim.exe_ui_breakcheck
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x1005db72c
mov r13d, 1
add rsi, 1
cmp dword [r15], esi
jg 0x1005db0bd
nop word [rax + rax]
lea rax, [0x100686820]
cmp r15, rax
je 0x1005dba25
lea r15, [0x100686820]
jmp 0x1005db090
lea rcx, str.E182:_Invalid_command_name
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
mov r8, r15
lea rdx, [0x1006c19c2]
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
jne 0x1005daf7f
mov rax, qword [rbp + 0x20]
mov rdx, rax
or rdx, 1
mov qword [rbp + 0x20], rdx
cmp rdi, 1
je 0x1005db8a3
cmp qword [rbp - 0x20], 0
mov qword [rbp + 0x38], r14
js 0x1005db8fc
lea rcx, str.E177:_Count_cannot_be_specified_twice
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
cmp eax, 0x84
je 0x1005db6b0
cmp eax, 0x94
jne 0x1005dbae9
mov byte [rdx], 0x31
mov r8d, 1
mov rdx, qword [rbx]
jmp 0x1005db217
test r12d, 0x100
je 0x1005db170
mov ecx, 0x7c
call sym.vim.exe_msg_putchar
lea r13d, [r14 - 2]
jmp 0x1005db170
mov rdx, qword [rbx]
jmp 0x1005db3a9
js 0x1005db588
add ebx, 1
add r13, 0x48
cmp ebx, edi
jne 0x1005dae30
nop dword [rax]
mov r15, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x40]
mov edx, 1
call sym.vim.exe_ga_grow
cmp eax, 1
je 0x1005db990
mov rcx, qword [rbp + 0x38]
call sym.vim.exe_vim_free
mov rcx, qword [rbp - 0x48]
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x30]
call sym.vim.exe_vim_free
jmp 0x1005dabed
lea rcx, str._n____Name______________Args_Address_Complete____Definition
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg_puts_title
jmp 0x1005db0fc
mov ecx, 0x21
mov r13d, 2
mov r14d, 3
call sym.vim.exe_msg_putchar
test r12d, 0x200
je 0x1005db13d
mov ecx, 0x22
mov r14d, r13d
sub r13d, 1
call sym.vim.exe_msg_putchar
jmp 0x1005db13d
movsxd rcx, ecx
lea rax, [0x1006c1ee0]
movsxd r14, r12d
lea rdx, [rcx + rcx*2]
mov rcx, qword [rbx]
mov rdx, qword [rax + rdx*8 + 0x10]
add rcx, r14
call sub.msys_2.0.dll_strcpy
mov rdx, qword [rbx]
lea rcx, [rdx + r14]
mov qword [rbp - 0x38], rdx
call sub.msys_2.0.dll_strlen
mov rdx, qword [rbp - 0x38]
add r12d, eax
jmp 0x1005db2fe
mov ecx, 0x7c
call sym.vim.exe_msg_putchar
cmp r13d, 1
je 0x1005db185
mov r14d, r13d
jmp 0x1005db557
mov r8, qword [rdi + 0x18]
mov qword [rbp - 0x38], r9
test r8, r8
jns 0x1005db753
mov byte [rcx], 0x2e
lea r14d, [r10 + 2]
mov rdx, qword [rbx]
jmp 0x1005db290
mov byte [rdx], 0x2b
mov r8d, 1
mov rdx, qword [rbx]
jmp 0x1005db217
mov byte [rdx], 0x3f
mov r8d, 1
mov rdx, qword [rbx]
jmp 0x1005db217
mov byte [rdx], 0x30
mov r8d, 1
mov rdx, qword [rbx]
jmp 0x1005db217
mov qword [rbp - 0x38], r9
mov r8, qword [rdi + 0x18]
lea rdx, str._ldc
call sub.msys_2.0.dll_sprintf
mov rdx, qword [rbx]
mov r9, qword [rbp - 0x38]
lea rcx, [rdx + r9]
mov qword [rbp - 0x38], rdx
call sub.msys_2.0.dll_strlen
mov rdx, qword [rbp - 0x38]
add r14d, eax
jmp 0x1005db290
lea rax, [0x100686820]
cmp r15, rax
je 0x1005dabed
mov eax, dword [rbp - 0x20]
cmp dword [r15], eax
jg 0x1005dabed
mov r13d, 1
jmp 0x1005db490
lea rdx, [0x1006c1b10]
jmp 0x1005db707
lea rcx, str.E183:_User_defined_commands_must_start_with_an_uppercase_letter
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov r9d, dword [rax + 0x11e0]
lea rbx, [rax + 0x11d8]
mov qword [rbp - 0x40], rbx
test r9d, r9d
jne 0x1005dae0d
mov r8d, 4
mov edx, 0x48
mov rcx, rbx
call sym.vim.exe_ga_init2
jmp 0x1005dae0d
mov dword [rbp - 0x28], 0xb
mov rcx, r14
mov eax, esi
mov qword [rbp - 0x20], 0xffffffffffffffff
jmp 0x1005dad02
mov r8, r15
lea rdx, str.complete
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
je 0x1005db8cb
mov r8, r15
lea rdx, str.addr
mov rcx, r12
call sub.msys_2.0.dll_strncasecmp
test eax, eax
jne 0x100666c2f
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x30], rax
or rax, 1
mov qword [rbp + 0x20], rax
test r14, r14
je 0x1005dbab0
mov ecx, edi
mov eax, 2
mov byte [rbp - 0x28], sil
movsxd rdi, edi
mov qword [rbp - 0x38], rbx
lea r13, [0x1006c1ef8]
mov esi, ecx
mov ebx, eax
mov r12d, 9
lea r15, str.arguments
jmp 0x1005db864
mov ebx, dword [r13]
add r13, 0x18
cmp ebx, 0xb
je 0x1005dba88
mov r15, qword [r13 - 0x10]
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov r12, rax
mov r8, rdi
mov rdx, r15
mov rcx, r14
call sub.msys_2.0.dll_strncmp
cmp esi, r12d
jne 0x1005db844
test eax, eax
jne 0x1005db844
mov eax, ebx
movzx esi, byte [rbp - 0x28]
mov dword [rbp - 0x28], ebx
mov rbx, qword [rbp - 0x38]
test eax, eax
je 0x1005dab75
mov rax, qword [rbp - 0x30]
or rax, 0x1001
mov qword [rbp + 0x20], rax
jmp 0x1005dab75
cmp byte [r14], 0x25
jne 0x1005db4e8
or rax, 0x21
mov qword [rbp + 0x20], rax
mov edi, dword [rbp - 0x28]
mov eax, 0
cmp edi, 0xb
cmovne eax, edi
mov dword [rbp - 0x28], eax
jmp 0x1005dab75
test r14, r14
je 0x1005dbac9
lea rax, [rbp + 0x28]
lea r9, [rbp + 0x20]
mov edx, edi
mov rcx, r14
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x1c]
call sym.vim.exe_parse_compl_arg
test eax, eax
jne 0x1005dab75
jmp 0x1005dabed
mov rcx, qword [rbp - 0x18]
add r12, r13
call sym.vim.exe_getdigits
or qword [rbp + 0x20], 0x1000
mov qword [rbp - 0x20], rax
cmp qword [rbp + 0x38], r12
jne 0x1005db91f
test rdi, rdi
jne 0x1005db8b5
lea rcx, str.E178:_Invalid_default_value_for_count
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
or qword [rbp + 0x20], 4
jmp 0x1005dab75
call sym.vim.exe_get_cmdline_type
test eax, eax
jne 0x1005db06e
mov rax, qword [sym.vim.exe_prevwin]
mov rax, qword [rax]
mov rax, qword [rax + 8]
add rax, 0x11d8
jmp 0x1005db07e
mov eax, dword [rbx]
cmp dword [r13 + 0x28], eax
jne 0x100666c5c
mov eax, dword [rbx + 4]
cmp dword [r13 + 0x2c], eax
jne 0x1005dae7c
jmp 0x100666c5c
mov rdx, qword [rbp - 0x18]
mov rcx, r14
call sym.vim.exe_vim_strnsave
mov rdi, rax
test rax, rax
je 0x1005db5a3
mov r14, qword [rbp - 0x40]
movsxd rax, ebx
lea rdx, [rax + rax*8]
mov rax, qword [r14 + 0x10]
lea rsi, [rax + rdx*8]
mov eax, dword [r14]
lea rcx, [rsi + 0x48]
mov rdx, rsi
mov dword [rbp - 0x18], eax
sub eax, ebx
cdqe
lea r8, [rax + rax*8]
shl r8, 3
call sub.msys_2.0.dll_memmove
add dword [r14], 1
mov rbx, qword [sym.vim.exe_current_sctx]
mov qword [rsi], rdi
jmp 0x1005daea8
call sym.vim.exe_in_vim9script
mov rcx, qword [sym.vim.exe_e_complete_used_without_allowing_arguments]
test eax, eax
je 0x1005dba61
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
or qword [rbp + 0x20], 0x94
jmp 0x1005dab75
or qword [rbp + 0x20], 1
jmp 0x1005db8b5
test r13d, r13d
jne 0x1005dabed
lea rcx, str.No_user_defined_commands_found
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_msg
jmp 0x1005dabed
mov rcx, r12
call sym.vim.exe_vim_strsave
mov qword [rbp + 0x38], rax
test rax, rax
jne 0x1005dadf8
jmp 0x1005db5b5
call sub.msys_intl_8.dll_libintl_gettext
mov r8d, 1
mov edx, 1
mov rcx, rax
call sym.vim.exe_give_warning_with_source
jmp 0x1005dabed
or qword [rbp + 0x20], 0x14
jmp 0x1005dab75
mov rax, r14
jmp 0x1005dba9a
add rax, 1
cmp dl, 9
je 0x100666c0f
movzx edx, byte [rax]
mov rcx, rax
test dl, 0xdf
jne 0x1005dba8d
jmp 0x100666c0f
lea rcx, str.E179:_argument_required_for__addr
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
lea rcx, str.E179:_argument_required_for__complete
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005dabed
xor ebx, ebx
jmp 0x1005db58c
xor r8d, r8d
jmp 0x1005db217
mov byte [rcx], 0
lea rcx, str.E180:_Invalid_address_type_value:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r14
mov rcx, rax
call sym.vim.exe_semsg
nop
jmp 0x1005dabed
add r13, r12
lea rcx, str.E181:_Invalid_attribute:__s
movzx ebx, byte [r13]
mov byte [r13], 0
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
mov rcx, rax
call sym.vim.exe_semsg
mov byte [r13], bl
jmp 0x1005dabed
lea rcx, str.E174:_Command_already_exists:_add___to_replace_it:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r14
mov rcx, rax
call sym.vim.exe_semsg
nop
jmp 0x1005db5a3