Function at 0x14004bb9c
Capabilities:
Parse credit card information

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
xor ebx, ebx
mov rsi, rdx
mov r15, rcx
test rcx, rcx
je 0x14004bf9b
test rdx, rdx
je 0x14004bfa6
cmp rcx, rdx
je 0x14004bfb1
mov dil, byte [r15]
lea r12d, [rbx + 1]
mov r11, rdx
mov qword [rbp - 0x18], rdx
mov edx, r9d
lea r13d, [rbx + 8]
add rdx, r11
mov dword [rbp + 0x68], ebx
mov dword [rbp - 0x28], ebx
mov r14d, ebx
mov dword [rbp - 0x24], ebx
mov r10d, ebx
mov qword [rbp - 0x20], rdx
mov ecx, ebx
test dil, dil
je 0x14004bf65
mov eax, r12d
add r15, rax
cmp r14d, r9d
mov qword [rbp + 0x48], r15
cmove r12d, ebx
cmp dil, 0x3a
jne 0x14004bcd9
test r13b, r13b
jns 0x14004bdac
test ecx, ecx
jne 0x14004bdac
test r12d, r12d
je 0x14004bccd
mov eax, r14d
mov rcx, rsi
sub rcx, rax
mov byte [rsi], bl
cmp rcx, r11
jb 0x14004bfdd
cmp rcx, rdx
ja 0x14004bfdd
sub rdx, rcx
inc rdx
call fcn.140123210
test eax, eax
je 0x14004bc9c
cmp eax, 0xc
je 0x14004bfd2
cmp eax, 0x16
je 0x14004bfc7
cmp eax, 0x22
je 0x14004bfc7
cmp eax, 0x50
jne 0x14004bfbc
cmp r14d, 4
jne 0x14004bcc9
lea rdx, [rsi - 4]
mov r8d, r14d
lea rcx, [0x1401cfde0]
call fcn.140123280
mov r10d, dword [rbp - 0x28]
lea ecx, [r14 - 3]
test eax, eax
cmove r10d, ecx
mov dword [rbp - 0x28], r10d
jmp 0x14004bccd
mov r10d, dword [rbp - 0x28]
lea ecx, [r14 + 1]
mov dword [rbp - 0x24], ecx
jmp 0x14004bdac
cmp dil, 0x25
jne 0x14004bd96
test r13b, 4
je 0x14004bdac
mov cl, byte [r15]
test cl, cl
je 0x14004bf61
mov edx, 1
lea eax, [rcx - 0x30]
add r15, rdx
cmp al, 9
ja 0x14004bd10
movzx edi, cl
sub di, 0x30
jmp 0x14004bd33
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14004bd20
movzx edi, cl
sub di, 0x37
jmp 0x14004bd33
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x14004bd30
movzx edi, cl
sub di, 0x57
jmp 0x14004bd33
or edi, 0xffffffff
test di, di
js 0x14004bf58
mov cl, byte [r15]
shl dil, 4
test cl, cl
je 0x14004bf61
add r15, rdx
lea eax, [rcx - 0x30]
mov qword [rbp + 0x48], r15
cmp al, 9
ja 0x14004bd62
movzx eax, cl
sub ax, 0x30
jmp 0x14004bd85
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14004bd72
movzx eax, cl
sub ax, 0x37
jmp 0x14004bd85
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x14004bd82
movzx eax, cl
sub ax, 0x57
jmp 0x14004bd85
or eax, 0xffffffff
test ax, ax
js 0x14004bf58
mov ecx, dword [rbp - 0x24]
add dil, al
jmp 0x14004bdac
cmp dil, 0x3f
je 0x14004bda2
cmp dil, 0x23
jne 0x14004bdac
test r13b, 0x20
je 0x14004bdac
or r13d, 2
mov eax, r13d
and al, 0x82
cmp al, 0x80
jne 0x14004bdd9
cmp dil, 0x5c
jne 0x14004bdfd
test ecx, ecx
jne 0x14004bdc6
bt r13d, 8
jae 0x14004bdd9
test r12d, r12d
je 0x14004bdd9
test r10d, r10d
je 0x14004bdd6
cmp r14d, 7
jae 0x14004bdd9
mov dil, 0x2f
movzx ecx, dil
cmp ecx, 0x40
ja 0x14004be4e
cmp ecx, 0x3a
ja 0x14004be70
movabs rdx, 0x7ffe782ffffffff
bt rdx, rcx
jae 0x14004be70
jmp 0x14004be65
cmp dil, 0x2e
jne 0x14004bdd9
test r14d, r14d
je 0x14004bdd9
test r13b, 8
jne 0x14004bdd9
mov dword [rsp + 0x30], ecx
lea rax, [rbp + 0x68]
mov dword [rsp + 0x28], r13d
lea rcx, [rbp + 0x50]
lea rdx, [rsi - 1]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x48]
mov r8d, r14d
call fcn.14004ba48
mov rsi, qword [rbp + 0x50]
mov r15, qword [rbp + 0x48]
mov r14d, dword [rbp + 0x68]
test eax, eax
je 0x14004bdd9
mov eax, 1
jmp 0x14004bf29
cmp ecx, 0x5b
jb 0x14004be65
cmp ecx, 0x5e
jbe 0x14004be70
cmp ecx, 0x60
je 0x14004be70
lea eax, [rcx - 0x7b]
cmp eax, 2
jbe 0x14004be70
lea eax, [rdi - 0x20]
cmp al, 0x5e
jbe 0x14004bf49
test r13b, 2
jne 0x14004bf49
test r13b, 0x10
je 0x14004be86
cmp dil, 0x20
jne 0x14004be9e
test r13b, 8
je 0x14004be92
cmp dil, 0x2e
je 0x14004be9e
test r13b, 0x40
jne 0x14004beb4
cmp dil, 0x25
jne 0x14004beb4
mov eax, 1
test r12d, r12d
je 0x14004bf22
mov byte [rsi], dil
add rsi, rax
mov qword [rbp + 0x50], rsi
jmp 0x14004bf22
mov eax, dword [rbp + 0x60]
add eax, 0xfffffffd
cmp r14d, eax
sbb eax, eax
and r12d, eax
je 0x14004bf19
mov byte [rsi], 0x25
lea rdx, [rsi + 1]
cmp dil, 0x10
jae 0x14004bed7
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rbp - 0x20]
mov r9d, 0x10
sub r8, rdx
call fcn.140103f5c
test eax, eax
je 0x14004bf11
cmp eax, 0xc
je 0x14004bffe
cmp eax, 0x16
je 0x14004bff3
cmp eax, 0x22
je 0x14004bff3
cmp eax, 0x50
jne 0x14004bfe8
add rsi, 3
mov qword [rbp + 0x50], rsi
add r14d, 2
mov eax, 1
add r14d, eax
mov dword [rbp + 0x68], r14d
mov dil, byte [r15]
mov r9d, dword [rbp + 0x60]
test dil, dil
je 0x14004bf61
mov ecx, dword [rbp - 0x24]
mov rdx, qword [rbp - 0x20]
mov r10d, dword [rbp - 0x28]
mov r11, qword [rbp - 0x18]
jmp 0x14004bc1a
test r12d, r12d
je 0x14004bf1d
mov eax, 1
jmp 0x14004bea8
mov r8, qword [rbp + 0x58]
mov r12d, ebx
jmp 0x14004bf71
mov r8, qword [rbp + 0x58]
test r12d, r12d
je 0x14004bf71
cmp r14d, r9d
jae 0x14004bf71
mov byte [rsi], bl
test r8, r8
je 0x14004bf7d
lea ecx, [r14 + 1]
mov dword [r8], ecx
lea ecx, [r14 + 1]
cmp ecx, r9d
cmovbe ebx, r12d
mov eax, ebx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.14004a980
int3
mov ecx, 0x80004005
call fcn.14004a980
int3
mov ecx, 0x80004005
call fcn.14004a980
int3
mov ecx, 0x80004005
call fcn.14004a980
int3
mov ecx, 0x80070057
call fcn.14004a980
int3
mov ecx, 0x8007000e
call fcn.14004a980
int3
mov ecx, 0x80004005
call fcn.14004a980
int3
mov ecx, 0x80004005
call fcn.14004a980
int3
mov ecx, 0x80070057
call fcn.14004a980
int3
mov ecx, 0x8007000e
call fcn.14004a980
int3