Function at 0x1400587a0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
mov rbp, rsp
sub rsp, 0x20
inc dword [rcx + 0x6c]
mov rbx, rcx
cmp dword [rcx + 0x6c], 0x14
jg 0x140058de9
lea rdx, [rbp + 0x10]
call fcn.140059060
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.140058e40
dec dword [rbx + 0x6c]
mov edx, dword [rbp + 0x10]
mov qword [rbp + 0x18], 0
mov r8d, dword [rbp + 0x14]
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x14005884c
mov rcx, rbx
call fcn.1400595f0
xor r8d, r8d
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x1400587ec
mov rcx, rbx
cmp eax, 0x3a
jne 0x140058df4
call fcn.1400595f0
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x10], 0
mov r8d, dword [rbp + 0x24]
mov edx, dword [rbp + 0x20]
cmovne edx, dword [rbp + 0x18]
cmp dword [rbp + 0x1c], r8d
mov dword [rbp + 0x10], edx
cmova r8d, dword [rbp + 0x1c]
mov dword [rbp + 0x14], r8d
jmp 0x1400587e4
cmp eax, 0x104
jne 0x14005888d
mov rcx, rbx
call fcn.1400595f0
mov r8d, 2
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x10], 0
jne 0x1400588ba
cmp dword [rbp + 0x18], 0
jne 0x1400588ba
xor edx, edx
mov r8d, 9
mov dword [rbp + 0x10], edx
mov dword [rbp + 0x14], r8d
jmp 0x1400587e4
cmp eax, 0x105
jne 0x1400588d1
mov rcx, rbx
call fcn.1400595f0
mov r8d, 3
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x10], 0
je 0x140058879
cmp dword [rbp + 0x18], 0
je 0x140058879
mov edx, 1
mov r8d, 9
mov dword [rbp + 0x10], edx
mov dword [rbp + 0x14], r8d
jmp 0x1400587e4
cmp eax, 0x7c
jne 0x1400588fb
mov rcx, rbx
call fcn.1400595f0
mov r8d, 4
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov edx, dword [rbp + 0x10]
or edx, dword [rbp + 0x18]
jmp 0x140058c63
cmp eax, 0x5e
jne 0x140058925
mov rcx, rbx
call fcn.1400595f0
mov r8d, 5
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov edx, dword [rbp + 0x10]
xor edx, dword [rbp + 0x18]
jmp 0x140058c63
cmp eax, 0x26
jne 0x14005894f
mov rcx, rbx
call fcn.1400595f0
mov r8d, 6
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov edx, dword [rbp + 0x10]
and edx, dword [rbp + 0x18]
jmp 0x140058c63
cmp eax, 0x106
jne 0x14005898d
mov rcx, rbx
call fcn.1400595f0
mov r8d, 7
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
sete dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x107
jne 0x1400589cb
mov rcx, rbx
call fcn.1400595f0
mov r8d, 7
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setne dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x3c
jne 0x140058a30
mov rcx, rbx
call fcn.1400595f0
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x14], 9
jne 0x140058a13
cmp dword [rbp + 0x1c], 9
jne 0x140058a13
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setl dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setb dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x3e
jne 0x140058a95
mov rcx, rbx
call fcn.1400595f0
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x14], 9
jne 0x140058a78
cmp dword [rbp + 0x1c], 9
jne 0x140058a78
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setg dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
seta dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x108
jne 0x140058afc
mov rcx, rbx
call fcn.1400595f0
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x14], 9
jne 0x140058adf
cmp dword [rbp + 0x1c], 9
jne 0x140058adf
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setle dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setbe dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x109
jne 0x140058b63
mov rcx, rbx
call fcn.1400595f0
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
cmp dword [rbp + 0x14], 9
jne 0x140058b46
cmp dword [rbp + 0x1c], 9
jne 0x140058b46
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setge dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setae dl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x10a
jne 0x140058b94
mov rcx, rbx
call fcn.1400595f0
mov r8d, 9
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov edx, dword [rbp + 0x10]
mov ecx, dword [rbp + 0x18]
shl edx, cl
mov dword [rbp + 0x10], edx
jmp 0x1400587e0
cmp eax, 0x10b
jne 0x140058bd9
mov rcx, rbx
call fcn.1400595f0
mov r8d, 9
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov r8d, dword [rbp + 0x14]
mov ecx, dword [rbp + 0x18]
mov edx, dword [rbp + 0x10]
cmp r8d, 9
jne 0x140058bcf
sar edx, cl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
shr edx, cl
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
cmp eax, 0x2b
jne 0x140058c00
mov rcx, rbx
call fcn.1400595f0
mov r8d, 0xa
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov edx, dword [rbp + 0x10]
add edx, dword [rbp + 0x18]
jmp 0x140058c63
cmp eax, 0x2d
jne 0x140058c27
mov rcx, rbx
call fcn.1400595f0
mov r8d, 0xa
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059490
mov edx, dword [rbp + 0x10]
sub edx, dword [rbp + 0x18]
jmp 0x140058c63
cmp eax, 0x2a
jne 0x140058c81
mov rcx, rbx
call fcn.1400595f0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x140058e0d
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059060
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140058e40
mov edx, dword [rbp + 0x10]
dec dword [rbx + 0x6c]
imul edx, dword [rbp + 0x18]
mov dword [rbp + 0x10], edx
mov eax, dword [rbp + 0x1c]
mov r8d, dword [rbp + 0x14]
cmp eax, r8d
jbe 0x1400587e4
mov r8d, eax
mov dword [rbp + 0x14], eax
jmp 0x1400587e4
cmp eax, 0x2f
jne 0x140058d0a
mov rcx, rbx
call fcn.1400595f0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x140058e0d
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059060
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140058e40
mov r8d, dword [rbp + 0x14]
dec dword [rbx + 0x6c]
cmp dword [rbp + 0x1c], r8d
mov ecx, dword [rbp + 0x18]
cmova r8d, dword [rbp + 0x1c]
mov dword [rbp + 0x14], r8d
test ecx, ecx
je 0x140058dff
mov eax, dword [rbp + 0x10]
cmp r8d, 9
jne 0x140058cfc
cmp eax, 0x80000000
jne 0x140058cef
cmp ecx, 0xffffffff
je 0x140058dff
cdq
idiv ecx
mov edx, eax
mov dword [rbp + 0x10], eax
jmp 0x1400587e4
xor edx, edx
div ecx
mov edx, eax
mov dword [rbp + 0x10], eax
jmp 0x1400587e4
cmp eax, 0x25
jne 0x140058d8b
mov rcx, rbx
call fcn.1400595f0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x140058e0d
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140059060
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.140058e40
mov r8d, dword [rbp + 0x14]
dec dword [rbx + 0x6c]
cmp dword [rbp + 0x1c], r8d
mov ecx, dword [rbp + 0x18]
cmova r8d, dword [rbp + 0x1c]
mov dword [rbp + 0x14], r8d
test ecx, ecx
je 0x140058dff
mov eax, dword [rbp + 0x10]
cmp r8d, 9
jne 0x140058d7f
cmp eax, 0x80000000
jne 0x140058d74
cmp ecx, 0xffffffff
je 0x140058dff
cdq
idiv ecx
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
xor edx, edx
div ecx
mov dword [rbp + 0x10], edx
jmp 0x1400587e4
mov rax, qword [rbx + 0x50]
mov r9, qword [rax]
mov eax, r8d
lea rcx, [rax + rax*2]
mov r8d, dword [r9 + rcx*8]
mov eax, r8d
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x140058dcb
nop dword [rax]
movzx ecx, r8w
lea rax, [rcx + rcx*2]
mov r8d, dword [r9 + rax*8]
mov eax, r8d
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x140058db0
test r8d, 0xfc000000
jne 0x140058e1b
cmp edx, 0x80000000
jae 0x140058e29
mov rbx, qword [rsp + 0x48]
mov eax, edx
add rsp, 0x20
pop rbp
ret
mov edx, 0x8d0
call fcn.140057e40
int3
mov edx, 0x3a
call fcn.140057ea0
int3
mov edx, 0x219
mov rcx, rbx
call fcn.140057e40
int3
mov edx, 0x8d0
mov rcx, rbx
call fcn.140057e40
int3
mov edx, 0x219
mov rcx, rbx
call fcn.140057e40
int3
mov edx, 0xbff
mov rcx, rbx
call fcn.140057e40
int3