Function at 0x140012090
Capabilities:
Parse credit card information

Disassembly:
jmp 0x1400f0780
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x18], r8
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rbx, qword [0x1401cad80]
mov rdi, rcx
and qword [rbp - 0x40], 0
mov ecx, 0xffff0000
and dword [rbp - 0x38], ecx
xor esi, esi
and qword [rbp - 0x30], 0
movsx eax, byte [rbx]
inc rbx
and dword [rbp - 0x28], ecx
mov qword [0x1401cad80], rbx
cmp eax, 0x41
jg 0x1400f09a0
je 0x1400f0e94
test eax, eax
je 0x1400f0987
cmp eax, 0x2f
jle 0x1400f0ac7
cmp eax, 0x31
jle 0x1400f0852
cmp eax, 0x39
jg 0x1400f0ac7
movsx eax, byte [rbx - 1]
sub eax, 0x32
movsxd rdx, eax
lea rbx, [0x140000000]
lea rcx, [rbp - 0x40]
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.14000b7c0
cmp qword [rbp - 0x40], 0
je 0x1400f0966
lea rdx, str.operator
lea rcx, [rbp - 0x10]
call fcn.1400107d0
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140006bf0
movaps xmm0, xmmword [rbp - 0x20]
jmp 0x1400f096a
and dword [rbp - 0x28], ecx
mov qword [rbp - 0x30], rsi
test dl, dl
je 0x1400f08fc
lea rcx, [rbp - 0x10]
call fcn.14000e900
mov dl, 0x3c
lea rcx, [rbp - 0x20]
mov rbx, rax
call fcn.140012260
mov rdx, rbx
lea rcx, [rbp - 0x40]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x40], xmm0
call fcn.140006bf0
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x30]
call fcn.140006bf0
mov rsi, qword [rbp - 0x30]
test rsi, rsi
je 0x1400f08c5
mov rax, qword [rsi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1400093b0
mov rcx, rsi
call rbx
cmp al, 0x3e
jne 0x1400f08c5
mov dl, 0x20
lea rcx, [rbp - 0x30]
call fcn.140007450
mov dl, 0x3e
lea rcx, [rbp - 0x30]
call fcn.140007450
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1400f08dc
mov byte [rax], 1
mov rbx, qword [0x1401cad80]
cmp byte [rbx], 0
jne 0x1400f08ee
movups xmm0, xmmword [rbp - 0x30]
jmp 0x1400f096a
mov rsi, qword [rbp - 0x30]
inc rbx
mov qword [0x1401cad80], rbx
xor r8d, r8d
lea rcx, [rbp - 0x10]
xor edx, edx
call fcn.140008430
movups xmm0, xmmword [rax]
mov qword [0x1401cad80], rbx
movq rax, xmm0
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400f0954
cmp byte [rbx - 1], 0x31
jne 0x1400f0954
mov dl, 0x7e
lea rcx, [rbp - 0x10]
call fcn.140012260
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140006bf0
movaps xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x40], xmm0
test rsi, rsi
je 0x1400f096a
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x40]
call fcn.140006bf0
movaps xmm0, xmmword [rbp - 0x40]
movdqu xmmword [rdi], xmm0
lea r11, [rsp + 0x60]
mov rax, rdi
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
dec rbx
mov edx, 1
mov qword [0x1401cad80], rbx
mov rcx, rdi
call fcn.140012280
jmp 0x1400f096e
cmp eax, 0x42
je 0x1400f0e8f
jle 0x1400f0ac7
cmp eax, 0x5a
jle 0x1400f0e94
cmp eax, 0x5f
jne 0x1400f0ac7
movsx ecx, byte [rbx]
lea esi, [rax - 0x5e]
add rbx, rsi
mov qword [0x1401cad80], rbx
cmp ecx, 0x4f
jg 0x1400f0add
cmp ecx, 0x44
jge 0x1400f0e77
cmp ecx, 0x39
jg 0x1400f0a78
je 0x1400f0a4c
test ecx, ecx
je 0x1400f0a3b
cmp ecx, 0x2f
jle 0x1400f0ac7
cmp ecx, 0x36
jle 0x1400f0a2f
cmp ecx, 0x38
jg 0x1400f0ac7
movsx eax, byte [rbx - 1]
sub eax, 0xe
movsxd rdx, eax
lea rbx, [0x140000000]
mov rcx, rdi
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.1400107d0
jmp 0x1400f096e
movsx eax, byte [rbx - 1]
sub eax, 0xe
jmp 0x1400f07fe
sub rbx, rsi
mov qword [0x1401cad80], rbx
mov edx, esi
jmp 0x1400f0996
movsx eax, byte [rbx - 1]
lea rcx, [rbp - 0x30]
sub eax, 0xe
lea rbx, [0x140000000]
movsxd rdx, eax
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.1400107d0
bts dword [rbp - 0x28], 0xf
jmp 0x1400f08e8
cmp ecx, 0x3f
je 0x1400f0aad
cmp ecx, 0x40
jle 0x1400f0ac7
cmp ecx, 0x42
jle 0x1400f0e77
cmp ecx, 0x43
jne 0x1400f0ac7
mov r8d, esi
lea rdx, str._string
lea rcx, [rbp - 0x30]
call fcn.1400016e0
bts dword [rbp - 0x28], 0xc
jmp 0x1400f08e8
movsx eax, byte [rbx]
add rbx, rsi
mov qword [0x1401cad80], rbx
test eax, eax
je 0x1400f0a3b
cmp eax, 0x30
je 0x1400f0ad1
mov edx, 2
jmp 0x1400f0996
xor r8d, r8d
lea rdx, str._anonymous_namespace
jmp 0x1400f0a9a
cmp ecx, 0x54
jg 0x1400f0d2d
cmp ecx, 0x53
jge 0x1400f0e77
sub ecx, 0x50
je 0x1400f0cd6
sub ecx, esi
je 0x1400f0819
cmp ecx, esi
jne 0x1400f0ac7
movsx eax, byte [rbx - 1]
lea rcx, [rbp - 0x40]
sub eax, 0x15
lea rbx, [0x140000000]
movsxd rdx, eax
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.14000b7c0
mov rax, qword [0x1401cad80]
mov cl, byte [rax]
test cl, cl
jne 0x1400f0b4a
movaps xmm0, xmmword [rbp - 0x40]
mov edx, esi
mov rcx, rdi
movdqu xmmword [rdi], xmm0
call fcn.140001020
jmp 0x1400f096e
movsx eax, cl
add eax, 0xffffffd0
js 0x1400f0ac7
cmp eax, 5
jae 0x1400f0ac7
movsxd rdx, eax
lea rcx, [rbp - 0x30]
mov rdx, qword [rbx + rdx*8 + 0x188818]
call fcn.14000b7c0
mov rcx, qword [0x1401cad80]
movsx eax, byte [rcx]
add rcx, rsi
mov qword [0x1401cad80], rcx
cmp eax, 0x30
je 0x1400f0c98
cmp eax, 0x31
je 0x1400f0bc5
add eax, 0xffffffce
cmp eax, 2
ja 0x1400f0bb6
movaps xmm0, xmmword [rbp - 0x40]
lea rdx, [rbp - 0x30]
mov rcx, rdi
movdqu xmmword [rdi], xmm0
call fcn.140006bf0
jmp 0x1400f096e
sub rcx, rsi
mov qword [0x1401cad80], rcx
jmp 0x1400f0a45
movaps xmm0, xmmword [rbp - 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x40]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.140006bf0
lea rcx, [rbp - 0x10]
call fcn.14000ee50
mov dl, 0x2c
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140007450
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.140006bf0
lea rcx, [rbp - 0x10]
call fcn.14000ee50
mov dl, 0x2c
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140007450
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.140006bf0
lea rcx, [rbp - 0x10]
call fcn.14000ee50
mov dl, 0x2c
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140007450
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.140006bf0
xor edx, edx
lea rcx, [rbp - 0x10]
call fcn.140005410
mov dl, 0x29
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140007450
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.140006bf0
movaps xmm0, xmmword [rbp - 0x40]
mov dl, 0x27
mov rcx, rdi
movdqu xmmword [rdi], xmm0
call fcn.140007450
jmp 0x1400f096e
xor edx, edx
lea rcx, [rbp - 0x10]
call fcn.14000ac20
movaps xmm0, xmmword [rbp - 0x10]
lea rcx, [rbp - 0x20]
mov dl, 0x20
movdqa xmmword [rbp - 0x20], xmm0
call fcn.140007450
movaps xmm0, xmmword [rbp - 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
call fcn.140006bf0
movaps xmm0, xmmword [rbp - 0x20]
jmp 0x1400f0ba1
movsx eax, byte [rbx - 1]
lea rcx, [rbp - 0x40]
sub eax, 0x15
lea rbx, [0x140000000]
movsxd rdx, eax
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.14000b7c0
xor r8d, r8d
lea rcx, [rbp - 0x10]
xor edx, edx
call fcn.140012090
movups xmm0, xmmword [rax]
movq rax, xmm0
movups xmmword [rbp - 0x30], xmm0
test rax, rax
je 0x1400f0b9d
test dword [rbp - 0x28], 0x400
je 0x1400f0b9d
jmp 0x1400f0ac7
cmp ecx, 0x56
jle 0x1400f0e83
cmp ecx, 0x57
jle 0x1400f0ac7
cmp ecx, 0x59
jle 0x1400f0e77
cmp ecx, 0x5f
jne 0x1400f0ac7
movsx eax, byte [rbx]
add rbx, rsi
mov qword [0x1401cad80], rbx
cmp eax, 0x41
jl 0x1400f0ac7
cmp eax, 0x44
jle 0x1400f0e6b
cmp eax, 0x46
jle 0x1400f0dea
cmp eax, 0x4a
jle 0x1400f0e6b
cmp eax, 0x4b
jne 0x1400f0ac7
movsx eax, byte [rbx - 1]
lea rcx, [rbp - 0x20]
add eax, 4
lea rbx, [0x140000000]
movsxd rdx, eax
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.1400107d0
jmp 0x1400f0dc5
cmp cl, 0x40
je 0x1400f0dd7
add rax, rsi
mov dl, cl
lea rcx, [rbp - 0x20]
mov qword [0x1401cad80], rax
call fcn.140007450
mov rax, qword [0x1401cad80]
mov cl, byte [rax]
test cl, cl
jne 0x1400f0dab
cmp cl, 0x40
jne 0x1400f0de1
add rax, rsi
mov qword [0x1401cad80], rax
movups xmm0, xmmword [rbp - 0x20]
jmp 0x1400f096a
movsx eax, byte [rbx - 1]
lea rcx, [rbp - 0x30]
add eax, 4
lea rbx, [0x140000000]
movsxd rdx, eax
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.1400107d0
mov rax, qword [0x1401cad80]
lea rcx, [rbp - 0x10]
cmp byte [rax], 0x3f
jne 0x1400f0e45
call fcn.1400027d0
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.140006bf0
mov rax, qword [0x1401cad80]
cmp byte [rax], 0x40
jne 0x1400f0e56
add rax, rsi
mov qword [0x1401cad80], rax
jmp 0x1400f0e56
call fcn.140013e80
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.140006bf0
lea rdx, [0x14018905c]
lea rcx, [rbp - 0x30]
call fcn.14000c060
jmp 0x1400f08e8
movsx eax, byte [rbx - 1]
add eax, 4
jmp 0x1400f0a10
movsx eax, byte [rbx - 1]
sub eax, 0x15
jmp 0x1400f0a10
movsx eax, byte [rbx - 1]
sub eax, 0x15
jmp 0x1400f07fe
mov esi, 1
movsx eax, byte [rbx - 1]
lea rcx, [rbp - 0x40]
sub eax, 0x39
lea rbx, [0x140000000]
movsxd rdx, eax
mov rdx, qword [rbx + rdx*8 + 0x188590]
call fcn.14000b7c0
test esi, esi
je 0x1400f0819
cmp qword [rbp - 0x40], 0
je 0x1400f0966
bts dword [rbp - 0x38], 9
jmp 0x1400f0966