Function at 0x1003298c8
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, 0x58
mov rdi, rdx
mov r13, rcx
mov rcx, qword [rcx + 0x10]
lea rsi, [rcx + 1]
mov rdx, rsi
mov qword [rsp + 0x20], rsi
mov eax, 0x59b088c1
lea r11, [0x100000000]
mov rcx, r11
mov r8d, dword [rsi + 0xc]
mov rbp, 0xfffffffffffff000
mov r9d, dword [rsi]
and qword [rsp + 0xb0], 0
mov eax, 0xfffffff
and r9, rax
and r8, rax
add r9, r11
mov rax, qword [0x1000487b8]
sub rcx, rax
mov qword [rsp + 0x28], rcx
jne 0x1003299b9
xor r11d, r11d
test r8, r8
je 0x100329ca4
mov r14d, 0x6056ace2
mov r10d, dword [rsp + 0xb0]
mov r15d, 0x9fa9531e
mov edx, dword [rsp + 0xb4]
movzx eax, byte [r11 + r9]
inc r11
sub eax, r14d
add r10d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0xa0], rax
mov ecx, dword [rsp + 0xa0]
shr rax, 0x20
add ecx, eax
mov edx, ecx
imul edx, edx, 0xc010
rol edx, 0xe
ror ecx, 0xe
xor edx, ecx
add r10d, edx
cmp r11, r8
jb 0x100329964
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r10d
jmp 0x100329ca4
movsxd rdx, dword [0x10000003c]
lea rax, [r9 + r8]
mov qword [rsp + 0x40], rax
lea rax, [0x1000000b0]
add rdx, rax
mov r12d, dword [rdx + 4]
mov eax, r9d
sub eax, r11d
mov r10d, eax
mov ebx, eax
and r10, rbp
lea rsi, [rax + r8]
mov r8d, dword [rdx]
mov rdi, rsi
and rdi, rbp
mov qword [rsp + 0x30], rdi
add r8, r11
sub rbx, r10
sub rsi, rdi
add r12, r8
mov qword [rsp + 0x38], rsi
jmp 0x100329a19
mov eax, dword [r8]
cmp rax, r10
jae 0x100329a1e
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r12
jne 0x100329a0a
xor r11d, r11d
cmp r8, r12
je 0x100329a58
mov eax, dword [r8]
cmp rax, r10
jne 0x100329a58
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x100329a58
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x100329a58
inc r11
add rdx, 2
cmp r11, rcx
jne 0x100329a3f
mov r10d, dword [rsp + 0xb4]
mov r13, qword [rsp + 0x28]
mov r14d, 0x6056ace2
mov r15d, 0x9fa9531e
mov ebp, dword [rsp + 0xb0]
cmp r8, r12
je 0x100329c28
mov eax, dword [r8]
cmp rax, rdi
ja 0x100329c28
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x100329aba
add r8, rcx
cmp r8, r12
je 0x100329c28
mov eax, dword [r8]
cmp rax, rdi
ja 0x100329c28
xor r11d, r11d
jmp 0x100329a8d
mov eax, dword [r8]
cmp rax, rdi
jne 0x100329ad6
movzx eax, word [r8 + r11*2 + 8]
and eax, 0xfff
cmp rax, rsi
jae 0x100329c28
mov ecx, 0xf000
mov rax, r11
inc r11
test word [r8 + rax*2 + 8], cx
je 0x100329a78
movzx edx, word [r8 + rax*2 + 8]
xor esi, esi
mov edi, edx
lea rax, [0x100000000]
and edi, 0xfff
add edi, dword [r8]
add rdi, rax
mov rbx, rdi
sub rbx, r9
je 0x100329b62
movzx eax, byte [rsi + r9]
inc rsi
sub eax, r14d
add ebp, eax
add eax, r10d
imul rax, r15
mov qword [rsp + 0xb8], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xb8]
add ecx, eax
mov r10d, ecx
imul r10d, r10d, 0xc010
rol r10d, 0xe
ror ecx, 0xe
xor r10d, ecx
add ebp, r10d
cmp rsi, rbx
jb 0x100329b0e
mov dword [rsp + 0xb4], r10d
mov dword [rsp + 0xb0], ebp
shr edx, 0xc
mov rax, qword [rdi]
cmp edx, 3
mov qword [rsp + 0xb8], rax
je 0x100329b81
sub edx, 0xa
neg edx
sbb edx, edx
add edx, 3
jmp 0x100329b86
mov edx, 2
mov r9, r13
neg r9
sub edx, 2
je 0x100329bae
cmp edx, 1
je 0x100329b9c
or rdx, 0xffffffffffffffff
jmp 0x100329bbb
add rax, r9
mov edx, 8
mov qword [rsp + 0xb8], rax
jmp 0x100329bbb
mov edx, 4
add dword [rsp + 0xb8], r9d
xor r9d, r9d
test rdx, rdx
je 0x100329c15
movzx eax, byte [rsp + r9 + 0xb8]
inc r9
sub eax, r14d
add ebp, eax
add eax, r10d
imul rax, r15
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
shr rax, 0x20
add ecx, eax
mov r10d, ecx
imul r10d, r10d, 0xc010
rol r10d, 0xe
ror ecx, 0xe
xor r10d, ecx
add ebp, r10d
cmp r9, rdx
jb 0x100329bc3
mov dword [rsp + 0xb4], r10d
mov dword [rsp + 0xb0], ebp
lea r9, [rdx + rdi]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
jmp 0x100329a78
mov r13, qword [rsp + 0xa0]
xor edx, edx
mov rsi, qword [rsp + 0x40]
sub rsi, r9
je 0x100329c90
movzx eax, byte [rdx + r9]
inc rdx
sub eax, r14d
add ebp, eax
add eax, r10d
imul rax, r15
mov qword [rsp + 0xa0], rax
mov ecx, dword [rsp + 0xa0]
shr rax, 0x20
add ecx, eax
mov r10d, ecx
imul r10d, r10d, 0xc010
rol r10d, 0xe
ror ecx, 0xe
xor r10d, ecx
add ebp, r10d
cmp rdx, rsi
jb 0x100329c3c
mov dword [rsp + 0xb4], r10d
mov dword [rsp + 0xb0], ebp
mov rbp, 0xfffffffffffff000
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x20]
mov r14d, 0xfffffff
add qword [r13 + 0x10], 0x11
mov eax, dword [rsi + 4]
and rax, r14
lea r12, [0x100000000]
mov rax, qword [rax + r12]
cmp qword [rsp + 0xb0], rax
je 0x100329dcd
call fcn.100058248
lea r9, [r13 + 0x18]
mov rbx, rax
mov r11d, 0xffff
and r9, 0xfffffffffffffff8
lea r10, [r9 + 0xfff]
and rbx, rbp
and r10, rbp
xor r8d, r8d
lea rbp, [0x1001094ec]
mov qword [r13 + 0x10], rbp
mov rcx, qword [0x1004c43a0]
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 0x100329d06
movabs rax, 0x8000800080008001
mov qword [0x1004c43a0], rcx
mul r8
mov qword [rdi + 0x98], rbx
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [rdi + 0xb0], r8
mov qword [rsp + 0xa0], r11
jmp 0x100329d7a
mov rax, qword [rsp + 0xa0]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x100329d6b
movabs r8, 0xffffe3ae22b90000
mov qword [r13 + 0x10], rbp
mov eax, dword [rsi + 8]
and rax, r14
mov rdx, qword [rdi + 0xb0]
mov rcx, rdx
xor rcx, r8
shl rcx, 0x10
mov qword [rdi + 0x80], rdx
mov eax, dword [rax + r12]
xor rcx, rax
mov eax, dword [0x1004a9c40]
xor rcx, rax
xor rcx, rdx
and qword [rdi + 0xb0], 0
mov qword [rdi + 0xa0], rcx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret