Function at 0x140023d10
Capabilities:
Parse credit card information

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x38
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140023de0
lea rbp, vtable.std::_Node_base.0
xor esi, esi
cmp ecx, 0x7c
je 0x140023de0
cmp ecx, 0x29
jne 0x140023de9
cmp dword [rbx + 0x1c], 0
jne 0x140023de0
test dword [rbx + 0x80], 0x10000000
je 0x1400241d0
cmp ecx, 0x5d
jne 0x140023d74
test dword [rbx + 0x80], 0x10000000
je 0x1400241a4
lea rcx, [rbx + 0x40]
movzx edx, byte [rbx + 0x78]
call fcn.1400252e0
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140023dc2
cmp byte [rcx], 0x5c
jne 0x140023dbf
inc rcx
cmp rcx, rax
je 0x140023dbf
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140023dae
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140023dbc
test dl, 0x10
jne 0x140023dbf
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140023dbf
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140022e60
mov rcx, rbx
call fcn.140025080
mov al, 1
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0xffffffff
jne 0x140023d33
add rsp, 0x38
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ecx, 0x2e
jne 0x140023e53
mov ecx, 0x20
call fcn.14008f2e0
mov rdx, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov rax, qword [rbx + 0x48]
mov qword [rdx + 0x18], rax
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140023e46
mov qword [rdx + 0x10], rcx
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], rdx
mov rax, qword [rbx + 0x48]
mov qword [rax + 0x10], rdx
mov qword [rbx + 0x48], rdx
jmp 0x140023d81
cmp ecx, 0x5c
jne 0x140023f68
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140023e9d
cmp byte [rcx], 0x5c
jne 0x140023e9a
inc rcx
cmp rcx, rax
je 0x140023e9a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140023e89
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140023e97
test dl, 0x10
jne 0x140023e9a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140023e9a
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140022e60
test byte [rbx + 0x80], 0x80
je 0x140023f5b
cmp byte [rbx + 0x78], 0x62
jne 0x140023eec
mov ecx, 0x20
call fcn.14008f2e0
mov rdx, rax
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], rbp
mov qword [rax + 8], 4
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x1400240f9
cmp byte [rbx + 0x78], 0x42
jne 0x140023f5b
mov ecx, 0x20
call fcn.14008f2e0
mov rdx, rax
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], rbp
mov qword [rax + 8], 4
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov rax, qword [rbx + 0x48]
mov qword [rdx + 0x18], rax
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140023f4a
mov qword [rdx + 0x10], rcx
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], rdx
mov rax, qword [rbx + 0x48]
mov qword [rax + 0x10], rdx
mov qword [rbx + 0x48], rdx
xor dword [rdx + 0xc], 1
jmp 0x14002412a
mov rcx, rbx
call fcn.140024d10
jmp 0x140023dca
cmp ecx, 0x5b
jne 0x140023fcd
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140023fae
cmp byte [rcx], 0x5c
jne 0x140023fab
inc rcx
cmp rcx, rax
je 0x140023fab
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140023f9a
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140023fa8
test dl, 0x10
jne 0x140023fab
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140023fab
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140022e60
mov rcx, rbx
call fcn.140024bb0
cmp dword [rbx + 0x7c], 0x5d
jne 0x1400241af
jmp 0x140023d81
cmp ecx, 0x28
jne 0x14002408b
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140024017
cmp byte [rcx], 0x5c
jne 0x140024014
inc rcx
cmp rcx, rax
je 0x140024014
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024003
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024011
test dl, 0x10
jne 0x140024014
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024014
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140022e60
mov rcx, rbx
call fcn.140024ea0
movzx edi, al
cmp dword [rbx + 0x7c], 0x29
jne 0x1400241db
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x140024075
cmp byte [rcx], 0x5c
jne 0x140024072
inc rcx
cmp rcx, rdx
je 0x140024072
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024061
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002406f
test dl, 0x10
jne 0x140024072
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024072
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140022e60
test dil, dil
je 0x140023dd2
jmp 0x140023dca
cmp ecx, 0x5e
jne 0x1400240c1
mov ecx, 0x20
call fcn.14008f2e0
mov rdx, rax
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], rbp
mov qword [rax + 8], 2
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x1400240f9
cmp ecx, 0x24
jne 0x140024178
mov ecx, 0x20
call fcn.14008f2e0
mov rdx, rax
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], rbp
mov qword [rax + 8], 3
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov rax, qword [rbx + 0x48]
mov qword [rdx + 0x18], rax
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140024122
mov qword [rdx + 0x10], rcx
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], rdx
mov rax, qword [rbx + 0x48]
mov qword [rax + 0x10], rdx
mov qword [rbx + 0x48], rdx
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x14002416b
cmp byte [rcx], 0x5c
jne 0x140024168
inc rcx
cmp rcx, rax
je 0x140024168
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024157
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024165
test dl, 0x10
jne 0x140024168
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024168
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140022e60
jmp 0x140023dd2
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400241c5
cmp ecx, 0x3f
je 0x1400241c5
cmp ecx, 0x7b
je 0x1400241c5
cmp ecx, 0x7d
jne 0x140023d5f
test dword [rbx + 0x80], 0x10000000
je 0x1400241ba
jmp 0x140023d74
mov edx, 4
call fcn.140022e50
int3
mov edx, 4
call fcn.140022e50
int3
mov edx, 6
call fcn.140022e50
int3
mov edx, 0xa
call fcn.140022e50
int3
mov edx, 5
call fcn.140022e50
int3
mov edx, 5
call fcn.140022e50
int3