Function at 0x1400cb9d0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rax, rcx
test r8, r8
je 0x1400cbb08
mov cl, 1
cmp r8, 1
je 0x1400cbb0a
mov cl, 2
cmp r8, 3
jb 0x1400cbb0a
mov cl, 3
je 0x1400cbb0a
mov cl, 4
cmp r8, 5
jb 0x1400cbb0a
mov cl, 5
je 0x1400cbb0a
mov cl, 6
cmp r8, 7
jb 0x1400cbb0a
mov cl, 7
je 0x1400cbb0a
mov cl, 8
cmp r8, 9
jb 0x1400cbb0a
mov cl, 9
je 0x1400cbb0a
mov cl, 0xa
cmp r8, 0xb
jb 0x1400cbb0a
mov cl, 0xb
je 0x1400cbb0a
mov cl, 0xc
cmp r8, 0xd
jb 0x1400cbb0a
mov cl, 0xd
je 0x1400cbb0a
mov cl, 0xe
cmp r8, 0xf
jb 0x1400cbb0a
mov cl, 0xf
je 0x1400cbb0a
mov rsi, rax
movzx eax, byte [rdx]
mov byte [rsp + 0x36], al
movzx eax, byte [rdx + 1]
mov byte [rsp + 0x35], al
movzx eax, byte [rdx + 2]
mov byte [rsp + 0x34], al
movzx eax, byte [rdx + 3]
mov byte [rsp + 0x33], al
movzx eax, byte [rdx + 4]
mov byte [rsp + 0x32], al
movzx ecx, byte [rdx + 5]
movzx eax, cl
movzx ebp, byte [rdx + 6]
movzx r14d, byte [rdx + 7]
movzx r15d, byte [rdx + 8]
movzx r12d, byte [rdx + 9]
movzx r13d, byte [rdx + 0xa]
movzx r9d, byte [rdx + 0xb]
mov byte [rsp + 0x31], r9b
movzx r9d, byte [rdx + 0xc]
mov byte [rsp + 0x30], r9b
movzx r9d, byte [rdx + 0xd]
mov byte [rsp + 0x2f], r9b
movzx ebx, byte [rdx + 0xe]
movzx edi, byte [rdx + 0xf]
cmp eax, 1
je 0x1400cbb41
cmp eax, 2
jne 0x1400cbb90
mov al, 1
jmp 0x1400cbb43
xor ecx, ecx
mov qword [rax + 8], 1
mov byte [rax + 0x10], cl
mov byte [rax + 0x17], 0
mov word [rax + 0x15], 0
mov dword [rax + 0x11], 0
mov qword [rax], 1
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
cmp r8, 0x11
jb 0x1400cbb62
mov r9, r8
and r9, 0xfffffffffffffffe
cmp r9, 0x10
jne 0x1400cbc2e
mov cx, 2
xor edx, edx
jmp 0x1400cbb6b
mov edx, 1
mov cx, 0x10
mov rax, rsi
mov qword [rsi + 8], rdx
mov word [rsi + 0x10], cx
mov word [rsi + 0x16], 0
mov dword [rsi + 0x12], 0
mov qword [rsi + 0x18], 1
jmp 0x1400cbc22
mov byte [rsp + 0x37], cl
lea rax, [rsp + 0x37]
mov qword [rsp + 0x70], rax
lea rax, [sym.core::fmt::num::__impl_core::fmt::LowerHex_for_i8_::fmt::h34dfd63372e918bc]
mov qword [rsp + 0x78], rax
lea rax, [0x1401b30f8]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], 1
mov qword [rsp + 0xb8], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 1
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x98]
call sym.alloc::fmt::format::format_inner::h0e07d0a0d4de9f27
mov rax, rsi
mov qword [rsi + 8], 5
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x10], xmm0
mov rcx, qword [rsp + 0x90]
mov qword [rsi + 0x20], rcx
mov qword [rsi], 1
jmp 0x1400cbb2d
movzx r10d, word [rdx + 0x10]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
mov dword [rsp + 0x54], r11d
cmp r8, 0x13
jb 0x1400cbc87
cmp r9, 0x12
je 0x1400cbb5a
movzx r10d, word [rdx + 0x12]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
mov dword [rsp + 0x50], r11d
cmp r8, 0x15
jb 0x1400cbc95
lea r10, [r8 - 0x14]
cmp r10, 4
jae 0x1400cbcb9
mov ecx, 4
xor edx, edx
jmp 0x1400cbc9f
mov edx, 1
mov cx, 0x12
jmp 0x1400cbb6b
mov edx, 1
mov ecx, 0x14
mov rax, rsi
mov qword [rsi + 8], rdx
mov dword [rsi + 0x10], ecx
mov dword [rsi + 0x14], 0
mov qword [rsi + 0x18], r10
jmp 0x1400cbc22
mov r10d, dword [rdx + 0x14]
mov r11d, r10d
bswap r11d
test al, al
cmove r11d, r10d
mov dword [rsp + 0x4c], r11d
cmp r8, 0x19
jb 0x1400cbd31
lea r10, [r8 - 0x18]
cmp r10, 8
jb 0x1400cbd28
mov r10, qword [rdx + 0x18]
mov r11, r10
bswap r11
test al, al
cmove r11, r10
mov qword [rsp + 0x68], r11
cmp r8, 0x21
jb 0x1400cbd48
lea r10, [r8 - 0x20]
cmp r10, 8
jb 0x1400cbd28
mov r10, qword [rdx + 0x20]
mov r11, r10
bswap r11
test al, al
cmove r11, r10
mov qword [rsp + 0x60], r11
cmp r8, 0x29
jb 0x1400cbd51
lea r10, [r8 - 0x28]
cmp r10, 8
jae 0x1400cbd5a
movaps xmm0, xmmword [0x1401b25d0]
jmp 0x1400cbd38
movaps xmm0, xmmword [0x1401b25c0]
mov rax, rsi
movups xmmword [rsi + 8], xmm0
mov qword [rsi + 0x18], r10
jmp 0x1400cbc22
movaps xmm0, xmmword [0x1401b25e0]
jmp 0x1400cbd38
movaps xmm0, xmmword [0x1401b25f0]
jmp 0x1400cbd38
mov r10, qword [rdx + 0x28]
mov r11, r10
bswap r11
test al, al
cmove r11, r10
mov qword [rsp + 0x58], r11
cmp r8, 0x31
jb 0x1400cbf7a
lea r10, [r8 - 0x30]
cmp r10, 4
jb 0x1400cbc7e
mov r10d, dword [rdx + 0x30]
mov r11d, r10d
bswap r11d
test al, al
cmove r11d, r10d
mov dword [rsp + 0x48], r11d
cmp r8, 0x35
jb 0x1400cbf89
cmp r9, 0x34
je 0x1400cbb5a
movzx r10d, word [rdx + 0x34]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
mov dword [rsp + 0x44], r11d
cmp r8, 0x37
jb 0x1400cbf97
cmp r9, 0x36
je 0x1400cbb5a
movzx r10d, word [rdx + 0x36]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
mov dword [rsp + 0x40], r11d
cmp r8, 0x39
jb 0x1400cbfa5
cmp r9, 0x38
je 0x1400cbb5a
movzx r10d, word [rdx + 0x38]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
mov dword [rsp + 0x3c], r11d
cmp r8, 0x3b
jb 0x1400cbfb3
cmp r9, 0x3a
je 0x1400cbb5a
movzx r10d, word [rdx + 0x3a]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
mov dword [rsp + 0x38], r11d
cmp r8, 0x3d
jb 0x1400cbfc1
cmp r9, 0x3c
je 0x1400cbb5a
movzx r10d, word [rdx + 0x3c]
mov r11d, r10d
rol r11w, 8
test al, al
cmove r11d, r10d
cmp r8, 0x3f
jb 0x1400cbfcf
cmp r9, 0x3e
je 0x1400cbb5a
movzx r8d, word [rdx + 0x3e]
mov edx, r8d
rol dx, 8
test al, al
cmove edx, r8d
mov rax, rsi
movzx r8d, byte [rsp + 0x36]
mov byte [rsi + 8], r8b
movzx r8d, byte [rsp + 0x35]
mov byte [rsi + 9], r8b
movzx r8d, byte [rsp + 0x34]
mov byte [rsi + 0xa], r8b
movzx r8d, byte [rsp + 0x33]
mov byte [rsi + 0xb], r8b
movzx r8d, byte [rsp + 0x32]
mov byte [rsi + 0xc], r8b
mov byte [rsi + 0xd], cl
mov byte [rsi + 0xe], bpl
mov byte [rsi + 0xf], r14b
mov byte [rsi + 0x10], r15b
mov byte [rsi + 0x11], r12b
mov byte [rsi + 0x12], r13b
movzx ecx, byte [rsp + 0x31]
mov byte [rsi + 0x13], cl
movzx ecx, byte [rsp + 0x30]
mov byte [rsi + 0x14], cl
movzx ecx, byte [rsp + 0x2f]
mov byte [rsi + 0x15], cl
mov byte [rsi + 0x16], bl
mov byte [rsi + 0x17], dil
mov ecx, dword [rsp + 0x54]
mov word [rsi + 0x18], cx
mov ecx, dword [rsp + 0x50]
mov word [rsi + 0x1a], cx
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + 0x1c], ecx
mov rcx, qword [rsp + 0x68]
mov qword [rsi + 0x20], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsi + 0x28], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsi + 0x30], rcx
mov ecx, dword [rsp + 0x48]
mov dword [rsi + 0x38], ecx
mov ecx, dword [rsp + 0x44]
mov word [rsi + 0x3c], cx
mov ecx, dword [rsp + 0x40]
mov word [rsi + 0x3e], cx
mov ecx, dword [rsp + 0x3c]
mov word [rsi + 0x40], cx
mov ecx, dword [rsp + 0x38]
mov word [rsi + 0x42], cx
mov word [rsi + 0x44], r11w
mov word [rsi + 0x46], dx
mov qword [rsi + 0x48], 0x40
mov qword [rsi], 0
jmp 0x1400cbb2d
mov edx, 1
mov ecx, 0x30
jmp 0x1400cbc9f
mov edx, 1
mov cx, 0x34
jmp 0x1400cbb6b
mov edx, 1
mov cx, 0x36
jmp 0x1400cbb6b
mov edx, 1
mov cx, 0x38
jmp 0x1400cbb6b
mov cx, 0x3a
mov edx, 1
jmp 0x1400cbb6b
mov cx, 0x3c
mov edx, 1
jmp 0x1400cbb6b
mov cx, 0x3e
mov edx, 1
jmp 0x1400cbb6b