Function at 0x1400b2130
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x30
movsxd rsi, r8d
mov rdi, rdx
mov qword [rbp + 0x38], 0
mov rbx, rcx
cmp esi, 0xa
ja case.default.0x1400b217b
mov qword [rsp + 0x50], r15
lea r15, [0x140000000]
nop word [rax + rax]
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp dword [rbx + 4], 0x3f
jne case.0x1400b2793.1
mov rcx, rbx
call fcn.1400b35c0
xor r8d, r8d
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x1400b2183
mov rcx, rbx
cmp eax, 0x3a
jne case.default.0x1400b21e6
call fcn.1400b35c0
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi], 0
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 0x10]
cmovne eax, dword [rbp + 0x38]
cmp dword [rbp + 0x3c], ecx
mov dword [rdi], eax
cmova ecx, dword [rbp + 0x3c]
mov dword [rdi + 4], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp dword [rbx + 4], 0x104
jne case.0x1400b2793.2
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 2
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi], 0
jne case.default.0x1400b222c
cmp dword [rbp + 0x38], 0
jne case.default.0x1400b222c
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
xor eax, eax
mov dword [rdi], eax
add rcx, r15
mov dword [rdi + 4], 9
jmp rcx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
mov eax, 1
mov dword [rdi], eax
add rcx, r15
mov dword [rdi + 4], 9
jmp rcx
cmp dword [rbx + 4], 0x105
jne case.0x1400b2793.3
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 3
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi], 0
je case.default.0x1400b2290
cmp dword [rbp + 0x38], 0
je case.default.0x1400b2290
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
mov eax, 1
mov dword [rdi], eax
add rcx, r15
mov dword [rdi + 4], 9
jmp rcx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
xor eax, eax
mov dword [rdi], eax
add rcx, r15
mov dword [rdi + 4], 9
jmp rcx
cmp dword [rbx + 4], 0x7c
jne case.0x1400b2793.4
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 4
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
or dword [rdi], eax
jmp 0x1400b266d
cmp dword [rbx + 4], 0x5e
jne case.0x1400b2793.5
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 5
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
xor dword [rdi], eax
jmp 0x1400b266d
cmp dword [rbx + 4], 0x26
jne case.0x1400b2793.6
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 6
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
and dword [rdi], eax
jmp 0x1400b266d
mov eax, dword [rbx + 4]
cmp eax, 0x106
jne case.default.0x1400b236a
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 7
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
sete cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp eax, 0x107
jne case.0x1400b2793.7
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 7
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setne cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbx + 4]
cmp eax, 0x3c
jne 0x1400b241b
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne case.default.0x1400b23f9
cmp dword [rbp + 0x3c], 9
jne case.default.0x1400b23f9
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setl cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setb cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp eax, 0x3e
jne 0x1400b2486
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne case.default.0x1400b2464
cmp dword [rbp + 0x3c], 9
jne case.default.0x1400b2464
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setg cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
seta cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp eax, 0x108
jne 0x1400b24f3
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne case.default.0x1400b24d1
cmp dword [rbp + 0x3c], 9
jne case.default.0x1400b24d1
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setle cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setbe cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp eax, 0x109
jne case.0x1400b2793.8
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
jne case.default.0x1400b253e
cmp dword [rbp + 0x3c], 9
jne case.default.0x1400b253e
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setge cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rdi], eax
mov dword [rdi + 4], 9
setae cl
mov dword [rdi], ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbx + 4]
cmp eax, 0x10a
jne case.default.0x1400b2594
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 9
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov ecx, dword [rbp + 0x38]
shl dword [rdi], cl
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
cmp eax, 0x10b
jne case.0x1400b2793.9
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 9
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
cmp dword [rdi + 4], 9
mov ecx, dword [rbp + 0x38]
jne case.default.0x1400b25cd
sar dword [rdi], cl
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
shr dword [rdi], cl
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
jmp rcx
mov eax, dword [rbx + 4]
cmp eax, 0x2b
jne 0x1400b2607
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 0xa
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
add dword [rdi], eax
jmp 0x1400b266d
cmp eax, 0x2d
jne case.0x1400b2594.10
mov rcx, rbx
call fcn.1400b35c0
mov r8d, 0xa
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3460
mov eax, dword [rbp + 0x38]
sub dword [rdi], eax
jmp 0x1400b266d
mov eax, dword [rbx + 4]
cmp eax, 0x2a
jne 0x1400b2689
mov rcx, rbx
call fcn.1400b35c0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400b27c0
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3030
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov eax, dword [rdi]
imul eax, dword [rbp + 0x38]
mov dword [rdi], eax
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rdi + 4]
jbe case.default.0x1400b2687
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
add rcx, r15
mov dword [rdi + 4], eax
jmp rcx
cmp eax, 0x2f
jne 0x1400b2715
mov rcx, rbx
call fcn.1400b35c0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400b27c0
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3030
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rdi + 4]
jbe 0x1400b26cd
mov dword [rdi + 4], eax
mov ecx, dword [rbp + 0x38]
test ecx, ecx
je 0x1400b27b2
cmp dword [rdi + 4], 9
mov eax, dword [rdi]
jne 0x1400b2702
cmp eax, 0x80000000
jne 0x1400b26f0
cmp ecx, 0xffffffff
je 0x1400b27b2
cdq
idiv ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
mov dword [rdi], eax
add rcx, r15
jmp rcx
xor edx, edx
div ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
mov dword [rdi], eax
add rcx, r15
jmp rcx
cmp eax, 0x25
jne 0x1400b2795
mov rcx, rbx
call fcn.1400b35c0
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x1400b27c0
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b3030
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rdi + 4]
jbe 0x1400b2755
mov dword [rdi + 4], eax
mov ecx, dword [rbp + 0x38]
test ecx, ecx
je 0x1400b27b2
cmp dword [rdi + 4], 9
mov eax, dword [rdi]
jne 0x1400b2782
cmp eax, 0x80000000
jne 0x1400b2770
cmp ecx, 0xffffffff
je 0x1400b27b2
cdq
idiv ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
mov dword [rdi], edx
add rcx, r15
jmp rcx
xor edx, edx
div ecx
mov ecx, dword [r15 + rsi*4 + 0xb27d0]
mov dword [rdi], edx
add rcx, r15
jmp rcx
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
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