Function at 0x22dbbccb0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov r9, rcx
mov rcx, rdx
cmp rdx, 0x44
jbe 0x22dbbd031
cmp rdx, 0x45
je 0x22dbbd106
movzx r11d, word [r9 + 0x44]
cmp rdx, 0x46
je 0x22dbbd098
cmp rdx, 0x47
je 0x22dbbd0aa
movzx r10d, word [r9 + 0x46]
movzx eax, byte [r9 + 0x40]
mov rbx, r10
mov edx, eax
shl r10, 4
cmp rcx, 0x48
je 0x22dbbd0b9
cmp rcx, 0x49
je 0x22dbbd0d1
movzx r8d, word [r9 + 0x48]
mov rax, r8
mov r12, r8
shl rax, 4
add rax, r8
shl rax, 4
add r10, rax
movzx eax, byte [r9 + 0x41]
shl eax, 8
or eax, edx
movzx edx, byte [r9 + 0x3c]
shl eax, 8
cdqe
add r10, rax
movzx eax, byte [r9 + 0x3d]
movzx r8d, r11w
shl eax, 8
or eax, edx
mov rdx, r8
shl rdx, 5
sub rdx, r8
lea r13, [rdx*8 + 0x1a8]
cmp rcx, 0x3e
jbe 0x22dbbd0d8
movzx edx, byte [r9 + 0x3e]
cmp rcx, 0x3f
je 0x22dbbd0e3
movzx r8d, byte [r9 + 0x3f]
shl r8d, 8
or r8d, edx
shl r8d, 0x10
or r8d, eax
add r8, 0x3c
test bx, bx
je 0x22dbbce63
xor edx, edx
nop dword [rax]
lea rsi, [r8 + 5]
xor eax, eax
cmp rsi, rcx
jae 0x22dbbcdb9
movzx eax, byte [r9 + r8 + 5]
lea rsi, [r8 + 6]
cmp rsi, rcx
jae 0x22dbbcdcd
movzx esi, byte [r9 + r8 + 6]
shl esi, 8
or eax, esi
movzx eax, ax
xor esi, esi
imul eax, r11d
cdqe
lea rax, [rax + rax*4]
add r10, rax
cmp rcx, r8
jbe 0x22dbbcde9
movzx esi, byte [r9 + r8]
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x22dbbcdfd
movzx eax, byte [r9 + r8 + 1]
shl eax, 8
or esi, eax
lea rdi, [r8 + 2]
xor eax, eax
cmp rdi, rcx
jae 0x22dbbce0e
movzx eax, byte [r9 + r8 + 2]
lea rdi, [r8 + 3]
cmp rdi, rcx
jae 0x22dbbce22
movzx edi, byte [r9 + r8 + 3]
shl edi, 8
or eax, edi
shl eax, 0x10
xor edi, edi
or eax, esi
lea rsi, [r8 + 7]
cmp rsi, rcx
jae 0x22dbbce38
movzx edi, byte [r9 + r8 + 7]
lea rsi, [r8 + 8]
cmp rsi, rcx
jae 0x22dbbd068
movzx esi, byte [r9 + r8 + 8]
add edx, 1
shl esi, 8
or esi, edi
add eax, esi
mov eax, eax
add r8, rax
cmp dx, bx
jne 0x22dbbcda8
lea r11, [r10 + 0xf]
and r11, 0xfffffffffffffff0
test r12w, r12w
je 0x22dbbd052
lea rdx, [r8 + 0x1b]
xor ebp, ebp
lea rax, [r8 + 0x1c]
cmp rdx, rcx
jae 0x22dbbd01f
nop dword [rax + rax]
movzx ebx, byte [r9 + r8 + 0x1b]
cmp rcx, rax
jbe 0x22dbbcea5
movzx eax, byte [r9 + rax]
shl eax, 8
or ebx, eax
movzx eax, bx
xor edi, edi
lea rax, [rax + rax*4]
shl rax, 4
add r11, rax
test bx, bx
je 0x22dbbcf09
lea rdx, [r8 + 0x1d]
xor eax, eax
cmp rdx, rcx
jae 0x22dbbcecb
movzx eax, byte [r9 + r8 + 0x1d]
lea rdx, [r8 + 0x1e]
cmp rdx, rcx
jae 0x22dbbcedf
movzx edx, byte [r9 + r8 + 0x1e]
shl edx, 8
or eax, edx
lea rdx, [r8 + 0x1f]
xor edi, edi
cmp rdx, rcx
jae 0x22dbbcef0
movzx edi, byte [r9 + r8 + 0x1f]
lea rdx, [r8 + 0x20]
cmp rdx, rcx
jae 0x22dbbcf04
movzx edx, byte [r9 + r8 + 0x20]
shl edx, 8
or edi, edx
shl edi, 0x10
or edi, eax
xor edx, edx
cmp r8, rcx
jae 0x22dbbcf15
movzx edx, byte [r9 + r8]
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x22dbbcf29
movzx eax, byte [r9 + r8 + 1]
shl eax, 8
or edx, eax
lea r10, [r8 + 2]
xor eax, eax
cmp r10, rcx
jae 0x22dbbcf3a
movzx eax, byte [r9 + r8 + 2]
lea r10, [r8 + 3]
cmp r10, rcx
jae 0x22dbbcf50
movzx r10d, byte [r9 + r8 + 3]
shl r10d, 8
or eax, r10d
shl eax, 0x10
or eax, edx
add r8, rax
test bx, bx
je 0x22dbbd005
mov rax, r8
xor r10d, r10d
xor esi, esi
jmp 0x22dbbcf89
test byte [r9 + rax + 0xe], 0x10
je 0x22dbbcfe6
add r10d, 1
lea r11, [r11 + r14*2]
add rax, rdi
cmp bx, r10w
je 0x22dbbcff7
xor r14d, r14d
cmp rax, rcx
jae 0x22dbbcf96
movzx r14d, byte [r9 + rax]
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x22dbbcfab
movzx edx, byte [r9 + rax + 1]
shl edx, 8
or r14d, edx
lea r15, [rax + 2]
xor edx, edx
cmp r15, rcx
jae 0x22dbbcfbc
movzx edx, byte [r9 + rax + 2]
lea r15, [rax + 3]
cmp r15, rcx
jae 0x22dbbcfd2
movzx r15d, byte [r9 + rax + 3]
shl r15d, 8
or edx, r15d
shl edx, 0x10
or edx, r14d
mov r14d, edx
add esi, edx
lea rdx, [rax + 0xe]
cmp rdx, rcx
jb 0x22dbbcf70
add r10d, 1
lea r11, [r11 + r14*4]
add rax, rdi
cmp bx, r10w
jne 0x22dbbcf89
movzx ebx, bx
imul rbx, rdi
add rbx, r8
lea r8, [rbx + rsi]
add ebp, 1
cmp r12w, bp
je 0x22dbbd052
lea rdx, [r8 + 0x1b]
lea rax, [r8 + 0x1c]
cmp rdx, rcx
jb 0x22dbbce90
xor ebx, ebx
xor edi, edi
cmp rcx, rax
jbe 0x22dbbcf09
jmp 0x22dbbce9b
cmp rdx, 0x40
ja 0x22dbbd0f1
xor r10d, r10d
cmp rcx, 0x3c
ja 0x22dbbd080
lea r11, [r10 + 0xf]
mov r13d, 0x1a8
and r11, 0xfffffffffffffff0
lea rax, [r13 + r11]
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add eax, edi
add edx, 1
mov eax, eax
add r8, rax
cmp bx, dx
jne 0x22dbbcda8
jmp 0x22dbbce63
movzx edx, byte [r9 + 0x3c]
cmp rcx, 0x3d
je 0x22dbbd044
xor r12d, r12d
xor ebx, ebx
xor r11d, r11d
jmp 0x22dbbcd46
xor r10d, r10d
xor ebx, ebx
movzx edx, byte [r9 + 0x40]
xor r12d, r12d
jmp 0x22dbbcd2f
movzx ebx, byte [r9 + 0x46]
movzx r10d, bl
shl r10, 4
jmp 0x22dbbd09d
xor r12d, r12d
movsx rdx, r12w
imul rdx, rdx, 0x110
add r10, rdx
mov edx, eax
jmp 0x22dbbcd2f
movzx r12d, byte [r9 + 0x48]
jmp 0x22dbbd0bc
add eax, 0x3c
movsxd r8, eax
jmp 0x22dbbcd96
shl edx, 0x10
or eax, edx
lea r8d, [rax + 0x3c]
jmp 0x22dbbcd96
movzx edx, byte [r9 + 0x40]
cmp rcx, 0x41
jbe 0x22dbbd112
xor r10d, r10d
xor ebx, ebx
xor r11d, r11d
jmp 0x22dbbd0a2
movzx r11d, byte [r9 + 0x44]
xor r10d, r10d
xor ebx, ebx
jmp 0x22dbbd09d
shl edx, 8
movsxd r10, edx
jmp 0x22dbbd03e