Function at 0x100032c8c
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 r13, rdx
mov rbp, rcx
mov rcx, qword [rcx + 0x10]
lea rdi, [rcx + 1]
mov rdx, rdi
mov qword [rsp + 0x28], rdi
mov eax, 0x3149c66e
mov eax, 0xfffffff
mov rsi, 0xfffffffffffff000
mov r8d, dword [rdi + 0xc]
mov r10d, dword [rdi]
lea r12, [0x100000000]
and qword [rsp + 0xb8], 0
and r10, rax
and r8, rax
mov rcx, r12
add r10, r12
mov rax, qword [0x100033ac0]
sub rcx, rax
mov qword [rsp + 0x30], rcx
jne 0x100032db0
xor r11d, r11d
test r8, r8
je 0x100033147
mov r9d, dword [rsp + 0xb8]
mov eax, dword [rsp + 0xbc]
mov r15d, 0xb58415e4
movzx ecx, byte [r11 + r10]
inc r11
sub ecx, 0x4a7bea1c
add r9d, ecx
add ecx, eax
mov eax, ecx
imul eax, eax, 0x5a17
rol eax, 4
ror ecx, 4
xor eax, ecx
imul rax, r15
mov qword [rsp + 0xa0], rax
mov ecx, dword [rsp + 0xa0]
shr rax, 0x20
add eax, ecx
imul rax, r15
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
add r9d, eax
cmp r11, r8
jb 0x100032d26
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xb8], r9d
jmp 0x100033147
lea rax, [r10 + r8]
movsxd rdx, dword [0x10000003c]
mov qword [rsp + 0x40], rax
lea rax, [0x1000000b0]
add rdx, rax
mov eax, r10d
sub eax, r12d
lea rdi, [rax + r8]
mov r9d, eax
mov ebx, eax
mov r8d, dword [rdx]
mov r14, rdi
and r9, rsi
add r8, r12
sub rbx, r9
and r14, rsi
sub rdi, r14
mov esi, dword [rdx + 4]
add rsi, r8
mov qword [rsp + 0x38], rdi
jmp 0x100032e0a
mov eax, dword [r8]
cmp rax, r9
jae 0x100032e0f
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rsi
jne 0x100032dfb
xor r11d, r11d
cmp r8, rsi
je 0x100032e49
mov eax, dword [r8]
cmp rax, r9
jne 0x100032e49
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x100032e49
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x100032e49
inc r11
add rdx, 2
cmp r11, rcx
jne 0x100032e30
mov r15d, 0xb58415e4
mov ebx, dword [rsp + 0xbc]
mov ebp, dword [rsp + 0xb8]
mov dword [rsp + 0xb0], ebp
cmp r8, rsi
je 0x100033086
mov eax, dword [r8]
cmp rax, r14
ja 0x100033086
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x100032ea6
add r8, rcx
cmp r8, rsi
je 0x100033086
mov eax, dword [r8]
cmp rax, r14
ja 0x100033086
xor r11d, r11d
jmp 0x100032e79
mov eax, dword [r8]
cmp rax, r14
jne 0x100032ec2
movzx eax, word [r8 + r11*2 + 8]
and eax, 0xfff
cmp rax, rdi
jae 0x100033086
mov ecx, 0xf000
mov rax, r11
inc r11
test word [r8 + rax*2 + 8], cx
je 0x100032e64
movzx r9d, word [r8 + rax*2 + 8]
xor r13d, r13d
mov edi, r9d
and edi, 0xfff
add edi, dword [r8]
add rdi, r12
mov r12, rdi
sub r12, r10
je 0x100032f83
movzx ecx, byte [r13 + r10]
inc r13
sub ecx, 0x4a7bea1c
add ebp, ecx
add ecx, ebx
mov eax, ecx
imul eax, eax, 0x5a17
rol eax, 4
ror ecx, 4
xor eax, ecx
imul rax, r15
mov qword [rsp + 0xb0], rax
mov ecx, dword [rsp + 0xb0]
shr rax, 0x20
add eax, ecx
imul rax, r15
mov qword [rsp + 0xb0], rax
mov ecx, dword [rsp + 0xb0]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
btr ebx, 0x1f
add ebx, edx
add ebp, ebx
mov dword [rsp + 0xb8], ebp
cmp r13, r12
jb 0x100032ef9
mov dword [rsp + 0xbc], ebx
mov dword [rsp + 0xb0], ebp
shr r9d, 0xc
cmp r9d, 3
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
je 0x100032fa3
sub r9d, 0xa
neg r9d
sbb edx, edx
add edx, 3
jmp 0x100032fa8
mov edx, 2
mov r9, qword [rsp + 0x30]
neg r9
sub edx, 2
je 0x100032fd0
cmp edx, 1
je 0x100032fc0
or r9, 0xffffffffffffffff
jmp 0x100032fdb
add rax, r9
mov r9d, 8
mov qword [rsp + 0x20], rax
jmp 0x100032fdb
add dword [rsp + 0x20], r9d
mov r9d, 4
xor r10d, r10d
test r9, r9
je 0x100033071
movzx ecx, byte [rsp + r10 + 0x20]
inc r10
sub ecx, 0x4a7bea1c
add ebp, ecx
add ecx, ebx
mov eax, ecx
imul eax, eax, 0x5a17
rol eax, 4
ror ecx, 4
xor eax, ecx
imul rax, r15
mov qword [rsp + 0xb0], rax
mov ecx, dword [rsp + 0xb0]
shr rax, 0x20
add eax, ecx
imul rax, r15
mov qword [rsp + 0xb0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xb0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
btr ebx, 0x1f
add ebx, edx
add ebp, ebx
cmp r10, r9
mov dword [rsp + 0xb8], ebp
jb 0x100032fe7
mov dword [rsp + 0xbc], ebx
mov dword [rsp + 0xb0], ebp
lea r10, [r9 + rdi]
mov rdi, qword [rsp + 0x38]
lea r12, [0x100000000]
jmp 0x100032e64
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0xa0]
xor r8d, r8d
sub r12, r10
je 0x100033134
mov r9d, dword [rsp + 0xb0]
movzx ecx, byte [r8 + r10]
inc r8
sub ecx, 0x4a7bea1c
add r9d, ecx
add ecx, ebx
mov eax, ecx
imul eax, eax, 0x5a17
rol eax, 4
ror ecx, 4
xor eax, ecx
imul rax, r15
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
add eax, ecx
imul rax, r15
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
btr ebx, 0x1f
add ebx, edx
add r9d, ebx
cmp r8, r12
jb 0x1000330af
mov dword [rsp + 0xbc], ebx
mov dword [rsp + 0xb8], r9d
mov rsi, 0xfffffffffffff000
lea r12, [0x100000000]
mov rdi, qword [rsp + 0x28]
mov r14d, 0xfffffff
add qword [rbp + 0x10], 0x11
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rdi + 4]
and rcx, r14
cmp rax, qword [rcx + r12]
je 0x100033269
call fcn.1000749ec
lea r9, [rbp + 0x18]
mov rbx, rax
mov r11d, 0xffff
and r9, 0xfffffffffffffff8
and rbx, rsi
lea r10, [r9 + 0xfff]
and r10, rsi
lea rsi, [0x100010fb8]
mov qword [rbp + 0x10], rsi
mov rcx, qword [0x100082270]
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 0x1000331a2
mov qword [0x100082270], rcx
mov qword [r13 + 0x98], rbx
movabs rax, 0x8000800080008001
mul r8
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r13 + 0xb0], r8
mov qword [rsp + 0xa0], r11
jmp 0x100033216
mov rax, qword [rsp + 0xa0]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x100033207
movabs r8, 0x1f846d690000
mov qword [rbp + 0x10], rsi
mov rdx, qword [r13 + 0xb0]
mov eax, dword [rdi + 8]
mov rcx, rdx
mov qword [r13 + 0x80], rdx
and rax, r14
mov eax, dword [rax + r12]
xor rcx, r8
shl rcx, 0x10
xor rcx, rax
mov eax, dword [0x100082210]
xor rcx, rax
xor rcx, rdx
and qword [r13 + 0xb0], 0
mov qword [r13 + 0xa0], rcx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret