Function at 0x140016d10
Capabilities:
Parse credit card information

Disassembly:
cdqe
mov rdx, qword [rbp + 0xae8]
add rax, rdx
mov qword [rbp + 0xa80], rax
mov rax, qword [rbp + 0xa80]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x79
je 0x140016f4e
cmp eax, 0x79
jg 0x140017416
cmp eax, 0x76
je 0x140016f3a
cmp eax, 0x76
jg 0x140017416
cmp eax, 0x64
je 0x140016981
cmp eax, 0x64
jg 0x140017416
cmp eax, 0x55
je 0x140017419
cmp eax, 0x55
jg 0x140017416
cmp eax, 0x48
je 0x14001741c
cmp eax, 0x48
jg 0x140017416
cmp eax, 0x2a
je 0x14001741f
cmp eax, 0x2a
jg 0x140017416
cmp eax, 0x20
je 0x14001696d
cmp eax, 0x20
jg 0x140017416
cmp eax, 7
je 0x140017422
cmp eax, 0x1e
je 0x140017425
jmp 0x140017416
mov rax, qword [rbp + 0xa80]
mov rcx, rax
call fcn.140002ca6
jmp 0x140017426
mov rax, qword [rbp + 0xa80]
mov qword [rbp + 0xa78], rax
mov rax, qword [rbp + 0xa78]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x6e
je 0x140016a60
cmp eax, 0x6e
jg 0x140016f28
cmp eax, 0x68
je 0x140016f2e
cmp eax, 0x68
jg 0x140016f28
cmp eax, 0x4a
je 0x1400169f4
cmp eax, 0x4a
jg 0x140016f28
cmp eax, 8
je 0x140016f34
cmp eax, 0x14
jne 0x140016f28
mov rax, qword [rbp + 0xa78]
mov rcx, rax
call fcn.140002b66
jmp 0x140016f35
mov rax, qword [rbp + 0xa78]
mov qword [rbp + 0xa70], rax
mov rax, qword [rbp + 0xa70]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x140016a48
cmp eax, 0x67
jg 0x140016a4e
cmp eax, 0x37
je 0x140016a54
cmp eax, 0x37
jg 0x140016a4e
cmp eax, 0x23
je 0x140016a37
cmp eax, 0x23
jg 0x140016a4e
cmp eax, 0xa
mov rax, qword [rbp + 0xa70]
mov rcx, rax
call fcn.14000154c
jmp 0x140016a5b
nop
jmp 0x140016f35
nop
jmp 0x140016f35
mov rax, qword [rbp + 0xa78]
mov qword [rbp + 0xa68], rax
mov rax, qword [rbp + 0xa68]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x73
je 0x140016ae8
cmp eax, 0x73
jg 0x140016f1c
cmp eax, 0x5b
je 0x140016d0e
cmp eax, 0x5b
jg 0x140016f1c
cmp eax, 0x5a
je 0x140016cfa
cmp eax, 0x5a
jg 0x140016f1c
cmp eax, 0x4f
je 0x140016f1f
cmp eax, 0x4f
jg 0x140016f1c
cmp eax, 0x4d
je 0x140016f22
cmp eax, 0x4d
jg 0x140016f1c
cmp eax, 0x11
je 0x140016f25
cmp eax, 0x25
je 0x140016f0b
jmp 0x140016f1c
mov rax, qword [rbp + 0xa68]
mov qword [rbp + 0xa60], rax
mov rax, qword [rbp + 0xa60]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x7d
je 0x140016cd6
cmp eax, 0x7d
jg 0x140016cdc
cmp eax, 0x75
je 0x140016c4c
cmp eax, 0x75
jg 0x140016cdc
cmp eax, 0x6c
je 0x140016bcc
cmp eax, 0x6c
jg 0x140016cdc
cmp eax, 0x61
je 0x140016ce2
cmp eax, 0x61
jg 0x140016cdc
cmp eax, 0x57
je 0x140016c38
cmp eax, 0x57
jg 0x140016cdc
cmp eax, 0x51
je 0x140016ce8
cmp eax, 0x51
jg 0x140016cdc
cmp eax, 0x41
je 0x140016bb8
cmp eax, 0x41
jg 0x140016cdc
cmp eax, 0x3e
je 0x140016c60
cmp eax, 0x3e
jg 0x140016cdc
cmp eax, 0x33
je 0x140016cee
cmp eax, 0x33
jg 0x140016cdc
cmp eax, 0xc
je 0x140016c74
cmp eax, 0x2d
je 0x140016cf4
jmp 0x140016cd4
mov rax, qword [rbp + 0xa60]
mov rcx, rax
call fcn.1400016c0
jmp 0x140016cf5
mov rax, qword [rbp + 0xa60]
mov qword [rbp + 0xa58], rax
mov rax, qword [rbp + 0xa58]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x140016c20
cmp eax, 0x67
jg 0x140016c26
cmp eax, 0x37
je 0x140016c2c
cmp eax, 0x37
jg 0x140016c26
cmp eax, 0x23
je 0x140016c0f
cmp eax, 0x23
jg 0x140016c26
cmp eax, 0xa
je 0x140016c32
cmp eax, 0x1c
jmp 0x140016c26
mov rax, qword [rbp + 0xa58]
mov rcx, rax
call fcn.14000154c
jmp 0x140016c33
nop
jmp 0x140016cf5
nop
jmp 0x140016cf5
nop
jmp 0x140016cf5
add byte [rax], al
nop
jmp 0x140016cf5
mov rax, qword [rbp + 0xa60]
mov rcx, rax
call fcn.140002b66
jmp 0x140016cf5
mov rax, qword [rbp + 0xa60]
mov rcx, rax
call fcn.14000191e
jmp 0x140016cf5
mov rax, qword [rbp + 0xa60]
mov rcx, rax
call fcn.140002b66
jmp 0x140016cf5
mov rax, qword [rbp + 0xa60]
mov qword [rbp + 0xa50], rax
mov rax, qword [rbp + 0xa50]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x140016cc8
cmp eax, 0x67
jg 0x140016ccb
cmp eax, 0x37
je 0x140016cce
cmp eax, 0x37
jg 0x140016ccb
cmp eax, 0x23
je 0x140016cb7
cmp eax, 0x23
jg 0x140016ccb
cmp eax, 0xa
je 0x140016cd1
cmp eax, 0x1c
jmp 0x140016ccb
mov rax, qword [rbp + 0xa50]
mov rcx, rax
call fcn.14000154c
jmp 0x140016cd2
nop
jmp 0x140016cf5
nop
jmp 0x140016cf5
nop
jmp 0x140016cf5
nop
jmp 0x140016cf5
jmp 0x140016cdc
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
mov rax, qword [rbp + 0xa68]
mov rcx, rax
call fcn.1400029a1
jmp 0x140016f26
mov rax, qword [rbp + 0xa68]
mov qword [rbp + 0xa48], rax
mov rax, qword [rbp + 0xa48]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x7d
je 0x140016ef9
cmp eax, 0x7d
jg 0x140016efc
cmp eax, 0x75
je 0x140016e72
cmp eax, 0x75
jg 0x140016efc
cmp eax, 0x6c
je 0x140016df2
cmp eax, 0x6c
jg 0x140016efc
cmp eax, 0x61
je 0x140016eff
cmp eax, 0x61
jg 0x140016efc
cmp eax, 0x57
je 0x140016e5e
cmp eax, 0x57
jg 0x140016efc
cmp eax, 0x51
je 0x140016f02
cmp eax, 0x51
jg 0x140016efc
cmp eax, 0x41
je 0x140016dde
cmp eax, 0x41
jg 0x140016efc
cmp eax, 0x3e
je 0x140016e86
cmp eax, 0x3e
jg 0x140016efc
cmp eax, 0x33
je 0x140016f05
cmp eax, 0x33
jg 0x140016efc
cmp eax, 0xc
je 0x140016e97
cmp eax, 0x2d
je 0x140016f08
jmp 0x140016ef7
mov rax, qword [rbp + 0xa48]
mov rcx, rax
call fcn.1400016c0
jmp 0x140016f09
mov rax, qword [rbp + 0xa48]
mov qword [rbp + 0xa40], rax
mov rax, qword [rbp + 0xa40]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x140016e46
cmp eax, 0x67
jg 0x140016e4c
cmp eax, 0x37
je 0x140016e52
cmp eax, 0x37
jg 0x140016e4c
cmp eax, 0x23
je 0x140016e35
cmp eax, 0x23
jg 0x140016e4c
cmp eax, 0xa
je 0x140016e58
cmp eax, 0x1c
jmp 0x140016e4c
mov rax, qword [rbp + 0xa40]
mov rcx, rax
call fcn.14000154c
jmp 0x140016e59
nop
jmp 0x140016f09
nop
jmp 0x140016f09
add byte [rax], al
nop
jmp 0x140016f09
nop
jmp 0x140016f09
mov rax, qword [rbp + 0xa48]
mov rcx, rax
call fcn.140002b66
jmp 0x140016f09
mov rax, qword [rbp + 0xa48]
mov rcx, rax
call fcn.14000191e
jmp 0x140016f09
mov rax, qword [rbp + 0xa48]
mov rcx, rax
call fcn.140002b66
jmp 0x140016f09
mov rax, qword [rbp + 0xa48]
mov qword [rbp + 0xa38], rax
mov rax, qword [rbp + 0xa38]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x140016eeb
cmp eax, 0x67
jg 0x140016eee
cmp eax, 0x37
je 0x140016ef1
cmp eax, 0x37
jg 0x140016eee
cmp eax, 0x23
je 0x140016eda
cmp eax, 0x23
jg 0x140016eee
cmp eax, 0xa
je 0x140016ef4
cmp eax, 0x1c
jmp 0x140016eee
mov rax, qword [rbp + 0xa38]
mov rcx, rax
call fcn.14000154c
jmp 0x140016ef5
nop
jmp 0x140016f09
nop
jmp 0x140016f09
nop
jmp 0x140016f09
nop
jmp 0x140016f09
jmp 0x140016efc
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
nop
jmp 0x140016f26
mov rax, qword [rbp + 0xa68]
mov rcx, rax
call fcn.14000252c
jmp 0x140016f26
nop
jmp 0x140016f35
nop
jmp 0x140016f35
nop
jmp 0x140016f35
nop
jmp 0x140016f35
nop
jmp 0x140017426
nop
jmp 0x140017426
nop
mov rax, qword [rbp + 0xa80]
mov rcx, rax
call fcn.14000252c
jmp 0x140017426
mov rax, qword [rbp + 0xa80]
mov qword [rbp + 0xa30], rax
mov rax, qword [rbp + 0xa30]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x73
je 0x140016fd6
cmp eax, 0x73
jg 0x14001740a
cmp eax, 0x5b
je 0x1400171fc
cmp eax, 0x5b
jg 0x14001740a
cmp eax, 0x5a
je 0x1400171e8
cmp eax, 0x5a
jg 0x14001740a
cmp eax, 0x4f
je 0x14001740d
cmp eax, 0x4f
jg 0x14001740a
cmp eax, 0x4d
je 0x140017410
cmp eax, 0x4d
jg 0x14001740a
cmp eax, 0x11
je 0x140017413
cmp eax, 0x25
je 0x1400173f9
jmp 0x14001740a
mov rax, qword [rbp + 0xa30]
mov qword [rbp + 0xa28], rax
sub byte [rdx], cl
add byte [rax], al
mov rax, qword [rbp + 0xa28]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x7d
je 0x1400171c4
cmp eax, 0x7d
jg 0x1400171ca
add dword [rax], eax
invalid
cmp eax, 0x75
je 0x14001713a
cmp eax, 0x75
jg 0x1400171ca
cmp eax, 0x6c
je 0x1400170ba
cmp eax, 0x6c
jg 0x1400171ca
cmp eax, 0x61
je 0x1400171d0
cmp eax, 0x61
jg 0x1400171ca
cmp eax, 0x57
je 0x140017126
cmp eax, 0x57
jg 0x1400171ca
cmp eax, 0x51
je 0x1400171d6
cmp eax, 0x51
jg 0x1400171ca
cmp eax, 0x41
je 0x1400170a6
cmp eax, 0x41
jg 0x1400171ca
cmp eax, 0x3e
je 0x14001714e
cmp eax, 0x3e
jg 0x1400171ca
cmp eax, 0x33
je 0x1400171dc
cmp eax, 0x33
jg 0x1400171ca
cmp eax, 0xc
je 0x140017162
cmp eax, 0x2d
je 0x1400171e2
jmp 0x1400171c2
mov rax, qword [rbp + 0xa28]
mov rcx, rax
call fcn.1400016c0
jmp 0x1400171e3
mov rax, qword [rbp + 0xa28]
mov qword [rbp + 0xa20], rax
mov rax, qword [rbp + 0xa20]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x14001710e
cmp eax, 0x67
jg 0x140017114
cmp eax, 0x37
je 0x14001711a
cmp eax, 0x37
jg 0x140017114
cmp eax, 0x23
je 0x1400170fd
cmp eax, 0x23
jg 0x140017114
cmp eax, 0xa
je 0x140017120
cmp eax, 0x1c
jmp 0x140017114
mov rax, qword [rbp + 0xa20]
mov rcx, rax
call fcn.14000154c
jmp 0x140017121
nop
jmp 0x1400171e3
nop
jmp 0x1400171e3
nop
jmp 0x1400171e3
nop
jmp 0x1400171e3
mov rax, qword [rbp + 0xa28]
mov rcx, rax
call fcn.140002b66
jmp 0x1400171e3
mov rax, qword [rbp + 0xa28]
mov rcx, rax
call fcn.14000191e
jmp 0x1400171e3
mov rax, qword [rbp + 0xa28]
mov rcx, rax
call fcn.140002b66
jmp 0x1400171e3
mov rax, qword [rbp + 0xa28]
mov qword [rbp + 0xa18], rax
mov rax, qword [rbp + 0xa18]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x67
je 0x1400171b6
cmp eax, 0x67
jg 0x1400171b9
cmp eax, 0x37
je 0x1400171bc
cmp eax, 0x37
jg 0x1400171b9
cmp eax, 0x23
je 0x1400171a5
cmp eax, 0x23
jg 0x1400171b9
cmp eax, 0xa
je 0x1400171bf
cmp eax, 0x1c
jmp 0x1400171b9
mov rax, qword [rbp + 0xa18]
mov rcx, rax
call fcn.14000154c
jmp 0x1400171c0
nop
jmp 0x1400171e3
nop
jmp 0x1400171e3
nop
jmp 0x1400171e3
nop
jmp 0x1400171e3
jmp 0x1400171ca
nop
jmp 0x140017414
nop
jmp 0x140017414
nop
jmp 0x140017414
nop
jmp 0x140017414
nop
jmp 0x140017414
nop
jmp 0x140017414
mov rax, qword [rbp + 0xa30]
mov rcx, rax
call fcn.1400029a1
jmp 0x140017414
mov rax, qword [rbp + 0xa30]
mov qword [rbp + 0xa10], rax
mov rax, qword [rbp + 0xa10]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x7d
je 0x1400173e7