Function at 0x14001d140
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 0x14001d434
cmp ecx, 0x7c
je 0x14001d434
cmp ecx, 0x29
jne 0x14001d196
cmp dword [rbx + 0x1c], 0
jne 0x14001d434
cmp ecx, ecx
jne 0x14001d196
test dword [rbx + 0x80], 0x10000000
je 0x14001d449
jmp 0x14001d3de
cmp ecx, 0x2e
jne 0x14001d1ae
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140023660
jmp 0x14001d416
cmp ecx, 0x5c
jne 0x14001d223
mov rcx, rbx
call fcn.140023750
test byte [rbx + 0x80], 0x80
je 0x14001d216
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x14001d1e9
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140023660
mov rcx, rbx
call fcn.140023750
jmp 0x14001d426
cmp ax, 0x42
jne 0x14001d216
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140023660
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.140023750
jmp 0x14001d426
mov rcx, rbx
call fcn.14001d6c0
jmp 0x14001d41e
cmp ecx, 0x5b
jne 0x14001d24a
mov rcx, rbx
call fcn.140023750
mov rcx, rbx
call fcn.14001e1e0
cmp dword [rbx + 0x7c], 0x5d
mov rcx, rbx
jne 0x14001d457
jmp 0x14001d419
cmp ecx, 0x28
jne 0x14001d383
mov rcx, rbx
call fcn.140023750
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x14001d274
cmp dword [rbx + 0x7c], 0x29
je 0x14001d470
test al, 0x20
je 0x14001d2d5
cmp dword [rbx + 0x7c], 0x3f
jne 0x14001d2d5
mov rcx, rbx
call fcn.140023750
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.140023750
mov rcx, rbx
cmp edi, 0x3a
jne 0x14001d2a3
call fcn.140020bd0
jmp 0x14001d35d
cmp edi, 0x21
jne 0x14001d2ba
mov dl, 1
call fcn.14001fea0
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x14001d363
cmp edi, 0x3d
jne 0x14001d47e
xor edx, edx
call fcn.14001fea0
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x14001d363
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x14001d305
mov edx, 8
call fcn.140023660
mov rcx, rbx
mov rdi, rax
call fcn.14001fb70
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.140021600
jmp 0x14001d35d
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.14001db10
mov rcx, rbx
mov rsi, rax
call fcn.14001fb70
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.140021600
mov eax, dword [rbx + 0x18]
lea rdi, [rbx + 0x20]
inc eax
xor r8d, r8d
movsxd rdx, eax
mov rcx, rdi
call fcn.1400281f0
mov r8d, dword [rsi + 0x20]
mov rax, qword [rdi]
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
mov rcx, rbx
jne 0x14001d489
call fcn.140023750
test dil, dil
je 0x14001d426
jmp 0x14001d41e
cmp ecx, 0x5e
jne 0x14001d3a3
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140023660
mov rcx, rbx
call fcn.140023750
jmp 0x14001d426
cmp ecx, 0x24
jne 0x14001d3c0
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140023660
mov rcx, rbx
call fcn.140023750
jmp 0x14001d426
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14001d4a2
cmp ecx, 0x3f
je 0x14001d4a2
cmp ecx, 0x7b
je 0x14001d4a2
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
jne 0x14001d3f4
test dword [rbx + 0x80], 0x10000000
je 0x14001d462
jmp 0x14001d409
cmp eax, 0x5d
jne 0x14001d409
test dword [rbx + 0x80], 0x10000000
je 0x14001d494
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.14001b530
mov rcx, rbx
call fcn.140023750
mov rcx, rbx
call fcn.140023bb0
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x14001d165
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 5
mov rcx, rbx
call fcn.140021720
int3
mov edx, 4
call fcn.140021720
int3
mov edx, 6
mov rcx, rbx
call fcn.140021720
int3
mov edx, 5
mov rcx, rbx
call fcn.140021720
int3
mov edx, 0xe
call fcn.140021720
int3
mov edx, 5
call fcn.140021720
int3
mov edx, 4
mov rcx, rbx
call fcn.140021720
int3
mov edx, 0xa
mov rcx, rbx
call fcn.140021720
int3