Function at 0x140024140
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 0x140024210
lea rbp, vtable.std::_Node_base.0
xor esi, esi
cmp ecx, 0x7c
je 0x140024210
cmp ecx, 0x29
jne 0x140024219
cmp dword [rbx + 0x1c], 0
jne 0x140024210
test dword [rbx + 0x80], 0x10000000
je 0x140024600
cmp ecx, 0x5d
jne 0x1400241a4
test dword [rbx + 0x80], 0x10000000
je 0x1400245d4
lea rcx, [rbx + 0x40]
movzx edx, byte [rbx + 0x78]
call fcn.140025710
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x1400241f2
cmp byte [rcx], 0x5c
jne 0x1400241ef
inc rcx
cmp rcx, rax
je 0x1400241ef
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400241de
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400241ec
test dl, 0x10
jne 0x1400241ef
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400241ef
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023280
mov rcx, rbx
call fcn.1400254b0
mov al, 1
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0xffffffff
jne 0x140024163
add rsp, 0x38
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ecx, 0x2e
jne 0x140024283
mov ecx, 0x20
call fcn.14008b610
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 0x140024276
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 0x1400241b1
cmp ecx, 0x5c
jne 0x140024398
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1400242cd
cmp byte [rcx], 0x5c
jne 0x1400242ca
inc rcx
cmp rcx, rax
je 0x1400242ca
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400242b9
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400242c7
test dl, 0x10
jne 0x1400242ca
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400242ca
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023280
test byte [rbx + 0x80], 0x80
je 0x14002438b
cmp byte [rbx + 0x78], 0x62
jne 0x14002431c
mov ecx, 0x20
call fcn.14008b610
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 0x140024529
cmp byte [rbx + 0x78], 0x42
jne 0x14002438b
mov ecx, 0x20
call fcn.14008b610
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 0x14002437a
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 0x14002455a
mov rcx, rbx
call fcn.140025140
jmp 0x1400241fa
cmp ecx, 0x5b
jne 0x1400243fd
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1400243de
cmp byte [rcx], 0x5c
jne 0x1400243db
inc rcx
cmp rcx, rax
je 0x1400243db
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400243ca
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400243d8
test dl, 0x10
jne 0x1400243db
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400243db
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023280
mov rcx, rbx
call fcn.140024fe0
cmp dword [rbx + 0x7c], 0x5d
jne 0x1400245df
jmp 0x1400241b1
cmp ecx, 0x28
jne 0x1400244bb
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140024447
cmp byte [rcx], 0x5c
jne 0x140024444
inc rcx
cmp rcx, rax
je 0x140024444
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024433
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024441
test dl, 0x10
jne 0x140024444
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024444
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023280
mov rcx, rbx
call fcn.1400252d0
movzx edi, al
cmp dword [rbx + 0x7c], 0x29
jne 0x14002460b
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x1400244a5
cmp byte [rcx], 0x5c
jne 0x1400244a2
inc rcx
cmp rcx, rdx
je 0x1400244a2
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024491
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002449f
test dl, 0x10
jne 0x1400244a2
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400244a2
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023280
test dil, dil
je 0x140024202
jmp 0x1400241fa
cmp ecx, 0x5e
jne 0x1400244f1
mov ecx, 0x20
call fcn.14008b610
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 0x140024529
cmp ecx, 0x24
jne 0x1400245a8
mov ecx, 0x20
call fcn.14008b610
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 0x140024552
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 0x14002459b
cmp byte [rcx], 0x5c
jne 0x140024598
inc rcx
cmp rcx, rax
je 0x140024598
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140024587
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140024595
test dl, 0x10
jne 0x140024598
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140024598
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023280
jmp 0x140024202
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400245f5
cmp ecx, 0x3f
je 0x1400245f5
cmp ecx, 0x7b
je 0x1400245f5
cmp ecx, 0x7d
jne 0x14002418f
test dword [rbx + 0x80], 0x10000000
je 0x1400245ea
jmp 0x1400241a4
mov edx, 4
call fcn.140023270
int3
mov edx, 4
call fcn.140023270
int3
mov edx, 6
call fcn.140023270
int3
mov edx, 0xa
call fcn.140023270
int3
mov edx, 5
call fcn.140023270
int3
mov edx, 5
call fcn.140023270
int3