Function at 0x1400266b0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x140050d48]
xor r12d, r12d
mov r15, r8
mov qword [rsp + 0x28], r12
mov rdi, rcx
mov dword [rsp + 0x30], r12d
mov r8b, 0x41
mov qword [rsp + 0x48], r12
mov cl, byte [rax]
lea rbx, [rax + 1]
mov dword [rsp + 0x50], r12d
mov esi, r12d
mov qword [0x140050d48], rbx
cmp cl, r8b
jg 0x14002693b
je 0x140026e74
test cl, cl
je 0x14002691d
cmp cl, 0x2f
jle 0x140026a66
cmp cl, 0x31
jle 0x1400267c1
cmp cl, 0x39
jg 0x140026a66
movsx rdx, byte [rbx - 1]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32df0]
lea rcx, [rsp + 0x28]
call fcn.140022f34
cmp qword [rsp + 0x28], r12
je 0x140026793
lea rdx, str.operator
lea rcx, [rbp + 0x108]
call fcn.140022d30
lea r8, [rsp + 0x28]
mov rcx, rax
lea rdx, [rbp - 0x18]
call fcn.140022fb0
mov rax, qword [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x10]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x28]
mov qword [rdi], rax
mov eax, dword [rsp + 0x30]
mov dword [rdi + 8], eax
lea r11, [rsp + 0x220]
mov rax, rdi
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov qword [rsp + 0x38], r12
mov r14, r12
mov dword [rsp + 0x40], r12d
mov esi, 1
test dl, dl
je 0x140026891
lea rcx, [rbp + 0x18]
call fcn.140027e04
mov r8d, esi
mov byte [rbp + 0x168], 0x3c
lea rdx, [rbp + 0x168]
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x78]
mov dword [rbp - 0x80], r12d
mov rbx, rax
call fcn.1400240e8
mov r8, rbx
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x78]
call fcn.140022fb0
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x38]
call fcn.140023060
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140026851
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14002d718]
cmp al, 0x3e
jne 0x140026851
mov dl, 0x20
lea rcx, [rsp + 0x38]
call fcn.1400230a4
mov dl, 0x3e
lea rcx, [rsp + 0x38]
call fcn.1400230a4
test r15, r15
je 0x140026865
mov byte [r15], sil
mov rbx, qword [0x140050d48]
cmp byte [rbx], r12b
jne 0x140026882
mov rax, qword [rsp + 0x38]
mov qword [rdi], rax
mov eax, dword [rsp + 0x40]
jmp 0x14002679f
mov r14, qword [rsp + 0x38]
add rbx, rsi
mov qword [0x140050d48], rbx
xor r8d, r8d
lea rcx, [rbp + 0x28]
xor edx, edx
call fcn.140028d44
mov rcx, qword [rax]
mov eax, dword [rax + 8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x30], eax
mov qword [0x140050d48], rbx
test rcx, rcx
je 0x140026900
cmp byte [rbx - 1], 0x31
jne 0x140026900
mov r8d, esi
mov byte [rsp + 0x20], 0x7e
lea rdx, [rsp + 0x20]
mov qword [rbp - 0x78], r12
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x70], r12d
call fcn.1400240e8
lea r8, [rsp + 0x28]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x78]
call fcn.140022fb0
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x140026793
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x28]
call fcn.140023060
jmp 0x140026793
lea rax, [rbx - 1]
mov qword [0x140050d48], rax
lea rax, [0x140033e20]
mov qword [rdi], rax
mov dword [rdi + 8], r12d
jmp 0x1400267a2
cmp cl, 0x42
je 0x140026e6f
jle 0x140026a66
cmp cl, 0x5a
jle 0x140026e74
cmp cl, 0x5f
jne 0x140026a66
movsx ecx, byte [rbx]
lea rdx, [rbx + 1]
mov qword [0x140050d48], rdx
cmp ecx, 0x4f
jg 0x140026a99
cmp ecx, 0x44
jge 0x140026e3d
cmp ecx, 0x39
jg 0x140026a18
je 0x1400269e5
test ecx, ecx
je 0x1400269dc
cmp ecx, 0x2f
jle 0x140026a66
cmp ecx, 0x36
jle 0x1400269c3
cmp ecx, 0x38
jg 0x140026a66
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32f10]
mov rcx, rdi
call fcn.140022d30
jmp 0x1400267a2
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32f10]
jmp 0x14002674e
lea rax, [rdx - 1]
jmp 0x140026921
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
lea rcx, [rbp - 0x48]
mov rdx, qword [rbx + rdx*8 + 0x32f10]
call fcn.140022d30
mov ecx, dword [rbp - 0x40]
mov rax, qword [rbp - 0x48]
bts ecx, 0xf
mov qword [rdi], rax
mov dword [rdi + 8], ecx
jmp 0x1400267a2
cmp ecx, 0x3f
je 0x140026a4e
cmp ecx, 0x40
jle 0x140026a66
cmp ecx, 0x42
jle 0x140026e3d
mov r8d, 1
lea rdx, str._string
lea rcx, [rbp - 0x38]
call fcn.140027ce8
mov ecx, dword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
bts ecx, 0xc
jmp 0x140026a0d
mov al, byte [rdx]
inc rdx
mov qword [0x140050d48], rdx
test al, al
je 0x1400269dc
cmp al, 0x30
je 0x140026a76
mov dword [rdi + 8], r12d
mov byte [rdi + 8], 2
mov qword [rdi], r12
jmp 0x1400267a2
xor r8d, r8d
lea rdx, str._anonymous_namespace
lea rcx, [rbp - 0x28]
call fcn.140027ce8
mov ecx, dword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
bts ecx, 0xc
jmp 0x140026a0d
cmp ecx, 0x54
jg 0x140026cca
cmp ecx, 0x53
jge 0x140026e3d
sub ecx, 0x50
je 0x140026c76
sub ecx, 1
je 0x140026758
cmp ecx, 1
jne 0x140026a66
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
lea rcx, [rsp + 0x28]
mov rdx, qword [rbx + rdx*8 + 0x32ed8]
call fcn.140022f34
mov rax, qword [0x140050d48]
movsx rcx, byte [rax]
test cl, cl
jne 0x140026b07
mov r8d, 1
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140023034
jmp 0x1400267a2
cmp cl, 0x30
jl 0x140026a66
lea rax, [rcx - 0x30]
cmp rax, 5
jae 0x140026a66
lfence
mov rdx, qword [rbx + rcx*8 + 0x33098]
lea rcx, [rsp + 0x48]
call fcn.140022f34
mov rax, qword [0x140050d48]
mov cl, byte [rax]
inc rax
mov qword [0x140050d48], rax
cmp cl, 0x30
je 0x140026c2f
cmp cl, 0x31
je 0x140026b67
jle 0x140026b5f
cmp cl, 0x34
jle 0x140026cc3
dec rax
jmp 0x140026921
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x28]
call fcn.140022fb0
lea rcx, [rbp + 0x38]
call fcn.140027a8c
mov r8b, 0x2c
lea rdx, [rbp + 0x48]
mov rcx, rax
call fcn.140022fdc
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140023060
lea rcx, [rbp + 0x58]
call fcn.140027a8c
mov r8b, 0x2c
lea rdx, [rbp + 0x68]
mov rcx, rax
call fcn.140022fdc
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140023060
lea rcx, [rbp + 0x78]
call fcn.140027a8c
mov r8b, 0x2c
lea rdx, [rbp + 0x88]
mov rcx, rax
call fcn.140022fdc
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140023060
xor edx, edx
lea rcx, [rbp + 0x98]
call fcn.1400257d4
mov r8b, 0x29
lea rdx, [rbp + 0xa8]
mov rcx, rax
call fcn.140022fdc
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140023060
mov r8b, 0x27
lea rcx, [rsp + 0x58]
mov rdx, rdi
call fcn.140022fdc
jmp 0x1400267a2
xor edx, edx
lea rcx, [rbp + 8]
call fcn.140025438
mov r8b, 0x20
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 8]
call fcn.140022fdc
lea r8, [rsp + 0x28]
mov rcx, rax
lea rdx, [rbp + 0xc8]
call fcn.140022fb0
mov rcx, rax
mov rdx, rdi
lea r8, [rsp + 0x48]
call fcn.140022fb0
jmp 0x1400267a2
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
lea rcx, [rsp + 0x28]
mov rdx, qword [rbx + rdx*8 + 0x32ed8]
call fcn.140022f34
xor r8d, r8d
lea rcx, [rbp + 0xd8]
xor edx, edx
call fcn.1400266b0
mov rcx, qword [rax]
mov edx, dword [rax + 8]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], edx
test rcx, rcx
je 0x140026cc3
bt edx, 0xa
jb 0x140026a66
lea rcx, [rsp + 0x28]
jmp 0x140026c64
cmp ecx, 0x56
jle 0x140026e56
cmp ecx, 0x57
jle 0x140026a66
cmp ecx, 0x59
jle 0x140026e3d
cmp ecx, 0x5f
jne 0x140026a66
mov al, byte [rdx]
inc rdx
mov qword [0x140050d48], rdx
cmp al, r8b
jl 0x140026a66
cmp al, 0x44
jle 0x140026d25
cmp al, 0x46
jle 0x140026da7
cmp al, 0x4a
jle 0x140026d25
cmp al, 0x4b
je 0x140026d3e
sub al, 0x4c
lea esi, [rcx - 0x5e]
cmp al, sil
ja 0x140026a66
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32fa0]
jmp 0x1400269b6
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
lea rcx, [rbp - 0x68]
mov rdx, qword [rbx + rdx*8 + 0x32fa0]
call fcn.140022d30
mov esi, 1
jmp 0x140026d7c
cmp cl, 0x40
je 0x140026d8e
add rax, rsi
mov dl, cl
lea rcx, [rbp - 0x68]
mov qword [0x140050d48], rax
call fcn.1400230a4
mov rax, qword [0x140050d48]
mov cl, byte [rax]
test cl, cl
jne 0x140026d62
cmp cl, 0x40
jne 0x140026d98
add rax, rsi
mov qword [0x140050d48], rax
mov rax, qword [rbp - 0x68]
mov qword [rdi], rax
mov eax, dword [rbp - 0x60]
jmp 0x14002679f
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
lea rcx, [rsp + 0x68]
mov rdx, qword [rbx + rdx*8 + 0x32fa0]
call fcn.140022d30
mov rax, qword [0x140050d48]
cmp byte [rax], 0x3f
jne 0x140026e02
lea rcx, [rbp + 0xe8]
call fcn.140025520
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140023060
mov rax, qword [0x140050d48]
cmp byte [rax], 0x40
jne 0x140026e1b
inc rax
mov qword [0x140050d48], rax
jmp 0x140026e1b
lea rcx, [rbp + 0xf8]
call fcn.140027db8
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140023060
lea rdx, [0x140033958]
lea rcx, [rsp + 0x68]
call fcn.140023124
mov rax, qword [rsp + 0x68]
mov qword [rdi], rax
mov eax, dword [rsp + 0x70]
jmp 0x14002679f
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32ed8]
jmp 0x1400269b6
movsx rdx, byte [rdx - 1]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32ed8]
jmp 0x14002674e
mov esi, 1
movsx rdx, byte [rbx - 1]
lea rcx, [rsp + 0x28]
lea rbx, [0x140000000]
mov rdx, qword [rbx + rdx*8 + 0x32db8]
call fcn.140022f34
test esi, esi
je 0x140026758
cmp qword [rsp + 0x28], r12
je 0x140026793
bts dword [rsp + 0x30], 9
jmp 0x140026793