Function at 0x140025570
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 0x140025a84
lea rdi, [rbx + 0x10]
cmp ecx, 0x7c
je 0x140025a84
cmp ecx, 0x29
jne 0x1400255c1
cmp dword [rbx + 0x1c], 0
jne 0x140025a84
test dword [rbx + 0x80], 0x10000000
je 0x140025a9f
jmp 0x140025a15
cmp ecx, 0x2e
jne 0x140025627
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140025b20
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x140025a62
cmp byte [rcx], 0x5c
jne 0x14002561b
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14002561b
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140025607
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x140025618
test r8b, 0x10
jne 0x14002561b
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x140025618
cmp al, 0x7d
jne 0x14002561b
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
jmp 0x140025a62
cmp ecx, 0x5c
jne 0x14002577b
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x14002567a
cmp byte [rcx], 0x5c
jne 0x140025673
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x140025673
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14002565f
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x140025670
test r8b, 0x10
jne 0x140025673
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x140025670
cmp al, 0x7d
jne 0x140025673
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140023c00
test byte [rbx + 0x80], 0x80
je 0x14002576e
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x1400256fc
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140025b20
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x1400256ef
cmp byte [rcx], 0x5c
jne 0x1400256e8
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x1400256e8
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1400256d4
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x1400256e5
test r8b, 0x10
jne 0x1400256e8
movzx eax, byte [rdx]
cmp al, 0x7b
je 0x1400256e5
cmp al, 0x7d
jne 0x1400256e8
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140023c00
jmp 0x140025a76
cmp al, 0x42
jne 0x14002576e
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140025b20
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x140025761
cmp byte [rax], 0x5c
jne 0x14002575b
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14002575b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140025746
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140025758
mov rax, qword [rbx]
test dl, 0x10
jne 0x14002575b
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x140025758
cmp dl, 0x7d
jne 0x14002575b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140023c00
jmp 0x140025a76
mov rcx, rbx
call fcn.140026790
jmp 0x140025a6a
cmp ecx, 0x5b
jne 0x14002583d
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x1400257cf
cmp byte [rax], 0x5c
jne 0x1400257c9
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x1400257c9
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400257b4
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400257c6
mov rax, qword [rbx]
test dl, 0x10
jne 0x1400257c9
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x1400257c6
cmp dl, 0x7d
jne 0x1400257c9
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140023c00
mov rcx, rbx
call fcn.140026690
cmp dword [rbx + 0x7c], 0x5d
jne 0x140025ac0
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x140025a62
cmp byte [rax], 0x5c
jne 0x140025832
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x140025832
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14002581d
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002582f
mov rax, qword [rbx]
test dl, 0x10
jne 0x140025832
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x14002582f
cmp dl, 0x7d
jne 0x140025832
mov rax, rcx
inc rax
mov qword [rbx], rax
jmp 0x140025a62
cmp ecx, 0x28
jne 0x14002590f
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x140025891
cmp byte [rax], 0x5c
jne 0x14002588b
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14002588b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140025876
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140025888
mov rax, qword [rbx]
test dl, 0x10
jne 0x14002588b
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x140025888
cmp dl, 0x7d
jne 0x14002588b
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140023c00
mov rcx, rbx
call fcn.140026910
cmp dword [rbx + 0x7c], 0x29
movzx esi, al
jne 0x140025acb
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x1400258f9
cmp byte [rax], 0x5c
jne 0x1400258f3
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x1400258f3
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400258de
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400258f0
mov rax, qword [rbx]
test dl, 0x10
jne 0x1400258f3
movzx edx, byte [rcx]
cmp dl, 0x7b
je 0x1400258f0
cmp dl, 0x7d
jne 0x1400258f3
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140023c00
test sil, sil
je 0x140025a76
jmp 0x140025a6a
cmp ecx, 0x5e
jne 0x14002596f
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140025b20
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x140025962
cmp byte [rcx], 0x5c
jne 0x14002595f
inc rcx
cmp rcx, rax
je 0x14002595f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14002594e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002595c
test dl, 0x10
jne 0x14002595f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14002595f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023c00
jmp 0x140025a76
cmp ecx, 0x24
jne 0x1400259cf
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140025b20
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x1400259c2
cmp byte [rcx], 0x5c
jne 0x1400259bf
inc rcx
cmp rcx, rax
je 0x1400259bf
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400259ae
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400259bc
test dl, 0x10
jne 0x1400259bf
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400259bf
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023c00
jmp 0x140025a76
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140025ab5
cmp ecx, 0x3f
je 0x140025ab5
cmp ecx, 0x7b
je 0x140025ab5
cmp ecx, 0x7d
jne 0x140025a04
test dword [rbx + 0x80], 0x10000000
je 0x140025aaa
jmp 0x140025a15
cmp ecx, 0x5d
jne 0x140025a15
test dword [rbx + 0x80], 0x10000000
je 0x140025a94
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140026c30
mov rcx, qword [rbx]
mov rax, qword [rdi]
cmp rcx, rax
je 0x140025a62
cmp byte [rcx], 0x5c
jne 0x140025a5f
inc rcx
cmp rcx, rax
je 0x140025a5f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140025a4e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140025a5c
test dl, 0x10
jne 0x140025a5f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140025a5f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.140023c00
mov rcx, rbx
call fcn.140026a70
lea rdi, [rbx + 0x10]
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140025594
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.140023bf0
int3
mov edx, 5
call fcn.140023bf0
int3
mov edx, 6
call fcn.140023bf0
int3
mov edx, 0xa
call fcn.140023bf0
int3
mov edx, 4
call fcn.140023bf0
int3
mov edx, 5
call fcn.140023bf0
int3