Function at 0x1400f6bc0
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 0x1400f6f6d
cmp ecx, 0x7c
je 0x1400f6f6d
cmp ecx, 0x29
jne 0x1400f6c12
cmp dword [rbx + 0x1c], 0
jne 0x1400f6f6d
test dword [rbx + 0x80], 0x10000000
je 0x1400f6f90
jmp 0x1400f6e81
cmp ecx, 0x2e
jne 0x1400f6c2a
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140098160
jmp 0x1400f6e8e
cmp ecx, 0x5c
jne 0x1400f6c9f
mov rcx, rbx
call fcn.1400f9720
test byte [rbx + 0x80], 0x80
je 0x1400f6c92
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x1400f6c65
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140098160
mov rcx, rbx
call fcn.1400f9720
jmp 0x1400f6f5f
cmp ax, 0x42
jne 0x1400f6c92
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140098160
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.1400f9720
jmp 0x1400f6f5f
mov rcx, rbx
call fcn.1400f6fe0
jmp 0x1400f6e96
cmp ecx, 0x5b
jne 0x1400f6cc3
mov rcx, rbx
call fcn.1400f9720
mov rcx, rbx
call fcn.1400f7260
cmp dword [rbx + 0x7c], 0x5d
jne 0x1400f6f9e
jmp 0x1400f6e8e
cmp ecx, 0x28
jne 0x1400f6df7
mov rcx, rbx
call fcn.1400f9720
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x1400f6ced
cmp dword [rbx + 0x7c], 0x29
je 0x1400f6f90
test al, 0x20
je 0x1400f6d4e
cmp dword [rbx + 0x7c], 0x3f
jne 0x1400f6d4e
mov rcx, rbx
call fcn.1400f9720
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.1400f9720
mov rcx, rbx
cmp edi, 0x3a
jne 0x1400f6d1c
call fcn.1400f8730
jmp 0x1400f6dd1
cmp edi, 0x21
jne 0x1400f6d33
mov dl, 1
call fcn.1400f7d70
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x1400f6dd7
cmp edi, 0x3d
jne 0x1400f6fc8
xor edx, edx
call fcn.1400f7d70
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x1400f6dd7
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x1400f6d7e
mov edx, 8
call fcn.140098160
mov rcx, rbx
mov rdi, rax
call fcn.1400f7a30
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.1400978d0
jmp 0x1400f6dd1
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.1400957f0
mov rcx, rbx
mov rsi, rax
call fcn.1400f7a30
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.1400978d0
mov edx, dword [rbx + 0x18]
lea rcx, [rbx + 0x20]
inc edx
xor r8d, r8d
call fcn.14009a610
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 0x1400f6f90
mov rcx, rbx
call fcn.1400f9720
test dil, dil
je 0x1400f6f5f
jmp 0x1400f6e96
cmp ecx, 0x5e
jne 0x1400f6e17
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140098160
mov rcx, rbx
call fcn.1400f9720
jmp 0x1400f6f5f
cmp ecx, 0x24
jne 0x1400f6e37
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140098160
mov rcx, rbx
call fcn.1400f9720
jmp 0x1400f6f5f
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400f6fba
cmp ecx, 0x3f
je 0x1400f6fba
cmp ecx, 0x7b
je 0x1400f6fba
cmp ecx, 0x7d
jne 0x1400f6e6c
test dword [rbx + 0x80], 0x10000000
je 0x1400f6fac
jmp 0x1400f6e81
cmp ecx, 0x5d
jne 0x1400f6e81
test dword [rbx + 0x80], 0x10000000
je 0x1400f6f9e
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.1400f5ff0
mov rcx, rbx
call fcn.1400f9720
mov eax, dword [rbx + 0x7c]
xor esi, esi
lea edi, [rsi - 1]
cmp eax, 0x2a
je 0x1400f6f17
cmp eax, 0x2b
jne 0x1400f6ead
lea esi, [rdi + 2]
jmp 0x1400f6f17
cmp eax, 0x3f
jne 0x1400f6eb7
lea edi, [rax - 0x3e]
jmp 0x1400f6f17
cmp eax, 0x7b
jne 0x1400f6f5f
mov rcx, rbx
call fcn.1400f9720
mov rcx, rbx
call fcn.1400f7960
test al, al
je 0x1400f6f82
mov eax, dword [rbx + 0x7c]
mov esi, dword [rbx + 0x74]
cmp eax, 0x2c
je 0x1400f6ee7
mov edi, esi
jmp 0x1400f6f09
mov rcx, rbx
call fcn.1400f9720
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
je 0x1400f6f0e
mov rcx, rbx
call fcn.1400f7960
test al, al
je 0x1400f6f82
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
jne 0x1400f6f82
cmp edi, 0xffffffff
je 0x1400f6f17
cmp edi, esi
jl 0x1400f6f82
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
add rax, 0xc
call fcn.1400f9720
test dword [rbx + 0x80], 0x400
je 0x1400f6f4a
cmp dword [rbx + 0x7c], 0x3f
jne 0x1400f6f4a
xor bpl, bpl
mov rcx, rbx
call fcn.1400f9720
jmp 0x1400f6f4d
mov bpl, 1
lea rcx, [rbx + 0x40]
movzx r9d, bpl
mov r8d, edi
mov edx, esi
call fcn.1400f6880
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1400f6be5
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.140097990
int3
mov edx, 5
mov rcx, rbx
call fcn.140097990
int3
mov edx, 4
mov rcx, rbx
call fcn.140097990
int3
mov edx, 6
mov rcx, rbx
call fcn.140097990
int3
mov edx, 0xa
mov rcx, rbx
call fcn.140097990
int3
mov edx, 0xe
call fcn.140097990
int3