Function at 0x14000f580
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rdi, qword [rcx + 0xa0]
mov rax, qword [rcx + 0xb0]
lea rcx, [rax + 1]
mov qword [rsi + 0xb0], rcx
movzx ebx, byte [rax]
mov r14, qword [rsi + 0xc0]
movzx r15d, bl
movzx ebp, byte [r14 + r15 + 0x139]
test bpl, bpl
jne 0x14000f5e3
mov rax, qword [r14]
mov bpl, 0x20
mov rcx, r14
mov edx, ebx
mov r8b, 0x20
call qword [rax + 0x40]
cmp al, 0x20
je 0x14000f5e3
mov byte [r14 + r15 + 0x139], al
mov ebp, eax
movsx edx, bpl
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x14000f79d
cmp bl, 0x5c
jne 0x14000f63e
mov rax, qword [rsi + 0xb0]
cmp rax, qword [rsi + 0xb8]
je 0x14000f8d1
movzx ecx, word [rsi + 0x8c]
test ecx, 0x120
je 0x14000f694
movzx ecx, byte [rax]
lea edx, [rcx - 0x28]
cmp edx, 2
jb 0x14000f630
cmp ecx, 0x7b
jne 0x14000f694
lea rcx, [rax + 1]
mov qword [rsi + 0xb0], rcx
movzx ebx, byte [rax]
movzx r14d, bl
cmp r14d, 0x5a
jg 0x14000f66b
cmp r14d, 0x28
je 0x14000f707
cmp r14d, 0x29
jne 0x14000f78c
mov dword [rsi + 0x90], 8
jmp 0x14000f7c9
cmp r14d, 0x5b
je 0x14000f6c0
cmp r14d, 0x7b
jne 0x14000f795
mov dword [rsi + 0x88], 1
mov dword [rsi + 0x90], 0xc
jmp 0x14000f7c9
mov rax, qword [rsi + 0xe8]
add rsi, qword [rsi + 0xf0]
test al, 1
je 0x14000f6ae
mov rcx, qword [rsi]
mov rax, qword [rax + rcx - 1]
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp rax
mov dword [rsi + 0x88], 2
mov byte [rsi + 0xa8], 1
mov rax, qword [rsi + 0xb0]
cmp rax, qword [rsi + 0xb8]
je 0x14000f780
cmp byte [rax], 0x5e
jne 0x14000f780
mov dword [rsi + 0x90], 0xa
inc rax
mov qword [rsi + 0xb0], rax
jmp 0x14000f7c9
mov ecx, dword [rsi + 0x8c]
test cl, 0x10
je 0x14000f76b
mov rax, qword [rsi + 0xb0]
cmp byte [rax], 0x3f
jne 0x14000f76b
lea rcx, [rax + 1]
mov qword [rsi + 0xb0], rcx
cmp rcx, qword [rsi + 0xb8]
je 0x14000f8d6
movzx ecx, byte [rcx]
cmp ecx, 0x21
je 0x14000f879
cmp ecx, 0x3d
je 0x14000f84c
cmp ecx, 0x3a
jne 0x14000f8d1
add rax, 2
mov qword [rsi + 0xb0], rax
mov dword [rsi + 0x90], 6
jmp 0x14000f7c9
test cl, 2
jne 0x14000f832
mov dword [rsi + 0x90], 5
jmp 0x14000f7c9
mov dword [rsi + 0x90], 9
jmp 0x14000f7c9
test r14d, r14d
je 0x14000f8a6
mov eax, ebx
and al, 0xdf
cmp al, 0x5d
jne 0x14000f7d7
mov dword [rsi + 0x90], 1
mov r8, qword [rsi + 0xd0]
add rsi, 0xc8
mov byte [rsp + 0x20], bl
mov r9d, 1
mov rcx, rsi
xor edx, edx
call fcn.1400017a0
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov rdi, qword [rsi + 0xc0]
movzx ebp, byte [rdi + r14 + 0x139]
test bpl, bpl
jne 0x14000f80a
mov rax, qword [rdi]
xor ebp, ebp
mov rcx, rdi
mov edx, ebx
xor r8d, r8d
call qword [rax + 0x40]
test al, al
je 0x14000f80a
mov byte [rdi + r14 + 0x139], al
mov ebp, eax
movzx ecx, byte [rsi]
test cl, cl
je 0x14000f7c9
lea rax, [rsi + 8]
nop word cs:[rax + rax]
cmp cl, bpl
je 0x14000f83e
movzx ecx, byte [rax]
add rax, 8
test cl, cl
jne 0x14000f820
jmp 0x14000f7c9
mov dword [rsi + 0x90], 6
jmp 0x14000f7c9
mov eax, dword [rax - 4]
mov dword [rsi + 0x90], eax
jmp 0x14000f7c9
add rax, 2
mov qword [rsi + 0xb0], rax
mov dword [rsi + 0x90], 7
mov r8, qword [rsi + 0xd0]
add rsi, 0xc8
mov byte [rsp + 0x20], 0x70
jmp 0x14000f7b9
add rax, 2
mov qword [rsi + 0xb0], rax
mov dword [rsi + 0x90], 7
mov r8, qword [rsi + 0xd0]
add rsi, 0xc8
mov byte [rsp + 0x20], 0x6e
jmp 0x14000f7b9
test byte [rsi + 0x8c], 0x10
je 0x14000f8e0
mov dword [rsi + 0x90], 1
mov r8, qword [rsi + 0xd0]
add rsi, 0xc8
mov byte [rsp + 0x20], 0
jmp 0x14000f7b9
call sub.msvcrt.dll_abort
mov ecx, 5
call fcn.140001740
mov ecx, 0xd
call fcn.140001740
int3