Function at 0x1400808b0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r11d, r11d
mov r15d, r9d
mov rdi, rdx
mov r13, rcx
test rcx, rcx
jne 0x1400808ed
mov ecx, 0x80004005
call fcn.14000cbb8
int3
test rdx, rdx
jne 0x1400808fd
mov ecx, 0x80004005
call fcn.14000cbb8
int3
cmp rcx, rdx
jne 0x14008090d
mov ecx, 0x80004005
call fcn.14000cbb8
int3
mov bl, byte [rcx]
mov r10, rdx
mov qword [rbp - 8], rdx
add rdx, r15
mov eax, r11d
mov r12d, r11d
mov dword [rbp - 0x20], r11d
mov esi, 1
mov r9d, r11d
mov dword [rbp - 0x1c], r11d
mov dword [rbp - 0x18], eax
mov r14d, r11d
mov qword [rbp - 0x10], rdx
test bl, bl
je 0x140080d18
mov ecx, 1
add r13, rcx
cmp r12d, r15d
cmove esi, r11d
mov qword [rbp + 0x40], r13
cmp bl, 0x3a
jne 0x140080a0c
test r14b, r14b
jns 0x140080b5b
test eax, eax
jne 0x140080ae0
test esi, esi
je 0x1400809ff
mov eax, r12d
mov rcx, rdi
mov byte [rdi], r11b
sub rcx, rax
cmp rcx, r10
jb 0x140080caa
cmp rcx, rdx
ja 0x140080caa
sub rdx, rcx
inc rdx
call fcn.1400c554c
xor r11d, r11d
test eax, eax
je 0x1400809ca
cmp eax, 0xc
je 0x140080c9f
cmp eax, 0x16
je 0x140080c94
cmp eax, 0x22
je 0x140080c94
cmp eax, 0x50
jne 0x140080c89
cmp r12d, 4
jne 0x1400809fb
lea rdx, [rdi - 4]
lea rcx, str.file
mov r8d, r12d
call fcn.1400c5570
mov r9d, dword [rbp - 0x1c]
xor r11d, r11d
test eax, eax
lea eax, [r12 - 3]
cmove r9d, eax
mov dword [rbp - 0x1c], r9d
jmp 0x1400809ff
mov r9d, dword [rbp - 0x1c]
lea eax, [r12 + 1]
mov dword [rbp - 0x18], eax
jmp 0x140080ae0
cmp bl, 0x25
jne 0x140080acc
test r14b, 4
je 0x140080ae0
mov al, byte [r13]
test al, al
je 0x140080d10
add r13, rcx
mov rdx, rcx
cmp al, 0x30
jb 0x140080a42
cmp al, 0x39
ja 0x140080a42
movzx ebx, al
sub bx, 0x30
jmp 0x140080a67
cmp al, 0x41
jb 0x140080a53
cmp al, 0x46
ja 0x140080a53
movzx ebx, al
sub bx, 0x37
jmp 0x140080a67
cmp al, 0x61
jb 0x140080a64
cmp al, 0x66
ja 0x140080a64
movzx ebx, al
sub bx, 0x57
jmp 0x140080a67
or ebx, 0xffffffff
test bx, bx
js 0x140080cb5
mov al, byte [r13]
shl bl, 4
test al, al
je 0x140080d10
add r13, rdx
mov qword [rbp + 0x40], r13
cmp al, 0x30
jb 0x140080a97
cmp al, 0x39
ja 0x140080a97
movzx ecx, al
sub cx, 0x30
jmp 0x140080abc
cmp al, 0x41
jb 0x140080aa8
cmp al, 0x46
ja 0x140080aa8
movzx ecx, al
sub cx, 0x37
jmp 0x140080abc
cmp al, 0x61
jb 0x140080ab9
cmp al, 0x66
ja 0x140080ab9
movzx ecx, al
sub cx, 0x57
jmp 0x140080abc
or ecx, 0xffffffff
test cx, cx
js 0x140080cb5
mov eax, dword [rbp - 0x18]
add bl, cl
jmp 0x140080ae0
cmp bl, 0x3f
je 0x140080ad6
cmp bl, 0x23
jne 0x140080ae0
test r14b, 0x20
je 0x140080ae0
or r14d, 2
test r14b, r14b
jns 0x140080b5b
test r14b, 2
jne 0x140080b5b
cmp bl, 0x5c
jne 0x140080b0e
test eax, eax
jne 0x140080afb
bt r14d, 8
jae 0x140080b5b
test esi, esi
je 0x140080b5b
test r9d, r9d
je 0x140080b0a
cmp r12d, 7
jae 0x140080b5b
mov bl, 0x2f
jmp 0x140080b5b
cmp bl, 0x2e
jne 0x140080b5b
test r12d, r12d
je 0x140080b5b
test r14b, 8
jne 0x140080b5b
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x20]
lea rdx, [rdi - 1]
lea r9, [rbp + 0x40]
lea rcx, [rbp + 0x48]
mov r8d, r12d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.140080798
mov rdi, qword [rbp + 0x48]
mov r13, qword [rbp + 0x40]
mov r12d, dword [rbp - 0x20]
xor r11d, r11d
test eax, eax
jne 0x140080c5b
movzx ecx, bl
cmp ecx, 0x40
jg 0x140080b83
cmp ecx, 0x3b
jge 0x140080ba8
cmp ecx, 0x20
je 0x140080ba8
cmp ecx, 0x21
jle 0x140080b9a
cmp ecx, 0x26
jle 0x140080ba8
cmp ecx, 0x2a
jle 0x140080b9a
cmp ecx, 0x2c
jle 0x140080ba8
jmp 0x140080b9a
cmp ecx, 0x5b
jl 0x140080b9a
cmp ecx, 0x5e
jle 0x140080ba8
cmp ecx, 0x60
je 0x140080ba8
lea eax, [rcx - 0x7b]
cmp eax, 2
jbe 0x140080ba8
cmp bl, 0x20
jb 0x140080ba8
cmp bl, 0x7e
jbe 0x140080c7b
test r14b, 2
jne 0x140080c7b
test r14b, 0x10
je 0x140080bbd
cmp bl, 0x20
jne 0x140080bd3
test r14b, 8
je 0x140080bc8
cmp bl, 0x2e
je 0x140080bd3
test r14b, 0x40
jne 0x140080be7
cmp bl, 0x25
jne 0x140080be7
mov eax, 1
test esi, esi
je 0x140080c54
mov byte [rdi], bl
add rdi, rax
mov qword [rbp + 0x48], rdi
jmp 0x140080c54
lea eax, [r15 - 3]
cmp r12d, eax
sbb eax, eax
and esi, eax
je 0x140080c4b
mov byte [rdi], 0x25
lea rdx, [rdi + 1]
cmp bl, 0x10
jae 0x140080c06
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rbp - 0x10]
mov r9d, 0x10
sub r8, rdx
call fcn.1400c5744
xor r11d, r11d
test eax, eax
je 0x140080c43
cmp eax, 0xc
je 0x140080d05
cmp eax, 0x16
je 0x140080cfa
cmp eax, 0x22
je 0x140080cfa
cmp eax, 0x50
jne 0x140080cef
add rdi, 3
mov qword [rbp + 0x48], rdi
add r12d, 2
mov eax, 1
add r12d, eax
mov dword [rbp - 0x20], r12d
mov bl, byte [r13]
test bl, bl
je 0x140080d10
mov eax, dword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov r9d, dword [rbp - 0x1c]
mov r10, qword [rbp - 8]
jmp 0x140080941
test esi, esi
je 0x140080c4f
mov eax, 1
jmp 0x140080bdc
mov ecx, 0x80004005
call fcn.14000cbb8
int3
mov ecx, 0x80070057
call fcn.14000cbb8
int3
mov ecx, 0x8007000e
call fcn.14000cbb8
int3
mov ecx, 0x80004005
call fcn.14000cbb8
int3
mov esi, r11d
mov r8, qword [rbp + 0x50]
test r8, r8
je 0x140080cc9
lea ecx, [r12 + 1]
mov dword [r8], ecx
mov rbx, qword [rsp + 0xb8]
lea ecx, [r12 + 1]
cmp ecx, r15d
cmova esi, r11d
mov eax, esi
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000cbb8
int3
mov ecx, 0x80070057
call fcn.14000cbb8
int3
mov ecx, 0x8007000e
call fcn.14000cbb8
int3
test esi, esi
je 0x140080cb8
mov r8, qword [rbp + 0x50]
cmp r12d, r15d
jae 0x140080cbc
mov byte [rdi], r11b
jmp 0x140080cbc