Function at 0x140018780
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140018b3b
mov esi, 0xfffd
cmp ecx, 0x7c
je 0x140018b3b
cmp ecx, 0x29
jne 0x1400187d2
cmp dword [rbx + 0x1c], 0
jne 0x140018b3b
test dword [rbx + 0x80], 0x10000000
je 0x140018b59
jmp 0x140018abc
cmp ecx, 0x2e
jne 0x1400187ea
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140018b90
jmp 0x140018ac9
cmp ecx, 0x5c
jne 0x14001889a
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x140018847
cmp word [rcx], 0x5c
jne 0x140018840
lea rdx, [rcx + 2]
mov rcx, rdx
cmp rdx, rax
je 0x14001883d
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14001882b
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x140018840
test r8b, 0x10
jne 0x14001883d
movzx eax, word [rdx]
sub ax, 0x7b
test si, ax
je 0x140018840
mov rcx, qword [rbx]
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140017660
test byte [rbx + 0x80], 0x80
je 0x14001888d
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x14001886c
mov edx, 4
jmp 0x140018a08
cmp ax, 0x42
jne 0x14001888d
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140018b90
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
jmp 0x140018a11
mov rcx, rbx
call fcn.1400196c0
jmp 0x140018b25
cmp ecx, 0x5b
jne 0x140018912
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1400188f3
cmp word [rcx], 0x5c
jne 0x1400188ec
lea rdx, [rcx + 2]
mov rcx, rdx
cmp rdx, rax
je 0x1400188e9
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1400188d7
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x1400188ec
test r8b, 0x10
jne 0x1400188e9
movzx eax, word [rdx]
sub ax, 0x7b
test si, ax
je 0x1400188ec
mov rcx, qword [rbx]
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140017660
mov rcx, rbx
call fcn.140019540
cmp dword [rbx + 0x7c], 0x5d
jne 0x140018b67
jmp 0x140018ac9
cmp ecx, 0x28
jne 0x1400189f6
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14001896f
cmp word [rcx], 0x5c
jne 0x140018968
lea rdx, [rcx + 2]
mov rcx, rdx
cmp rdx, rax
je 0x140018965
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140018953
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x140018968
test r8b, 0x10
jne 0x140018965
movzx eax, word [rdx]
sub ax, 0x7b
test si, ax
je 0x140018968
mov rcx, qword [rbx]
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140017660
mov rcx, rbx
call fcn.140019840
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x140018b59
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1400189e0
cmp word [rcx], 0x5c
jne 0x1400189d9
lea rdx, [rcx + 2]
mov rcx, rdx
cmp rdx, rax
je 0x1400189d6
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1400189c4
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x1400189d9
test r8b, 0x10
jne 0x1400189d6
movzx eax, word [rdx]
sub ax, 0x7b
test si, ax
je 0x1400189d9
mov rcx, qword [rbx]
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140017660
test dil, dil
je 0x140018b2d
jmp 0x140018b25
cmp ecx, 0x5e
jne 0x140018a00
lea edx, [rcx - 0x5c]
jmp 0x140018a08
cmp ecx, 0x24
jne 0x140018a72
lea edx, [rcx - 0x21]
lea rcx, [rbx + 0x40]
call fcn.140018b90
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140018a65
cmp word [rcx], 0x5c
jne 0x140018a5e
lea rdx, [rcx + 2]
mov rcx, rdx
cmp rdx, rax
je 0x140018a5b
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140018a49
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x140018a5e
test r8b, 0x10
jne 0x140018a5b
movzx eax, word [rdx]
sub ax, 0x7b
test si, ax
je 0x140018a5e
mov rcx, qword [rbx]
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140017660
jmp 0x140018b2d
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140018b4b
cmp ecx, 0x3f
je 0x140018b4b
cmp ecx, 0x7b
je 0x140018b4b
cmp ecx, 0x7d
jne 0x140018aa7
test dword [rbx + 0x80], 0x10000000
je 0x140018b75
jmp 0x140018abc
cmp ecx, 0x5d
jne 0x140018abc
test dword [rbx + 0x80], 0x10000000
je 0x140018b67
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140019d00
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140018b1d
cmp word [rcx], 0x5c
jne 0x140018b16
lea rdx, [rcx + 2]
mov rcx, rdx
cmp rdx, rax
je 0x140018b13
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140018b01
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x140018b16
test r8b, 0x10
jne 0x140018b13
movzx eax, word [rdx]
sub ax, 0x7b
test si, ax
je 0x140018b16
mov rcx, qword [rbx]
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140017660
mov rcx, rbx
call fcn.140019a80
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1400187a5
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, 0xa
mov rcx, rbx
call fcn.140017650
int3
mov edx, 5
mov rcx, rbx
call fcn.140017650
int3
mov edx, 4
mov rcx, rbx
call fcn.140017650
int3
mov edx, 6
mov rcx, rbx
call fcn.140017650
int3