Function at 0x140024d20
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 0x140024df0
lea rbp, vtable.std::_Node_base.0
xor esi, esi
cmp ecx, 0x7c
je 0x140024df0
cmp ecx, 0x29
jne 0x140024df9
cmp dword [rbx + 0x1c], 0
jne 0x140024df0
test dword [rbx + 0x80], 0x10000000
je 0x1400251e0
cmp ecx, 0x5d
jne 0x140024d84
test dword [rbx + 0x80], 0x10000000
je 0x1400251b4
lea rcx, [rbx + 0x40]
movzx edx, byte [rbx + 0x78]
call fcn.1400262f0
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140024dd2
cmp byte [rcx], 0x5c
jne 0x140024dcf
inc rcx
cmp rcx, rax
je 0x140024dcf
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024dbe
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024dcc
test dl, 0x10
jne 0x140024dcf
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024dcf
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023e70
mov rcx, rbx
call fcn.140026090
mov al, 1
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0xffffffff
jne 0x140024d43
add rsp, 0x38
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ecx, 0x2e
jne 0x140024e63
mov ecx, 0x20
call fcn.1400902e0
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 0x140024e56
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 0x140024d91
cmp ecx, 0x5c
jne 0x140024f78
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140024ead
cmp byte [rcx], 0x5c
jne 0x140024eaa
inc rcx
cmp rcx, rax
je 0x140024eaa
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024e99
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024ea7
test dl, 0x10
jne 0x140024eaa
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024eaa
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023e70
test byte [rbx + 0x80], 0x80
je 0x140024f6b
cmp byte [rbx + 0x78], 0x62
jne 0x140024efc
mov ecx, 0x20
call fcn.1400902e0
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 0x140025109
cmp byte [rbx + 0x78], 0x42
jne 0x140024f6b
mov ecx, 0x20
call fcn.1400902e0
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 0x140024f5a
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 0x14002513a
mov rcx, rbx
call fcn.140025d20
jmp 0x140024dda
cmp ecx, 0x5b
jne 0x140024fdd
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140024fbe
cmp byte [rcx], 0x5c
jne 0x140024fbb
inc rcx
cmp rcx, rax
je 0x140024fbb
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024faa
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024fb8
test dl, 0x10
jne 0x140024fbb
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024fbb
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023e70
mov rcx, rbx
call fcn.140025bc0
cmp dword [rbx + 0x7c], 0x5d
jne 0x1400251bf
jmp 0x140024d91
cmp ecx, 0x28
jne 0x14002509b
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140025027
cmp byte [rcx], 0x5c
jne 0x140025024
inc rcx
cmp rcx, rax
je 0x140025024
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140025013
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140025021
test dl, 0x10
jne 0x140025024
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140025024
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023e70
mov rcx, rbx
call fcn.140025eb0
movzx edi, al
cmp dword [rbx + 0x7c], 0x29
jne 0x1400251eb
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x140025085
cmp byte [rcx], 0x5c
jne 0x140025082
inc rcx
cmp rcx, rdx
je 0x140025082
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140025071
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002507f
test dl, 0x10
jne 0x140025082
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140025082
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023e70
test dil, dil
je 0x140024de2
jmp 0x140024dda
cmp ecx, 0x5e
jne 0x1400250d1
mov ecx, 0x20
call fcn.1400902e0
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 0x140025109
cmp ecx, 0x24
jne 0x140025188
mov ecx, 0x20
call fcn.1400902e0
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 0x140025132
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 0x14002517b
cmp byte [rcx], 0x5c
jne 0x140025178
inc rcx
cmp rcx, rax
je 0x140025178
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140025167
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140025175
test dl, 0x10
jne 0x140025178
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140025178
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023e70
jmp 0x140024de2
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400251d5
cmp ecx, 0x3f
je 0x1400251d5
cmp ecx, 0x7b
je 0x1400251d5
cmp ecx, 0x7d
jne 0x140024d6f
test dword [rbx + 0x80], 0x10000000
je 0x1400251ca
jmp 0x140024d84
mov edx, 4
call fcn.140023e60
int3
mov edx, 4
call fcn.140023e60
int3
mov edx, 6
call fcn.140023e60
int3
mov edx, 0xa
call fcn.140023e60
int3
mov edx, 5
call fcn.140023e60
int3
mov edx, 5
call fcn.140023e60
int3