Function at 0x1400cbfe0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rax, rcx
movzx r10d, byte [rdx + 5]
cmp r10d, 1
je 0x1400cc16f
cmp r10d, 2
jne 0x1400cc192
mov dil, 1
test r9, r9
je 0x1400cc17a
movzx ecx, byte [rdx]
mov byte [r8], cl
mov ecx, 1
cmp r9, 1
je 0x1400cc17c
movzx ecx, byte [rdx + 1]
mov byte [r8 + 1], cl
mov ecx, 2
cmp r9, 3
jb 0x1400cc17c
movzx ecx, byte [rdx + 2]
mov byte [r8 + 2], cl
mov ecx, 3
je 0x1400cc17c
movzx ecx, byte [rdx + 3]
mov byte [r8 + 3], cl
mov ecx, 4
cmp r9, 5
jb 0x1400cc17c
movzx ecx, byte [rdx + 4]
mov byte [r8 + 4], cl
mov ecx, 5
je 0x1400cc17c
mov byte [r8 + 5], r10b
mov ecx, 6
cmp r9, 7
jb 0x1400cc17c
movzx ecx, byte [rdx + 6]
mov byte [r8 + 6], cl
mov ecx, 7
je 0x1400cc17c
movzx ecx, byte [rdx + 7]
mov byte [r8 + 7], cl
mov ecx, 8
cmp r9, 9
jb 0x1400cc17c
movzx ecx, byte [rdx + 8]
mov byte [r8 + 8], cl
mov ecx, 9
je 0x1400cc17c
movzx ecx, byte [rdx + 9]
mov byte [r8 + 9], cl
mov ecx, 0xa
cmp r9, 0xb
jb 0x1400cc17c
movzx ecx, byte [rdx + 0xa]
mov byte [r8 + 0xa], cl
mov ecx, 0xb
je 0x1400cc17c
movzx ecx, byte [rdx + 0xb]
mov byte [r8 + 0xb], cl
mov ecx, 0xc
cmp r9, 0xd
jb 0x1400cc17c
movzx ecx, byte [rdx + 0xc]
mov byte [r8 + 0xc], cl
mov ecx, 0xd
je 0x1400cc17c
movzx ecx, byte [rdx + 0xd]
mov byte [r8 + 0xd], cl
mov ecx, 0xe
cmp r9, 0xf
jb 0x1400cc17c
movzx ecx, byte [rdx + 0xe]
mov byte [r8 + 0xe], cl
mov ecx, 0xf
je 0x1400cc17c
mov rsi, rax
movzx eax, byte [rdx + 0xf]
mov byte [r8 + 0xf], al
cmp r9, 0x11
jb 0x1400cc205
mov r15, r9
mov rax, r9
and rax, 0xfffffffffffffffe
cmp rax, 0x10
jne 0x1400cc21c
movaps xmm0, xmmword [0x1401b2610]
jmp 0x1400cc20c
xor edi, edi
test r9, r9
jne 0x1400cc013
xor ecx, ecx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + 0x10], xmm0
mov qword [rax], 1
mov qword [rax + 8], rcx
jmp 0x1400cc1f9
mov byte [rsp + 0x2f], r10b
lea rcx, [rsp + 0x2f]
mov qword [rsp + 0x60], rcx
lea rcx, [sym.core::fmt::num::__impl_core::fmt::LowerHex_for_i8_::fmt::h34dfd63372e918bc]
mov qword [rsp + 0x68], rcx
lea rcx, str._b1e_
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x50], 0
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 1
lea rcx, [rax + 8]
lea rdx, [rsp + 0x30]
mov rsi, rax
call sym.alloc::fmt::format::format_inner::h0e07d0a0d4de9f27
mov rax, rsi
mov qword [rsi], 5
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
movaps xmm0, xmmword [0x1401b2600]
mov rax, rsi
mov qword [rsi + 0x10], 1
movups xmmword [rsi], xmm0
jmp 0x1400cc1f9
mov r14, rdx
mov rbx, r8
movzx ecx, word [rdx + 0x10]
mov edx, ecx
rol dx, 8
test dil, dil
cmove edx, ecx
mov word [r8 + 0x10], dx
cmp r15, 0x13
jb 0x1400cc275
cmp rax, 0x12
je 0x1400cc163
movzx ecx, word [r14 + 0x12]
mov edx, ecx
rol dx, 8
test dil, dil
cmove edx, ecx
mov word [rbx + 0x12], dx
cmp r15, 0x15
jb 0x1400cc27e
lea rcx, [r15 - 0x14]
cmp rcx, 4
jae 0x1400cc28e
movaps xmm0, xmmword [0x1401b2640]
jmp 0x1400cc285
movaps xmm0, xmmword [0x1401b2620]
jmp 0x1400cc20c
movaps xmm0, xmmword [0x1401b2630]
mov rax, rsi
mov qword [rsi + 0x10], rcx
jmp 0x1400cc217
mov ecx, dword [r14 + 0x14]
mov edx, ecx
bswap edx
test dil, dil
cmove edx, ecx
mov dword [rbx + 0x14], edx
cmp r15, 0x19
jb 0x1400cc302
lea rcx, [r15 - 0x18]
cmp rcx, 8
jb 0x1400cc2f9
mov rcx, qword [r14 + 0x18]
mov rdx, rcx
bswap rdx
test dil, dil
cmove rdx, rcx
mov qword [rbx + 0x18], rdx
cmp r15, 0x21
jb 0x1400cc30e
lea rcx, [r15 - 0x20]
cmp rcx, 8
jb 0x1400cc2f9
mov rcx, qword [r14 + 0x20]
mov rdx, rcx
bswap rdx
test dil, dil
cmove rdx, rcx
mov qword [rbx + 0x20], rdx
cmp r15, 0x29
jb 0x1400cc31a
lea rcx, [r15 - 0x28]
cmp rcx, 8
jae 0x1400cc326
movaps xmm0, xmmword [0x1401b2660]
jmp 0x1400cc285
movaps xmm0, xmmword [0x1401b2650]
jmp 0x1400cc285
movaps xmm0, xmmword [0x1401b2670]
jmp 0x1400cc285
movaps xmm0, xmmword [0x1401b2680]
jmp 0x1400cc285
mov rcx, qword [r14 + 0x28]
mov rdx, rcx
bswap rdx
test dil, dil
cmove rdx, rcx
mov qword [rbx + 0x28], rdx
cmp r15, 0x31
jb 0x1400cc4ce
lea rcx, [r15 - 0x30]
cmp rcx, 4
jb 0x1400cc26c
mov ecx, dword [r14 + 0x30]
mov edx, ecx
bswap edx
test dil, dil
cmove edx, ecx
mov dword [rbx + 0x30], edx
cmp r15, 0x35
jb 0x1400cc4da
cmp rax, 0x34
je 0x1400cc163
movzx eax, word [r14 + 0x34]
mov ecx, eax
rol cx, 8
test dil, dil
cmove ecx, eax
mov word [rbx + 0x34], cx
cmp r15, 0x37
jb 0x1400cc4e6
lea rax, [r15 - 0x36]
cmp rax, 1
jbe 0x1400cc4c0
movzx eax, word [r14 + 0x36]
mov ecx, eax
rol cx, 8
test dil, dil
cmove ecx, eax
mov word [rbx + 0x36], cx
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x38], 2
lea rcx, [rsp + 0x30]
call sym.core::ptr::drop_in_place_core::result::Result_usize_scroll::error::Error__::h2fe2b46ffcbad5ca
cmp r15, 0x39
jb 0x1400cc507
lea rax, [r15 - 0x38]
cmp rax, 1
jbe 0x1400cc4c0
movzx eax, word [r14 + 0x38]
mov ecx, eax
rol cx, 8
test dil, dil
cmove ecx, eax
mov word [rbx + 0x38], cx
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x38], 2
lea rcx, [rsp + 0x30]
call sym.core::ptr::drop_in_place_core::result::Result_usize_scroll::error::Error__::h2fe2b46ffcbad5ca
cmp r15, 0x3b
jb 0x1400cc510
lea rax, [r15 - 0x3a]
cmp rax, 1
jbe 0x1400cc4c0
movzx eax, word [r14 + 0x3a]
mov ecx, eax
rol cx, 8
test dil, dil
cmove ecx, eax
mov word [rbx + 0x3a], cx
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x38], 2
lea rcx, [rsp + 0x30]
call sym.core::ptr::drop_in_place_core::result::Result_usize_scroll::error::Error__::h2fe2b46ffcbad5ca
cmp r15, 0x3d
jb 0x1400cc519
lea rax, [r15 - 0x3c]
cmp rax, 1
jbe 0x1400cc4c0
movzx eax, word [r14 + 0x3c]
mov ecx, eax
rol cx, 8
test dil, dil
cmove ecx, eax
mov word [rbx + 0x3c], cx
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x38], 2
lea rcx, [rsp + 0x30]
call sym.core::ptr::drop_in_place_core::result::Result_usize_scroll::error::Error__::h2fe2b46ffcbad5ca
cmp r15, 0x3f
jb 0x1400cc522
add r15, 0xffffffffffffffc2
cmp r15, 1
ja 0x1400cc52b
mov rax, r15
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [0x1401b2610]
jmp 0x1400cc4ed
movaps xmm0, xmmword [0x1401b2690]
jmp 0x1400cc285
movaps xmm0, xmmword [0x1401b26a0]
jmp 0x1400cc20c
movaps xmm0, xmmword [0x1401b26b0]
mov rcx, qword [rsp + 0x40]
mov rax, rsi
mov qword [rsi + 0x10], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsi + 0x18], rcx
jmp 0x1400cc217
movaps xmm0, xmmword [0x1401b26c0]
jmp 0x1400cc4ed
movaps xmm0, xmmword [0x1401b26d0]
jmp 0x1400cc4ed
movaps xmm0, xmmword [0x1401b26e0]
jmp 0x1400cc4ed
movaps xmm0, xmmword [0x1401b26f0]
jmp 0x1400cc4ed
movzx eax, word [r14 + 0x3e]
mov ecx, eax
rol cx, 8
test dil, dil
cmove ecx, eax
mov word [rbx + 0x3e], cx
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x38], 2
lea rcx, [rsp + 0x30]
call sym.core::ptr::drop_in_place_core::result::Result_usize_scroll::error::Error__::h2fe2b46ffcbad5ca
mov rax, rsi
mov qword [rsi + 8], 0x40
mov qword [rsi], 9
jmp 0x1400cc1f9