Function at 0x14019f960
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x1401a0017
lea r14, vtable.std::_Node_base.0
xor ebp, ebp
lea r15, vtable.std::_Node_back.0
nop dword [rax]
cmp ecx, 0x7c
je 0x1401a0017
cmp ecx, 0x29
jne 0x14019f9cc
cmp dword [rbx + 0x1c], ebp
jne 0x1401a0017
test dword [rbx + 0x80], 0x10000000
je 0x1401a003e
jmp 0x14019ffab
cmp ecx, 0x2e
jne 0x14019fa5c
mov ecx, 0x20
call fcn.140384e20
test rax, rax
je 0x14019f9f9
mov qword [rax], r14
mov qword [rax + 8], 5
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
jmp 0x14019f9fc
mov rax, rbp
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.1401a4ab0
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14019fff9
cmp byte [rcx], 0x5c
jne 0x14019fa50
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14019fa50
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14019fa3c
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14019fa4d
test r8b, 0x10
jne 0x14019fa50
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x14019fa4d
cmp al, 0x7d
jne 0x14019fa50
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
jmp 0x14019fff9
cmp ecx, 0x5c
jne 0x14019fd21
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14019fab0
cmp byte [rcx], 0x5c
jne 0x14019faa9
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14019faa9
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14019fa95
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14019faa6
test r8b, 0x10
jne 0x14019faa9
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x14019faa6
cmp al, 0x7d
jne 0x14019faa9
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1401a6cb0
mov ecx, dword [rbx + 0x80]
test cl, cl
jns 0x14019fc01
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x14019fb61
mov ecx, 0x20
call fcn.140384e20
test rax, rax
je 0x14019faf6
mov qword [rax], r14
mov qword [rax + 8], 4
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
jmp 0x14019faf9
mov rax, rbp
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.1401a4ab0
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14019ff54
cmp byte [rcx], 0x5c
jne 0x14019fb4d
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14019fb4d
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14019fb39
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14019fb4a
test r8b, 0x10
jne 0x14019fb4d
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x14019fb4a
cmp al, 0x7d
jne 0x14019fb4d
mov rcx, rdx
lea rax, [rcx + 1]
mov rcx, rbx
mov qword [rbx], rax
call fcn.1401a6cb0
jmp 0x1401a0009
cmp al, 0x42
jne 0x14019fc01
mov ecx, 0x20
call fcn.140384e20
test rax, rax
je 0x14019fb8d
mov qword [rax], r14
mov qword [rax + 8], 4
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
jmp 0x14019fb90
mov rax, rbp
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.1401a4ab0
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14019ff54
cmp byte [rax], 0x5c
jne 0x14019fbee
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14019fbee
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019fbd9
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019fbeb
mov rax, qword [rbx]
test dl, 0x10
jne 0x14019fbee
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14019fbeb
cmp dl, 0x7d
jne 0x14019fbee
mov rax, rcx
inc rax
mov rcx, rbx
mov qword [rbx], rax
call fcn.1401a6cb0
jmp 0x1401a0009
bt ecx, 8
jae 0x14019fcdc
mov edx, 3
mov rcx, rbx
call fcn.1401a1460
test al, al
je 0x14019fcdc
movsxd rdi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x80]
test edi, edi
jne 0x14019fc4a
bt eax, 0x14
jae 0x1401a004c
lea rcx, [rbx + 0x40]
movzx edx, dil
call fcn.14019ef50
jmp 0x1401a0001
bt eax, 9
jae 0x14019fc59
cmp edi, 9
ja 0x1401a0076
mov eax, dword [rbx + 0x18]
mov rcx, rdi
cmp rax, rdi
jb 0x1401a0076
cmp qword [rbx + 0x38], rcx
jbe 0x1401a0076
mov rdx, qword [rbx + 0x20]
movzx eax, cl
and al, 0x1f
mov r8, rcx
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x1401a0076
mov ecx, 0x28
call fcn.140384e20
test rax, rax
je 0x14019fcc8
mov rdx, rax
mov qword [rax + 8], reloc.WS2_32.dll_ntohs
lea rcx, [rbx + 0x40]
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
mov qword [rax], r15
mov dword [rax + 0x20], edi
call fcn.1401a4ab0
jmp 0x1401a0001
mov rax, rbp
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.1401a4ab0
jmp 0x1401a0001
mov rcx, rbx
call fcn.1401a08d0
test al, al
je 0x14019fcfa
movzx edx, byte [rbx + 0x74]
lea rcx, [rbx + 0x40]
call fcn.14019ef50
jmp 0x1401a0001
test dword [rbx + 0x80], 0x20000
je 0x1401a004c
mov dl, 1
mov rcx, rbx
call fcn.1401a0820
test al, al
je 0x1401a004c
jmp 0x1401a0001
cmp ecx, 0x5b
jne 0x14019fde5
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14019fd76
cmp byte [rax], 0x5c
jne 0x14019fd70
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14019fd70
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019fd5b
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019fd6d
mov rax, qword [rbx]
test dl, 0x10
jne 0x14019fd70
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14019fd6d
cmp dl, 0x7d
jne 0x14019fd70
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1401a6cb0
mov rcx, rbx
call fcn.1401a0720
cmp dword [rbx + 0x7c], 0x5d
jne 0x1401a0030
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14019fff9
cmp byte [rax], 0x5c
jne 0x14019fdda
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14019fdda
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019fdc5
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019fdd7
mov rax, qword [rbx]
test dl, 0x10
jne 0x14019fdda
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14019fdd7
cmp dl, 0x7d
jne 0x14019fdda
mov rax, rcx
inc rax
mov qword [rbx], rax
jmp 0x14019fff9
cmp ecx, 0x28
jne 0x14019feae
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14019fe3a
cmp byte [rax], 0x5c
jne 0x14019fe34
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14019fe34
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019fe1f
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019fe31
mov rax, qword [rbx]
test dl, 0x10
jne 0x14019fe34
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14019fe31
cmp dl, 0x7d
jne 0x14019fe34
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1401a6cb0
mov rcx, rbx
call fcn.1401a6f50
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x1401a003e
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x14019fe98
cmp byte [rcx], 0x5c
jne 0x14019fe95
inc rcx
cmp rcx, rdx
je 0x14019fe95
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019fe84
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019fe92
test dl, 0x10
jne 0x14019fe95
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14019fe95
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1401a6cb0
test dil, dil
je 0x1401a0009
jmp 0x1401a0001
cmp ecx, 0x5e
jne 0x14019fed7
mov ecx, 0x20
call fcn.140384e20
test rax, rax
je 0x14019ff04
mov qword [rax], r14
mov qword [rax + 8], 2
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
jmp 0x14019ff07
cmp ecx, 0x24
jne 0x14019ff61
mov ecx, 0x20
call fcn.140384e20
test rax, rax
je 0x14019ff04
mov qword [rax], r14
mov qword [rax + 8], 3
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
jmp 0x14019ff07
mov rax, rbp
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.1401a4ab0
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x14019ff54
cmp byte [rcx], 0x5c
jne 0x14019ff51
inc rcx
cmp rcx, rax
je 0x14019ff51
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019ff40
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019ff4e
test dl, 0x10
jne 0x14019ff51
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14019ff51
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1401a6cb0
jmp 0x1401a0009
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1401a0068
cmp ecx, 0x3f
je 0x1401a0068
cmp ecx, 0x7b
je 0x1401a0068
cmp ecx, 0x7d
jne 0x14019ff96
test dword [rbx + 0x80], 0x10000000
je 0x1401a005a
jmp 0x14019ffab
cmp ecx, 0x5d
jne 0x14019ffab
test dword [rbx + 0x80], 0x10000000
je 0x1401a0030
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.14019ef50
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14019fff9
cmp byte [rcx], 0x5c
jne 0x14019fff6
inc rcx
cmp rcx, rax
je 0x14019fff6
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14019ffe5
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14019fff3
test dl, 0x10
jne 0x14019fff6
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14019fff6
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1401a6cb0
mov rcx, rbx
call fcn.1401a5d00
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x14019f9a0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
mov edx, 4
mov rcx, rbx
call fcn.1401a39f0
int3
mov edx, 5
mov rcx, rbx
call fcn.1401a39f0
int3
mov edx, 2
mov rcx, rbx
call fcn.1401a39f0
int3
mov edx, 6
mov rcx, rbx
call fcn.1401a39f0
int3
mov edx, 0xa
mov rcx, rbx
call fcn.1401a39f0
int3
mov edx, 3
mov rcx, rbx
call fcn.1401a39f0
int3