Function at 0x140005ed0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
xor r15d, r15d
mov r9, rdx
mov rdi, rcx
cmp rdx, 0x44
jbe 0x140005f78
movzx eax, byte [rcx + 0x44]
movzx esi, ax
mov dword [rsp + 0x40], esi
cmp rdx, 0x45
jbe 0x140005f80
movzx esi, byte [rcx + 0x45]
shl si, 8
or si, ax
mov dword [rsp + 0x40], esi
cmp rdx, 0x46
jbe 0x140005f80
movzx edx, byte [rcx + 0x46]
movzx eax, dx
cmp r9, 0x47
jbe 0x140005f83
movzx ecx, byte [rcx + 0x47]
shl cx, 8
or cx, dx
movzx ebp, cx
mov r14d, ebp
shl r14, 4
mov r8, r14
cmp r9, 0x48
jbe 0x140005f8f
movzx edx, byte [rdi + 0x48]
cmp r9, 0x49
jbe 0x140005f92
movzx eax, byte [rdi + 0x49]
shl ax, 8
or ax, dx
movzx r12d, ax
imul r14, r12, 0xf8
mov r13d, r12d
mov qword [rsp + 0x48], r12
add r14, r8
mov r8, r14
jmp 0x140005fb1
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov eax, r15d
movzx ecx, ax
mov r14d, ecx
mov ebp, ecx
shl r14, 4
mov edx, r15d
movzx r12d, dx
imul rax, r12, 0xf8
mov r13d, r12d
mov qword [rsp + 0x48], r12
add r14, rax
mov r8, r14
cmp r9, 0x40
jbe 0x140005fd0
movzx edx, byte [rdi + 0x40]
cmp r9, 0x41
jbe 0x140005fd3
movzx r14d, byte [rdi + 0x41]
shl r14d, 8
or r14d, edx
shl r14d, 8
add r14, r8
jmp 0x140005fe1
mov edx, r15d
shl edx, 8
mov eax, edx
add r14, rax
cmp r9, 0x3c
jbe 0x14000600c
movzx edx, byte [rdi + 0x3c]
mov eax, edx
cmp r9, 0x3d
jbe 0x14000600f
movzx ebx, byte [rdi + 0x3d]
mov r10d, ebx
cmp r9, 0x3e
jbe 0x140006012
movzx r11d, byte [rdi + 0x3e]
cmp r9, 0x3f
jbe 0x140006015
movzx r8d, byte [rdi + 0x3f]
jmp 0x140006018
mov rax, r15
mov r10, r15
mov r11, r15
mov r8, r15
shl r8, 8
or r8, r11
shl r8, 8
or r8, r10
shl r8, 8
or r8, rax
add r8, 0x3c
cmp r15w, cx
jae 0x140006115
movzx r15d, si
xor r13d, r13d
lea rax, [r8 + 5]
lea rdx, [r8 + rdi]
cmp rax, r9
jae 0x140006055
movzx ecx, byte [rdx + 5]
jmp 0x140006058
mov ecx, r13d
lea rax, [r8 + 6]
cmp rax, r9
jae 0x140006067
movzx eax, byte [rdx + 6]
jmp 0x14000606a
mov eax, r13d
shl eax, 8
or eax, ecx
imul eax, r15d
movsxd rcx, eax
lea rax, [r14 + rcx]
lea r14, [rax + rcx*4]
cmp r8, r9
jae 0x140006088
movzx esi, byte [rdx]
jmp 0x14000608b
mov esi, r13d
lea rax, [r8 + 1]
cmp rax, r9
jae 0x14000609b
movzx r10d, byte [rdx + 1]
jmp 0x14000609e
mov r10d, r13d
lea rax, [r8 + 2]
cmp rax, r9
jae 0x1400060ad
movzx ebx, byte [rdx + 2]
jmp 0x1400060b0
mov ebx, r13d
lea rax, [r8 + 3]
cmp rax, r9
jae 0x1400060bf
movzx ecx, byte [rdx + 3]
jmp 0x1400060c2
mov ecx, r13d
lea rax, [r8 + 7]
cmp rax, r9
jae 0x1400060d2
movzx r11d, byte [rdx + 7]
jmp 0x1400060d5
mov r11d, r13d
lea rax, [r8 + 8]
cmp rax, r9
jae 0x1400060e4
movzx eax, byte [rdx + 8]
jmp 0x1400060e7
mov eax, r13d
shl ecx, 8
or ecx, ebx
shl eax, 8
shl ecx, 0x10
or eax, r11d
shl r10d, 8
or ecx, r10d
or ecx, esi
add eax, ecx
add r8, rax
sub rbp, 1
jne 0x140006042
mov r13, qword [rsp + 0x48]
xor r15d, r15d
cmp r15w, r12w
jae 0x14000626d
xor r12d, r12d
lea rax, [r8 + 0x1b]
mov ebp, r12d
cmp rax, r9
jae 0x14000613a
movzx edx, byte [r8 + rdi + 0x1b]
lea rcx, [r8 + rdi]
jmp 0x140006141
mov edx, r12d
lea rcx, [rdi + r8]
lea rax, [r8 + 0x1c]
cmp rax, r9
jae 0x140006151
movzx r10d, byte [rcx + 0x1c]
jmp 0x140006154
mov r10d, r12d
shl r10w, 8
or r10w, dx
movzx r15d, r10w
imul rax, r15, 0x38
add r14, rax
cmp r8, r9
jae 0x140006172
movzx esi, byte [rcx]
jmp 0x140006175
mov esi, r12d
lea rax, [r8 + 1]
cmp rax, r9
jae 0x140006185
movzx r11d, byte [rcx + 1]
jmp 0x140006188
mov r11d, r12d
lea rax, [r8 + 2]
cmp rax, r9
jae 0x140006197
movzx ebx, byte [rcx + 2]
jmp 0x14000619a
mov ebx, r12d
lea rax, [r8 + 3]
cmp rax, r9
jae 0x1400061a9
movzx edx, byte [rcx + 3]
jmp 0x1400061ac
mov edx, r12d
shl edx, 8
or edx, ebx
shl r11d, 8
shl edx, 0x10
or edx, r11d
or edx, esi
lea eax, [rdx - 1]
cmp eax, 0x106
mov eax, 0x107
cmova edx, eax
mov eax, edx
add r8, rax
cmp r12w, r10w
jae 0x14000625e
lea rdx, [rdi + 2]
mov rbx, rdi
add rdx, r8
mov esi, 1
sub rsi, rdi
not rbx
cmp r8, r9
jae 0x1400061fd
movzx r11d, byte [rdx - 2]
jmp 0x140006200
mov r11d, r12d
lea rax, [rbx + rdx]
cmp rax, r9
jae 0x14000620f
movzx ecx, byte [rdx - 1]
jmp 0x140006212
mov ecx, r12d
mov rax, rdx
sub rax, rdi
cmp rax, r9
jae 0x140006223
movzx r10d, byte [rdx]
jmp 0x140006226
mov r10d, r12d
lea rax, [rsi + rdx]
cmp rax, r9
jae 0x140006235
movzx eax, byte [rdx + 1]
jmp 0x140006238
mov eax, r12d
shl eax, 8
add r8, 0x28
or eax, r10d
shl ecx, 8
shl eax, 0x10
add rdx, 0x28
or eax, ecx
or eax, r11d
mov ecx, eax
add ebp, eax
add r14, rcx
sub r15, 1
jne 0x1400061f1
mov eax, ebp
add r8, rax
sub r13, 1
jne 0x140006122
movzx eax, word [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
imul rax, rax, 0xa8
add rax, 0x168
add rax, r14
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret