Function at 0x5bff00
Capabilities:
Parse credit card information

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x5c066b
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x5c062f
shr rax, 1
mov qword [rsp + 0x10], rax
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], 0
call fcn.0043ffb0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x80]
cmp byte [rbx], 0x22
jne 0x5c036b
mov rsi, qword [rsp + 0x88]
dec rsi
mov rdi, rsi
neg rsi
sar rsi, 0x3f
and rsi, 1
add rbx, rsi
jmp 0x5bffa1
mov rdi, rbx
mov rbx, rcx
mov rcx, rsi
test rdi, rdi
je 0x5c0336
movzx esi, byte [rbx]
lea r8, [rdi - 1]
mov r9, r8
neg r8
sar r8, 0x3f
and r8, 1
lea r10, [r8 + rbx]
cmp sil, 0x22
je 0x5c01fe
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x48], rcx
cmp sil, 0x5c
jne 0x5c0101
cmp rdi, 1
je 0x5c00cc
movzx ebx, byte [rbx + r8]
cmp bl, 0xb
jne 0x5c0074
lea rsi, [rcx + 1]
cmp rsi, rdx
jg 0x5c0018
mov byte [rax + rcx], bl
lea rcx, [rdi - 2]
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and rcx, 1
add rcx, r10
jmp 0x5bff98
mov byte [rsp + 0x45], bl
mov qword [rsp + 0x88], rdi
lea rbx, [0x008569c0]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rsi
call fcn.004400c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rsi, [rcx + 1]
mov rcx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x45]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x68]
jmp 0x5bfffe
cmp bl, 0xc
je 0x5bfff5
lea esi, [rbx - 1]
cmp sil, 8
jbe 0x5bfff5
lea esi, [rbx - 0xe]
cmp sil, 0x71
jbe 0x5bfff5
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
cmp sil, 0xb
jne 0x5c0179
lea rbx, [rcx + 1]
cmp rbx, rdx
jg 0x5c0122
mov byte [rax + rcx], sil
mov rcx, r10
mov rsi, rbx
mov rbx, r9
jmp 0x5bff98
mov byte [rsp + 0x44], sil
mov qword [rsp + 0x58], r9
lea rsi, [0x008569c0]
mov qword [rsp], rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
call fcn.004400c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rbx, [rcx + 1]
mov rcx, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x44]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x5c0110
cmp sil, 0xc
je 0x5c0107
cmp sil, 0x20
je 0x5c0107
cmp sil, 0x21
je 0x5c0107
cmp sil, 0x7f
je 0x5c0107
lea ebx, [rsi - 1]
cmp bl, 7
jbe 0x5c0107
lea ebx, [rsi - 0xe]
cmp bl, 0x11
jbe 0x5c0107
lea ebx, [rsi - 0x23]
cmp bl, 0x38
jbe 0x5c0107
lea ebx, [rsi - 0x5d]
cmp bl, 0x21
jbe 0x5c0107
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
test r9, r9
jne 0x5c0238
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
cmp byte [r10], 0x40
jne 0x5c0203
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rax
lea rax, [r9 - 1]
mov qword [rsp + 0x88], rax
mov rcx, rax
neg rax
sar rax, 0x3f
and rax, 1
add rax, r10
mov qword [rsp + 0x80], rax
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.005c0680
lea rax, [rsp + 0x28]
cmp byte [rax], 0
je 0x5c0301
mov qword [rsp], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x18], rax
call fcn.00443ed0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 1
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rsi, qword [rsp + 0x88]
jmp 0x5c0394
mov byte [rax + rcx], dil
lea rdi, [r8 - 1]
mov r8, rdi
neg rdi
sar rdi, 0x3f
and rdi, 1
add rbx, rdi
mov rcx, rsi
mov rsi, r8
mov qword [rsp + 0x48], rcx
test rsi, rsi
jle 0x5c0531
movzx edi, byte [rbx]
cmp dil, 0x5c
jne 0x5c0483
lea rdi, [rsi - 1]
mov r8, rdi
neg rdi
sar rdi, 0x3f
and rdi, 1
add rbx, rdi
cmp rsi, 1
je 0x5c044e
test r8, r8
jbe 0x5c0664
lea rsi, [rcx + 1]
movzx edi, byte [rbx]
cmp rsi, rdx
jle 0x5c0375
mov qword [rsp + 0x88], r8
mov byte [rsp + 0x45], dil
mov qword [rsp + 0x80], rbx
lea rbx, [0x008569c0]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rsi
call fcn.004400c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rsi, [rcx + 1]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x80]
movzx edi, byte [rsp + 0x45]
mov r8, qword [rsp + 0x88]
jmp 0x5c0375
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
lea r8d, [rdi - 0x30]
cmp r8b, 9
ja 0x5c0495
mov r8, rsi
jmp 0x5c03ce
lea r8d, [rdi - 0x61]
cmp r8b, 0x19
jbe 0x5c048d
lea r8d, [rdi - 0x41]
cmp r8b, 0x19
jbe 0x5c048d
cmp dil, 0x21
je 0x5c048d
cmp dil, 0x23
je 0x5c048d
cmp dil, 0x24
je 0x5c048d
cmp dil, 0x25
je 0x5c048d
cmp dil, 0x26
je 0x5c048d
cmp dil, 0x27
je 0x5c048d
cmp dil, 0x2a
je 0x5c048d
cmp dil, 0x2b
je 0x5c048d
cmp dil, 0x2d
je 0x5c048d
cmp dil, 0x2f
je 0x5c048d
cmp dil, 0x3d
je 0x5c048d
cmp dil, 0x3f
je 0x5c048d
cmp dil, 0x5e
je 0x5c048d
cmp dil, 0x5f
je 0x5c048d
cmp dil, 0x60
je 0x5c048d
cmp dil, 0x7b
je 0x5c048d
cmp dil, 0x7c
je 0x5c048d
cmp dil, 0x7d
je 0x5c048d
cmp dil, 0x7e
je 0x5c048d
cmp dil, 0x2e
je 0x5c048d
test rcx, rcx
je 0x5c05fa
movzx edi, word [0x00a27c2c]
mov word [rsp + 0x46], di
cmp byte [rax], 0x2e
jne 0x5c0580
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
movzx edi, byte [rcx + rax - 1]
cmp dil, 0x2e
je 0x5c054b
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rax
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
lea rbx, [rsp + 0x46]
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], 2
mov qword [rsp + 0x28], 2
call fcn.004936b0
lea rax, [rsp + 0x30]
cmp byte [rax], 0
jne 0x5c054b
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
jmp 0x5c01fe
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov qword [rsp + 0x90], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
call fcn.0042ba70
ud2
call fcn.004555f0
jmp fcn.005bff00