Function at 0x1401c8370
Capabilities:
Parse credit card information

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x50
mov rax, qword [0x1402bc7c0]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r14, rcx
mov rsi, rdx
mov rcx, rdx
call fcn.14003cec0
test r14, r14
je 0x1401c83cb
mov rbx, qword [r14]
test rbx, rbx
je 0x1401c83cb
movabs rdx, 0x100002600
nop dword [rax]
movsx rcx, byte [rbx]
cmp cl, 0x20
ja 0x1401c83c4
bt rdx, rcx
jae 0x1401c83c4
inc rbx
jmp 0x1401c83b0
test cl, cl
jne 0x1401c83d5
mov qword [r14], rbx
mov eax, 7
jmp 0x1401c848c
cmp cl, 0x3c
jne 0x1401c83ea
inc rbx
mov eax, 4
mov qword [r14], rbx
jmp 0x1401c848c
cmp cl, 0x3e
jne 0x1401c83ff
inc rbx
mov eax, 5
mov qword [r14], rbx
jmp 0x1401c848c
cmp cl, 0x2c
je 0x1401c86ce
cmp cl, 0x3b
je 0x1401c86ce
mov qword [rsp + 0x80], rdi
cmp cl, 0x3d
jne 0x1401c84f3
cmp byte [rbx + 1], 0x3f
jne 0x1401c84f3
cmp byte [rbx + 2], 0
lea rax, [rbx + 2]
je 0x1401c84af
movzx ecx, byte [rax]
nop dword [rax]
cmp cl, 0x3f
je 0x1401c8455
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x1401c8440
mov qword [r14], rax
jmp 0x1401c847f
cmp byte [rax], 0
je 0x1401c84af
lea rcx, [rax + 1]
movzx eax, byte [rax + 1]
cmp al, 0x71
je 0x1401c84a2
sub al, 0x42
cmp al, 0x20
ja 0x1401c847c
movabs rdx, 0x100008001
bt rdx, rax
jb 0x1401c84a2
mov qword [r14], rcx
mov eax, 8
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1401d75d0
add rsp, 0x50
pop r14
pop rsi
pop rbx
ret
lea rax, [rcx + 1]
movzx ecx, byte [rcx + 1]
cmp cl, 0x3f
je 0x1401c84b9
mov qword [r14], rax
jmp 0x1401c847f
cmp cl, 0x3f
jne 0x1401c84bf
cmp byte [rax + 1], 0x3d
je 0x1401c84cf
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x1401c84b4
mov qword [r14], rax
jmp 0x1401c847f
cmp byte [rax], 0
je 0x1401c84af
lea rdi, [rax + 2]
mov rdx, rbx
mov r8d, edi
mov rcx, rsi
sub r8d, ebx
call fcn.140030c00
mov eax, 3
mov qword [r14], rdi
jmp 0x1401c8484
xor r8d, r8d
cmp cl, 0x22
jne 0x1401c865e
inc rbx
cmp byte [rbx], cl
je 0x1401c8542
movzx eax, byte [rbx]
test al, al
je 0x1401c8542
cmp al, 0x5c
jne 0x1401c8519
inc rbx
cmp byte [rbx], 0
je 0x1401c8542
movzx eax, byte [rbx]
mov byte [rsp + r8 + 0x28], al
inc r8d
cmp r8d, 0x20
jne 0x1401c853a
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140030c00
xor r8d, r8d
inc rbx
cmp byte [rbx], 0x22
jne 0x1401c8506
mov rdi, rbx
test r8d, r8d
je 0x1401c8557
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140030c00
movzx eax, byte [rbx]
lea rdx, [0x1401e21b0]
inc rbx
mov rcx, rsi
test al, al
cmove rbx, rdi
mov qword [r14], rbx
call fcn.1400318a0
test al, al
je 0x1401c86c4
lea rdx, str._PN
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, [0x14024bc90]
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, [0x14024bcd4]
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, str._OU
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, [0x14024bcfc]
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, [0x1402754c8]
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, [0x14024bcb0]
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, str._ADMD
mov rcx, rsi
call fcn.1400318a0
test al, al
jne 0x1401c8634
lea rdx, str._PRMD
mov rcx, rsi
call fcn.1400318a0
test al, al
je 0x1401c86c4
cmp byte [rbx], 0x40
jne 0x1401c86c4
lea rdx, [0x1401e4be8]
mov rcx, rsi
call fcn.1400366a0
lea rdx, [0x1401e4be8]
mov rcx, rsi
call fcn.14002f910
xor r8d, r8d
cmp byte [rbx], 0x20
je 0x1401c86b7
movabs rdi, 0x5800100400000201
nop dword [rax]
movsx rcx, byte [rbx]
cmp cl, 0x3e
ja 0x1401c867f
bt rdi, rcx
jb 0x1401c86a5
mov byte [rsp + r8 + 0x28], cl
inc r8d
cmp r8d, 0x20
jne 0x1401c869d
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140030c00
xor r8d, r8d
inc rbx
cmp byte [rbx], 0x20
jne 0x1401c8670
test r8d, r8d
je 0x1401c86b7
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140030c00
mov qword [r14], rbx
mov eax, 1
jmp 0x1401c8484
mov eax, 2
jmp 0x1401c8484
inc rbx
mov eax, 6
mov qword [r14], rbx
jmp 0x1401c848c