Function at 0x14022b460
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 0x14022b974
lea rdi, [rbx + 0x10]
cmp ecx, 0x7c
je 0x14022b974
cmp ecx, 0x29
jne 0x14022b4b1
cmp dword [rbx + 0x1c], 0
jne 0x14022b974
test dword [rbx + 0x80], 0x10000000
je 0x14022b98f
jmp 0x14022b905
cmp ecx, 0x2e
jne 0x14022b517
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.14022b9d0
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14022b952
cmp byte [rcx], 0x5c
jne 0x14022b50b
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14022b50b
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14022b4f7
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14022b508
test r8b, 0x10
jne 0x14022b50b
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x14022b508
cmp al, 0x7d
jne 0x14022b50b
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
jmp 0x14022b952
cmp ecx, 0x5c
jne 0x14022b66b
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14022b56a
cmp byte [rcx], 0x5c
jne 0x14022b563
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14022b563
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14022b54f
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14022b560
test r8b, 0x10
jne 0x14022b563
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x14022b560
cmp al, 0x7d
jne 0x14022b563
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402270a0
test byte [rbx + 0x80], 0x80
je 0x14022b65e
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x14022b5ec
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14022b9d0
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14022b5df
cmp byte [rcx], 0x5c
jne 0x14022b5d8
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14022b5d8
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14022b5c4
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14022b5d5
test r8b, 0x10
jne 0x14022b5d8
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x14022b5d5
cmp al, 0x7d
jne 0x14022b5d8
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402270a0
jmp 0x14022b966
cmp al, 0x42
jne 0x14022b65e
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14022b9d0
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14022b651
cmp byte [rax], 0x5c
jne 0x14022b64b
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14022b64b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b636
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b648
mov rax, qword [rbx]
test dl, 0x10
jne 0x14022b64b
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14022b648
cmp dl, 0x7d
jne 0x14022b64b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402270a0
jmp 0x14022b966
mov rcx, rbx
call fcn.14022d7b0
jmp 0x14022b95a
cmp ecx, 0x5b
jne 0x14022b72d
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14022b6bf
cmp byte [rax], 0x5c
jne 0x14022b6b9
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14022b6b9
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b6a4
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b6b6
mov rax, qword [rbx]
test dl, 0x10
jne 0x14022b6b9
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14022b6b6
cmp dl, 0x7d
jne 0x14022b6b9
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402270a0
mov rcx, rbx
call fcn.14022d630
cmp dword [rbx + 0x7c], 0x5d
jne 0x14022b9b0
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14022b952
cmp byte [rax], 0x5c
jne 0x14022b722
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14022b722
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b70d
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b71f
mov rax, qword [rbx]
test dl, 0x10
jne 0x14022b722
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14022b71f
cmp dl, 0x7d
jne 0x14022b722
mov rax, rcx
inc rax
mov qword [rbx], rax
jmp 0x14022b952
cmp ecx, 0x28
jne 0x14022b7ff
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14022b781
cmp byte [rax], 0x5c
jne 0x14022b77b
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14022b77b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b766
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b778
mov rax, qword [rbx]
test dl, 0x10
jne 0x14022b77b
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14022b778
cmp dl, 0x7d
jne 0x14022b77b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402270a0
mov rcx, rbx
call fcn.14022d940
cmp dword [rbx + 0x7c], 0x29
movzx esi, al
jne 0x14022b9bb
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14022b7e9
cmp byte [rax], 0x5c
jne 0x14022b7e3
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14022b7e3
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b7ce
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b7e0
mov rax, qword [rbx]
test dl, 0x10
jne 0x14022b7e3
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14022b7e0
cmp dl, 0x7d
jne 0x14022b7e3
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.1402270a0
test sil, sil
je 0x14022b966
jmp 0x14022b95a
cmp ecx, 0x5e
jne 0x14022b85f
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.14022b9d0
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14022b852
cmp byte [rcx], 0x5c
jne 0x14022b84f
inc rcx
cmp rcx, rax
je 0x14022b84f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b83e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b84c
test dl, 0x10
jne 0x14022b84f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14022b84f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1402270a0
jmp 0x14022b966
cmp ecx, 0x24
jne 0x14022b8bf
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.14022b9d0
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14022b8b2
cmp byte [rcx], 0x5c
jne 0x14022b8af
inc rcx
cmp rcx, rax
je 0x14022b8af
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b89e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b8ac
test dl, 0x10
jne 0x14022b8af
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14022b8af
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1402270a0
jmp 0x14022b966
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14022b9a5
cmp ecx, 0x3f
je 0x14022b9a5
cmp ecx, 0x7b
je 0x14022b9a5
cmp ecx, 0x7d
jne 0x14022b8f4
test dword [rbx + 0x80], 0x10000000
je 0x14022b99a
jmp 0x14022b905
cmp ecx, 0x5d
jne 0x14022b905
test dword [rbx + 0x80], 0x10000000
je 0x14022b984
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.14022de90
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14022b952
cmp byte [rcx], 0x5c
jne 0x14022b94f
inc rcx
cmp rcx, rax
je 0x14022b94f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14022b93e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14022b94c
test dl, 0x10
jne 0x14022b94f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14022b94f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.1402270a0
mov rcx, rbx
call fcn.14022dc40
lea rdi, [rbx + 0x10]
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x14022b484
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.140227090
int3
mov edx, 5
call fcn.140227090
int3
mov edx, 6
call fcn.140227090
int3
mov edx, 0xa
call fcn.140227090
int3
mov edx, 4
call fcn.140227090
int3
mov edx, 5
call fcn.140227090
int3