Function at 0x140008500
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 0x140008b1e
cmp ecx, 0x7c
je 0x140008b1e
lea rdi, [rbx + 0x10]
nop dword [rax]
cmp ecx, 0x29
jne 0x140008554
cmp dword [rbx + 0x1c], 0
jne 0x140008b1e
test dword [rbx + 0x80], 0x10000000
je 0x140008b39
jmp 0x140008aa8
cmp ecx, 0x2e
jne 0x1400085dd
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140008b70
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x140008af7
cmp byte [rax], 0x5c
jne 0x14000887f
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x14000887f
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1400085b0
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x1400085ce
cmp r8b, 0x29
je 0x1400085ce
test r9b, 0x10
jne 0x14000887f
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x1400085ce
cmp dl, 0x7d
jne 0x14000887f
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
jmp 0x140008af7
cmp ecx, 0x5c
jne 0x140008781
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x14000863f
cmp byte [rax], 0x5c
jne 0x140008639
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x140008639
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14000861f
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x140008635
cmp r8b, 0x29
je 0x140008635
test r9b, 0x10
jne 0x140008639
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x140008635
cmp dl, 0x7d
jne 0x140008639
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140007280
test byte [rbx + 0x80], 0x80
je 0x140008774
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x1400086d0
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140008b70
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x1400086c3
cmp byte [rax], 0x5c
jne 0x1400086bd
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x1400086bd
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1400086a3
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x1400086b9
cmp r8b, 0x29
je 0x1400086b9
test r9b, 0x10
jne 0x1400086bd
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x1400086b9
cmp dl, 0x7d
jne 0x1400086bd
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140007280
jmp 0x140008b0b
cmp al, 0x42
jne 0x140008774
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140008b70
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x140008767
cmp byte [rax], 0x5c
jne 0x140008761
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14000875e
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14000872b
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x140008747
cmp cl, 0x29
je 0x140008747
mov rcx, rax
test r9b, 0x10
jne 0x14000875e
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x140008747
mov rdx, rcx
cmp r8b, 0x7d
jne 0x14000875e
lea rax, [rdx + 1]
mov rcx, rbx
inc rax
mov qword [rbx], rax
call fcn.140007280
jmp 0x140008b0b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140007280
jmp 0x140008b0b
mov rcx, rbx
call fcn.14000a4a0
jmp 0x140008aff
cmp ecx, 0x5b
jne 0x14000888a
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x1400087f6
cmp byte [rax], 0x5c
jne 0x1400087ec
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x1400087e9
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1400087c7
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x1400087e3
cmp cl, 0x29
je 0x1400087e3
mov rcx, rax
test r9b, 0x10
jne 0x1400087e9
movzx r9d, byte [r8]
mov rdx, rax
cmp r9b, 0x7b
je 0x1400087e3
mov rdx, rcx
cmp r9b, 0x7d
jne 0x1400087e9
lea rax, [rdx + 1]
jmp 0x1400087ec
mov rax, rcx
inc rax
lea rdi, [rbx + 0x10]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140007280
mov rcx, rbx
call fcn.14000a310
cmp dword [rbx + 0x7c], 0x5d
jne 0x140008b5a
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x140008af7
cmp byte [rax], 0x5c
jne 0x14000887f
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14000887c
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x140008851
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14000886d
cmp cl, 0x29
je 0x14000886d
mov rcx, rax
test r9b, 0x10
jne 0x14000887c
movzx r9d, byte [r8]
mov rdx, rax
cmp r9b, 0x7b
je 0x14000886d
mov rdx, rcx
cmp r9b, 0x7d
jne 0x14000887c
lea rax, [rdx + 1]
inc rax
mov qword [rbx], rax
jmp 0x140008af7
mov rax, rcx
inc rax
mov qword [rbx], rax
jmp 0x140008af7
cmp ecx, 0x28
jne 0x140008997
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x1400088fb
cmp byte [rax], 0x5c
jne 0x1400088f5
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x1400088f2
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x1400088d0
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x1400088ec
cmp cl, 0x29
je 0x1400088ec
mov rcx, rax
test r9b, 0x10
jne 0x1400088f2
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x1400088ec
mov rdx, rcx
cmp r8b, 0x7d
jne 0x1400088f2
lea rax, [rdx + 1]
jmp 0x1400088f5
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140007280
mov rcx, rbx
call fcn.14000a630
cmp dword [rbx + 0x7c], 0x29
movzx esi, al
jne 0x140008b65
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x140008981
cmp byte [rax], 0x5c
jne 0x14000897b
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x140008978
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x140008956
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x140008972
cmp cl, 0x29
je 0x140008972
mov rcx, rax
test r9b, 0x10
jne 0x140008978
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x140008972
mov rdx, rcx
cmp r8b, 0x7d
jne 0x140008978
lea rax, [rdx + 1]
jmp 0x14000897b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140007280
test sil, sil
je 0x140008b0b
jmp 0x140008aff
cmp ecx, 0x5e
jne 0x1400089f8
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140008b70
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x1400089eb
cmp byte [rax], 0x5c
jne 0x1400089e8
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x1400089e8
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400089d7
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400089e5
test dl, 0x10
jne 0x1400089e8
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400089e8
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.140007280
jmp 0x140008b0b
cmp ecx, 0x24
jne 0x140008a5e
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140008b70
mov rdx, qword [rbx + 0x10]
lea rdi, [rbx + 0x10]
mov rax, qword [rbx]
cmp rax, rdx
je 0x140008a51
cmp byte [rax], 0x5c
jne 0x140008a4e
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x140008a4e
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140008a3d
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140008a4b
test dl, 0x10
jne 0x140008a4e
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140008a4e
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.140007280
jmp 0x140008b0b
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140008b4f
cmp ecx, 0x3f
je 0x140008b4f
cmp ecx, 0x7b
je 0x140008b4f
cmp ecx, 0x7d
jne 0x140008a93
test dword [rbx + 0x80], 0x10000000
je 0x140008b44
jmp 0x140008aa8
cmp ecx, 0x5d
jne 0x140008aa8
test dword [rbx + 0x80], 0x10000000
je 0x140008b2e
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.14000aa90
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x140008af7
cmp byte [rax], 0x5c
jne 0x140008af4
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x140008af4
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140008ae3
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140008af1
test dl, 0x10
jne 0x140008af4
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140008af4
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.140007280
mov rcx, rbx
call fcn.14000a830
lea rdi, [rbx + 0x10]
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
je 0x140008b1e
cmp ecx, 0x7c
jne 0x140008530
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.140007270
int3
mov edx, 5
call fcn.140007270
int3
mov edx, 6
call fcn.140007270
int3
mov edx, 0xa
call fcn.140007270
int3
mov edx, 4
call fcn.140007270
int3
mov edx, 5
call fcn.140007270
int3