Function at 0x1005341f0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x258
mov rsi, qword [rsp + 0x2c0]
mov r13, qword [rsp + 0x2f0]
mov qword [rsp + 0x2a0], rcx
mov rcx, qword [0x100724e20]
mov r12, r8
mov rbx, r9
mov dword [rsp + 0x2a8], edx
test rcx, rcx
je 0x100534244
call sym.vim.exe_vim_free
mov qword [0x100724e20], 0
xor eax, eax
mov ecx, 0xe
mov edx, 3
lea rdi, [rsp + 0x130]
mov qword [rsp + 0xc0], rdi
rep stosq qword [rdi], rax
lea rdi, [rsp + 0xd0]
mov ecx, 0xb
mov qword [rsp + 0x98], rdi
rep stosq qword [rdi], rax
mov ecx, 0x401
call sym.vim.exe_alloc_id
mov edx, 4
mov ecx, 0x401
mov qword [rsp + 0xd0], rax
call sym.vim.exe_alloc_id
mov edx, 5
mov ecx, 0x401
mov dword [rsp + 0xe8], 0x401
mov qword [rsp + 0xd8], rax
call sym.vim.exe_alloc_id
mov edx, 6
mov ecx, 0x401
mov qword [rsp + 0xe0], rax
call sym.vim.exe_alloc_id
cmp qword [rsp + 0xd0], 0
mov qword [rsp + 0x110], rax
je 0x100534423
cmp qword [rsp + 0xe0], 0
je 0x100534423
test rax, rax
je 0x100534423
cmp qword [rsp + 0xd8], 0
je 0x100534423
mov dword [rsp + 0x188], 0
test r13, r13
je 0x10053432e
cmp byte [r13], 0
jne 0x100535736
test r12, r12
je 0x10053435b
lea rdx, [0x1006cfd8b]
mov rcx, r12
call sub.msys_2.0.dll_fopen
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x150], rax
test rax, rax
je 0x100678bc8
test rsi, rsi
je 0x10053438b
mov eax, dword [rsi]
cmp eax, 7
je 0x10053571d
cmp eax, 0xb
jne 0x100535729
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x2d8]
mov r8d, dword [rsp + 0x2d0]
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x180], rax
test r8d, r8d
jne 0x1005344c8
mov rax, qword [rsp + 0x2a0]
mov edi, dword [rsp + 0x2a8]
cmp dword [rax + 4], edi
je 0x1005344c8
movsxd rax, dword [rsp + 0x2a8]
mov rdi, qword [rsp + 0x2a0]
lea rax, [rax + rax*8]
shl rax, 4
lea r13, [rdi + rax + 0x10]
add rax, rdi
mov ecx, dword [rax + 0x30]
test ecx, ecx
jle 0x1005358e6
mov dword [rsp + 0xcc], 1
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xb8], rax
jmp 0x10053451c
mov rax, qword [rsp + 0x2a0]
mov r12d, 0xffffffff
mov qword [rsp + 0xb8], 0
mov eax, dword [rax + 8]
cmp dword [rsp + 0x2a8], eax
je 0x100534df9
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x10053445f
call fcn.100672bf0
mov rcx, qword [rsp + 0x140]
call sym.vim.exe_vim_free
mov r9d, dword [rsp + 0x188]
test r9d, r9d
jne 0x100535821
mov rcx, qword [rsp + 0xd0]
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0xd8]
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0xe0]
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0x110]
call sym.vim.exe_vim_free
mov eax, r12d
add rsp, 0x258
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2a0]
call fcn.100533ac0
mov rax, qword [rsp + 0x2a0]
mov rdi, qword [rsp + 0x2a0]
mov dword [rsp + 0xcc], 0
mov qword [rsp + 0xb8], 0
movsxd rax, dword [rax + 8]
mov dword [rsp + 0x2a8], eax
lea rax, [rax + rax*8]
shl rax, 4
lea r13, [rdi + rax + 0x10]
mov rax, qword [sym.vim.exe_p_efm]
mov rdi, qword [rsp + 0x2c8]
cmp qword [rax], rdi
jne 0x100534539
test rsi, rsi
je 0x100535890
mov r12, qword [0x100724df0]
test r12, r12
je 0x1005347bd
mov rdx, qword [rsp + 0x2c8]
mov rcx, r12
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x100535705
mov rax, qword [0x100724de8]
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x100534d65
mov rax, qword [sym.vim.exe_got_int]
mov r8, qword [rsp + 0x150]
mov dword [rax], 0
mov edx, dword [rax]
mov rax, r8
test edx, edx
jne 0x1005354cc
test r8, r8
je 0x100534d40
nop dword [rax]
mov rax, qword [sym.vim.exe_IObuff]
mov edx, 0x401
mov rcx, qword [rax]
call sub.msys_2.0.dll_fgets
test rax, rax
je 0x1005354c4
mov rax, qword [sym.vim.exe_IObuff]
mov r12, qword [rax]
mov rcx, r12
call sub.msys_2.0.dll_strlen
mov dword [rsp + 0x138], eax
cmp eax, 0x400
je 0x100535299
mov qword [rsp + 0x130], r12
mov r8d, dword [rsp + 0x188]
test r8d, r8d
je 0x10053538e
mov rcx, r12
call sym.vim.exe_has_non_ascii
test eax, eax
jne 0x1005357ca
movsxd rax, dword [rsp + 0x138]
mov r12, qword [rsp + 0x130]
test eax, eax
jle 0x100534634
lea rax, [r12 + rax - 1]
cmp byte [rax], 0xa
je 0x10053558a
mov rcx, r12
call sym.vim.exe_remove_bom
mov eax, dword [rsp + 0x138]
mov r15, qword [rsp + 0x130]
mov dword [rsp + 0xac], eax
add eax, 1
mov dword [rsp + 0xc8], eax
cdqe
mov qword [rsp + 0xb0], rax
mov r14, qword [0x100724e48]
test r14, r14
je 0x10053515d
mov qword [0x100724e48], 0
mov dword [rsp + 0x120], 1
jmp 0x100534749
mov rax, qword [rsp + 0xd0]
mov byte [rax], 0
mov rax, qword [rsp + 0xd8]
mov byte [rax], 0
mov rax, qword [rsp + 0x110]
mov byte [rax], 0
mov rax, qword [rsp + 0xe0]
mov byte [rax], 0
mov eax, 0xffffffff
mov byte [rsp + 0x108], 0
mov rdx, r15
xor r8d, r8d
mov qword [rsp + 0x118], rax
mov rax, qword [r14]
lea rsi, [rsp + 0x1a0]
mov qword [rsp + 0xf0], 0
mov rcx, rsi
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov dword [rsp + 0x248], 1
mov qword [rsp + 0x1a0], rax
call sym.vim.exe_vim_regexec
mov rdx, qword [rsp + 0x1a0]
mov qword [r14], rdx
test eax, eax
jne 0x100534a50
mov r14, qword [r14 + 8]
test r14, r14
je 0x100534bb8
mov edi, dword [r13 + 0x80]
movzx r12d, byte [r14 + 0x1d]
mov ebx, dword [r13 + 0x78]
test edi, edi
je 0x100534698
mov edx, r12d
lea rcx, [0x1006cfd93]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10053473c
mov rax, qword [rsp + 0xd0]
mov byte [rax], 0
mov rax, qword [rsp + 0xd8]
mov byte [rax], 0
mov rax, qword [rsp + 0x110]
mov byte [rax], 0
jmp 0x1005346c4
mov rax, qword [r12 + 8]
mov rcx, qword [r12]
mov qword [0x100724de8], rax
call sym.vim.exe_vim_regfree
mov rcx, r12
call sym.vim.exe_vim_free
mov r12, qword [0x100724de8]
test r12, r12
jne 0x1005347a0
mov rcx, qword [rsp + 0x2c8]
lea rdi, [0x1006d0198]
mov qword [0x100724e48], 0
lea rsi, [rdi - 0xc0]
call sub.msys_2.0.dll_strlen
lea ebx, [rax*4 + 0x27]
mov eax, 3
jmp 0x10053480c
mov rcx, qword [rdi]
sub rdi, 0x10
call sub.msys_2.0.dll_strlen
add ebx, eax
cmp rsi, rdi
jne 0x100534800
lea ecx, [rbx + 2]
mov edx, 7
movsxd rcx, ecx
call sym.vim.exe_alloc_id
mov qword [rsp + 0x80], rax
test rax, rax
je 0x1005356dd
mov rdi, qword [rsp + 0x2c8]
xor ebp, ebp
lea rsi, [0x1006cfda2]
mov qword [rsp + 0x88], 0
cmp byte [rdi], 0
je 0x100535c5a
mov qword [rsp + 0x90], r13
nop word [rax + rax]
mov edx, 8
mov ecx, 0x28
mov rbx, rbp
call sym.vim.exe_alloc_clear_id
mov rbp, rax
test rax, rax
je 0x100535902
cmp qword [rsp + 0x88], 0
je 0x1005351dd
mov qword [rbx + 8], rax
mov rbx, qword [rsp + 0x80]
movzx eax, byte [rdi]
lea r13, [rbx + 1]
test al, al
je 0x100535926
cmp al, 0x2c
je 0x100535926
xor edx, edx
xor ecx, ecx
nop dword [rax]
cmp al, 0x5c
jne 0x1005348cc
cmp byte [rdi + rcx + 1], 1
sbb edx, 0xffffffff
add edx, 1
movsxd rcx, edx
lea r15, [rdi + rcx]
movzx eax, byte [r15]
test al, al
je 0x1005348e2
cmp al, 0x2c
jne 0x1005348c0
mov rax, qword [rsp + 0x80]
mov byte [rax], 0x5e
cmp r15, rdi
jbe 0x1005349d0
mov rbx, rdi
xor r12d, r12d
jmp 0x100534922
cmp r15, r14
jbe 0x100534933
add rbx, 2
movzx eax, byte [r14]
test al, al
je 0x100534919
mov byte [r13], al
add r13, 1
cmp r15, rbx
jbe 0x1005349d0
movzx edx, byte [rbx]
lea r14, [rbx + 1]
cmp dl, 0x25
je 0x100534968
cmp dl, 0x5c
je 0x100534900
mov rcx, rsi
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100534958
mov rax, r14
mov byte [r13], 0x5c
mov r14, rbx
add r13, 1
mov rbx, rax
jmp 0x100534909
mov rax, r14
mov r14, rbx
mov rbx, rax
jmp 0x100534909
movzx edx, byte [rbx + 1]
lea rcx, [0x1006d00f0]
mov r8d, 0x66
xor eax, eax
jmp 0x100534988
movzx r8d, byte [rcx]
add rcx, 0x10
cmp dl, r8b
je 0x100534f80
add eax, 1
cmp eax, 0xd
jne 0x100534980
cmp dl, 0x2a
je 0x100535058
lea rcx, str._.__
call sym.vim.exe_vim_strchr
test rax, rax
movzx eax, byte [rbx + 1]
je 0x1005350f8
add rbx, 2
mov byte [r13], al
add r13, 1
cmp r15, rbx
ja 0x100534922
mov eax, 0x24
mov rcx, qword [rsp + 0x80]
mov edx, 3
mov word [r13], ax
call sym.vim.exe_vim_regcomp
mov qword [rbp], rax
test rax, rax
je 0x1005359df
mov rcx, r15
call sym.vim.exe_skip_to_option_part
cmp byte [rax], 0
mov rdi, rax
jne 0x100534868
mov rcx, qword [rsp + 0x80]
mov r13, qword [rsp + 0x90]
call sym.vim.exe_vim_free
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x2c8]
mov qword [0x100724de8], rax
call sym.vim.exe_vim_strsave
mov qword [0x100724df0], rax
jmp 0x100534561
movzx ebp, byte [r14 + 0x1d]
cmp ebp, 0x43
sete al
cmp ebp, 0x5a
sete dl
or al, dl
je 0x100534a6d
test ebx, ebx
je 0x10053473c
mov edx, ebp
lea rcx, str.EWIN
call sym.vim.exe_vim_strchr
mov r10d, 1
mov dword [rsp + 0xa8], r12d
test rax, rax
mov eax, 0
mov dword [rsp + 0x90], edi
mov r12d, r10d
cmovne eax, ebp
mov rdi, rsi
xor ebx, ebx
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x11c], eax
jmp 0x100534b60
test al, al
je 0x100534b75
cmp qword [rsp + rdx*8 + 0x1a8], 0
je 0x10053473c
lea rax, [rdx + 0xa]
mov rcx, qword [rsp + rax*8 + 0x1a8]
mov qword [rsp + 0x80], rax
test rcx, rcx
je 0x10053473c
movzx esi, byte [rcx]
mov byte [rcx], 0
mov r8d, 0x400
mov rcx, qword [rsp + rdx*8 + 0x1a8]
mov rdx, qword [rsp + 0xd0]
call sym.vim.exe_expand_env
mov rax, qword [rsp + 0x80]
mov edx, ebp
lea rcx, [0x1006cfd93]
mov rax, qword [rsp + rax*8 + 0x1a8]
mov byte [rax], sil
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100534b58
mov rcx, qword [rsp + 0xd0]
call sym.vim.exe_mch_getperm
cmp rax, 0xffffffffffffffff
je 0x10053473c
nop word [rax + rax]
add rbx, 1
add r12d, 1
movzx edx, byte [r14 + rbx + 0x10]
mov ecx, ebx
test edx, edx
setg al
test ebx, ebx
je 0x100534ac0
cmp rbx, 7
je 0x100534f28
cmp ecx, 8
jne 0x100534e18
test al, al
je 0x100534e18
mov rax, qword [rsp + rdx*8 + 0x1a8]
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x100534b58
mov r14, qword [r14 + 8]
test r14, r14
jne 0x100534749
nop word [rax + rax]
mov rax, qword [rsp + 0xd0]
mov dword [r13 + 0x80], 0
mov byte [rax], 0
mov eax, dword [rsp + 0xac]
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x120], 0
cmp eax, dword [rsp + 0xe8]
jl 0x100535bda
mov eax, dword [rsp + 0xac]
mov rcx, qword [rsp + 0xe0]
lea ebx, [rax + 1]
movsxd rdx, ebx
call sub.msys_2.0.dll_realloc
mov rcx, rax
test rax, rax
je 0x100534f68
movsxd r8, dword [rsp + 0xac]
mov rdx, r15
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0xe8], ebx
call sym.vim.exe_vim_strncpy
mov qword [r13 + 0x78], 0
mov r8, qword [rsp + 0xd0]
mov eax, dword [rsp + 0x120]
mov r14d, dword [rsp + 0x11c]
mov r12d, dword [rsp + 0x118]
cmp byte [r8], 0
mov rbp, qword [rsp + 0x110]
movzx edi, byte [rsp + 0x108]
mov esi, dword [rsp + 0x104]
mov ebx, dword [rsp + 0x100]
mov r11, qword [rsp + 0xf8]
mov r10, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xd8]
mov rdx, qword [r13 + 0x60]
jne 0x100534cb6
test rdx, rdx
je 0x100535843
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x60], r12d
mov qword [rsp + 0x58], rbp
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x20], 0
call fcn.100533540
cmp eax, 3
je 0x100534f68
cmp eax, 2
je 0x1005354c4
test eax, eax
je 0x100534d65
call sym.vim.exe_line_breakcheck
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x1005354c4
mov rax, qword [0x100724de8]
mov r8, qword [rsp + 0x150]
mov qword [rsp + 0xa0], rax
test r8, r8
jne 0x1005345a8
mov rax, qword [rsp + 0x158]
test rax, rax
je 0x10053550e
mov eax, dword [rax]
cmp eax, 7
je 0x100535605
cmp eax, 0xb
je 0x10053543a
mov r10d, dword [rsp + 0xcc]
test r10d, r10d
jne 0x100534f68
mov rcx, r13
call fcn.1005332e0
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x100534d94
call sym.vim.exe_vim_free
mov qword [r13 + 0x30], 0
mov rcx, qword [r13 + 0x38]
mov r12d, 0xffffffff
call sym.vim.exe_free_tv
mov qword [r13 + 0x38], 0
lea rcx, [r13 + 0x40]
call sym.vim.exe_free_callback
mov rax, qword [rsp + 0x2a0]
mov dword [r13], 0
mov qword [r13 + 0x88], 0
sub dword [rax + 4], 1
mov eax, dword [rax + 8]
test eax, eax
jle 0x100534440
mov rsi, qword [rsp + 0x2a0]
sub eax, 1
mov dword [rsi + 8], eax
cmp dword [rsp + 0x2a8], eax
jne 0x10053444d
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x2a0]
call fcn.100533920
jmp 0x10053444d
test edx, edx
je 0x100534e3a
lea rax, [0x1006d0060]
mov r8, qword [rsp + 0x98]
mov rcx, rdi
call qword [rax + rbx*8]
cmp eax, 1
jne 0x100534f5f
cmp r12d, 0xd
jne 0x100534b58
mov r12d, dword [rsp + 0xa8]
mov dword [r13 + 0x80], 0
cmp r12d, 0x44
je 0x1005359ec
cmp r12d, 0x58
je 0x100535c1d
mov eax, dword [r14 + 0x20]
test eax, eax
je 0x100534e7a
mov qword [0x100724e48], r14
mov edx, r12d
lea rcx, str.AEWIN
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x100535bb8
mov edx, r12d
lea rcx, [0x1006cfdb4]
call sym.vim.exe_vim_strchr
mov rbx, rax
test rax, rax
jne 0x100535a64
mov edx, r12d
lea rcx, [0x1006cfd93]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100534f00
mov rcx, qword [rsp + 0xd0]
mov dword [rsp + 0x120], 0
cmp byte [rcx], 0
jne 0x100535250
cmp r12d, 0x51
je 0x1005355c4
mov rax, qword [rsp + 0x88]
mov byte [rcx], 0
test rax, rax
je 0x100534f00
cmp byte [rax], 0
jne 0x100535786
cmp byte [r14 + 0x1e], 0x2d
jne 0x100534c46
mov r11d, dword [r13 + 0x78]
test r11d, r11d
je 0x100534d0a
mov dword [r13 + 0x7c], 1
jmp 0x100534d0a
cmp byte [r14 + 0x1e], 0x2b
jne 0x100534f3e
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x100535181
test edx, edx
je 0x100534b58
mov r8, qword [rsp + 0x98]
mov rcx, rdi
call fcn.100531a20
cmp eax, 1
je 0x100534b58
cmp eax, 3
jne 0x10053473c
mov rax, qword [rsp + 0x2a0]
mov r12d, 0xffffffff
mov eax, dword [rax + 8]
jmp 0x100534440
movsxd r14, eax
cmp byte [rbp + r14 + 0x10], 0
jne 0x100535d04
test eax, eax
je 0x100535030
cmp eax, 7
jg 0x100535030
movzx edx, byte [rbp + 0x1d]
lea rcx, str.DXOPQ
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x100678c1b
add r12d, 1
mov edx, 0x285c
lea rax, [r13 + 2]
mov byte [rbp + r14 + 0x10], r12b
mov word [r13], dx
cmp byte [rbx + 1], 0x66
je 0x1005350b0
shl r14, 4
lea rcx, [0x1006d00e0]
mov rcx, qword [rcx + r14 + 8]
lea rdx, [rcx + 1]
movzx ecx, byte [rcx]
mov byte [r13 + 2], cl
test cl, cl
je 0x100535011
nop dword [rax]
movzx ecx, byte [rdx]
add rax, 1
add rdx, 1
mov byte [rax], cl
test cl, cl
jne 0x100535000
mov ecx, 0x295c
lea r13, [rax + 2]
add rbx, 2
mov word [rax], cx
jmp 0x100534919
cmp eax, 8
jne 0x100534fb9
movzx edx, byte [rbp + 0x1d]
lea rcx, [0x1006cfd93]
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x100534fb9
jmp 0x100678c1b
movzx edx, byte [rbx + 2]
lea rax, [rbx + 2]
lea ecx, [rdx - 0x5b]
cmp cl, 1
ja 0x100678c68
mov byte [r13], dl
lea r8, [r13 + 1]
cmp dl, 0x5b
je 0x1005351ea
cmp rax, r15
jae 0x100535092
movzx edx, byte [rbx + 3]
lea rax, [rbx + 3]
lea r8, [r13 + 2]
mov byte [r13 + 1], dl
mov edx, 0x2b5c
lea r13, [r8 + 2]
lea rbx, [rax + 1]
mov word [r8], dx
jmp 0x100534919
movzx edx, byte [rbx + 2]
test dl, dl
je 0x100534fda
cmp dl, 0x5c
je 0x10053539b
cmp dl, 0x25
je 0x10053539b
movabs rcx, 0x7d2c312d7b5c2e
add rbx, 2
mov qword [rax], rcx
lea rax, [r13 + 9]
mov ecx, 0x295c
mov word [rax], cx
lea r13, [rax + 2]
jmp 0x100534919
cmp al, 0x23
je 0x1005353be
cmp al, 0x3e
je 0x100535685
movzx edx, al
lea rax, [rdi + 1]
cmp r14, rax
jne 0x100678c31
lea rcx, [0x1006cfd9f]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100535134
movzx eax, byte [rbx + 1]
lea r14, [rbx + 2]
mov byte [rbp + 0x1e], al
movzx edx, byte [r14]
lea rcx, str.DXAEWINCZGOPQ
call sym.vim.exe_vim_strchr
test rax, rax
je 0x100535cf4
movzx eax, byte [r14]
lea rbx, [r14 + 1]
mov byte [rbp + 0x1d], al
jmp 0x100534919
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x120], 1
test rax, rax
je 0x100534bb8
mov r14, rax
jmp 0x100534749
mov rcx, qword [rsp + 0xe0]
mov eax, dword [rsp + 0xac]
cmp eax, dword [rsp + 0xe8]
jl 0x1005351c8
mov rdx, qword [rsp + 0xb0]
call sub.msys_2.0.dll_realloc
mov rcx, rax
test rax, rax
je 0x100534f68
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0xe8], eax
movsxd r8, dword [rsp + 0xac]
mov rdx, r15
call sym.vim.exe_vim_strncpy
jmp 0x100534b58
mov qword [rsp + 0x88], rax
jmp 0x100534899
cmp byte [rbx + 3], 0x5e
jne 0x1005351fd
mov byte [r13 + 1], 0x5e
lea rax, [rbx + 3]
lea r8, [r13 + 2]
cmp r15, rax
jbe 0x100535092
lea rdx, [rax + 1]
movzx eax, byte [rax + 1]
lea rcx, [r8 + 1]
mov byte [r8], al
lea r8, [r15 + 1]
jmp 0x10053523c
movzx eax, byte [rax + 1]
add rcx, 1
mov byte [rcx - 1], al
cmp al, 0x5d
je 0x100535838
cmp r15, rdx
je 0x100535695
mov rax, rdx
lea rdx, [rdx + 1]
cmp rdx, r8
jne 0x100535220
mov r8, rcx
jmp 0x100535092
call sym.vim.exe_mch_getperm
test rax, rax
js 0x100534f00
mov rcx, qword [rsp + 0xd0]
cmp byte [rcx], 0
je 0x100534edd
cmp r12d, 0x50
jne 0x100534edd
lea rdx, [r13 + 0x68]
mov r8d, 1
call fcn.100531bc0
mov rcx, qword [rsp + 0xd0]
mov qword [r13 + 0x70], rax
jmp 0x100534ee7
cmp byte [r12 + 0x3ff], 0xa
je 0x1005345e9
mov rax, qword [rsp + 0x140]
test rax, rax
je 0x100535939
mov rdx, qword [r12]
lea rdi, [rax + 8]
mov rsi, r12
and rdi, 0xfffffffffffffff8
mov qword [rax], rdx
mov rdx, qword [r12 + 0x3f8]
mov qword [rax + 0x3f8], rdx
sub rax, rdi
sub rsi, rax
add eax, 0x400
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
movsxd rsi, dword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
mov rbx, rsi
mov edx, dword [rsp + 0x148]
mov r8, qword [rsp + 0x150]
lea rcx, [rax + rsi]
sub edx, ebx
call sub.msys_2.0.dll_fgets
mov r12, qword [rsp + 0x140]
test rax, rax
je 0x100535426
lea rcx, [r12 + rsi]
call sub.msys_2.0.dll_strlen
add ebx, eax
mov dword [rsp + 0x138], eax
movsxd rsi, ebx
cmp byte [r12 + rsi - 1], 0xa
je 0x100535426
mov eax, dword [rsp + 0x148]
cmp eax, 0x1000
je 0x1005353d0
mov edx, 0x1000
add eax, eax
mov rcx, r12
cmp eax, edx
cmovg eax, edx
movsxd rdx, eax
mov dword [rsp + 0x148], eax
call sub.msys_2.0.dll_realloc
test rax, rax
je 0x100534f68
mov qword [rsp + 0x140], rax
jmp 0x100535300
movsxd rax, dword [rsp + 0x138]
jmp 0x100534622
mov dword [rax], 0x2b5c665c
mov ecx, 0x295c
add rbx, 2
mov byte [rax + 4], 0
lea rax, [r13 + 6]
lea r13, [rax + 2]
mov word [rax], cx
jmp 0x100534919
mov byte [r13], 0x2a
add rbx, 2
add r13, 1
jmp 0x100534919
mov rax, qword [sym.vim.exe_IObuff]
mov r12, qword [rax]
jmp 0x100535404
mov rax, qword [sym.vim.exe_IObuff]
mov r12, qword [rax]
mov rcx, r12
call sub.msys_2.0.dll_strlen
cmp eax, 0x3ff
jle 0x10053541e
cmp byte [r12 + 0x3ff], 0xa
je 0x10053541e
mov r8, qword [rsp + 0x150]
mov edx, 0x401
mov rcx, r12
call sub.msys_2.0.dll_fgets
test rax, rax
jne 0x1005353e0
mov r12, qword [rsp + 0x140]
mov qword [rsp + 0x130], r12
mov dword [rsp + 0x138], ebx
jmp 0x1005345f1
mov rbx, qword [rsp + 0x168]
test rbx, rbx
jne 0x10053545c
jmp 0x100535ba7
mov rbx, qword [rbx]
test rbx, rbx
je 0x100535ba7
cmp dword [rbx + 0x10], 7
jne 0x100535450
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x100535450
mov rcx, r12
call sub.msys_2.0.dll_strlen
mov edx, eax
cmp eax, 0x3ff
jg 0x100535755
mov rcx, qword [sym.vim.exe_IObuff]
mov dword [rsp + 0x138], eax
mov rcx, qword [rcx]
mov qword [rsp + 0x130], rcx
movsxd r8, edx
mov rdx, r12
call sym.vim.exe_vim_strncpy
mov rax, qword [rbx]
mov r12, qword [rsp + 0x130]
mov qword [rsp + 0x168], rax
movsxd rax, dword [rsp + 0x138]
jmp 0x100534622
mov rax, qword [rsp + 0x150]
test rax, rax
je 0x1005354db
test byte [rax + 0x10], 0x40
jne 0x10053585c
mov eax, dword [r13 + 0x24]
test eax, eax
je 0x100535875
cmp qword [r13 + 0x18], 0
mov dword [r13 + 0x28], 0
je 0x100535bf7
mov rax, qword [rsp + 0x2a0]
mov r12d, dword [r13 + 0x20]
mov eax, dword [rax + 8]
jmp 0x100534440
mov rdx, qword [rsp + 0x178]
cmp rdx, qword [rsp + 0x180]
jg 0x1005354db
mov rcx, qword [rsp + 0x170]
xor r8d, r8d
call sym.vim.exe_ml_get_buf
add qword [rsp + 0x178], 1
mov rcx, rax
mov r12, rax
call sub.msys_2.0.dll_strlen
mov edx, eax
cmp eax, 0x3ff
jg 0x100535973
mov rcx, qword [sym.vim.exe_IObuff]
mov dword [rsp + 0x138], eax
mov rcx, qword [rcx]
mov qword [rsp + 0x130], rcx
movsxd r8, edx
mov rdx, r12
call sym.vim.exe_vim_strncpy
movsxd rax, dword [rsp + 0x138]
mov r12, qword [rsp + 0x130]
jmp 0x100534622
mov byte [rax], 0
movsxd rax, dword [rsp + 0x138]
mov r12, qword [rsp + 0x130]
cmp eax, 1
jle 0x100534634
lea rax, [r12 + rax - 2]
cmp byte [rax], 0xd
jne 0x100534634
mov byte [rax], 0
mov r12, qword [rsp + 0x130]
jmp 0x100534634
mov r12, qword [r13 + 0x68]
test r12, r12
je 0x1005355fc
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [r13 + 0x68], rax
call sym.vim.exe_vim_free
mov rcx, r12
call sym.vim.exe_vim_free
mov rax, qword [r13 + 0x68]
test rax, rax
je 0x1005355f4
mov rbx, qword [rax + 8]
mov rcx, qword [rsp + 0xd0]
mov qword [r13 + 0x70], rbx
jmp 0x100534ee7
mov rsi, qword [rsp + 0x160]
cmp byte [rsi], 0
je 0x1005354db
mov edx, 0xa
mov rcx, rsi
call sym.vim.exe_vim_strchr
test rax, rax
je 0x1005359d0
sub rax, rsi
lea ebx, [rax + 1]
cmp ebx, 0x3ff
jg 0x1005359a0
mov rax, qword [sym.vim.exe_IObuff]
mov dword [rsp + 0x138], ebx
movsxd r8, ebx
mov rcx, qword [rax]
mov qword [rsp + 0x130], rcx
movsxd rbx, ebx
mov rdx, rsi
call sym.vim.exe_vim_strncpy
add rsi, rbx
movsxd rax, dword [rsp + 0x138]
mov r12, qword [rsp + 0x130]
mov qword [rsp + 0x160], rsi
jmp 0x100534622
mov dword [rbp + 0x20], 1
add rbx, 2
jmp 0x100534919
mov rcx, qword [sym.vim.exe_e_missing_rsb_in_format_string]
mov r13, qword [rsp + 0x90]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov rbx, qword [rsp + 0x88]
nop dword [rax]
mov r12, rbx
mov rbx, qword [rbx + 8]
mov rcx, qword [r12]
call sym.vim.exe_vim_regfree
mov rcx, r12
call sym.vim.exe_vim_free
test rbx, rbx
jne 0x1005356c0
mov qword [0x100724e48], 0
mov rcx, qword [rsp + 0x80]
call sym.vim.exe_vim_free
mov qword [0x100724de8], 0
jmp 0x100534d65
mov rcx, r12
call sym.vim.exe_vim_free
mov qword [0x100724df0], 0
jmp 0x1005347bd
mov rax, qword [rsi + 8]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x158], rsi
jmp 0x10053438b
mov rax, qword [sym.vim.exe_p_enc]
lea rcx, [rsp + 0x188]
mov rdx, r13
mov r8, qword [rax]
call sym.vim.exe_convert_setup
jmp 0x10053432e
mov rcx, qword [rsp + 0xc0]
call fcn.1005319a0
mov qword [rsp + 0x130], rax
mov rcx, rax
test rax, rax
je 0x100534f68
mov edx, dword [rsp + 0x138]
mov r12, qword [rbx + 0x18]
jmp 0x100535499
mov rcx, rax
mov rsi, rax
call sym.vim.exe_skipwhite
mov rcx, rax
call sub.msys_2.0.dll_strlen
mov rcx, rsi
mov rbx, rax
call sym.vim.exe_skipwhite
lea r8, [rbx + 1]
mov rdx, rax
mov rax, qword [sym.vim.exe_IObuff]
mov rcx, qword [rax]
call sub.msys_2.0.dll_memmove
mov dword [r13 + 0x80], 1
jmp 0x100534666
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x188]
lea r8, [rsp + 0x138]
call sym.vim.exe_string_convert
mov r12, rax
test rax, rax
je 0x100534612
cmp dword [rsp + 0x138], 0x400
jg 0x1005358ab
mov rcx, qword [rsp + 0x130]
mov rdx, rax
call sub.msys_2.0.dll_strcpy
mov rcx, r12
call sym.vim.exe_vim_free
jmp 0x100534612
lea rcx, [rsp + 0x188]
xor r8d, r8d
xor edx, edx
call sym.vim.exe_convert_setup
jmp 0x10053447d
mov rax, rdx
mov r8, rcx
jmp 0x100535092
mov r8, qword [r13 + 0x70]
test eax, eax
je 0x100535854
test r8, r8
jne 0x100534cb6
xor r8d, r8d
jmp 0x100534cb6
mov rcx, qword [sym.vim.exe_e_error_while_reading_errorfile]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x100534d65
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], rax
movabs rax, 0x100000001
mov qword [r13 + 0x24], rax
jmp 0x1005354fa
mov rax, qword [rbx + 0x1d68]
cmp byte [rax], 0
cmove rax, rdi
mov qword [rsp + 0x2c8], rax
jmp 0x100534539
mov rcx, qword [rsp + 0x140]
call sym.vim.exe_vim_free
movsxd rax, dword [rsp + 0x138]
mov edx, 0x1000
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x130], r12
cmp eax, edx
cmovle edx, eax
mov dword [rsp + 0x148], edx
jmp 0x100534622
mov dword [rsp + 0xcc], 1
mov qword [rsp + 0xb8], 0
jmp 0x10053451c
cmp qword [rsp + 0x88], 0
mov r13, qword [rsp + 0x90]
je 0x1005356dd
mov rbx, qword [rsp + 0x88]
jmp 0x1005356c0
mov rax, qword [rsp + 0x80]
mov r15, rdi
mov byte [rax], 0x5e
jmp 0x1005349d0
mov edx, 0x10
mov ecx, 0x800
mov dword [rsp + 0x148], 0x800
call sym.vim.exe_alloc_id
mov qword [rsp + 0x140], rax
test rax, rax
je 0x100534f68
mov rsi, qword [sym.vim.exe_IObuff]
mov r12, qword [rsi]
jmp 0x1005352b9
mov rcx, qword [rsp + 0xc0]
call fcn.1005319a0
mov qword [rsp + 0x130], rax
mov rcx, rax
test rax, rax
je 0x100534f68
mov edx, dword [rsp + 0x138]
jmp 0x10053556a
mov rcx, qword [rsp + 0xc0]
mov edx, ebx
call fcn.1005319a0
mov qword [rsp + 0x130], rax
mov rcx, rax
test rax, rax
je 0x100534f68
movsxd r8, dword [rsp + 0x138]
jmp 0x10053565a
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov ebx, eax
jmp 0x100535632
mov r13, qword [rsp + 0x90]
jmp 0x100535919
mov rcx, qword [rsp + 0xd0]
cmp byte [rcx], 0
je 0x100535c04
lea rdx, [r13 + 0x58]
xor r8d, r8d
call fcn.100531bc0
mov qword [r13 + 0x60], rax
test rax, rax
je 0x100534d65
mov rax, qword [rsp + 0xd0]
mov byte [rax], 0
mov eax, dword [rsp + 0xac]
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x120], 0
cmp eax, dword [rsp + 0xe8]
jge 0x100535c73
mov rcx, qword [rsp + 0xe0]
movsxd r8, eax
mov rdx, r15
call sym.vim.exe_vim_strncpy
jmp 0x100534c46
mov r14d, dword [r13 + 0x7c]
test r14d, r14d
jne 0x100535b97
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x100534d65
mov r14, qword [rsp + 0xe0]
cmp byte [r14], 0
je 0x100535aeb
mov rcx, qword [rbx + 0x40]
call sub.msys_2.0.dll_strlen
mov rcx, r14
movsxd rdi, eax
call sub.msys_2.0.dll_strlen
mov edx, 0xe
lea rcx, [rdi + rax + 2]
call sym.vim.exe_alloc_id
mov rsi, rax
test rax, rax
je 0x100534d65
mov rdx, qword [rbx + 0x40]
mov rcx, rax
call sub.msys_2.0.dll_strcpy
mov rcx, qword [rbx + 0x40]
call sym.vim.exe_vim_free
mov qword [rbx + 0x40], rsi
add rsi, rdi
mov byte [rsi], 0xa
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsi + 1]
call sub.msys_2.0.dll_strcpy
cmp dword [rbx + 0x2c], 0xffffffff
jne 0x100535afb
mov eax, dword [rsp + 0x118]
mov dword [rbx + 0x2c], eax
mov ecx, dword [rsp + 0x11c]
call sym.vim.exe_vim_isprintc
test eax, eax
je 0x100535b1b
cmp byte [rbx + 0x4a], 0
jne 0x100535b1b
mov eax, dword [rsp + 0x11c]
mov byte [rbx + 0x4a], al
cmp qword [rbx + 0x10], 0
jne 0x100535b2e
mov rax, qword [rsp + 0xf0]
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x18], 0
jne 0x100535b41
mov rax, qword [rsp + 0xf8]
mov qword [rbx + 0x18], rax
mov ebp, dword [rbx + 0x24]
test ebp, ebp
jne 0x100535b5d
mov eax, dword [rsp + 0x100]
mov dword [rbx + 0x24], eax
movzx eax, byte [rsp + 0x108]
mov byte [rbx + 0x48], al
mov edi, dword [rbx + 0x28]
test edi, edi
jne 0x100535b6e
mov eax, dword [rsp + 0x104]
mov dword [rbx + 0x28], eax
mov eax, dword [rbx + 0x20]
test eax, eax
jne 0x100535b97
mov r8, qword [rsp + 0xd0]
mov rdx, qword [r13 + 0x60]
cmp byte [r8], 0
jne 0x100535ce7
test rdx, rdx
je 0x100535cc1
mov dword [rbx + 0x20], eax
cmp r12d, 0x5a
je 0x100535bd0
call sym.vim.exe_line_breakcheck
jmp 0x100534d0a
mov qword [rsp + 0x168], 0
jmp 0x1005354db
mov qword [r13 + 0x78], 1
cmp byte [r14 + 0x1e], 0x2d
jne 0x100534c46
jmp 0x100534f18
mov qword [r13 + 0x78], 0
jmp 0x100535b9d
movsxd r8, dword [rsp + 0xac]
mov rcx, qword [rsp + 0xe0]
mov rdx, r15
call sym.vim.exe_vim_strncpy
jmp 0x100534c3e
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], rax
jmp 0x1005354fa
mov rcx, qword [sym.vim.exe_e_missing_or_empty_directory_name]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x100534d65
mov r12, qword [r13 + 0x58]
test r12, r12
je 0x100535cbd
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [r13 + 0x58], rax
call sym.vim.exe_vim_free
mov rcx, r12
call sym.vim.exe_vim_free
mov rax, qword [r13 + 0x58]
test rax, rax
je 0x100535cbd
mov rax, qword [rax + 8]
mov qword [r13 + 0x60], rax
jmp 0x100535a16
mov rcx, qword [sym.vim.exe_e_errorformat_contains_no_pattern]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x1005356e8
mov eax, dword [rsp + 0xac]
mov rcx, qword [rsp + 0xe0]
lea ebx, [rax + 1]
movsxd rdx, ebx
call sub.msys_2.0.dll_realloc
mov rcx, rax
test rax, rax
je 0x100534f68
movsxd r8, dword [rsp + 0xac]
mov rdx, r15
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0xe8], ebx
call sym.vim.exe_vim_strncpy
jmp 0x100534c46
xor eax, eax
jmp 0x100535c51
mov r8, qword [r13 + 0x70]
test r8, r8
je 0x100535b94
mov esi, dword [rsp + 0x120]
test esi, esi
je 0x100535b94
cmp byte [r8], 0
je 0x100535b94
mov rcx, r13
call fcn.100532d60
jmp 0x100535b94
mov r13, qword [rsp + 0x90]
mov r15, r14
jmp 0x100678bf3
mov r13, qword [rsp + 0x90]
jmp 0x100678c98
mov rcx, qword [sym.vim.exe_e_cant_open_errorfile_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
or r12d, 0xffffffff
mov rcx, rax
call sym.vim.exe_semsg
mov rax, qword [rsp + 0x2a0]
mov eax, dword [rax + 8]
jmp 0x100534440
movzx r12d, byte [r15]
mov rcx, qword [sym.vim.exe_e_invalid_chr_in_format_string_prefix]
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r12d
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rsp + 0x88]
jmp 0x1005356c0
mov r13, qword [rsp + 0x90]
movzx r12d, byte [rbx + 1]
mov rcx, qword [sym.vim.exe_e_unexpected_chr_in_format_str]
jmp 0x100678bfe
mov rcx, qword [sym.vim.exe_e_invalid_chr_in_format_string]
mov r13, qword [rsp + 0x90]
mov dword [rsp + 0x90], edx
call sub.msys_intl_8.dll_libintl_gettext
mov edx, dword [rsp + 0x90]
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rsp + 0x88]
jmp 0x1005356c0
mov rcx, qword [sym.vim.exe_e_unsupported_chr_in_format_string]
mov r15d, edx
mov r13, qword [rsp + 0x90]
call sub.msys_intl_8.dll_libintl_gettext
movzx edx, r15b
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rsp + 0x88]
jmp 0x1005356c0
mov rcx, qword [sym.vim.exe_e_too_many_chr_in_format_string]
mov byte [rsp + 0x90], dl
call sub.msys_intl_8.dll_libintl_gettext
movzx edx, byte [rsp + 0x90]
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rsp + 0x88]
jmp 0x1005356c0