Function at 0x140011ca0
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 0x1400120b3
cmp ecx, 0x7c
je 0x1400120b3
cmp ecx, 0x29
jne 0x140011cf6
cmp dword [rbx + 0x1c], 0
jne 0x1400120b3
cmp ecx, ecx
jne 0x140011cf6
test dword [rbx + 0x80], 0x10000000
je 0x1400120d3
jmp 0x140012064
cmp ecx, 0x2e
jne 0x140011d0e
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140012160
jmp 0x140011deb
cmp ecx, 0x5c
jne 0x140011dcc
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140011d60
cmp byte [rcx], 0x5c
jne 0x140011d59
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x140011d59
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140011d47
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x140011d56
test r8b, 0x10
jne 0x140011d59
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x140011d59
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140010e00
test byte [rbx + 0x80], 0x80
je 0x140011dbf
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x140011d94
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140012160
mov rcx, rbx
call fcn.140011c50
jmp 0x1400120a5
cmp al, 0x42
jne 0x140011dbf
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140012160
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.140011c50
jmp 0x1400120a5
mov rcx, rbx
call fcn.140012d50
jmp 0x14001209d
cmp ecx, 0x5b
jne 0x140011e41
mov rcx, rbx
call fcn.140011c50
mov rcx, rbx
call fcn.140012c20
cmp dword [rbx + 0x7c], 0x5d
jne 0x1400120f4
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140011e34
cmp byte [rcx], 0x5c
jne 0x140011e2d
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x140011e2d
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140011e1b
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x140011e2a
test r8b, 0x10
jne 0x140011e2d
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x140011e2d
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140010e00
jmp 0x14001209d
cmp ecx, 0x28
jne 0x14001200c
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140011e93
cmp byte [rcx], 0x5c
jne 0x140011e8c
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x140011e8c
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140011e7a
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x140011e89
test r8b, 0x10
jne 0x140011e8c
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x140011e8c
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140010e00
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x140011eb4
cmp dword [rbx + 0x7c], 0x29
je 0x1400120ff
test al, 0x20
je 0x140011f1b
cmp dword [rbx + 0x7c], 0x3f
jne 0x140011f1b
mov rcx, rbx
call fcn.140011c50
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.140011c50
cmp edi, 0x3a
jne 0x140011ee3
mov rcx, rbx
call fcn.140014700
jmp 0x140011f9d
cmp edi, 0x21
jne 0x140011efd
mov dl, 1
mov rcx, rbx
call fcn.140014750
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140011fa3
cmp edi, 0x3d
jne 0x14001210a
xor edx, edx
mov rcx, rbx
call fcn.140014750
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140011fa3
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x140011f4b
mov edx, 8
call fcn.140012160
mov rcx, rbx
mov rdi, rax
call fcn.140011000
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.140011290
jmp 0x140011f9d
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.140011340
mov rcx, rbx
mov rsi, rax
call fcn.140011000
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.140011290
mov edx, dword [rbx + 0x18]
lea rdi, [rbx + 0x20]
inc edx
mov rcx, rdi
call fcn.1400115e0
mov r8d, dword [rsi + 0x20]
mov rcx, qword [rdi]
mov eax, r8d
shr rax, 5
and r8d, 0x1f
lea rdx, [rcx + rax*4]
mov eax, dword [rcx + rax*4]
bts eax, r8d
mov dword [rdx], eax
dec dword [rbx + 0x1c]
mov dil, 1
cmp dword [rbx + 0x7c], 0x29
jne 0x140012115
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140011ff6
cmp byte [rcx], 0x5c
jne 0x140011fef
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x140011fef
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140011fdd
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x140011fec
test r8b, 0x10
jne 0x140011fef
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x140011fef
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140010e00
test dil, dil
je 0x1400120a5
jmp 0x14001209d
cmp ecx, 0x5e
jne 0x140012029
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140012160
mov rcx, rbx
call fcn.140011c50
jmp 0x1400120a5
cmp ecx, 0x24
jne 0x140012046
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140012160
mov rcx, rbx
call fcn.140011c50
jmp 0x1400120a5
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400120e9
cmp ecx, 0x3f
je 0x1400120e9
cmp ecx, 0x7b
je 0x1400120e9
cmp ecx, 0x7d
jne 0x140012077
test dword [rbx + 0x80], 0x10000000
je 0x1400120de
jmp 0x140012088
cmp ecx, 0x5d
jne 0x140012088
test dword [rbx + 0x80], 0x10000000
je 0x1400120c8
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.1400130e0
mov rcx, rbx
call fcn.140011c50
mov rcx, rbx
call fcn.140012f30
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140011cc5
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.140010df0
int3
mov edx, 5
call fcn.140010df0
int3
mov edx, 6
call fcn.140010df0
int3
mov edx, 0xa
call fcn.140010df0
int3
mov edx, 4
call fcn.140010df0
int3
mov edx, 5
call fcn.140010df0
int3
mov edx, select
call fcn.140010df0
int3
mov edx, 5
call fcn.140010df0
int3