Function at 0x1800078d0
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
mov eax, dword [rbx + 0x78]
cmp eax, 0xffffffff
je 0x180007b87
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
xor esi, esi
mov qword [rsp + 0x40], rdi
lea rbp, vtable.std::tr1::_Node_base.0
nop
cmp eax, 0x7c
je 0x180007b70
cmp eax, 0x29
jne 0x18000792b
cmp dword [rbx + 0x34], esi
jne 0x180007b70
bt dword [rbx + 0x7c], 0x1c
jb 0x18000792b
lea ecx, [rax - 0x24]
call fcn.1800bf8c4
jmp 0x180007b5a
cmp eax, 0x2e
jne 0x180007998
lea ecx, [rax - 0xe]
call fcn.180037904
mov r11, rax
test rax, rax
je 0x180007957
mov qword [rax], rbp
mov dword [rax + 8], 5
mov dword [rax + 0xc], esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18000795a
mov r11, rsi
mov rax, qword [rbx + 0x48]
mov qword [r11 + 0x18], rax
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18000797f
mov qword [r11 + 0x10], rcx
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], r11
mov rax, qword [rbx + 0x48]
mov rcx, rbx
mov qword [rax + 0x10], r11
mov qword [rbx + 0x48], r11
call fcn.1800077f0
jmp 0x180007b5a
cmp eax, 0x5c
jne 0x180007a0f
mov rcx, rbx
call fcn.1800077f0
mov r11d, dword [rbx + 0x7c]
and r11d, 0x80
je 0x1800079d3
cmp byte [rbx + 0x76], 0x62
jne 0x1800079d3
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180007d70
mov rcx, rbx
call fcn.1800077f0
jmp 0x180007b62
test r11d, r11d
je 0x180007a02
cmp byte [rbx + 0x76], 0x42
jne 0x180007a02
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180007d70
mov r11, qword [rbx + 0x48]
mov rcx, rbx
or dword [r11 + 0xc], 1
call fcn.1800077f0
jmp 0x180007b62
mov rcx, rbx
call fcn.180008da0
jmp 0x180007b5a
cmp eax, 0x5b
jne 0x180007a82
mov rcx, rbx
call fcn.1800077f0
lea rdi, [rbx + 0x40]
mov rcx, rdi
call fcn.18000aea0
cmp dword [rbx + 0x78], 0x5e
jne 0x180007a3e
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 1
call fcn.1800077f0
bt dword [rbx + 0x7c], 0x1d
jae 0x180007a5d
cmp dword [rbx + 0x78], 0x5d
jne 0x180007a5d
mov dl, 0x5d
mov rcx, rdi
call fcn.18000af40
mov rcx, rbx
call fcn.1800077f0
mov rcx, rbx
call fcn.18000a9c0
cmp dword [rbx + 0x78], 0x5d
je 0x180007a75
mov ecx, 4
call fcn.1800bf8c4
mov rcx, rbx
call fcn.1800077f0
jmp 0x180007b5a
cmp eax, 0x28
jne 0x180007ac0
mov rcx, rbx
call fcn.1800077f0
mov rcx, rbx
call fcn.180008e50
cmp dword [rbx + 0x78], 0x29
movzx edi, al
je 0x180007aaa
mov ecx, 5
call fcn.1800bf8c4
mov rcx, rbx
call fcn.1800077f0
test dil, dil
je 0x180007b62
jmp 0x180007b5a
cmp eax, 0x5e
jne 0x180007ade
lea rcx, [rbx + 0x40]
lea edx, [rax - 0x5c]
call fcn.180007d70
mov rcx, rbx
call fcn.1800077f0
jmp 0x180007b62
cmp eax, 0x24
jne 0x180007af9
lea rcx, [rbx + 0x40]
lea edx, [rax - 0x21]
call fcn.180007d70
mov rcx, rbx
call fcn.1800077f0
jmp 0x180007b62
cmp eax, 0x2a
je 0x180007b50
cmp eax, 0x2b
je 0x180007b50
cmp eax, 0x3f
je 0x180007b50
cmp eax, 0x7b
je 0x180007b50
cmp eax, 0x7d
jne 0x180007b23
bt dword [rbx + 0x7c], 0x1c
jb 0x180007b23
lea ecx, [rax - 0x77]
call fcn.1800bf8c4
jmp 0x180007b5a
cmp eax, 0x5d
jne 0x180007b39
bt dword [rbx + 0x7c], 0x1c
jb 0x180007b39
lea ecx, [rax - 0x59]
call fcn.1800bf8c4
jmp 0x180007b5a
movzx edx, byte [rbx + 0x76]
lea rcx, [rbx + 0x40]
call fcn.1800090b0
mov rcx, rbx
call fcn.1800077f0
jmp 0x180007b5a
mov ecx, 0xa
call fcn.1800bf8c4
mov rcx, rbx
call fcn.180008fb0
mov eax, dword [rbx + 0x78]
mov cl, 1
cmp eax, 0xffffffff
jne 0x180007900
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov al, cl
add rsp, 0x20
pop rbx
ret
mov al, cl
add rsp, 0x20
pop rbx
ret