Function at 0x2e3d1db90
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 0x2e3d1df11
cmp rdx, 0x45
je 0x2e3d1dfe6
movzx r11d, word [r9 + 0x44]
cmp rdx, 0x46
je 0x2e3d1df78
cmp rdx, 0x47
je 0x2e3d1df8a
movzx r10d, word [r9 + 0x46]
movzx eax, byte [r9 + 0x40]
mov rbx, r10
mov edx, eax
shl r10, 4
cmp rcx, 0x48
je 0x2e3d1df99
cmp rcx, 0x49
je 0x2e3d1dfb1
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 0x2e3d1dfb8
movzx edx, byte [r9 + 0x3e]
cmp rcx, 0x3f
je 0x2e3d1dfc3
movzx r8d, byte [r9 + 0x3f]
shl r8d, 8
or r8d, edx
shl r8d, 0x10
or r8d, eax
add r8, 0x3c
test bx, bx
je 0x2e3d1dd43
xor edx, edx
nop dword [rax]
lea rsi, [r8 + 5]
xor eax, eax
cmp rsi, rcx
jae 0x2e3d1dc99
movzx eax, byte [r9 + r8 + 5]
lea rsi, [r8 + 6]
cmp rsi, rcx
jae 0x2e3d1dcad
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 0x2e3d1dcc9
movzx esi, byte [r9 + r8]
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x2e3d1dcdd
movzx eax, byte [r9 + r8 + 1]
shl eax, 8
or esi, eax
lea rdi, [r8 + 2]
xor eax, eax
cmp rdi, rcx
jae 0x2e3d1dcee
movzx eax, byte [r9 + r8 + 2]
lea rdi, [r8 + 3]
cmp rdi, rcx
jae 0x2e3d1dd02
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 0x2e3d1dd18
movzx edi, byte [r9 + r8 + 7]
lea rsi, [r8 + 8]
cmp rsi, rcx
jae 0x2e3d1df48
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 0x2e3d1dc88
lea r11, [r10 + 0xf]
and r11, 0xfffffffffffffff0
test r12w, r12w
je 0x2e3d1df32
lea rdx, [r8 + 0x1b]
xor ebp, ebp
lea rax, [r8 + 0x1c]
cmp rdx, rcx
jae 0x2e3d1deff
nop dword [rax + rax]
movzx ebx, byte [r9 + r8 + 0x1b]
cmp rcx, rax
jbe 0x2e3d1dd85
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 0x2e3d1dde9
lea rdx, [r8 + 0x1d]
xor eax, eax
cmp rdx, rcx
jae 0x2e3d1ddab
movzx eax, byte [r9 + r8 + 0x1d]
lea rdx, [r8 + 0x1e]
cmp rdx, rcx
jae 0x2e3d1ddbf
movzx edx, byte [r9 + r8 + 0x1e]
shl edx, 8
or eax, edx
lea rdx, [r8 + 0x1f]
xor edi, edi
cmp rdx, rcx
jae 0x2e3d1ddd0
movzx edi, byte [r9 + r8 + 0x1f]
lea rdx, [r8 + 0x20]
cmp rdx, rcx
jae 0x2e3d1dde4
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 0x2e3d1ddf5
movzx edx, byte [r9 + r8]
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x2e3d1de09
movzx eax, byte [r9 + r8 + 1]
shl eax, 8
or edx, eax
lea r10, [r8 + 2]
xor eax, eax
cmp r10, rcx
jae 0x2e3d1de1a
movzx eax, byte [r9 + r8 + 2]
lea r10, [r8 + 3]
cmp r10, rcx
jae 0x2e3d1de30
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 0x2e3d1dee5
mov rax, r8
xor r10d, r10d
xor esi, esi
jmp 0x2e3d1de69
test byte [r9 + rax + 0xe], 0x10
je 0x2e3d1dec6
add r10d, 1
lea r11, [r11 + r14*2]
add rax, rdi
cmp bx, r10w
je 0x2e3d1ded7
xor r14d, r14d
cmp rax, rcx
jae 0x2e3d1de76
movzx r14d, byte [r9 + rax]
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x2e3d1de8b
movzx edx, byte [r9 + rax + 1]
shl edx, 8
or r14d, edx
lea r15, [rax + 2]
xor edx, edx
cmp r15, rcx
jae 0x2e3d1de9c
movzx edx, byte [r9 + rax + 2]
lea r15, [rax + 3]
cmp r15, rcx
jae 0x2e3d1deb2
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 0x2e3d1de50
add r10d, 1
lea r11, [r11 + r14*4]
add rax, rdi
cmp bx, r10w
jne 0x2e3d1de69
movzx ebx, bx
imul rbx, rdi
add rbx, r8
lea r8, [rbx + rsi]
add ebp, 1
cmp r12w, bp
je 0x2e3d1df32
lea rdx, [r8 + 0x1b]
lea rax, [r8 + 0x1c]
cmp rdx, rcx
jb 0x2e3d1dd70
xor ebx, ebx
xor edi, edi
cmp rcx, rax
jbe 0x2e3d1dde9
jmp 0x2e3d1dd7b
cmp rdx, 0x40
ja 0x2e3d1dfd1
xor r10d, r10d
cmp rcx, 0x3c
ja 0x2e3d1df60
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 0x2e3d1dc88
jmp 0x2e3d1dd43
movzx edx, byte [r9 + 0x3c]
cmp rcx, 0x3d
je 0x2e3d1df24
xor r12d, r12d
xor ebx, ebx
xor r11d, r11d
jmp 0x2e3d1dc26
xor r10d, r10d
xor ebx, ebx
movzx edx, byte [r9 + 0x40]
xor r12d, r12d
jmp 0x2e3d1dc0f
movzx ebx, byte [r9 + 0x46]
movzx r10d, bl
shl r10, 4
jmp 0x2e3d1df7d
xor r12d, r12d
movsx rdx, r12w
imul rdx, rdx, 0x110
add r10, rdx
mov edx, eax
jmp 0x2e3d1dc0f
movzx r12d, byte [r9 + 0x48]
jmp 0x2e3d1df9c
add eax, 0x3c
movsxd r8, eax
jmp 0x2e3d1dc76
shl edx, 0x10
or eax, edx
lea r8d, [rax + 0x3c]
jmp 0x2e3d1dc76
movzx edx, byte [r9 + 0x40]
cmp rcx, 0x41
jbe 0x2e3d1dff2
xor r10d, r10d
xor ebx, ebx
xor r11d, r11d
jmp 0x2e3d1df82
movzx r11d, byte [r9 + 0x44]
xor r10d, r10d
xor ebx, ebx
jmp 0x2e3d1df7d
shl edx, 8
movsxd r10, edx
jmp 0x2e3d1df1e