Function at 0x14009bfe0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, rcx
call fcn.14009bca0
mov qword [rcx + 0x128], rdx
mov qword [rcx + 0x130], rdx
lea rcx, [rdx + r8]
mov qword [rbx + 0x138], rcx
cmp rdx, rcx
jae 0x14009c312
mov r8, rdx
xor r12d, r12d
cmp byte [rdx], 0x3c
jne 0x14009c2aa
lea rdx, [rbp - 0x20]
mov rcx, rbx
mov r15d, r12d
mov r14d, r12d
call fcn.14009c450
cmp eax, 0x43
je 0x14009c2f8
mov rcx, rbx
cmp eax, 0x44
jne 0x14009c079
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
add rdx, 9
sub r8, 3
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], r8
jmp 0x14009c2f0
lea rdx, [rbp - 0x20]
call fcn.14009c450
cmp eax, 0x2f
jne 0x14009c0ca
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
cmp eax, 0x49
jne 0x14009c33c
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
mov r8, qword [rbp - 0x18]
sub r8, rdx
call fcn.14009be20
test eax, eax
jne 0x14009c356
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
mov edi, eax
jmp 0x14009c281
cmp eax, 0x21
jne 0x14009c0e3
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
mov r14d, 1
jmp 0x14009c0fa
cmp eax, 0x3f
jne 0x14009c0fa
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
mov r15d, 1
cmp eax, 0x49
jne 0x14009c39f
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
mov r8, qword [rbp - 0x18]
sub r8, rdx
mov dword [rbx + 4], r12d
call fcn.14009bcb0
test eax, eax
jne 0x14009c356
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
mov edi, eax
cmp eax, 0x49
je 0x14009c147
cmp eax, 0x53
jne 0x14009c20e
test r14d, r14d
je 0x14009c236
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.14009c450
mov edi, eax
cmp eax, 0x3d
jne 0x14009c1d7
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.14009c450
cmp eax, 0x49
je 0x14009c174
cmp eax, 0x53
jne 0x14009c35d
mov rsi, qword [rbp - 0x20]
mov rcx, rbx
mov rdi, qword [rbp - 0x18]
mov rdx, rsi
sub rdi, rsi
mov dword [rbx + 4], 1
mov r8, rdi
call fcn.14009bcb0
test eax, eax
jne 0x14009c356
mov rdx, qword [rbp - 0x10]
mov rcx, rbx
mov r8, qword [rbp - 8]
sub r8, rdx
call fcn.14009c760
test eax, eax
jne 0x14009c356
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.14009be20
test eax, eax
je 0x14009c122
mov eax, 1
jmp 0x14009c3c2
cmp eax, 0x49
jne 0x14009c1fe
mov rsi, qword [rbp - 0x20]
mov rcx, rbx
mov rdi, qword [rbp - 0x18]
mov rdx, rsi
sub rdi, rsi
mov dword [rbx + 4], 1
mov r8, rdi
call fcn.14009bcb0
jmp 0x14009c1af
cmp eax, 0x53
jne 0x14009c20e
test r14d, r14d
jne 0x14009c122
jmp 0x14009c236
cmp edi, 0x2f
jne 0x14009c236
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14009be20
test eax, eax
jne 0x14009c356
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
mov edi, eax
test r15d, r15d
je 0x14009c267
cmp edi, 0x3f
jne 0x14009c37e
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14009be20
test eax, eax
jne 0x14009c356
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14009c450
mov edi, eax
test r14d, r14d
je 0x14009c281
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14009be20
test eax, eax
jne 0x14009c356
cmp edi, 0x3e
je 0x14009c2f8
mov ecx, edi
call fcn.14009ba90
mov r8, rax
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected____wanted_
call fcn.140004e50
mov eax, 1
jmp 0x14009c3c2
mov qword [rbp - 0x20], rdx
cmp rdx, rcx
jae 0x14009c2ce
mov rax, rdx
cmp byte [rax], 0x3c
je 0x14009c2ce
lea r8, [rax + 1]
mov qword [rbx + 0x130], r8
mov rax, r8
cmp r8, rcx
jb 0x14009c2b6
test byte [rbx], 2
mov qword [rbp - 0x18], r8
jne 0x14009c2e8
lea rcx, [rbp - 0x20]
call fcn.14009bf80
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x20]
cmp rdx, r8
je 0x14009c2f8
mov rcx, rbx
sub r8, rdx
call fcn.14009c760
mov rdx, qword [rbx + 0x130]
mov rcx, qword [rbx + 0x138]
mov r8, rdx
cmp rdx, rcx
jb 0x14009c030
mov rax, qword [rbx + 0x118]
cmp byte [rax], 0
je 0x14009c3c0
lea rcx, [rbx + 8]
lea rdx, str.unexpected_END_OF_INPUT
call fcn.140004e50
mov eax, 1
jmp 0x14009c3c2
mov ecx, eax
call fcn.14009ba90
mov r8, rax
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected__ident_wanted_
call fcn.140004e50
mov eax, 1
jmp 0x14009c3c2
mov ecx, eax
call fcn.14009ba90
mov r8, rax
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected__ident_or_string_wanted_
call fcn.140004e50
mov eax, 1
jmp 0x14009c3c2
mov ecx, edi
call fcn.14009ba90
mov r8, rax
lea rcx, [rbx + 8]
lea rdx, [0x1402451e0]
call fcn.140004e50
mov eax, 1
jmp 0x14009c3c2
mov ecx, eax
call fcn.14009ba90
mov r8, rax
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected__ident_or___wanted_
call fcn.140004e50
mov eax, 1
jmp 0x14009c3c2
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret