Function at 0x1002bb048
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r13, rcx
mov r14, rdx
mov rcx, qword [rcx + 0x10]
lea rsi, [rcx + 1]
mov qword [rsp + 0x20], rsi
mov rdx, rsi
mov eax, 0xe99ebdd2
mov r10d, dword [rsi + 0xc]
mov r8d, dword [rsi + 8]
and qword [rsp + 0xa0], 0
lea r12, [0x100000000]
mov rcx, r12
mov eax, 0xfffffff
mov r11, 0xfffffffffffff000
and r10, rax
and r8, rax
add r10, r12
mov rax, qword [0x1000487b8]
sub rcx, rax
mov qword [rsp + 0x28], rcx
jne 0x1002bb11e
xor r9d, r9d
test r8, r8
je 0x1002bb3d0
mov ebp, 0x7d86fbd4
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa4]
movzx eax, byte [r9 + r10]
inc r9
sub eax, ebp
add edx, eax
add eax, ecx
imul eax, eax, 0x8279042c
ror eax, 0xd
mov ecx, eax
imul ecx, ecx, 0xf04d
rol ecx, 0xc
ror eax, 0xc
xor ecx, eax
add edx, ecx
cmp r9, r8
jb 0x1002bb0dd
mov dword [rsp + 0xa4], ecx
mov dword [rsp + 0xa0], edx
jmp 0x1002bb3d0
movsxd rdx, dword [0x10000003c]
lea rax, [r10 + r8]
mov qword [rsp + 0x38], rax
lea rax, [0x1000000b0]
add rdx, rax
mov eax, r10d
sub eax, r12d
mov ebx, eax
mov r9d, eax
and r9, r11
lea rsi, [rax + r8]
mov r15, rsi
mov r8d, dword [rdx]
add r8, r12
and r15, r11
sub rbx, r9
sub rsi, r15
mov r12d, dword [rdx + 4]
add r12, r8
mov qword [rsp + 0x30], rsi
jmp 0x1002bb179
mov eax, dword [r8]
cmp rax, r9
jae 0x1002bb17e
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r12
jne 0x1002bb16a
xor r11d, r11d
cmp r8, r12
je 0x1002bb1b8
mov eax, dword [r8]
cmp rax, r9
jne 0x1002bb1b8
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x1002bb1b8
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x1002bb1b8
inc r11
add rdx, 2
cmp r11, rcx
jne 0x1002bb19f
mov r14, qword [rsp + 0x28]
lea r13, [0x100000000]
mov r9d, dword [rsp + 0xa4]
mov edi, dword [rsp + 0xa0]
mov ebp, 0x7d86fbd4
cmp r8, r12
je 0x1002bb35e
mov eax, dword [r8]
cmp rax, r15
ja 0x1002bb35e
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x1002bb21a
add r8, rcx
cmp r8, r12
je 0x1002bb35e
mov eax, dword [r8]
cmp rax, r15
ja 0x1002bb35e
xor r11d, r11d
jmp 0x1002bb1ed
mov eax, dword [r8]
cmp rax, r15
jne 0x1002bb236
movzx eax, word [r8 + r11*2 + 8]
and eax, 0xfff
cmp rax, rsi
jae 0x1002bb35e
mov rax, r11
inc r11
mov ecx, 0xf000
test word [r8 + rax*2 + 8], cx
je 0x1002bb1d8
xor ebx, ebx
movzx ecx, word [r8 + rax*2 + 8]
mov esi, ecx
and esi, 0xfff
add esi, dword [r8]
add rsi, r13
mov rdx, rsi
sub rdx, r10
je 0x1002bb2aa
movzx eax, byte [rbx + r10]
inc rbx
sub eax, ebp
add edi, eax
add eax, r9d
imul eax, eax, 0x8279042c
ror eax, 0xd
mov r9d, eax
imul r9d, r9d, 0xf04d
rol r9d, 0xc
ror eax, 0xc
xor r9d, eax
add edi, r9d
cmp rbx, rdx
jb 0x1002bb267
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa0], edi
mov rax, qword [rsi]
shr ecx, 0xc
mov qword [rsp + 0xa8], rax
cmp ecx, 3
je 0x1002bb2c9
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1002bb2ce
mov edx, 2
mov r10, r14
neg r10
sub edx, 2
je 0x1002bb2f6
cmp edx, 1
je 0x1002bb2e4
or rcx, 0xffffffffffffffff
jmp 0x1002bb303
add rax, r10
mov ecx, 8
mov qword [rsp + 0xa8], rax
jmp 0x1002bb303
mov ecx, 4
add dword [rsp + 0xa8], r10d
xor edx, edx
test rcx, rcx
je 0x1002bb350
movzx eax, byte [rsp + rdx + 0xa8]
inc rdx
sub eax, ebp
add edi, eax
add eax, r9d
imul eax, eax, 0x8279042c
ror eax, 0xd
mov r9d, eax
imul r9d, r9d, 0xf04d
rol r9d, 0xc
ror eax, 0xc
xor r9d, eax
add edi, r9d
cmp rdx, rcx
jb 0x1002bb30a
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa0], edi
lea r10, [rcx + rsi]
mov rsi, qword [rsp + 0x30]
jmp 0x1002bb1d8
xor ecx, ecx
mov rsi, qword [rsp + 0x38]
sub rsi, r10
mov r14, qword [rsp + 0x98]
mov r13, qword [rsp + 0x90]
je 0x1002bb3bd
movzx eax, byte [rcx + r10]
inc rcx
sub eax, ebp
add edi, eax
add eax, r9d
imul eax, eax, 0x8279042c
ror eax, 0xd
mov r9d, eax
imul r9d, r9d, 0xf04d
rol r9d, 0xc
ror eax, 0xc
xor r9d, eax
add edi, r9d
cmp rcx, rsi
jb 0x1002bb37a
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa0], edi
mov r11, 0xfffffffffffff000
lea r12, [0x100000000]
mov rsi, qword [rsp + 0x20]
mov ebp, 0xfffffff
add qword [r13 + 0x10], 0x11
mov eax, dword [rsi + 4]
and rax, rbp
mov rax, qword [rax + r12]
cmp qword [rsp + 0xa0], rax
je 0x1002bb4f3
call fcn.100058248
mov rbx, rax
lea rdi, [0x1001094ec]
lea r9, [r13 + 0x18]
and r9, 0xfffffffffffffff8
and rbx, r11
mov qword [r13 + 0x10], rdi
lea r10, [r9 + 0xfff]
mov rcx, qword [0x1004c43a0]
and r10, r11
mov r11d, 0xffff
xor r8d, r8d
imul rcx, rcx, 0x343fd
shl r8, 0x10
shr r11, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r8, rdx
test r11, r11
jne 0x1002bb42a
mov qword [0x1004c43a0], rcx
movabs rax, 0x8000800080008001
mul r8
mov qword [r14 + 0x98], rbx
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r14 + 0xb0], r8
mov qword [rsp + 0x90], r11
jmp 0x1002bb49e
mov rax, qword [rsp + 0x90]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x1002bb48f
movabs r8, 0x2f28cd3e0000
mov qword [r13 + 0x10], rdi
mov rdx, qword [r14 + 0xb0]
mov rcx, rdx
mov eax, dword [rsi]
mov qword [r14 + 0x80], rdx
shr rax, 1
and rax, rbp
xor rcx, r8
shl rcx, 0x10
mov eax, dword [rax + r12]
xor rcx, rax
mov eax, dword [0x1004c3720]
xor rcx, rax
xor rcx, rdx
and qword [r14 + 0xb0], 0
mov qword [r14 + 0xa0], rcx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret