Function at 0x14002b864
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov r13, qword [rcx]
movabs r14, 0x43ffffff93fffff9
mov r12d, 1
mov rdx, qword [r13 + 0x5100]
mov rsi, qword [r13 + 0x208]
mov rbx, rdx
movsx ecx, byte [rbx]
lea eax, [rcx - 0x21]
cmp eax, 0x3e
ja 0x14002b8b2
cdqe
bt r14, rax
jb 0x14002b8bf
lea eax, [rcx - 0x61]
cmp eax, 0x19
jbe 0x14002b8bf
cmp ecx, 0x7e
jne 0x14002b8c4
add rbx, r12
jmp 0x14002b89f
cmp rbx, rdx
je 0x14002b904
mov r8, rbx
jbe 0x14002b8d9
lea rax, [rbx - 1]
cmp byte [rax], 0x2f
cmove r8, rax
lea r15, [rsi + 8]
xor edi, edi
sub r8, rdx
mov rcx, r13
mov r9, r15
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rdi
call fcn.140036454
test eax, eax
je 0x14002bad4
jmp 0x14002bb67
lea r15, [rsi + 8]
xor edi, edi
mov qword [r15], rdi
jmp 0x14002bad4
add rbx, r12
mov rdx, rbx
mov al, byte [rbx]
test al, al
je 0x14002bb2c
cmp al, 0x3d
je 0x14002b92f
add rbx, r12
mov al, byte [rbx]
test al, al
jne 0x14002b922
cmp byte [rbx], dil
je 0x14002bb2c
mov r8, rbx
lea r9, [rbp + 0x48]
mov rcx, r13
sub r8, rdx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rdi
call fcn.140036454
test eax, eax
jne 0x14002bb67
add rbx, r12
mov rdx, rbx
movsx ecx, byte [rbx]
lea eax, [rcx - 0x21]
cmp eax, 0x3e
ja 0x14002b975
cdqe
bt r14, rax
jb 0x14002b982
lea eax, [rcx - 0x61]
cmp eax, 0x19
jbe 0x14002b982
cmp ecx, 0x7e
jne 0x14002b987
add rbx, r12
jmp 0x14002b962
lea rax, [rbp + 0x50]
mov r8, rbx
lea r9, [rbp + 0x40]
mov rcx, r13
sub r8, rdx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rax
call fcn.140036454
mov rcx, qword [rbp + 0x48]
mov r14d, eax
test eax, eax
jne 0x14002bb33
lea rdx, str.UIDVALIDITY
call fcn.140020fd4
test eax, eax
je 0x14002b9f2
cmp qword [rsi + 0x10], rdi
jne 0x14002b9f2
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14002b9e5
mov rcx, qword [rbp + 0x40]
cmp byte [rcx + rax - 1], 0x2f
jne 0x14002b9e5
mov byte [rcx + rax - 1], dil
mov rax, qword [rbp + 0x40]
mov qword [rsi + 0x10], rax
jmp 0x14002bab2
mov rcx, qword [rbp + 0x48]
lea rdx, [0x14007e178]
call fcn.140020fd4
test eax, eax
je 0x14002ba32
cmp qword [rsi + 0x18], rdi
jne 0x14002ba32
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14002ba25
mov rcx, qword [rbp + 0x40]
cmp byte [rcx + rax - 1], 0x2f
jne 0x14002ba25
mov byte [rcx + rax - 1], dil
mov rax, qword [rbp + 0x40]
mov qword [rsi + 0x18], rax
jmp 0x14002bab2
mov rcx, qword [rbp + 0x48]
lea rdx, str.SECTION
call fcn.140020fd4
test eax, eax
je 0x14002ba6f
cmp qword [rsi + 0x20], rdi
jne 0x14002ba6f
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14002ba65
mov rcx, qword [rbp + 0x40]
cmp byte [rcx + rax - 1], 0x2f
jne 0x14002ba65
mov byte [rcx + rax - 1], dil
mov rax, qword [rbp + 0x40]
mov qword [rsi + 0x20], rax
jmp 0x14002bab2
mov rcx, qword [rbp + 0x48]
lea rdx, str.PARTIAL
call fcn.140020fd4
test eax, eax
je 0x14002bb18
cmp qword [rsi + 0x28], rdi
jne 0x14002bb18
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14002baaa
mov rcx, qword [rbp + 0x40]
cmp byte [rcx + rax - 1], 0x2f
jne 0x14002baaa
mov byte [rcx + rax - 1], dil
mov rax, qword [rbp + 0x40]
mov qword [rsi + 0x28], rax
mov rcx, qword [rbp + 0x48]
mov qword [rbp + 0x40], rdi
call qword [fcn.140043a0c]
mov rcx, qword [rbp + 0x40]
call qword [fcn.140043a0c]
movabs r14, 0x43ffffff93fffff9
cmp byte [rbx], 0x3b
je 0x14002b912
cmp qword [r15], rdi
je 0x14002bb5e
cmp qword [rsi + 0x18], rdi
jne 0x14002bb5e
cmp byte [rbx], 0x3f
jne 0x14002bb5e
add rbx, r12
mov rdx, rbx
movsx ecx, byte [rbx]
lea eax, [rcx - 0x21]
cmp eax, 0x3e
ja 0x14002bb06
cdqe
bt r14, rax
jb 0x14002bb13
lea eax, [rcx - 0x61]
cmp eax, 0x19
jbe 0x14002bb13
cmp ecx, 0x7e
jne 0x14002bb3e
add rbx, r12
jmp 0x14002baf3
mov rcx, qword [rbp + 0x48]
call qword [fcn.140043a0c]
mov rcx, qword [rbp + 0x40]
call qword [fcn.140043a0c]
mov eax, 3
jmp 0x14002bb67
call qword [fcn.140043a0c]
mov eax, r14d
jmp 0x14002bb67
mov r8, rbx
lea r9, [rsi + 0x30]
mov rcx, r13
sub r8, rdx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rdi
call fcn.140036454
test eax, eax
jne 0x14002bb67
mov al, byte [rbx]
neg al
sbb eax, eax
and eax, 3
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret