Function at 0x14008c0a0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x1b4], 0
mov rdi, rcx
jne 0x14008c0d0
mov rax, qword [rcx + 0x38]
mov rdx, qword [rax + 0x28]
sub rdx, qword [rax + 0x20]
cmp rdx, 0xfa
jge 0x14008c0d0
call fcn.140082310
mov rdx, qword [rdi + 0x38]
mov r9, qword [rdx + 0x20]
mov rbx, r9
movzx ecx, byte [r9]
lea eax, [rcx - 0x41]
cmp al, 0x39
ja 0x14008c0f6
movabs r8, 0x3ffffff43ffffff
bt r8, rax
jb 0x14008c0ff
cmp cl, 0x3a
jne 0x14008c1cc
movabs r8, 0x43ffffff03ffb
movzx ecx, byte [rbx + 1]
inc rbx
lea eax, [rcx - 0x61]
cmp al, 0x19
jbe 0x14008c109
sub cl, 0x2d
cmp cl, 0x32
ja 0x14008c125
bt r8, rcx
jb 0x14008c109
movzx eax, byte [rbx]
dec al
cmp al, 0x7e
ja 0x14008c1cc
mov qword [rsp + 0x38], rsi
mov esi, ebx
sub esi, r9d
cmp esi, 0xc350
jle 0x14008c176
test dword [rdi + 0x224], 0x80000
jne 0x14008c176
lea r8, [0x1401f5250]
mov edx, 0x6e
mov rcx, rdi
call fcn.140081ab0
mov rsi, qword [rsp + 0x38]
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rdi + 0x1b8]
mov r8d, esi
mov rdx, r9
mov qword [rsp + 0x30], rbp
call fcn.1400aad10
mov rcx, qword [rdi + 0x38]
mov rbp, rax
mov qword [rcx + 0x20], rbx
add dword [rdi + 0x130], esi
mov rcx, qword [rdi + 0x38]
add dword [rcx + 0x38], esi
test rax, rax
jne 0x14008c1b4
xor edx, edx
mov rcx, rdi
call fcn.1400b8c20
mov rsi, qword [rsp + 0x38]
mov rax, rbp
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp 0x14008c2c0
push rsi
push rdi
sub rsp, 0x28
xor esi, esi
mov rdi, rcx
cmp dword [rcx + 0x1b4], esi
jne 0x14008c2ee
mov rax, qword [rcx + 0x38]
mov rdx, qword [rax + 0x28]
sub rdx, qword [rax + 0x20]
cmp rdx, 0xfa
jge 0x14008c2ee
call fcn.140082310
cmp dword [rdi + 0x108], 0xffffffff
jne 0x14008c300
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x50], rbp
mov rcx, rdi
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x20], r15
call fcn.1400b87d0
test dword [rdi + 0x224], 0x20000
movsxd rbx, eax
jne 0x14008c5cb
cmp ebx, 0x3e
ja 0x14008c34d
movabs rdx, 0x4000800100000000
bt rdx, rbx
jb 0x14008c8af
cmp ebx, 0x37e
je 0x14008c3eb
lea eax, [rbx - 0xfdd0]
cmp eax, 0x1f
jbe 0x14008c3eb
lea eax, [rbx - 0xd800]
cmp eax, 0x20ff
jbe 0x14008c3eb
lea eax, [rbx - 0x2ff0]
cmp eax, 0x10
jbe 0x14008c3eb
lea eax, [rbx - 0x2190]
cmp eax, 0xa6f
jbe 0x14008c3eb
lea eax, [rbx - 0x200e]
cmp eax, 0x61
jbe 0x14008c3eb
lea eax, [rbx - 0x2000]
cmp eax, 0xb
jbe 0x14008c3eb
cmp ebx, 0x39
jle 0x14008c3eb
lea eax, [rbx - 0x300]
cmp eax, 0x6f
jbe 0x14008c3eb
cmp ebx, 0xf7
je 0x14008c3eb
cmp ebx, 0xd7
je 0x14008c3eb
lea eax, [rbx - 0x7b]
cmp eax, 0x44
jbe 0x14008c3eb
lea eax, [rbx - 0x3b]
cmp eax, 0x25
ja 0x14008c3e3
movabs rcx, 0x2f0000003f
bt rcx, rax
jb 0x14008c3eb
cmp ebx, 0xfffe
jl 0x14008c3fc
lea eax, [rbx - 0x10000]
cmp eax, 0xdffff
ja 0x14008c8af
mov rcx, qword [rdi + 0x38]
mov ebp, dword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
cmp byte [rax], 0xa
jne 0x14008c41d
inc dword [rcx + 0x34]
mov rax, qword [rdi + 0x38]
mov dword [rax + 0x38], 1
jmp 0x14008c420
inc dword [rcx + 0x38]
mov rcx, qword [rdi + 0x38]
movsxd rax, dword [rsp + 0x40]
add qword [rcx + 0x20], rax
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x25
jne 0x14008c442
mov rcx, rdi
call fcn.140091990
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400b87d0
mov ecx, eax
cmp eax, 0x20
je 0x14008c887
movabs rbx, 0x7fffffffffffcfff
movabs r14, 0x80000000800000ff
movabs r15, 0x2f0000003f001
nop dword [rax + rax]
cmp ecx, 0x3e
je 0x14008c887
cmp ecx, 0x2f
je 0x14008c887
lea eax, [rcx - 0x2000]
cmp eax, 0x3e
ja 0x14008c4a3
bt rbx, rax
jb 0x14008c51a
lea eax, [rcx - 0xfdd0]
cmp eax, 0x1f
jbe 0x14008c51a
lea eax, [rcx - 0xd800]
cmp eax, 0x20ff
jbe 0x14008c51a
lea eax, [rcx - 0x2ff0]
cmp eax, 0x10
jbe 0x14008c51a
lea eax, [rcx - 0x2190]
cmp eax, 0xa6f
jbe 0x14008c51a
lea eax, [rcx - 0x2041]
cmp eax, 0x2e
jbe 0x14008c51a
cmp ecx, 0x2c
jle 0x14008c51a
cmp ecx, 0x37e
je 0x14008c51a
lea eax, [rcx - 0xb8]
cmp eax, 0x3f
ja 0x14008c4fc
bt r14, rax
jb 0x14008c51a
lea eax, [rcx - 0x7b]
cmp eax, 0x3b
jbe 0x14008c51a
lea eax, [rcx - 0x2f]
cmp eax, 0x31
ja 0x14008c512
bt r15, rax
jb 0x14008c51a
cmp ecx, 0xfffe
jl 0x14008c52b
lea eax, [rcx - 0x10000]
cmp eax, 0xdffff
ja 0x14008c887
mov eax, esi
inc esi
cmp eax, 0x64
jle 0x14008c568
xor esi, esi
cmp dword [rdi + 0x1b4], esi
jne 0x14008c55b
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
cmp rcx, 0xfa
jge 0x14008c55b
mov rcx, rdi
call fcn.140082310
cmp dword [rdi + 0x108], 0xffffffff
je 0x14008c8af
mov rcx, qword [rdi + 0x38]
add ebp, dword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
cmp byte [rax], 0xa
jne 0x14008c589
inc dword [rcx + 0x34]
mov rax, qword [rdi + 0x38]
mov dword [rax + 0x38], 1
jmp 0x14008c58c
inc dword [rcx + 0x38]
mov rcx, qword [rdi + 0x38]
movsxd rax, dword [rsp + 0x40]
add qword [rcx + 0x20], rax
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x25
jne 0x14008c5ae
mov rcx, rdi
call fcn.140091990
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400b87d0
mov ecx, eax
cmp eax, 0x20
jne 0x14008c480
jmp 0x14008c887
cmp ebx, 0x3e
ja 0x14008c5e4
movabs rdx, 0x4000800100000000
bt rdx, rbx
jb 0x14008c8af
cmp ebx, 0x100
jge 0x14008c613
cmp ebx, 0xd7
je 0x14008c625
lea eax, [rbx - 0x7b]
cmp eax, 0x44
jbe 0x14008c625
lea eax, [rbx - 0x5b]
cmp eax, 5
jbe 0x14008c625
cmp ebx, 0x40
jle 0x14008c625
cmp ebx, 0xf7
je 0x14008c625
jmp 0x14008c653
lea rdx, [0x1401f9660]
mov ecx, ebx
call fcn.1400b8510
test eax, eax
jne 0x14008c653
lea eax, [rbx - 0x3021]
cmp eax, 8
jbe 0x14008c653
cmp ebx, 0x3007
je 0x14008c653
lea eax, [rbx - 0x4e00]
cmp eax, 0x51a5
jbe 0x14008c653
cmp ebx, 0x5f
je 0x14008c653
cmp ebx, 0x3a
jne 0x14008c8af
mov rcx, qword [rdi + 0x38]
mov ebp, dword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
cmp byte [rax], 0xa
jne 0x14008c674
inc dword [rcx + 0x34]
mov rax, qword [rdi + 0x38]
mov dword [rax + 0x38], 1
jmp 0x14008c677
inc dword [rcx + 0x38]
mov rcx, qword [rdi + 0x38]
movsxd rax, dword [rsp + 0x40]
add qword [rcx + 0x20], rax
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x25
jne 0x14008c699
mov rcx, rdi
call fcn.140091990
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400b87d0
mov ebx, eax
cmp eax, 0x20
je 0x14008c887
movabs r14, 0x4000000002003
nop dword [rax + rax]
cmp ebx, 0x3e
je 0x14008c887
cmp ebx, 0x2f
je 0x14008c887
cmp ebx, 0x100
jge 0x14008c704
cmp ebx, 0xd7
je 0x14008c71a
lea eax, [rbx - 0x7b]
cmp eax, 0x44
jbe 0x14008c71a
lea eax, [rbx - 0x5b]
cmp eax, 5
jbe 0x14008c71a
cmp ebx, 0x40
jle 0x14008c71a
cmp ebx, 0xf7
je 0x14008c71a
jmp 0x14008c7a9
lea rdx, [0x1401f9660]
mov ecx, ebx
call fcn.1400b8510
test eax, eax
jne 0x14008c7a9
cmp ebx, 0x100
jl 0x14008c756
lea eax, [rbx - 0x3021]
cmp eax, 8
jbe 0x14008c7a9
cmp ebx, 0x3007
je 0x14008c7a9
lea eax, [rbx - 0x4e00]
cmp eax, 0x51a5
jbe 0x14008c7a9
lea rdx, [0x1401f96a8]
mov ecx, ebx
call fcn.1400b8510
test eax, eax
jne 0x14008c7a9
jmp 0x14008c75e
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x14008c7a9
lea eax, [rbx - 0x2d]
cmp eax, 0x32
ja 0x14008c76c
bt r14, rax
jb 0x14008c7a9
cmp ebx, 0x100
jl 0x14008c796
lea rdx, [0x1401f9690]
mov ecx, ebx
call fcn.1400b8510
test eax, eax
jne 0x14008c7a9
lea rdx, [0x1401f96c0]
mov ecx, ebx
call fcn.1400b8510
jmp 0x14008c7a1
xor eax, eax
cmp ebx, 0xb7
sete al
test eax, eax
je 0x14008c887
mov eax, esi
inc esi
cmp eax, 0x64
jle 0x14008c7e6
xor esi, esi
cmp dword [rdi + 0x1b4], esi
jne 0x14008c7d9
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
cmp rcx, 0xfa
jge 0x14008c7d9
mov rcx, rdi
call fcn.140082310
cmp dword [rdi + 0x108], 0xffffffff
je 0x14008c8af
mov rcx, qword [rdi + 0x38]
add ebp, dword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
cmp byte [rax], 0xa
jne 0x14008c807
inc dword [rcx + 0x34]
mov rax, qword [rdi + 0x38]
mov dword [rax + 0x38], 1
jmp 0x14008c80a
inc dword [rcx + 0x38]
mov rcx, qword [rdi + 0x38]
movsxd rax, dword [rsp + 0x40]
add qword [rcx + 0x20], rax
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x25
jne 0x14008c82c
mov rcx, rdi
call fcn.140091990
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400b87d0
mov ebx, eax
test eax, eax
jne 0x14008c87e
xor esi, esi
cmp dword [rdi + 0x1b4], esi
jne 0x14008c866
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
cmp rcx, 0xfa
jge 0x14008c866
mov rcx, rdi
call fcn.140082310
cmp dword [rdi + 0x108], 0xffffffff
je 0x14008c8af
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400b87d0
mov ebx, eax
cmp ebx, 0x20
jne 0x14008c6c0
cmp ebp, 0xc350
jle 0x14008c8b3
test dword [rdi + 0x224], 0x80000
jne 0x14008c8b3
lea r8, [0x1401f5250]
mov edx, 0x6e
mov rcx, rdi
call fcn.140081ab0
xor eax, eax
jmp 0x14008c8e6
mov rax, qword [rdi + 0x38]
mov rdx, qword [rax + 0x20]
cmp byte [rdx], 0xa
jne 0x14008c8d1
cmp byte [rdx - 1], 0xd
jne 0x14008c8d1
lea eax, [rbp + 1]
movsxd rcx, eax
sub rdx, rcx
jmp 0x14008c8d7
movsxd rax, ebp
sub rdx, rax
mov rcx, qword [rdi + 0x1b8]
mov r8d, ebp
call fcn.1400aad10
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret