Function at 0x1400e26e0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x20
inc dword [rcx + 0x5c]
mov rdi, rdx
cmp dword [rcx + 0x5c], 0x14
mov rbx, rcx
jg 0x1400e2cbf
call fcn.1400e2f10
mov rdx, rdi
mov rcx, rbx
call fcn.1400e2d00
dec dword [rbx + 0x5c]
mov qword [rbp + 0x10], 0
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x1400e2782
mov rcx, rbx
call fcn.1400e34a0
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x1400e2728
mov rcx, rbx
cmp eax, 0x3a
jne 0x1400e2cca
call fcn.1400e34a0
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi], 0
mov ecx, dword [rbp + 0x24]
mov eax, dword [rbp + 0x20]
cmovne eax, dword [rbp + 0x10]
cmp dword [rbp + 0x14], ecx
mov dword [rdi], eax
cmova ecx, dword [rbp + 0x14]
mov dword [rdi + 4], ecx
jmp 0x1400e2720
cmp eax, 0x104
jne 0x1400e27d1
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 2
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi], 0
jne 0x1400e27be
cmp dword [rbp + 0x10], 0
jne 0x1400e27be
xor eax, eax
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400e2720
mov eax, 1
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400e2720
cmp eax, 0x105
jne 0x1400e2820
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 3
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi], 0
je 0x1400e2810
cmp dword [rbp + 0x10], 0
je 0x1400e2810
mov eax, 1
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400e2720
xor eax, eax
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400e2720
cmp eax, 0x7c
jne 0x1400e2849
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 4
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
or dword [rdi], eax
jmp 0x1400e2b69
cmp eax, 0x5e
jne 0x1400e2872
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 5
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
xor dword [rdi], eax
jmp 0x1400e2b69
cmp eax, 0x26
jne 0x1400e289b
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 6
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
and dword [rdi], eax
jmp 0x1400e2b69
cmp eax, 0x106
jne 0x1400e28d4
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 7
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
sete cl
mov dword [rdi], ecx
jmp 0x1400e2720
cmp eax, 0x107
jne 0x1400e290d
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 7
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setne cl
mov dword [rdi], ecx
jmp 0x1400e2720
cmp eax, 0x3c
jne 0x1400e2968
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi + 4], 9
jne 0x1400e2950
cmp dword [rbp + 0x14], 9
jne 0x1400e2950
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setl cl
mov dword [rdi], ecx
jmp 0x1400e2720
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setb cl
mov dword [rdi], ecx
jmp 0x1400e2720
cmp eax, 0x3e
jne 0x1400e29c3
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi + 4], 9
jne 0x1400e29ab
cmp dword [rbp + 0x14], 9
jne 0x1400e29ab
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setg cl
mov dword [rdi], ecx
jmp 0x1400e2720
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
seta cl
mov dword [rdi], ecx
jmp 0x1400e2720
cmp eax, 0x108
jne 0x1400e2a20
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi + 4], 9
jne 0x1400e2a08
cmp dword [rbp + 0x14], 9
jne 0x1400e2a08
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setle cl
mov dword [rdi], ecx
jmp 0x1400e2720
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setbe cl
mov dword [rdi], ecx
jmp 0x1400e2720
cmp eax, 0x109
jne 0x1400e2a7d
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi + 4], 9
jne 0x1400e2a65
cmp dword [rbp + 0x14], 9
jne 0x1400e2a65
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setge cl
mov dword [rdi], ecx
jmp 0x1400e2720
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setae cl
mov dword [rdi], ecx
jmp 0x1400e2720
cmp eax, 0x10a
jne 0x1400e2aa8
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 9
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov ecx, dword [rbp + 0x10]
shl dword [rdi], cl
jmp 0x1400e2720
cmp eax, 0x10b
jne 0x1400e2ae0
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 9
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
cmp dword [rdi + 4], 9
mov ecx, dword [rbp + 0x10]
jne 0x1400e2ad9
sar dword [rdi], cl
jmp 0x1400e2720
shr dword [rdi], cl
jmp 0x1400e2720
cmp eax, 0x2b
jne 0x1400e2b06
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
add dword [rdi], eax
jmp 0x1400e2b69
cmp eax, 0x2d
jne 0x1400e2b2c
mov rcx, rbx
call fcn.1400e34a0
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e3340
mov eax, dword [rbp + 0x10]
sub dword [rdi], eax
jmp 0x1400e2b69
cmp eax, 0x2a
jne 0x1400e2b7d
mov rcx, rbx
call fcn.1400e34a0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400e2ce3
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e2f10
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e2d00
dec dword [rbx + 0x5c]
mov eax, dword [rdi]
imul eax, dword [rbp + 0x10]
mov dword [rdi], eax
mov eax, dword [rbp + 0x14]
cmp eax, dword [rdi + 4]
jbe 0x1400e2720
mov dword [rdi + 4], eax
jmp 0x1400e2720
cmp eax, 0x2f
jne 0x1400e2bf5
mov rcx, rbx
call fcn.1400e34a0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400e2ce3
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e2f10
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e2d00
dec dword [rbx + 0x5c]
mov eax, dword [rbp + 0x14]
cmp eax, dword [rdi + 4]
jbe 0x1400e2bbd
mov dword [rdi + 4], eax
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x1400e2cd5
cmp dword [rdi + 4], 9
mov eax, dword [rdi]
jne 0x1400e2bea
cmp eax, 0x80000000
jne 0x1400e2be0
cmp ecx, 0xffffffff
je 0x1400e2cd5
cdq
idiv ecx
mov dword [rdi], eax
jmp 0x1400e2720
xor edx, edx
div ecx
mov dword [rdi], eax
jmp 0x1400e2720
cmp eax, 0x25
jne 0x1400e2c6d
mov rcx, rbx
call fcn.1400e34a0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400e2ce3
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e2f10
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e2d00
dec dword [rbx + 0x5c]
mov eax, dword [rbp + 0x14]
cmp eax, dword [rdi + 4]
jbe 0x1400e2c35
mov dword [rdi + 4], eax
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x1400e2cd5
cmp dword [rdi + 4], 9
mov eax, dword [rdi]
jne 0x1400e2c62
cmp eax, 0x80000000
jne 0x1400e2c58
cmp ecx, 0xffffffff
je 0x1400e2cd5
cdq
idiv ecx
mov dword [rdi], edx
jmp 0x1400e2720
xor edx, edx
div ecx
mov dword [rdi], edx
jmp 0x1400e2720
mov rax, qword [rbx + 0x40]
mov rdx, qword [rax]
mov eax, dword [rdi + 4]
add rax, rax
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x1400e2ca7
nop dword [rax + rax]
movzx ecx, cx
add rcx, rcx
mov ecx, dword [rdx + rcx*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x1400e2c90
test ecx, 0xfc000000
jne 0x1400e2cf1
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov edx, 0x93f
call fcn.1400e1e50
int3
mov edx, 0x3a
call fcn.1400e1ea0
int3
mov edx, 0x219
mov rcx, rbx
call fcn.1400e1e50
int3
mov edx, 0x93f
mov rcx, rbx
call fcn.1400e1e50
int3
mov edx, 0x219
mov rcx, rbx
call fcn.1400e1e50
int3