Function at 0x1001ab580
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
lea rsp, [rsp - 0x60]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 8], rdx
mov qword [rbp - 0x10], r8
mov dword [rbp - 0x18], r9d
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x20]
mov rdx, rax
call fcn.1001ab9b0
mov dword [rbp - 0x28], 0xffffffff
add dword [rbp - 0x28], 1
mov ecx, 0x100
call fcn.1000103c0
mov byte [rbp - 0x24], al
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x14]
and eax, 0xffff
or eax, 2
mov dword [rbp - 0x2c], eax
xor eax, 1
movsxd rax, eax
movsxd rdx, dword [rbp - 0x2c]
imul rax, rdx
shr rax, 8
mov dword [rbp - 0x2c], eax
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0xc]
movzx ecx, byte [rbp - 0x24]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0xc], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xc]
and eax, 0xff
mov rdx, qword [rbp - 0x20]
add eax, dword [rdx + 0x10]
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x10]
imul eax, eax, 0x8088405
lea edx, [eax + 1]
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x10], edx
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax + 0x10]
shr ecx, 0x18
and ecx, 0xff
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0x14]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x14], eax
movzx eax, byte [rbp - 0x24]
xor eax, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x28]
mov byte [rbp + rdx - 0x38], al
cmp dword [rbp - 0x28], 9
jl 0x1001ab5b0
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x20]
call fcn.1001ab9b0
mov dword [rbp - 0x28], 0xffffffff
add dword [rbp - 0x28], 1
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x14]
and eax, 0xffff
or eax, 2
mov dword [rbp - 0x2c], eax
xor eax, 1
movsxd rax, eax
movsxd rdx, dword [rbp - 0x2c]
imul rax, rdx
shr rax, 8
mov dword [rbp - 0x2c], eax
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0xc]
mov eax, dword [rbp - 0x28]
movzx ecx, byte [rbp + rax - 0x38]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0xc], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xc]
and eax, 0xff
mov rdx, qword [rbp - 0x20]
add eax, dword [rdx + 0x10]
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x10]
imul eax, eax, 0x8088405
add eax, 1
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax + 0x10]
shr ecx, 0x18
and ecx, 0xff
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0x14]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x14], eax
mov eax, dword [rbp - 0x28]
movzx eax, byte [rbp + rax - 0x38]
xor eax, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x28]
mov byte [rbp + rdx - 0x38], al
cmp dword [rbp - 0x28], 9
jl 0x1001ab680
mov al, byte [rbp - 0x16]
mov byte [rbp - 0x24], al
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x14]
and eax, 0xffff
or eax, 2
mov dword [rbp - 0x2c], eax
xor eax, 1
movsxd rax, eax
movsxd rdx, dword [rbp - 0x2c]
imul rax, rdx
shr rax, 8
mov dword [rbp - 0x2c], eax
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0xc]
movzx ecx, byte [rbp - 0x24]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0xc], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xc]
and eax, 0xff
mov rdx, qword [rbp - 0x20]
add eax, dword [rdx + 0x10]
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x10]
imul eax, eax, 0x8088405
add eax, 1
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax + 0x10]
shr ecx, 0x18
and ecx, 0xff
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0x14]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x14], eax
movzx eax, byte [rbp - 0x24]
xor eax, dword [rbp - 0x2c]
mov byte [rbp - 0x2e], al
mov al, byte [rbp - 0x15]
mov byte [rbp - 0x24], al
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x14]
and eax, 0xffff
or eax, 2
mov dword [rbp - 0x2c], eax
xor eax, 1
movsxd rax, eax
movsxd rdx, dword [rbp - 0x2c]
imul rax, rdx
shr rax, 8
mov dword [rbp - 0x2c], eax
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0xc]
movzx ecx, byte [rbp - 0x24]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0xc], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xc]
and eax, 0xff
mov rdx, qword [rbp - 0x20]
add eax, dword [rdx + 0x10]
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x10]
imul eax, eax, 0x8088405
add eax, 1
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x10], eax
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax + 0x10]
shr ecx, 0x18
and ecx, 0xff
mov rax, qword [rbp - 0x20]
mov edx, dword [rax + 0x14]
call fcn.1001c1c00
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 0x14], eax
movzx eax, byte [rbp - 0x24]
xor eax, dword [rbp - 0x2c]
mov byte [rbp - 0x2d], al
mov rax, qword [rbp - 0x20]
mov byte [rax + 8], 1
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
mov eax, dword [rbp - 0x30]
mov dword [rdx + 8], eax
nop
lea rsp, [rbp]
pop rbp
ret