Function at 0x140065a20
Capabilities:
Parse credit card information

Disassembly:
sub rsp, 0x148
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], r8
mov al, r9b
and al, 1
mov byte [rsp + 0xa3], al
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], r8
mov rax, rdx
add rax, r8
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdx
test r9b, 1
jne 0x140065a92
mov byte [rsp + 0x5f], 0
jmp 0x140065aa5
mov rax, qword [rsp + 0x30]
mov al, byte [rax + 0x114]
xor al, 0xff
and al, 1
mov byte [rsp + 0x5f], al
test byte [rsp + 0x5f], 1
jne 0x140065aba
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0x48]
jne 0x140065aff
jmp 0x140065ae5
mov rcx, qword [rsp + 0x30]
mov edx, 0x20
call fcn.14005b2a0
and al, 1
mov byte [rsp + 0x60], al
lea rcx, [rsp + 0x60]
call fcn.140056ca0
test byte [rax], 1
je 0x140065aac
mov byte [rsp + 0x3f], 0
jmp 0x140065b0b
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x114], 0
mov byte [rax + 0x115], 0
mov byte [rsp + 0x3f], 1
jmp 0x140065b0b
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x30
jae 0x140065b23
jmp 0x140065b1c
mov al, byte [rsp + 0x3f]
and al, 1
movzx eax, al
add rsp, 0x148
ret
mov byte [rsp + 0x78], 0
jmp 0x140065b34
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x39
setbe al
and al, 1
mov byte [rsp + 0x78], al
test byte [rsp + 0x78], 1
jne 0x140065b47
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x41
jae 0x140065b55
jmp 0x140065b4e
mov byte [rsp + 0x77], 1
jmp 0x140065b70
mov byte [rsp + 0x79], 0
jmp 0x140065b66
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x5a
setbe al
and al, 1
mov byte [rsp + 0x79], al
mov al, byte [rsp + 0x79]
and al, 1
mov byte [rsp + 0x77], al
test byte [rsp + 0x77], 1
jne 0x140065b83
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x61
jae 0x140065b91
jmp 0x140065b8a
mov byte [rsp + 0x76], 1
jmp 0x140065bac
mov byte [rsp + 0x7a], 0
jmp 0x140065ba2
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x7a
setbe al
and al, 1
mov byte [rsp + 0x7a], al
mov al, byte [rsp + 0x7a]
and al, 1
mov byte [rsp + 0x76], al
test byte [rsp + 0x76], 1
jne 0x140065bc6
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x5f
sete al
and al, 1
mov byte [rsp + 0x75], al
jmp 0x140065bcb
mov byte [rsp + 0x75], 1
test byte [rsp + 0x75], 1
jne 0x140065be5
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2d
sete al
and al, 1
mov byte [rsp + 0x74], al
jmp 0x140065bea
mov byte [rsp + 0x74], 1
test byte [rsp + 0x74], 1
jne 0x140065c04
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x3b
sete al
and al, 1
mov byte [rsp + 0x73], al
jmp 0x140065c09
mov byte [rsp + 0x73], 1
test byte [rsp + 0x73], 1
jne 0x140065c23
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2f
sete al
and al, 1
mov byte [rsp + 0x72], al
jmp 0x140065c28
mov byte [rsp + 0x72], 1
test byte [rsp + 0x72], 1
jne 0x140065c42
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x3f
sete al
and al, 1
mov byte [rsp + 0x71], al
jmp 0x140065c47
mov byte [rsp + 0x71], 1
test byte [rsp + 0x71], 1
jne 0x140065c61
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x3a
sete al
and al, 1
mov byte [rsp + 0x70], al
jmp 0x140065c66
mov byte [rsp + 0x70], 1
test byte [rsp + 0x70], 1
jne 0x140065c80
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x40
sete al
and al, 1
mov byte [rsp + 0x6f], al
jmp 0x140065c85
mov byte [rsp + 0x6f], 1
test byte [rsp + 0x6f], 1
jne 0x140065c9f
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x26
sete al
and al, 1
mov byte [rsp + 0x6e], al
jmp 0x140065ca4
mov byte [rsp + 0x6e], 1
test byte [rsp + 0x6e], 1
jne 0x140065cbe
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x3d
sete al
and al, 1
mov byte [rsp + 0x6d], al
jmp 0x140065cc3
mov byte [rsp + 0x6d], 1
test byte [rsp + 0x6d], 1
jne 0x140065cdd
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2b
sete al
and al, 1
mov byte [rsp + 0x6c], al
jmp 0x140065ce2
mov byte [rsp + 0x6c], 1
test byte [rsp + 0x6c], 1
jne 0x140065cfc
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x24
sete al
and al, 1
mov byte [rsp + 0x6b], al
jmp 0x140065d01
mov byte [rsp + 0x6b], 1
test byte [rsp + 0x6b], 1
jne 0x140065d1b
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2c
sete al
and al, 1
mov byte [rsp + 0x6a], al
jmp 0x140065d20
mov byte [rsp + 0x6a], 1
test byte [rsp + 0x6a], 1
jne 0x140065d3a
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x5f
sete al
and al, 1
mov byte [rsp + 0x69], al
jmp 0x140065d3f
mov byte [rsp + 0x69], 1
test byte [rsp + 0x69], 1
jne 0x140065d59
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2e
sete al
and al, 1
mov byte [rsp + 0x68], al
jmp 0x140065d5e
mov byte [rsp + 0x68], 1
test byte [rsp + 0x68], 1
jne 0x140065d78
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x7e
sete al
and al, 1
mov byte [rsp + 0x67], al
jmp 0x140065d7d
mov byte [rsp + 0x67], 1
test byte [rsp + 0x67], 1
jne 0x140065d97
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2a
sete al
and al, 1
mov byte [rsp + 0x66], al
jmp 0x140065d9c
mov byte [rsp + 0x66], 1
test byte [rsp + 0x66], 1
jne 0x140065db6
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x27
sete al
and al, 1
mov byte [rsp + 0x65], al
jmp 0x140065dbb
mov byte [rsp + 0x65], 1
test byte [rsp + 0x65], 1
jne 0x140065dd5
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x28
sete al
and al, 1
mov byte [rsp + 0x64], al
jmp 0x140065dda
mov byte [rsp + 0x64], 1
test byte [rsp + 0x64], 1
jne 0x140065df4
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x29
sete al
and al, 1
mov byte [rsp + 0x63], al
jmp 0x140065df9
mov byte [rsp + 0x63], 1
test byte [rsp + 0x63], 1
jne 0x140065e13
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x5b
sete al
and al, 1
mov byte [rsp + 0x62], al
jmp 0x140065e18
mov byte [rsp + 0x62], 1
test byte [rsp + 0x62], 1
jne 0x140065e32
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x5d
sete al
and al, 1
mov byte [rsp + 0x61], al
jmp 0x140065e37
mov byte [rsp + 0x61], 1
test byte [rsp + 0x61], 1
jne 0x140065e71
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
mov al, byte [rax]
and al, 0x80
cmp al, 0
je 0x140065e9e
jmp 0x140065ea8
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.14005b5f0
and al, 1
mov byte [rsp + 0x7b], al
lea rcx, [rsp + 0x7b]
call fcn.140056ca0
test byte [rax], 1
jne 0x140066133
jmp 0x140065aac
mov dword [rsp + 0x7c], 1
jmp 0x140065edb
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov al, byte [rax]
and al, 0xe0
cmp al, 0xc0
je 0x140065f04
jmp 0x140065f0e
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x7c]
dec eax
mov dword [rsp + 0x2c], eax
seto al
test al, 1
jne 0x140065fb2
jmp 0x140065f94
mov dword [rsp + 0x7c], 2
jmp 0x140065edb
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
mov al, byte [rax]
and al, 0xf0
cmp al, 0xe0
jne 0x140065f49
mov dword [rsp + 0x7c], 3
jmp 0x140065edb
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov al, byte [rax]
and al, 0xf8
cmp al, 0xf0
jne 0x140065f87
mov dword [rsp + 0x7c], 4
jmp 0x140065edb
mov dword [rsp + 0x7c], 0
jmp 0x140065edb
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + 0x7c], ecx
cmp eax, 0
setne al
xor al, 0xff
test al, 1
jne 0x140065aac
jmp 0x140065fcc
lea rcx, str.attempt_to_subtract_with_overflowduplicate__TAG_directive
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001funsafe_libyaml_0.2.9_srcemitter.rs
mov edx, 0x21
call fcn.1400f41f0
ud2
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa8], rax
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], 1
add rdx, 1
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x50], rdx
mov al, byte [rax]
mov byte [rsp + 0x27], al
mov byte [rsp + 0xb3], al
mov edx, 0x25
call fcn.14005b2a0
and al, 1
mov byte [rsp + 0x83], al
lea rcx, [rsp + 0x83]
call fcn.140056ca0
test byte [rax], 1
jne 0x140066058
mov al, byte [rsp + 0x27]
mov cl, al
shr cl, 4
mov byte [rsp + 0x26], cl
shr al, 4
cmp al, 0xa
jb 0x14006606c
jmp 0x140066062
mov byte [rsp + 0x3f], 0
jmp 0x140065b0b
mov byte [rsp + 0x85], 0x37
jmp 0x140066074
mov byte [rsp + 0x85], 0x30
mov rcx, qword [rsp + 0x30]
mov dl, byte [rsp + 0x26]
mov al, byte [rsp + 0x85]
mov byte [rsp + 0xb6], dl
mov byte [rsp + 0xb7], al
add dl, al
call fcn.14005b2a0
and al, 1
mov byte [rsp + 0x84], al
lea rcx, [rsp + 0x84]
call fcn.140056ca0
test byte [rax], 1
jne 0x1400660c9
mov al, byte [rsp + 0x27]
mov cl, al
and cl, 0xf
mov byte [rsp + 0x25], cl
and al, 0xf
cmp al, 0xa
jb 0x1400660dd
jmp 0x1400660d3
mov byte [rsp + 0x3f], 0
jmp 0x140065b0b
mov byte [rsp + 0x87], 0x37
jmp 0x1400660e5
mov byte [rsp + 0x87], 0x30
mov rcx, qword [rsp + 0x30]
mov dl, byte [rsp + 0x25]
mov al, byte [rsp + 0x87]
mov byte [rsp + 0xb4], dl
mov byte [rsp + 0xb5], al
add dl, al
call fcn.14005b2a0
and al, 1
mov byte [rsp + 0x86], al
lea rcx, [rsp + 0x86]
call fcn.140056ca0
test byte [rax], 1
je 0x140065edb
mov byte [rsp + 0x3f], 0
jmp 0x140065b0b
mov byte [rsp + 0x3f], 0
jmp 0x140065b0b