Function at 0x1400a9370
Capabilities:
Parse credit card information

Disassembly:
sub rsp, 0x1c8
mov qword [rsp + 0x28], r9
mov rax, rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov r9, qword [rsp + 0x1f8]
mov qword [rsp + 0x38], r9
mov r9, qword [rsp + 0x1f0]
mov qword [rsp + 0x40], r9
mov byte [rsp + 0x4d], r8b
mov byte [rsp + 0x4e], dl
mov qword [rsp + 0xa0], rax
and dl, 1
mov byte [rsp + 0xae], dl
and r8b, 1
mov byte [rsp + 0xaf], r8b
mov qword [rsp + 0xb0], rcx
call fcn.14007d2d0
xor al, 0xff
test al, 1
jne 0x1400a93e8
mov qword [rsp + 0x58], 0
jmp 0x1400a93f7
mov rcx, qword [rsp + 0x28]
call fcn.14007e090
mov qword [rsp + 0x58], rax
mov rax, qword [0x14013b738]
mov qword [rsp + 0x60], rax
mov rax, qword [0x14013b740]
mov qword [rsp + 0x68], rax
mov rax, qword [0x14013b748]
mov qword [rsp + 0x70], rax
mov ecx, 0x10
call fcn.140080e20
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], 0x10
mov qword [rsp + 0x168], 0x10
add rax, 0x10
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x60]
xor edx, edx
mov r8d, 0x10
call fcn.14007def0
movabs rax, 0xcf013b5715341aaa
mov qword [rsp + 0x50], rax
movabs rax, 0xd3d8b821d9be2e74
cmp qword [rsp + 0x50], rax
jne 0x1400a950a
mov rcx, qword [rsp + 0x60]
call fcn.140080ea0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1c0], 0
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x4f], 0
jmp 0x1400a9522
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
call fcn.14007d7a0
cmp rax, qword [rsp + 0x58]
jbe 0x1400a953d
jmp 0x1400a9533
mov al, byte [rsp + 0x4f]
and al, 1
movzx eax, al
add rsp, 0x1c8
ret
cmp qword [rsp + 0x58], 1
ja 0x1400a959a
jmp 0x1400a956d
lea rdx, [rsp + 0x60]
add rdx, 0x10
lea r8, [rsp + 0x60]
add r8, 8
lea rcx, [rsp + 0x60]
call fcn.140080f40
movabs rax, 0xcf013b5715341aaa
mov qword [rsp + 0x50], rax
jmp 0x1400a9493
mov rcx, qword [rsp + 0x30]
mov edx, 1
call fcn.14009bc70
and al, 1
mov byte [rsp + 0x79], al
lea rcx, [rsp + 0x79]
call fcn.14007d920
test byte [rax], 1
jne 0x1400a9650
jmp 0x1400a963d
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x198], 1
add rax, 1
mov qword [rsp + 0x1a0], rax
mov rdx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x108], r8
mov qword [rsp + 0x110], 1
sub r8, 1
call fcn.14007de70
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 1
sub rcx, 1
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rcx
add rax, rcx
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x70], rax
jmp 0x1400a956d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x30
jae 0x1400a966e
jmp 0x1400a9664
movabs rax, 0xd3d8b821d9be2e74
mov qword [rsp + 0x50], rax
jmp 0x1400a9493
mov byte [rsp + 0x90], 0
jmp 0x1400a9689
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x39
setbe al
and al, 1
mov byte [rsp + 0x90], al
test byte [rsp + 0x90], 1
jne 0x1400a96a6
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x41
jae 0x1400a96ba
jmp 0x1400a96b0
mov byte [rsp + 0x8f], 1
jmp 0x1400a96e5
mov byte [rsp + 0x91], 0
jmp 0x1400a96d5
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x5a
setbe al
and al, 1
mov byte [rsp + 0x91], al
mov al, byte [rsp + 0x91]
and al, 1
mov byte [rsp + 0x8f], al
test byte [rsp + 0x8f], 1
jne 0x1400a9702
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x61
jae 0x1400a9716
jmp 0x1400a970c
mov byte [rsp + 0x8e], 1
jmp 0x1400a9741
mov byte [rsp + 0x92], 0
jmp 0x1400a9731
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x7a
setbe al
and al, 1
mov byte [rsp + 0x92], al
mov al, byte [rsp + 0x92]
and al, 1
mov byte [rsp + 0x8e], al
test byte [rsp + 0x8e], 1
jne 0x1400a9768
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x5f
sete al
and al, 1
mov byte [rsp + 0x8d], al
jmp 0x1400a9770
mov byte [rsp + 0x8d], 1
test byte [rsp + 0x8d], 1
jne 0x1400a9797
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x2d
sete al
and al, 1
mov byte [rsp + 0x8c], al
jmp 0x1400a979f
mov byte [rsp + 0x8c], 1
test byte [rsp + 0x8c], 1
jne 0x1400a97c6
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x3b
sete al
and al, 1
mov byte [rsp + 0x8b], al
jmp 0x1400a97ce
mov byte [rsp + 0x8b], 1
test byte [rsp + 0x8b], 1
jne 0x1400a97f5
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x2f
sete al
and al, 1
mov byte [rsp + 0x8a], al
jmp 0x1400a97fd
mov byte [rsp + 0x8a], 1
test byte [rsp + 0x8a], 1
jne 0x1400a9824
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x3f
sete al
and al, 1
mov byte [rsp + 0x89], al
jmp 0x1400a982c
mov byte [rsp + 0x89], 1
test byte [rsp + 0x89], 1
jne 0x1400a9853
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x3a
sete al
and al, 1
mov byte [rsp + 0x88], al
jmp 0x1400a985b
mov byte [rsp + 0x88], 1
test byte [rsp + 0x88], 1
jne 0x1400a9882
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x40
sete al
and al, 1
mov byte [rsp + 0x87], al
jmp 0x1400a988a
mov byte [rsp + 0x87], 1
test byte [rsp + 0x87], 1
jne 0x1400a98b1
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x26
sete al
and al, 1
mov byte [rsp + 0x86], al
jmp 0x1400a98b9
mov byte [rsp + 0x86], 1
test byte [rsp + 0x86], 1
jne 0x1400a98e0
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x3d
sete al
and al, 1
mov byte [rsp + 0x85], al
jmp 0x1400a98e8
mov byte [rsp + 0x85], 1
test byte [rsp + 0x85], 1
jne 0x1400a990f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x2b
sete al
and al, 1
mov byte [rsp + 0x84], al
jmp 0x1400a9917
mov byte [rsp + 0x84], 1
test byte [rsp + 0x84], 1
jne 0x1400a993e
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x24
sete al
and al, 1
mov byte [rsp + 0x83], al
jmp 0x1400a9946
mov byte [rsp + 0x83], 1
test byte [rsp + 0x83], 1
jne 0x1400a996d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x2e
sete al
and al, 1
mov byte [rsp + 0x82], al
jmp 0x1400a9975
mov byte [rsp + 0x82], 1
test byte [rsp + 0x82], 1
jne 0x1400a999c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x25
sete al
and al, 1
mov byte [rsp + 0x81], al
jmp 0x1400a99a4
mov byte [rsp + 0x81], 1
test byte [rsp + 0x81], 1
jne 0x1400a99cb
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x21
sete al
and al, 1
mov byte [rsp + 0x80], al
jmp 0x1400a99d3
mov byte [rsp + 0x80], 1
test byte [rsp + 0x80], 1
jne 0x1400a99f7
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x7e
sete al
and al, 1
mov byte [rsp + 0x7f], al
jmp 0x1400a99fc
mov byte [rsp + 0x7f], 1
test byte [rsp + 0x7f], 1
jne 0x1400a9a1d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x2a
sete al
and al, 1
mov byte [rsp + 0x7e], al
jmp 0x1400a9a22
mov byte [rsp + 0x7e], 1
test byte [rsp + 0x7e], 1
jne 0x1400a9a43
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x27
sete al
and al, 1
mov byte [rsp + 0x7d], al
jmp 0x1400a9a48
mov byte [rsp + 0x7d], 1
test byte [rsp + 0x7d], 1
jne 0x1400a9a69
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x28
sete al
and al, 1
mov byte [rsp + 0x7c], al
jmp 0x1400a9a6e
mov byte [rsp + 0x7c], 1
test byte [rsp + 0x7c], 1
jne 0x1400a9a8f
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x29
sete al
and al, 1
mov byte [rsp + 0x7b], al
jmp 0x1400a9a94
mov byte [rsp + 0x7b], 1
test byte [rsp + 0x7b], 1
jne 0x1400a9aa5
mov al, byte [rsp + 0x4e]
test al, 1
jne 0x1400a9ab9
jmp 0x1400a9aaf
mov byte [rsp + 0x7a], 1
jmp 0x1400a9b41
mov byte [rsp + 0x93], 0
jmp 0x1400a9acc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x2c
je 0x1400a9adb
jmp 0x1400a9ae5
mov al, byte [rsp + 0x93]
and al, 1
mov byte [rsp + 0x7a], al
jmp 0x1400a9b41
mov byte [rsp + 0x95], 1
jmp 0x1400a9b00
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x5b
sete al
and al, 1
mov byte [rsp + 0x95], al
test byte [rsp + 0x95], 1
jne 0x1400a9b27
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x5d
sete al
and al, 1
mov byte [rsp + 0x94], al
jmp 0x1400a9b2f
mov byte [rsp + 0x94], 1
mov al, byte [rsp + 0x94]
and al, 1
mov byte [rsp + 0x93], al
jmp 0x1400a9acc
test byte [rsp + 0x7a], 1
jne 0x1400a9b52
cmp qword [rsp + 0x58], 0
je 0x1400a9b6c
jmp 0x1400a9bae
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x98]
cmp byte [rax], 0x25
je 0x1400a9c6a
jmp 0x1400a9cac
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 5
mov qword [rsp + 0x148], 5
add rax, 5
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
cmp rax, qword [rsp + 0x68]
jae 0x1400a9bcf
jmp 0x1400a9bc5
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov byte [rsp + 0x4f], 1
jmp 0x1400a9522
mov al, byte [rsp + 0x4d]
test al, 1
jne 0x1400a9bfe
jmp 0x1400a9bed
lea rdx, [rsp + 0x60]
add rdx, 0x10
lea r8, [rsp + 0x60]
add r8, 8
lea rcx, [rsp + 0x60]
call fcn.140080f40
jmp 0x1400a9bc5
lea rax, str.while_parsing_a_tag
mov qword [rsp + 0x98], rax
jmp 0x1400a9c0d
lea rax, str.while_parsing_a__TAG_directive
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rax]
mov qword [rsp + 0xb8], r8
mov r8, qword [rax + 8]
mov qword [rsp + 0xc0], r8
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xc8], rax
lea r8, [rsp + 0xb8]
lea r9, str.did_not_find_expected_tag_URI
call fcn.14009d410
movabs rax, 0xd3d8b821d9be2e74
mov qword [rsp + 0x50], rax
jmp 0x1400a9493
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], 5
mov qword [rsp + 0x128], 5
add rax, 5
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
cmp rax, qword [rsp + 0x68]
jae 0x1400a9d23
jmp 0x1400a9cc0
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x60]
call fcn.14009c570
jmp 0x1400a9d44
mov rcx, qword [rsp + 0x30]
mov dl, byte [rsp + 0x4d]
mov rax, qword [rsp + 0x40]
mov r8, qword [rax]
mov qword [rsp + 0xd0], r8
mov r8, qword [rax + 8]
mov qword [rsp + 0xd8], r8
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xe0], rax
and dl, 1
lea r8, [rsp + 0xd0]
lea r9, [rsp + 0x60]
call fcn.1400a9dc0
and al, 1
mov byte [rsp + 0x96], al
lea rcx, [rsp + 0x96]
call fcn.14007d920
test byte [rax], 1
jne 0x1400a9d95
jmp 0x1400a9d44
lea rdx, [rsp + 0x60]
add rdx, 0x10
lea r8, [rsp + 0x60]
add r8, 8
lea rcx, [rsp + 0x60]
call fcn.140080f40
jmp 0x1400a9cc0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 1
add rax, 1
mov qword [rsp + 0x58], rax
mov edx, 1
call fcn.14009bc70
and al, 1
mov byte [rsp + 0x97], al
lea rcx, [rsp + 0x97]
call fcn.14007d920
test byte [rax], 1
jne 0x1400a9da9
jmp 0x1400a963d
movabs rax, 0xd3d8b821d9be2e74
mov qword [rsp + 0x50], rax
jmp 0x1400a9493
movabs rax, 0xd3d8b821d9be2e74
mov qword [rsp + 0x50], rax
jmp 0x1400a9493