Function at 0x180009f90
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 0x18000a060
lea rbp, vtable.std::_Node_base.0
xor esi, esi
cmp ecx, 0x7c
je 0x18000a060
cmp ecx, 0x29
jne 0x18000a069
cmp dword [rbx + 0x1c], 0
jne 0x18000a060
test dword [rbx + 0x80], 0x10000000
je 0x18000a450
cmp ecx, 0x5d
jne 0x180009ff4
test dword [rbx + 0x80], 0x10000000
je 0x18000a424
lea rcx, [rbx + 0x40]
movzx edx, byte [rbx + 0x78]
call fcn.18000b780
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x18000a042
cmp byte [rcx], 0x5c
jne 0x18000a03f
inc rcx
cmp rcx, rax
je 0x18000a03f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18000a02e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18000a03c
test dl, 0x10
jne 0x18000a03f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18000a03f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.180008700
mov rcx, rbx
call fcn.18000b520
mov al, 1
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0xffffffff
jne 0x180009fb3
add rsp, 0x38
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ecx, 0x2e
jne 0x18000a0d3
mov ecx, 0x20
call fcn.1800505e4
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 0x18000a0c6
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 0x18000a001
cmp ecx, 0x5c
jne 0x18000a1e8
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18000a11d
cmp byte [rcx], 0x5c
jne 0x18000a11a
inc rcx
cmp rcx, rax
je 0x18000a11a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18000a109
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18000a117
test dl, 0x10
jne 0x18000a11a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18000a11a
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.180008700
test byte [rbx + 0x80], 0x80
je 0x18000a1db
cmp byte [rbx + 0x78], 0x62
jne 0x18000a16c
mov ecx, 0x20
call fcn.1800505e4
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 0x18000a379
cmp byte [rbx + 0x78], 0x42
jne 0x18000a1db
mov ecx, 0x20
call fcn.1800505e4
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 0x18000a1ca
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 0x18000a3aa
mov rcx, rbx
call fcn.18000b1b0
jmp 0x18000a04a
cmp ecx, 0x5b
jne 0x18000a24d
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18000a22e
cmp byte [rcx], 0x5c
jne 0x18000a22b
inc rcx
cmp rcx, rax
je 0x18000a22b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18000a21a
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18000a228
test dl, 0x10
jne 0x18000a22b
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18000a22b
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.180008700
mov rcx, rbx
call fcn.18000b050
cmp dword [rbx + 0x7c], 0x5d
jne 0x18000a42f
jmp 0x18000a001
cmp ecx, 0x28
jne 0x18000a30b
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18000a297
cmp byte [rcx], 0x5c
jne 0x18000a294
inc rcx
cmp rcx, rax
je 0x18000a294
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18000a283
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18000a291
test dl, 0x10
jne 0x18000a294
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18000a294
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.180008700
mov rcx, rbx
call fcn.18000b340
movzx edi, al
cmp dword [rbx + 0x7c], 0x29
jne 0x18000a45b
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x18000a2f5
cmp byte [rcx], 0x5c
jne 0x18000a2f2
inc rcx
cmp rcx, rdx
je 0x18000a2f2
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18000a2e1
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18000a2ef
test dl, 0x10
jne 0x18000a2f2
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18000a2f2
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.180008700
test dil, dil
je 0x18000a052
jmp 0x18000a04a
cmp ecx, 0x5e
jne 0x18000a341
mov ecx, 0x20
call fcn.1800505e4
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 0x18000a379
cmp ecx, 0x24
jne 0x18000a3f8
mov ecx, 0x20
call fcn.1800505e4
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 0x18000a3a2
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 0x18000a3eb
cmp byte [rcx], 0x5c
jne 0x18000a3e8
inc rcx
cmp rcx, rax
je 0x18000a3e8
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18000a3d7
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18000a3e5
test dl, 0x10
jne 0x18000a3e8
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18000a3e8
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.180008700
jmp 0x18000a052
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18000a445
cmp ecx, 0x3f
je 0x18000a445
cmp ecx, 0x7b
je 0x18000a445
cmp ecx, 0x7d
jne 0x180009fdf
test dword [rbx + 0x80], 0x10000000
je 0x18000a43a
jmp 0x180009ff4
mov edx, 4
call fcn.1800086f0
int3
mov edx, 4
call fcn.1800086f0
int3
mov edx, 6
call fcn.1800086f0
int3
mov edx, 0xa
call fcn.1800086f0
int3
mov edx, 5
call fcn.1800086f0
int3
mov edx, 5
call fcn.1800086f0
int3