Function at 0x1400b2800
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 0x1400b2ddf
call fcn.1400b3030
mov rdx, rdi
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov qword [rbp + 0x10], 0
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x1400b28a2
mov rcx, rbx
call fcn.1400b35c0
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x1400b2848
mov rcx, rbx
cmp eax, 0x3a
jne 0x1400b2dea
call fcn.1400b35c0
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.1400b3460
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 0x1400b2840
cmp eax, 0x104
jne 0x1400b28f1
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 2
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi], 0
jne 0x1400b28de
cmp dword [rbp + 0x10], 0
jne 0x1400b28de
xor eax, eax
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400b2840
mov eax, 1
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400b2840
cmp eax, 0x105
jne 0x1400b2940
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 3
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi], 0
je 0x1400b2930
cmp dword [rbp + 0x10], 0
je 0x1400b2930
mov eax, 1
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400b2840
xor eax, eax
mov dword [rdi + 4], 9
mov dword [rdi], eax
jmp 0x1400b2840
cmp eax, 0x7c
jne 0x1400b2969
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 4
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
or dword [rdi], eax
jmp 0x1400b2c89
cmp eax, 0x5e
jne 0x1400b2992
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 5
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
xor dword [rdi], eax
jmp 0x1400b2c89
cmp eax, 0x26
jne 0x1400b29bb
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 6
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
and dword [rdi], eax
jmp 0x1400b2c89
cmp eax, 0x106
jne 0x1400b29f4
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 7
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
sete cl
mov dword [rdi], ecx
jmp 0x1400b2840
cmp eax, 0x107
jne 0x1400b2a2d
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 7
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setne cl
mov dword [rdi], ecx
jmp 0x1400b2840
cmp eax, 0x3c
jne 0x1400b2a88
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne 0x1400b2a70
cmp dword [rbp + 0x14], 9
jne 0x1400b2a70
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setl cl
mov dword [rdi], ecx
jmp 0x1400b2840
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setb cl
mov dword [rdi], ecx
jmp 0x1400b2840
cmp eax, 0x3e
jne 0x1400b2ae3
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne 0x1400b2acb
cmp dword [rbp + 0x14], 9
jne 0x1400b2acb
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setg cl
mov dword [rdi], ecx
jmp 0x1400b2840
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
seta cl
mov dword [rdi], ecx
jmp 0x1400b2840
cmp eax, 0x108
jne 0x1400b2b40
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne 0x1400b2b28
cmp dword [rbp + 0x14], 9
jne 0x1400b2b28
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setle cl
mov dword [rdi], ecx
jmp 0x1400b2840
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setbe cl
mov dword [rdi], ecx
jmp 0x1400b2840
cmp eax, 0x109
jne 0x1400b2b9d
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne 0x1400b2b85
cmp dword [rbp + 0x14], 9
jne 0x1400b2b85
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setge cl
mov dword [rdi], ecx
jmp 0x1400b2840
mov eax, dword [rbp + 0x10]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setae cl
mov dword [rdi], ecx
jmp 0x1400b2840
cmp eax, 0x10a
jne 0x1400b2bc8
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 9
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov ecx, dword [rbp + 0x10]
shl dword [rdi], cl
jmp 0x1400b2840
cmp eax, 0x10b
jne 0x1400b2c00
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 9
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
mov ecx, dword [rbp + 0x10]
jne 0x1400b2bf9
sar dword [rdi], cl
jmp 0x1400b2840
shr dword [rdi], cl
jmp 0x1400b2840
cmp eax, 0x2b
jne 0x1400b2c26
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
add dword [rdi], eax
jmp 0x1400b2c89
cmp eax, 0x2d
jne 0x1400b2c4c
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x10]
sub dword [rdi], eax
jmp 0x1400b2c89
cmp eax, 0x2a
jne 0x1400b2c9d
mov rcx, rbx
call fcn.1400b35c0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400b2e03
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3030
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b2e20
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 0x1400b2840
mov dword [rdi + 4], eax
jmp 0x1400b2840
cmp eax, 0x2f
jne 0x1400b2d15
mov rcx, rbx
call fcn.1400b35c0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400b2e03
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3030
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov eax, dword [rbp + 0x14]
cmp eax, dword [rdi + 4]
jbe 0x1400b2cdd
mov dword [rdi + 4], eax
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x1400b2df5
cmp dword [rdi + 4], 9
mov eax, dword [rdi]
jne 0x1400b2d0a
cmp eax, 0x80000000
jne 0x1400b2d00
cmp ecx, 0xffffffff
je 0x1400b2df5
cdq
idiv ecx
mov dword [rdi], eax
jmp 0x1400b2840
xor edx, edx
div ecx
mov dword [rdi], eax
jmp 0x1400b2840
cmp eax, 0x25
jne 0x1400b2d8d
mov rcx, rbx
call fcn.1400b35c0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400b2e03
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b3030
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov eax, dword [rbp + 0x14]
cmp eax, dword [rdi + 4]
jbe 0x1400b2d55
mov dword [rdi + 4], eax
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x1400b2df5
cmp dword [rdi + 4], 9
mov eax, dword [rdi]
jne 0x1400b2d82
cmp eax, 0x80000000
jne 0x1400b2d78
cmp ecx, 0xffffffff
je 0x1400b2df5
cdq
idiv ecx
mov dword [rdi], edx
jmp 0x1400b2840
xor edx, edx
div ecx
mov dword [rdi], edx
jmp 0x1400b2840
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 0x1400b2dc7
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 0x1400b2db0
test ecx, 0xfc000000
jne 0x1400b2e11
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov edx, 0x93f
call fcn.1400b1f70
int3
mov edx, 0x3a
call fcn.1400b1fc0
int3
mov edx, 0x219
mov rcx, rbx
call fcn.1400b1f70
int3
mov edx, 0x93f
mov rcx, rbx
call fcn.1400b1f70
int3
mov edx, 0x219
mov rcx, rbx
call fcn.1400b1f70
int3