Function at 0x1800084c0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x180008cf7
lea r15, vtable.std::_Node_base.0
xor r14d, r14d
lea r13, vtable.std::_Node_back.0
mov r12d, 0xfffd
cmp ecx, 0x7c
je 0x180008cf7
cmp ecx, 0x29
jne 0x180008531
cmp dword [rbx + 0x1c], r14d
jne 0x180008cf7
test dword [rbx + 0x80], 0x10000000
je 0x180008d22
jmp 0x180008bb7
cmp ecx, 0x2e
jne 0x1800085ef
mov ecx, 0x20
call fcn.1800104f8
test rax, rax
je 0x18000855e
mov qword [rax], r15
mov qword [rax + 8], 5
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x180008561
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.18000b0d0
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x180008c11
cmp word [rax], 0x5c
jne 0x1800085e3
lea r8, [rax + 2]
mov rcx, rax
cmp r8, rdx
je 0x1800085e0
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1800085b2
movzx ecx, word [r8]
mov rdx, rax
cmp cx, 0x28
je 0x1800085d0
cmp cx, 0x29
je 0x1800085d0
mov rcx, rax
test r9b, 0x10
jne 0x1800085e0
movzx r8d, word [r8]
mov rdx, rax
cmp r8w, 0x7b
je 0x1800085d0
mov rdx, rcx
cmp r8w, 0x7d
jne 0x1800085e0
lea rax, [rdx + 2]
add rax, 2
mov qword [rbx], rax
jmp 0x180008c11
mov rax, rcx
add rax, 2
mov qword [rbx], rax
jmp 0x180008c11
cmp ecx, 0x5c
jne 0x1800088b9
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x180008666
cmp word [rax], cx
jne 0x18000865f
lea r8, [rax + 2]
mov rcx, rax
cmp r8, rdx
je 0x18000865c
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x180008638
movzx ecx, word [r8]
mov rdx, rax
cmp cx, 0x28
je 0x180008656
cmp cx, 0x29
je 0x180008656
mov rcx, rax
test r9b, 0x10
jne 0x18000865c
movzx r8d, word [r8]
mov rdx, rax
cmp r8w, 0x7b
je 0x180008656
mov rdx, rcx
cmp r8w, 0x7d
jne 0x18000865c
lea rax, [rdx + 2]
jmp 0x18000865f
mov rax, rcx
add rax, 2
mov qword [rbx], rax
mov rcx, rbx
call fcn.18000bce0
mov ecx, dword [rbx + 0x80]
test cl, cl
jns 0x180008799
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x180008753
mov ecx, 0x20
call fcn.1800104f8
test rax, rax
je 0x1800086ae
mov qword [rax], r15
mov qword [rax + 8], 4
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x1800086b1
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.18000b0d0
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x180008b60
cmp word [rax], 0x5c
jne 0x180008ac3
lea r8, [rax + 2]
mov rcx, rax
cmp r8, rdx
je 0x18000873c
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x180008706
movzx ecx, word [r8]
mov rdx, rax
cmp cx, 0x28
je 0x180008724
cmp cx, 0x29
je 0x180008724
mov rcx, rax
test r9b, 0x10
jne 0x18000873c
movzx r8d, word [r8]
mov rdx, rax
cmp r8w, 0x7b
je 0x180008724
mov rdx, rcx
cmp r8w, 0x7d
jne 0x18000873c
lea rax, [rdx + 2]
mov rcx, rbx
add rax, 2
mov qword [rbx], rax
call fcn.18000bce0
jmp 0x180008ce9
mov rax, rcx
mov rcx, rbx
add rax, 2
mov qword [rbx], rax
call fcn.18000bce0
jmp 0x180008ce9
cmp ax, 0x42
jne 0x180008799
mov ecx, 0x20
call fcn.1800104f8
test rax, rax
je 0x18000877d
mov qword [rax], r15
mov qword [rax + 8], 4
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x180008780
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.18000b0d0
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
jmp 0x180008a67
bt ecx, 8
jae 0x180008874
mov edx, 3
mov rcx, rbx
call fcn.180009850
test al, al
je 0x180008874
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x80]
test edi, edi
jne 0x1800087e0
bt eax, 0x14
jae 0x180008d30
lea rcx, [rbx + 0x40]
movzx edx, di
call fcn.180007a30
jmp 0x180008c19
bt eax, 9
jae 0x1800087ef
cmp edi, 9
ja 0x180008d5a
mov eax, edi
movsxd rcx, eax
mov eax, dword [rbx + 0x18]
cmp rax, rcx
jb 0x180008d5a
cmp qword [rbx + 0x38], rcx
jbe 0x180008d5a
mov rdx, qword [rbx + 0x20]
movzx eax, cl
and al, 0x1f
mov r8, rcx
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x180008d5a
mov ecx, 0x28
call fcn.1800104f8
test rax, rax
je 0x180008860
mov rdx, rax
mov qword [rax + 8], 0xf
lea rcx, [rbx + 0x40]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
mov qword [rax], r13
mov dword [rax + 0x20], edi
call fcn.18000b0d0
jmp 0x180008c19
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.18000b0d0
jmp 0x180008c19
mov rcx, rbx
call fcn.180009180
test al, al
je 0x180008892
movzx edx, word [rbx + 0x74]
lea rcx, [rbx + 0x40]
call fcn.180007a30
jmp 0x180008c19
test dword [rbx + 0x80], 0x20000
je 0x180008d30
mov dl, 1
mov rcx, rbx
call fcn.1800090d0
test al, al
je 0x180008d30
jmp 0x180008c19
cmp ecx, 0x5b
jne 0x180008990
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180008921
cmp word [rax], 0x5c
jne 0x18000891a
lea r8, [rax + 2]
cmp r8, rcx
je 0x18000891a
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1800088fd
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x28
je 0x180008916
cmp dx, 0x29
je 0x180008916
test r9b, 0x10
jne 0x18000891a
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x7b
je 0x180008916
cmp dx, 0x7d
jne 0x18000891a
lea rax, [rcx + 2]
add rax, 2
mov qword [rbx], rax
mov rcx, rbx
call fcn.18000bce0
lea rcx, [rbx + 0x40]
call fcn.180007c80
mov eax, dword [rbx + 0x7c]
cmp eax, 0x5e
jne 0x18000894d
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
call fcn.18000b7b0
mov eax, dword [rbx + 0x7c]
test dword [rbx + 0x80], 0x20000000
je 0x180008971
cmp eax, 0x5d
jne 0x180008971
mov edx, eax
lea rcx, [rbx + 0x40]
call fcn.180007be0
mov rcx, rbx
call fcn.18000b7b0
mov rcx, rbx
call fcn.1800096d0
cmp dword [rbx + 0x7c], 0x5d
jne 0x180008d68
mov rcx, rbx
call fcn.18000b7b0
jmp 0x180008c19
cmp ecx, 0x28
jne 0x180008a2b
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x1800089f8
cmp word [rax], 0x5c
jne 0x1800089f1
lea r8, [rax + 2]
cmp r8, rcx
je 0x1800089f1
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1800089d4
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x28
je 0x1800089ed
cmp dx, 0x29
je 0x1800089ed
test r9b, 0x10
jne 0x1800089f1
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x7b
je 0x1800089ed
cmp dx, 0x7d
jne 0x1800089f1
lea rax, [rcx + 2]
add rax, 2
mov qword [rbx], rax
mov rcx, rbx
call fcn.18000bce0
mov rcx, rbx
call fcn.18000bf60
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x180008d22
mov rcx, rbx
call fcn.18000b7b0
test dil, dil
je 0x180008ce9
jmp 0x180008c19
cmp ecx, 0x5e
jne 0x180008ad7
mov ecx, 0x20
call fcn.1800104f8
test rax, rax
je 0x180008a58
mov qword [rax], r15
mov qword [rax + 8], 2
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x180008a5b
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.18000b0d0
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx]
cmp rax, rcx
je 0x180008b60
cmp word [rax], 0x5c
jne 0x180008ac3
lea r8, [rax + 2]
cmp r8, rcx
je 0x180008ac3
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x180008aa6
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x28
je 0x180008abf
cmp dx, 0x29
je 0x180008abf
test r9b, 0x10
jne 0x180008ac3
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x7b
je 0x180008abf
cmp dx, 0x7d
jne 0x180008ac3
lea rax, [rcx + 2]
add rax, 2
mov rcx, rbx
mov qword [rbx], rax
call fcn.18000bce0
jmp 0x180008ce9
cmp ecx, 0x24
jne 0x180008b6d
mov ecx, 0x20
call fcn.1800104f8
test rax, rax
je 0x180008b04
mov qword [rax], r15
mov qword [rax + 8], 3
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x180008b07
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.18000b0d0
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x180008b60
cmp word [rax], 0x5c
jne 0x180008b5c
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x180008b5c
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180008b46
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x180008b58
test dl, 0x10
jne 0x180008b5c
movzx eax, word [rcx]
sub ax, 0x7b
test r12w, ax
jne 0x180008b5c
add qword [rbx], 2
add qword [rbx], 2
mov rcx, rbx
call fcn.18000bce0
jmp 0x180008ce9
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x180008d4c
cmp ecx, 0x3f
je 0x180008d4c
cmp ecx, 0x7b
je 0x180008d4c
cmp ecx, 0x7d
jne 0x180008ba2
test dword [rbx + 0x80], 0x10000000
je 0x180008d3e
jmp 0x180008bb7
cmp ecx, 0x5d
jne 0x180008bb7
test dword [rbx + 0x80], 0x10000000
je 0x180008d68
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180007a30
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x180008c11
cmp word [rax], 0x5c
jne 0x180008c0d
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x180008c0d
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180008bf7
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x180008c09
test dl, 0x10
jne 0x180008c0d
movzx eax, word [rcx]
sub ax, 0x7b
test r12w, ax
jne 0x180008c0d
add qword [rbx], 2
add qword [rbx], 2
mov rcx, rbx
call fcn.18000bce0
mov eax, dword [rbx + 0x7c]
mov ebp, r14d
mov edi, 0xffffffff
cmp eax, 0x2a
je 0x180008ca5
cmp eax, 0x2b
jne 0x180008c33
lea ebp, [rdi + 2]
jmp 0x180008ca5
cmp eax, 0x3f
jne 0x180008c3d
lea edi, [rax - 0x3e]
jmp 0x180008ca5
cmp eax, 0x7b
jne 0x180008ce9
mov rcx, rbx
call fcn.18000b7b0
mov edx, 7
mov rcx, rbx
call fcn.180009850
test al, al
je 0x180008d14
cmp dword [rbx + 0x7c], 0x2c
mov ebp, dword [rbx + 0x74]
je 0x180008c70
mov edi, ebp
jmp 0x180008c96
mov rcx, rbx
call fcn.18000b7b0
cmp dword [rbx + 0x7c], 0x7d
je 0x180008c9c
mov edx, 7
mov rcx, rbx
call fcn.180009850
test al, al
je 0x180008d14
mov edi, dword [rbx + 0x74]
cmp dword [rbx + 0x7c], 0x7d
jne 0x180008d14
cmp edi, 0xffffffff
je 0x180008ca5
cmp edi, ebp
jl 0x180008d14
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
call fcn.18000b7b0
test dword [rbx + 0x80], 0x400
je 0x180008cd4
cmp dword [rbx + 0x7c], 0x3f
jne 0x180008cd4
xor sil, sil
mov rcx, rbx
call fcn.18000b7b0
jmp 0x180008cd7
mov sil, 1
lea rcx, [rbx + 0x40]
movzx r9d, sil
mov r8d, edi
mov edx, ebp
call fcn.180008200
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x180008504
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov edx, 7
mov rcx, rbx
call fcn.18000ad40
int3
mov edx, 5
mov rcx, rbx
call fcn.18000ad40
int3
mov edx, 2
mov rcx, rbx
call fcn.18000ad40
int3
mov edx, 6
mov rcx, rbx
call fcn.18000ad40
int3
mov edx, 0xa
mov rcx, rbx
call fcn.18000ad40
int3
mov edx, 3
mov rcx, rbx
call fcn.18000ad40
int3
mov edx, 4
mov rcx, rbx
call fcn.18000ad40
int3