Function at 0x140008ef0
Capabilities:
Parse credit card information
Validate payment card number using luhn algorithm

Disassembly:
push rsi
movzx edx, word [rcx + 2]
lea rax, [rcx + 2]
mov rsi, rcx
cmp dx, 0x31
jne 0x140008f1b
movzx edx, word [rax + 2]
add rax, 2
cmp dx, 0x35
jb 0x140008f17
cmp dx, 0x39
jbe 0x140008f35
xor eax, eax
pop rsi
ret
cmp dx, 0x32
jne 0x140008f17
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x30
jb 0x140008f17
cmp cx, 0x36
ja 0x140008f17
movzx ecx, word [rax + 2]
cmp cx, 0x30
je 0x140008f45
cmp cx, 0x31
jne 0x140008f17
movzx ecx, word [rax + 4]
cmp cx, 0x30
jb 0x140008f17
cmp cx, 0x39
ja 0x140008f17
movzx ecx, word [rsi + 0xa]
cmp cx, 0x31
je 0x140008f7d
cmp cx, 0x32
je 0x140008f7d
cmp cx, 0x35
je 0x140008f7d
cmp cx, 0x36
je 0x140008f7d
cmp cx, 0x37
je 0x140008f7d
cmp cx, 0x39
jne 0x140008f17
movzx ecx, word [rsi + 0xc]
cmp cx, 0x30
je 0x140008f93
cmp cx, 0x32
je 0x140008f93
cmp cx, 0x34
jne 0x140008f17
movzx ecx, word [rsi + 0xe]
cmp cx, 0x30
jb 0x140008f17
cmp cx, 0x39
ja 0x140008f17
cmp cx, 0x38
je 0x140008f17
cmp cx, 0x39
je 0x140008f17
lea rcx, [rsi - 2]
xor r9d, r9d
mov qword [rsp + 0x10], rbx
mov rax, rcx
mov edx, r9d
movzx r8d, word [rax]
cmp r8w, 0x30
jb 0x140008ff0
cmp r8w, 0x39
ja 0x140008ff0
inc edx
sub rax, 2
cmp edx, 0x14
jl 0x140008fd1
jmp 0x140008ff9
cmp edx, 0xc
jl 0x1400090a9
movzx edx, word [rax]
cmp dx, 0x30
jb 0x14000900c
cmp dx, 0x39
jbe 0x1400090a9
lea r11, [rax + 2]
mov rdx, rcx
sub rdx, rax
movzx eax, word [r11]
sar rdx, 1
cmp ax, 0x33
je 0x14000903a
cmp ax, 0x34
je 0x14000903a
cmp ax, 0x35
je 0x14000903a
cmp ax, 0x36
je 0x14000903a
cmp edx, 0x13
jbe 0x1400090a9
mov qword [rsp + 0x18], rdi
lea r8d, [rdx - 1]
mov edi, edx
and edi, 1
mov ebx, r9d
movsxd rax, r8d
test r8d, r8d
js 0x140009086
lea r10, [r11 + rax*2]
nop word [rax + rax]
movzx edx, word [r10]
mov eax, r8d
and eax, 1
sub edx, 0x30
cmp eax, edi
jne 0x140009073
add edx, edx
cmp edx, 9
jle 0x14000907b
sub edx, 9
add ebx, edx
sub r10, 2
dec r8d
jns 0x140009060
mov rdi, qword [rsp + 0x18]
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
cmp ebx, eax
je 0x14000924c
cmp word [rcx], 0x2f
jne 0x1400090bf
cmp word [rcx - 2], 0x20
jne 0x1400090f8
add rcx, 0xfffffffffffffffc
jmp 0x140009144
lea r8, [rcx - 0x50]
mov edx, r9d
cmp rcx, r8
je 0x1400090f8
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x41
jb 0x1400090e3
cmp ax, 0x5a
ja 0x1400090e3
inc edx
jmp 0x1400090ef
cmp ax, 0x2f
je 0x140009101
cmp ax, 0x20
jne 0x1400090f8
sub rcx, 2
cmp rcx, r8
jne 0x1400090d0
xor eax, eax
mov rbx, qword [rsp + 0x10]
pop rsi
ret
test edx, edx
je 0x1400090f8
sub rcx, 2
mov edx, r9d
cmp rcx, r8
je 0x1400090f8
movzx eax, word [rcx]
cmp ax, 0x41
jb 0x140009124
cmp ax, 0x5a
ja 0x140009124
inc edx
jmp 0x14000912a
cmp ax, 0x20
jne 0x14000913c
sub rcx, 2
cmp rcx, r8
jne 0x140009111
xor eax, eax
mov rbx, qword [rsp + 0x10]
pop rsi
ret
test edx, edx
je 0x1400090f8
add rcx, 2
test rcx, rcx
je 0x1400090f8
movzx eax, word [rcx - 2]
cmp ax, 0x3a
jb 0x140009159
cmp ax, 0x3f
jbe 0x14000915f
cmp ax, 0x5e
jne 0x1400090f8
lea rdx, [rcx - 4]
mov eax, r9d
mov r8, rdx
nop dword [rax]
movzx ecx, word [r8]
cmp cx, 0x30
jb 0x14000918d
cmp cx, 0x39
ja 0x14000918d
inc eax
sub r8, 2
cmp eax, 0x14
jl 0x140009170
jmp 0x140009196
cmp eax, 0xc
jl 0x1400090f8
movzx eax, word [r8]
cmp ax, 0x30
jb 0x1400091aa
cmp ax, 0x39
jbe 0x1400090f8
movzx eax, word [r8 + 2]
sub rdx, r8
sar rdx, 1
cmp ax, 0x33
je 0x1400091d6
cmp ax, 0x34
je 0x1400091d6
cmp ax, 0x35
je 0x1400091d6
cmp ax, 0x36
je 0x1400091d6
cmp edx, 0x13
jbe 0x1400090f8
mov ebx, edx
mov r11d, r9d
and ebx, 1
dec edx
movsxd rax, edx
js 0x140009215
lea r10, [r8 + rax*2 + 2]
nop word [rax + rax]
movzx ecx, word [r10]
mov eax, edx
and eax, 1
sub ecx, 0x30
cmp eax, ebx
jne 0x140009202
add ecx, ecx
cmp ecx, 9
jle 0x14000920a
sub ecx, 9
add r11d, ecx
sub r10, 2
dec edx
jns 0x1400091f0
mov eax, 0x66666667
imul r11d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
cmp r11d, eax
jne 0x1400090f8
cmp word [r8], 0x42
mov r11, r8
jne 0x1400090f8
test r8, r8
je 0x1400090f8
lea rax, [rsi + 0x10]
movzx ecx, word [rax]
cmp cx, 0x30
jb 0x14000926e
cmp cx, 0x39
ja 0x14000926e
inc r9d
add rax, 2
cmp r9d, 0x18
jb 0x140009250
jmp 0x140009278
cmp r9d, 4
jb 0x1400090f8
test rax, rax
je 0x1400090f8
mov rbx, qword [rsp + 0x10]
sub rax, r11
sar rax, 1
mov dword [0x1400d3a8c], eax
mov rax, r11
pop rsi
ret