Function at 0x14015aa80
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x14015ae2d
cmp ecx, 0x7c
je 0x14015ae2d
cmp ecx, 0x29
jne 0x14015aad2
cmp dword [rbx + 0x1c], 0
jne 0x14015ae2d
test dword [rbx + 0x80], 0x10000000
je 0x14015ae50
jmp 0x14015ad41
cmp ecx, 0x2e
jne 0x14015aaea
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.14010edb0
jmp 0x14015ad4e
cmp ecx, 0x5c
jne 0x14015ab5f
mov rcx, rbx
call fcn.14015d5e0
test byte [rbx + 0x80], 0x80
je 0x14015ab52
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x14015ab25
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14010edb0
mov rcx, rbx
call fcn.14015d5e0
jmp 0x14015ae1f
cmp ax, 0x42
jne 0x14015ab52
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14010edb0
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.14015d5e0
jmp 0x14015ae1f
mov rcx, rbx
call fcn.14015aea0
jmp 0x14015ad56
cmp ecx, 0x5b
jne 0x14015ab83
mov rcx, rbx
call fcn.14015d5e0
mov rcx, rbx
call fcn.14015b120
cmp dword [rbx + 0x7c], 0x5d
jne 0x14015ae5e
jmp 0x14015ad4e
cmp ecx, 0x28
jne 0x14015acb7
mov rcx, rbx
call fcn.14015d5e0
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x14015abad
cmp dword [rbx + 0x7c], 0x29
je 0x14015ae50
test al, 0x20
je 0x14015ac0e
cmp dword [rbx + 0x7c], 0x3f
jne 0x14015ac0e
mov rcx, rbx
call fcn.14015d5e0
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.14015d5e0
mov rcx, rbx
cmp edi, 0x3a
jne 0x14015abdc
call fcn.14015c5f0
jmp 0x14015ac91
cmp edi, 0x21
jne 0x14015abf3
mov dl, 1
call fcn.14015bc30
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x14015ac97
cmp edi, 0x3d
jne 0x14015ae88
xor edx, edx
call fcn.14015bc30
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x14015ac97
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x14015ac3e
mov edx, 8
call fcn.14010edb0
mov rcx, rbx
mov rdi, rax
call fcn.14015b8f0
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.14010e520
jmp 0x14015ac91
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.14010c440
mov rcx, rbx
mov rsi, rax
call fcn.14015b8f0
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.14010e520
mov edx, dword [rbx + 0x18]
lea rcx, [rbx + 0x20]
inc edx
xor r8d, r8d
call fcn.1401112a0
mov r8d, dword [rsi + 0x20]
mov rax, qword [rbx + 0x20]
mov ecx, r8d
shr rcx, 5
and r8d, 0x1f
lea rdx, [rax + rcx*4]
mov eax, dword [rax + rcx*4]
bts eax, r8d
mov dword [rdx], eax
dec dword [rbx + 0x1c]
mov dil, 1
cmp dword [rbx + 0x7c], 0x29
jne 0x14015ae50
mov rcx, rbx
call fcn.14015d5e0
test dil, dil
je 0x14015ae1f
jmp 0x14015ad56
cmp ecx, 0x5e
jne 0x14015acd7
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.14010edb0
mov rcx, rbx
call fcn.14015d5e0
jmp 0x14015ae1f
cmp ecx, 0x24
jne 0x14015acf7
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.14010edb0
mov rcx, rbx
call fcn.14015d5e0
jmp 0x14015ae1f
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14015ae7a
cmp ecx, 0x3f
je 0x14015ae7a
cmp ecx, 0x7b
je 0x14015ae7a
cmp ecx, 0x7d
jne 0x14015ad2c
test dword [rbx + 0x80], 0x10000000
je 0x14015ae6c
jmp 0x14015ad41
cmp ecx, 0x5d
jne 0x14015ad41
test dword [rbx + 0x80], 0x10000000
je 0x14015ae5e
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140159eb0
mov rcx, rbx
call fcn.14015d5e0
mov eax, dword [rbx + 0x7c]
xor esi, esi
lea edi, [rsi - 1]
cmp eax, 0x2a
je 0x14015add7
cmp eax, 0x2b
jne 0x14015ad6d
lea esi, [rdi + 2]
jmp 0x14015add7
cmp eax, 0x3f
jne 0x14015ad77
lea edi, [rax - 0x3e]
jmp 0x14015add7
cmp eax, 0x7b
jne 0x14015ae1f
mov rcx, rbx
call fcn.14015d5e0
mov rcx, rbx
call fcn.14015b820
test al, al
je 0x14015ae42
mov eax, dword [rbx + 0x7c]
mov esi, dword [rbx + 0x74]
cmp eax, 0x2c
je 0x14015ada7
mov edi, esi
jmp 0x14015adc9
mov rcx, rbx
call fcn.14015d5e0
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
je 0x14015adce
mov rcx, rbx
call fcn.14015b820
test al, al
je 0x14015ae42
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
jne 0x14015ae42
cmp edi, 0xffffffff
je 0x14015add7
cmp edi, esi
jl 0x14015ae42
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
add rax, 0xc
call fcn.14015d5e0
test dword [rbx + 0x80], 0x400
je 0x14015ae0a
cmp dword [rbx + 0x7c], 0x3f
jne 0x14015ae0a
xor bpl, bpl
mov rcx, rbx
call fcn.14015d5e0
jmp 0x14015ae0d
mov bpl, 1
lea rcx, [rbx + 0x40]
movzx r9d, bpl
mov r8d, edi
mov edx, esi
call fcn.14015a740
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x14015aaa5
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 7
mov rcx, rbx
call fcn.14010e5e0
int3
mov edx, 5
mov rcx, rbx
call fcn.14010e5e0
int3
mov edx, 4
mov rcx, rbx
call fcn.14010e5e0
int3
mov edx, 6
mov rcx, rbx
call fcn.14010e5e0
int3
mov edx, 0xa
mov rcx, rbx
call fcn.14010e5e0
int3
mov edx, 0xe
call fcn.14010e5e0
int3