Function at 0x1402bb9c0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov r14, rcx
mov rsi, rdx
mov rbp, r8
mov ebx, r9d
mov edi, dword [rsp + 0x90]
xor r15d, r15d
xor r13d, r13d
xor r12d, r12d
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x1402bbbc8
xor r8d, r8d
test dword [rax + 0x10], 0x10000000
setne r8b
mov dword [rsp + 0x24], r8d
mov eax, dword [rbp]
cmp eax, ebx
jge 0x1402bbad0
movsxd rcx, eax
movzx ecx, word [rsi + rcx*2]
cmp ecx, 0x1f
jle 0x1402bbb85
cmp ecx, 0x7f
jge 0x1402bbc80
cmp ecx, 0x7e
jg 0x1402bbc91
movzx r10d, di
cmp ecx, r10d
je 0x1402bbad0
cmp r10d, 0x3f
jne 0x1402bba55
cmp ecx, 0x23
je 0x1402bbd75
cmp ecx, 0x3f
je 0x1402bbd93
cmp ecx, 0x23
je 0x1402bbdd2
cmp ecx, 0x2f
je 0x1402bbafd
cmp ecx, 0x5c
je 0x1402bbafd
cmp ecx, 0x2e
je 0x1402bbb38
cmp ecx, 0x22
jle 0x1402bbbbd
cmp ecx, 0x5b
jl 0x1402bba99
cmp ecx, 0x5e
jle 0x1402bbba3
cmp ecx, 0x3e
je 0x1402bbba3
cmp ecx, 0x3c
je 0x1402bbba3
cmp ecx, 0x60
je 0x1402bbba3
cmp ecx, 0x7b
jge 0x1402bbc06
cmp ecx, 0x25
je 0x1402bbc10
inc eax
cmp eax, ebx
jl 0x1402bba17
test r12d, r12d
jne 0x1402bbbf8
or r15d, 2
test r13d, r13d
jne 0x1402bbae6
or r15d, 1
mov dword [rbp], eax
mov eax, r15d
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
test r15b, 0x10
jne 0x1402bbb0c
cmp ecx, 0x5c
je 0x1402bbb9a
test r15b, 4
jne 0x1402bbac6
lea ecx, [rax + 1]
cmp ecx, ebx
je 0x1402bbac6
lea r10d, [rax + 1]
movsxd rcx, r10d
movzx ecx, word [rsi + rcx*2]
cmp ecx, 0x2f
je 0x1402bbe0a
cmp ecx, 0x5c
je 0x1402bbe0a
jmp 0x1402bbac6
test r15b, 4
jne 0x1402bbb49
lea ecx, [rax + 1]
cmp ecx, ebx
je 0x1402bbe0a
lea ecx, [rax + 1]
movsxd rcx, ecx
movzx ecx, word [rsi + rcx*2]
cmp ecx, 0x2e
je 0x1402bbe0a
cmp ecx, 0x2f
je 0x1402bbe0a
cmp ecx, 0x5c
je 0x1402bbe0a
cmp ecx, 0x3f
je 0x1402bbe0a
cmp ecx, 0x23
je 0x1402bbe0a
jmp 0x1402bbac6
mov r13d, 1
mov r12d, 1
or r15d, 0x20
jmp 0x1402bbac6
or r15d, 0x10
jmp 0x1402bbb0c
test r13d, r13d
je 0x1402bbbd3
movabs rcx, 0x200000000
test qword [r14 + 0x28], rcx
jne 0x1402bbbdb
jmp 0x1402bbac6
cmp ecx, 0x21
je 0x1402bba8b
jmp 0x1402bbba3
mov r8d, 1
jmp 0x1402bba07
mov r13d, 1
jmp 0x1402bbba8
or r15d, 0x40
jmp 0x1402bbac6
test r13d, r13d
jne 0x1402bbac6
mov r13d, 1
jmp 0x1402bbac6
test r13d, r13d
jne 0x1402bbae6
jmp 0x1402bbae2
cmp ecx, 0x7d
jle 0x1402bbbed
jmp 0x1402bbabd
test r12d, r12d
jne 0x1402bbc1b
mov r12d, 1
lea ecx, [rax + 2]
cmp ecx, ebx
jge 0x1402bbbe4
lea ecx, [rax + 1]
movsxd rcx, ecx
movzx edx, word [rsi + rcx*2]
mov ecx, edx
mov dword [rsp + 0x20], eax
lea edx, [rax + 2]
movsxd rdx, edx
movzx edx, word [rsi + rdx*2]
call fcn.1402c09f0
mov ecx, eax
cmp ecx, 0xffff
je 0x1402bbc72
cmp ecx, 0x2e
je 0x1402bbc5a
cmp ecx, 0x2f
je 0x1402bbc5a
cmp ecx, 0x5c
jne 0x1402bbc61
or r15d, 0x80
mov eax, dword [rsp + 0x20]
add eax, 2
mov r8d, dword [rsp + 0x24]
jmp 0x1402bbac6
mov eax, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x24]
jmp 0x1402bbbe4
cmp ecx, 0x9f
jg 0x1402bba30
jmp 0x1402bbb85
test r8d, r8d
je 0x1402bbd62
or r15d, 8
lea edx, [rcx - 0xd800]
cmp edx, 0x3ff
ja 0x1402bbd17
lea edx, [rax + 1]
cmp edx, ebx
jge 0x1402bbd5e
lea edx, [rax + 1]
movsxd rdx, edx
movzx edx, word [rsi + rdx*2]
add ecx, 0xffff2800
lea r10d, [rdx - 0xdc00]
or r10d, ecx
cmp r10d, 0x3ff
ja 0x1402bbceb
shl ecx, 0xa
lea ecx, [rcx + rdx + 0x2400]
mov edx, 1
jmp 0x1402bbcef
xor ecx, ecx
xor edx, edx
test edx, edx
je 0x1402bbd13
movzx edx, cx
cmp edx, 0xfffe
jge 0x1402bbd13
add ecx, 0xfff20000
cmp ecx, 0x1000
jb 0x1402bbd13
mov ecx, 1
jmp 0x1402bbd15
xor ecx, ecx
jmp 0x1402bbd5a
lea edx, [rcx - 0xa0]
cmp edx, 0xd75f
jbe 0x1402bbd55
lea edx, [rcx - 0xf900]
cmp edx, 0x4cf
jbe 0x1402bbd55
lea edx, [rcx - 0xfdf0]
cmp edx, 0x1ff
jbe 0x1402bbd55
add ecx, 0xffff2000
cmp ecx, 0x18ff
setbe cl
movzx ecx, cl
jmp 0x1402bbd5a
mov ecx, 1
test ecx, ecx
jne 0x1402bbd62
or r15d, 0x40
test r13d, r13d
mov r8d, dword [rsp + 0x24]
jne 0x1402bbac6
jmp 0x1402bbbed
cmp qword [r14 + 0x18], 0
je 0x1402bba55
mov rdx, qword [r14 + 0x18]
test byte [rdx + 0x10], 0x40
jne 0x1402bbad0
jmp 0x1402bba55
test dword [r14 + 0x28], 0x20000000
jne 0x1402bbdc3
cmp qword [r14 + 0x18], 0
je 0x1402bbac6
mov rcx, qword [r14 + 0x18]
test byte [rcx + 0x10], 0x20
jne 0x1402bbac6
cmp r10d, 0xfffe
je 0x1402bbac6
or r15d, 0x20
mov r12d, 1
jmp 0x1402bbbed
mov r13d, 1
test dword [r14 + 0x28], 0x20000000
jne 0x1402bbdfb
cmp qword [r14 + 0x18], 0
je 0x1402bbac6
mov rcx, qword [r14 + 0x18]
test byte [rcx + 0x10], 0x40
jne 0x1402bbac6
or r15d, 0x20
mov r12d, 1
jmp 0x1402bbac6
or r15d, 4
jmp 0x1402bbac6