Function at 0x140044a80
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, rcx
call fcn.140044840
lea rax, [rdx + r8]
mov qword [rcx + 0x128], rdx
mov qword [rcx + 0x130], rdx
mov qword [rcx + 0x138], rax
cmp rdx, rax
jae 0x140044ddb
xor r15d, r15d
nop dword [rax]
mov rdx, qword [rbx + 0x130]
cmp byte [rdx], 0x3c
jne 0x140044d5c
lea rdx, [rbp - 0x20]
mov rcx, rbx
mov r14d, r15d
mov r13d, r15d
call fcn.140044400
cmp eax, 0x43
je 0x140044dc7
mov rcx, rbx
cmp eax, 0x44
jne 0x140044b20
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
add rdx, 9
sub r8, 3
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x20], rdx
jmp 0x140044dbf
lea rdx, [rbp - 0x20]
call fcn.140044400
cmp eax, 0x2f
jne 0x140044b71
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
cmp eax, 0x49
jne 0x140044e05
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov rcx, rbx
sub r8, rdx
call fcn.140044960
test eax, eax
jne 0x140044e1f
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
mov edi, eax
jmp 0x140044d2f
cmp eax, 0x21
jne 0x140044b8a
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
mov r13d, 1
jmp 0x140044ba1
cmp eax, 0x3f
jne 0x140044ba1
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
mov r14d, 1
cmp eax, 0x49
jne 0x140044e68
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov rcx, rbx
sub r8, rdx
mov dword [rbx + 4], r15d
call fcn.140044850
test eax, eax
jne 0x140044e1f
nop dword [rax]
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
mov edi, eax
cmp eax, 0x49
je 0x140044bf5
cmp eax, 0x53
jne 0x140044cbc
test r13d, r13d
je 0x140044ce4
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140044400
mov edi, eax
cmp eax, 0x3d
jne 0x140044c85
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140044400
cmp eax, 0x49
je 0x140044c22
cmp eax, 0x53
jne 0x140044e26
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x18]
mov rcx, rbx
sub rdi, rsi
mov rdx, rsi
mov dword [rbx + 4], 1
mov r8, rdi
call fcn.140044850
test eax, eax
jne 0x140044e1f
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rcx, rbx
sub r8, rdx
call fcn.140044750
test eax, eax
jne 0x140044e1f
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140044960
test eax, eax
je 0x140044bd0
mov eax, 1
jmp 0x140044e8b
cmp eax, 0x49
jne 0x140044cac
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x18]
mov rcx, rbx
sub rdi, rsi
mov rdx, rsi
mov dword [rbx + 4], 1
mov r8, rdi
call fcn.140044850
jmp 0x140044c5d
cmp eax, 0x53
jne 0x140044cbc
test r13d, r13d
jne 0x140044bd0
jmp 0x140044ce4
cmp edi, 0x2f
jne 0x140044ce4
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140044960
test eax, eax
jne 0x140044e1f
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
mov edi, eax
test r14d, r14d
je 0x140044d15
cmp edi, 0x3f
jne 0x140044e47
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140044960
test eax, eax
jne 0x140044e1f
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140044400
mov edi, eax
test r13d, r13d
je 0x140044d2f
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140044960
test eax, eax
jne 0x140044e1f
cmp edi, 0x3e
je 0x140044dc7
mov ecx, edi
call fcn.140044280
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected____wanted_
mov r8, rax
call fcn.1400612c8
mov eax, 1
jmp 0x140044e8b
mov qword [rbp - 0x20], rdx
cmp rdx, qword [rbx + 0x138]
jae 0x140044d96
nop dword [rax]
mov rax, qword [rbx + 0x130]
cmp byte [rax], 0x3c
je 0x140044d96
inc rax
mov qword [rbx + 0x130], rax
mov rax, qword [rbx + 0x138]
cmp qword [rbx + 0x130], rax
jb 0x140044d70
test byte [rbx], 2
mov r8, qword [rbx + 0x130]
mov qword [rbp - 0x18], r8
jne 0x140044db7
lea rcx, [rbp - 0x20]
call fcn.140044380
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x20]
cmp rdx, r8
je 0x140044dc7
mov rcx, rbx
sub r8, rdx
call fcn.140044750
mov rax, qword [rbx + 0x138]
cmp qword [rbx + 0x130], rax
jb 0x140044ad0
mov rax, qword [rbx + 0x118]
cmp byte [rax], 0
je 0x140044e89
lea rcx, [rbx + 8]
lea rdx, str.unexpected_END_OF_INPUT
call fcn.1400612c8
mov eax, 1
jmp 0x140044e8b
mov ecx, eax
call fcn.140044280
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected__ident_wanted_
mov r8, rax
call fcn.1400612c8
mov eax, 1
jmp 0x140044e8b
mov ecx, eax
call fcn.140044280
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected__ident_or_string_wanted_
mov r8, rax
call fcn.1400612c8
mov eax, 1
jmp 0x140044e8b
mov ecx, edi
call fcn.140044280
lea rcx, [rbx + 8]
lea rdx, [0x1400c4978]
mov r8, rax
call fcn.1400612c8
mov eax, 1
jmp 0x140044e8b
mov ecx, eax
call fcn.140044280
lea rcx, [rbx + 8]
lea rdx, str._s_unexpected__ident_or___wanted_
mov r8, rax
call fcn.1400612c8
mov eax, 1
jmp 0x140044e8b
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
ret