Function at 0x180031c40
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x1800320da
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
xor esi, esi
mov qword [rsp + 0x40], rdi
lea rbp, [0x18010a088]
nop dword [rax]
mov eax, dword [rbx + 0x60]
cmp eax, 0x7c
je 0x1800320c2
cmp eax, 0x29
jne 0x180031c9b
cmp dword [rbx + 0x1c], esi
jne 0x1800320c2
test dword [rbx + 0x64], 0x10000000
jne 0x180031c9b
lea ecx, [rax - 0x24]
jmp 0x1800320a9
cmp eax, 0x2e
jne 0x180031d4f
lea ecx, [rax - 0xe]
call fcn.18005f544
mov r11, rax
test rax, rax
je 0x180031cc9
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x180031ccc
mov r11, rsi
mov rax, qword [rbx + 0x30]
mov qword [r11 + 0x18], rax
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180031cf1
mov qword [r11 + 0x10], rcx
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], r11
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], r11
mov qword [rbx + 0x30], r11
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031d42
cmp byte [rax], 0x5c
jne 0x180031d3f
inc rax
cmp rax, rcx
je 0x180031d29
test byte [rbx + 0x64], 8
jne 0x180031d29
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031d3c
cmp cl, 0x29
je 0x180031d3c
test byte [rbx + 0x64], 0x10
jne 0x180031d3f
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031d3c
cmp cl, 0x7d
jne 0x180031d3f
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
jmp 0x1800320ae
cmp eax, 0x5c
jne 0x180031e95
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031d9d
cmp byte [rax], 0x5c
jne 0x180031d9a
inc rax
cmp rax, rcx
je 0x180031d84
test byte [rbx + 0x64], 8
jne 0x180031d84
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031d97
cmp cl, 0x29
je 0x180031d97
test byte [rbx + 0x64], 0x10
jne 0x180031d9a
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031d97
cmp cl, 0x7d
jne 0x180031d9a
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x180031e15
cmp byte [rbx + 0x5e], 0x62
jne 0x180031e15
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.180028820
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031e08
cmp byte [rax], 0x5c
jne 0x180031e05
inc rax
cmp rax, rcx
je 0x180031def
test byte [rbx + 0x64], 8
jne 0x180031def
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031e02
cmp cl, 0x29
je 0x180031e02
test byte [rbx + 0x64], 0x10
jne 0x180031e05
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031e02
cmp cl, 0x7d
jne 0x180031e05
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
jmp 0x1800320b6
test eax, eax
je 0x180031e88
cmp byte [rbx + 0x5e], 0x42
jne 0x180031e88
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.180028820
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031e7b
cmp byte [rax], 0x5c
jne 0x180031e78
inc rax
cmp rax, rcx
je 0x180031e62
test byte [rbx + 0x64], 8
jne 0x180031e62
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031e75
cmp cl, 0x29
je 0x180031e75
test byte [rbx + 0x64], 0x10
jne 0x180031e78
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031e75
cmp cl, 0x7d
jne 0x180031e78
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
jmp 0x1800320b6
mov rcx, rbx
call fcn.180036090
jmp 0x1800320ae
cmp eax, 0x5b
jne 0x180031f55
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031ee3
cmp byte [rax], 0x5c
jne 0x180031ee0
inc rax
cmp rax, rcx
je 0x180031eca
test byte [rbx + 0x64], 8
jne 0x180031eca
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031edd
cmp cl, 0x29
je 0x180031edd
test byte [rbx + 0x64], 0x10
jne 0x180031ee0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031edd
cmp cl, 0x7d
jne 0x180031ee0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
mov rcx, rbx
call fcn.180051b60
cmp dword [rbx + 0x60], 0x5d
je 0x180031f03
mov ecx, 4
call fcn.180051808
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031f48
cmp byte [rax], 0x5c
jne 0x180031f45
inc rax
cmp rax, rcx
je 0x180031f2f
test byte [rbx + 0x64], 8
jne 0x180031f2f
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031f42
cmp cl, 0x29
je 0x180031f42
test byte [rbx + 0x64], 0x10
jne 0x180031f45
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031f42
cmp cl, 0x7d
jne 0x180031f45
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
jmp 0x1800320ae
cmp eax, 0x28
jne 0x18003201d
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x180031fa3
cmp byte [rax], 0x5c
jne 0x180031fa0
inc rax
cmp rax, rcx
je 0x180031f8a
test byte [rbx + 0x64], 8
jne 0x180031f8a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x180031f9d
cmp cl, 0x29
je 0x180031f9d
test byte [rbx + 0x64], 0x10
jne 0x180031fa0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x180031f9d
cmp cl, 0x7d
jne 0x180031fa0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
mov rcx, rbx
call fcn.180041f40
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x180031fc6
mov ecx, 5
call fcn.180051808
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x180032007
cmp byte [rcx], 0x5c
jne 0x180032004
inc rcx
cmp rcx, rdx
je 0x180031ff0
test byte [rbx + 0x64], 8
jne 0x180031ff0
movzx eax, byte [rcx]
cmp al, 0x28
je 0x180032001
cmp al, 0x29
je 0x180032001
test byte [rbx + 0x64], 0x10
jne 0x180032004
movzx eax, byte [rcx]
cmp al, 0x7b
je 0x180032001
cmp al, 0x7d
jne 0x180032004
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18003f7a0
test dil, dil
je 0x1800320b6
jmp 0x1800320ae
cmp eax, 0x5e
jne 0x180032038
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.180028820
mov rcx, rbx
call fcn.1800181c0
jmp 0x1800320b6
cmp eax, 0x24
jne 0x180032053
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.180028820
mov rcx, rbx
call fcn.1800181c0
jmp 0x1800320b6
cmp eax, 0x2a
je 0x1800320a4
cmp eax, 0x2b
je 0x1800320a4
cmp eax, 0x3f
je 0x1800320a4
cmp eax, 0x7b
je 0x1800320a4
cmp eax, 0x7d
jne 0x18003207a
test dword [rbx + 0x64], 0x10000000
jne 0x18003207a
lea ecx, [rax - 0x77]
jmp 0x1800320a9
cmp eax, 0x5d
jne 0x18003208d
test dword [rbx + 0x64], 0x10000000
jne 0x18003208d
lea ecx, [rax - 0x59]
jmp 0x1800320a9
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.180034f90
mov rcx, rbx
call fcn.1800181c0
jmp 0x1800320ae
mov ecx, 0xa
call fcn.180051808
mov rcx, rbx
call fcn.180014a40
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x180031c70
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
movzx eax, cl
add rsp, 0x20
pop rbx
ret
movzx eax, cl
add rsp, 0x20
pop rbx
ret