Function at 0x140008020
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x1400083e3
mov r14, 0xffffffffffffffff
cmp ecx, 0x7c
je 0x1400083e3
cmp ecx, 0x29
jne 0x14000807f
cmp dword [rbx + 0x1c], 0
jne 0x1400083e3
test dword [rbx + 0x80], 0x10000000
je 0x14000840c
jmp 0x1400082f3
cmp ecx, 0x2e
jne 0x140008097
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.14000af10
jmp 0x140008300
cmp ecx, 0x5c
jne 0x14000810c
mov rcx, rbx
call fcn.14000afa0
test byte [rbx + 0x80], 0x80
je 0x1400080ff
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x1400080d2
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14000af10
mov rcx, rbx
call fcn.14000afa0
jmp 0x1400083d5
cmp ax, 0x42
jne 0x1400080ff
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14000af10
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.14000afa0
jmp 0x1400083d5
mov rcx, rbx
call fcn.140008450
jmp 0x140008308
cmp ecx, 0x5b
jne 0x140008130
mov rcx, rbx
call fcn.14000afa0
mov rcx, rbx
call fcn.140008890
cmp dword [rbx + 0x7c], 0x5d
jne 0x14000841a
jmp 0x140008300
cmp ecx, 0x28
jne 0x140008269
mov rcx, rbx
call fcn.14000afa0
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x14000815a
cmp dword [rbx + 0x7c], 0x29
je 0x14000840c
test al, 0x20
je 0x1400081bb
cmp dword [rbx + 0x7c], 0x3f
jne 0x1400081bb
mov rcx, rbx
call fcn.14000afa0
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.14000afa0
mov rcx, rbx
cmp edi, 0x3a
jne 0x140008189
call fcn.140009d50
jmp 0x140008243
cmp edi, 0x21
jne 0x1400081a0
mov dl, 1
call fcn.140009470
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140008249
cmp edi, 0x3d
jne 0x140008444
xor edx, edx
call fcn.140009470
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140008249
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x1400081eb
mov edx, 8
call fcn.14000af10
mov rcx, rbx
mov rdi, rax
call fcn.1400091e0
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.14000a3e0
jmp 0x140008243
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.140008620
mov rcx, rbx
mov rsi, rax
call fcn.1400091e0
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.14000a3e0
mov edx, dword [rbx + 0x18]
lea rcx, [rbx + 0x20]
add edx, 1
cmovb rdx, r14
xor r8d, r8d
call fcn.14000c060
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 0x14000840c
mov rcx, rbx
call fcn.14000afa0
test dil, dil
je 0x1400083d5
jmp 0x140008308
cmp ecx, 0x5e
jne 0x140008289
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.14000af10
mov rcx, rbx
call fcn.14000afa0
jmp 0x1400083d5
cmp ecx, 0x24
jne 0x1400082a9
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.14000af10
mov rcx, rbx
call fcn.14000afa0
jmp 0x1400083d5
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140008436
cmp ecx, 0x3f
je 0x140008436
cmp ecx, 0x7b
je 0x140008436
cmp ecx, 0x7d
jne 0x1400082de
test dword [rbx + 0x80], 0x10000000
je 0x140008428
jmp 0x1400082f3
cmp ecx, 0x5d
jne 0x1400082f3
test dword [rbx + 0x80], 0x10000000
je 0x14000841a
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.1400073e0
mov rcx, rbx
call fcn.14000afa0
mov eax, dword [rbx + 0x7c]
xor esi, esi
mov edi, r14d
cmp eax, 0x2a
je 0x14000838d
cmp eax, 0x2b
jne 0x14000831f
lea esi, [rax - 0x2a]
jmp 0x14000838d
cmp eax, 0x3f
jne 0x140008329
lea edi, [rax - 0x3e]
jmp 0x14000838d
cmp eax, 0x7b
jne 0x1400083d5
mov rcx, rbx
call fcn.14000afa0
mov rcx, rbx
call fcn.140009110
test al, al
je 0x1400083fe
mov eax, dword [rbx + 0x7c]
mov esi, dword [rbx + 0x74]
cmp eax, 0x2c
je 0x140008359
mov edi, esi
jmp 0x14000837f
mov rcx, rbx
call fcn.14000afa0
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
je 0x140008384
mov rcx, rbx
call fcn.140009110
test al, al
je 0x1400083fe
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
jne 0x1400083fe
cmp edi, r14d
je 0x14000838d
cmp edi, esi
jl 0x1400083fe
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
add rax, 0xc
call fcn.14000afa0
test dword [rbx + 0x80], 0x400
je 0x1400083c0
cmp dword [rbx + 0x7c], 0x3f
jne 0x1400083c0
xor bpl, bpl
mov rcx, rbx
call fcn.14000afa0
jmp 0x1400083c3
mov bpl, 1
lea rcx, [rbx + 0x40]
movzx r9d, bpl
mov r8d, edi
mov edx, esi
call fcn.140007c80
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, r14d
jne 0x140008052
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov edx, 7
mov rcx, rbx
call fcn.14000a4a0
int3
mov edx, 5
mov rcx, rbx
call fcn.14000a4a0
int3
mov edx, 4
mov rcx, rbx
call fcn.14000a4a0
int3
mov edx, 6
mov rcx, rbx
call fcn.14000a4a0
int3
mov edx, 0xa
mov rcx, rbx
call fcn.14000a4a0
int3
mov edx, SafeArrayDestroy
call fcn.14000a4a0
int3