Function at 0x1001337e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push r15
sub rsp, 0x90
mov eax, dword [rcx]
mov qword [r11 - 0x10], rbx
mov qword [r11 - 0x18], rbp
movsxd rbp, dword [rcx + 0x28]
add rax, rax
lea r15, [rcx + 8]
lea rdx, [0x100000000]
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], rdi
mov r9d, dword [rdx + rax*8 + 0x3b45c]
mov ecx, dword [rdx + rax*8 + 0x3b450]
mov r10d, dword [rdx + rax*8 + 0x3b458]
mov eax, dword [rdx + rax*8 + 0x3b454]
mov qword [r11 - 0x30], r12
movzx r12d, byte [rbp + r15 + 0x58]
shl r12d, 5
mov qword [r11 - 0x38], r13
lea r13, [r15 + 0x58]
mov rbx, qword [r13 + 0x2c318]
mov edi, dword [r13 + 0x2c30c]
mov esi, dword [r13 + 0x2c310]
mov dword [rsp + 0x40], eax
movzx eax, byte [rbp + r13 + 1]
lea r8, [r13 + 0x10106]
xor r12d, eax
mov dword [rsp + 0xa0], r9d
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0xb8], r10d
cmp ebp, dword [r15 + 0x24]
jge 0x100133f53
mov qword [r11 - 0x40], r14
nop
mov eax, dword [r15 + 0x24]
sub eax, ebp
cmp eax, 3
jle 0x100133e95
movsxd rcx, ebp
shl r12d, 5
movzx eax, byte [rcx + r13 + 2]
and ecx, 0x7fff
xor eax, r12d
mov r12d, eax
and eax, 0x1fff
movzx edx, word [r13 + rax*2 + 0x2030a]
mov word [r13 + rax*2 + 0x2030a], bp
mov word [r8 + rcx*2], dx
test edx, edx
je 0x100133e95
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], r9d
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov r9d, ebp
mov edx, 0x8000
mov rcx, r13
call fcn.1001358f0
mov r14d, eax
mov eax, dword [r15 + 0x24]
lea ecx, [r14 + rbp]
cmp ecx, eax
jle 0x10013391c
mov r14d, eax
sub r14d, ebp
cmp r14d, 3
jl 0x100133e95
inc ebp
cmp r14d, dword [rsp + 0x40]
jg 0x100133cdd
movsxd rcx, ebp
shl r12d, 5
lea r8, [rcx + r13]
and ecx, 0x7fff
movzx eax, byte [r8 + 2]
mov qword [rsp + 0x48], r8
xor eax, r12d
mov r12d, eax
and eax, 0x1fff
movzx edx, word [r13 + rax*2 + 0x2030a]
mov word [r13 + rax*2 + 0x2030a], bp
mov word [r13 + rcx*2 + 0x10106], dx
test edx, edx
je 0x1001339dc
mov eax, dword [rsp + 0xa0]
cmp r14d, dword [rsp + 0x44]
jl 0x100133989
sar eax, 2
mov ecx, dword [rsp + 0xb8]
lea r8, [r13 + 0x10106]
mov r9d, ebp
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov edx, 0x8000
mov rcx, r13
call fcn.1001358f0
mov r8, qword [rsp + 0x48]
mov r11d, eax
mov eax, dword [r15 + 0x24]
lea ecx, [r11 + rbp]
cmp ecx, eax
jle 0x1001339df
mov r11d, eax
sub r11d, ebp
jmp 0x1001339df
xor r11d, r11d
cmp r11d, r14d
jle 0x100133b81
inc dword [r15 + 0x1c]
movzx eax, byte [r8 - 1]
mov ecx, esi
inc word [r15 + rax*2 + 0x2f338]
movzx edx, byte [r8 - 1]
movzx eax, word [r15 + rdx*2 + 0x2f0f8]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2efd8]
add esi, eax
cmp esi, 0x10
jl 0x100133a33
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
mov eax, dword [rsp + 0xa8]
cmp eax, 0x100
jb 0x100133a49
shr eax, 7
add eax, 0x100
lea r9, [0x100000000]
movzx ecx, byte [rax + r9 + 0x29ac10]
movsxd rax, r11d
movzx edx, byte [rax + r9 + 0x29ab0d]
movzx r10d, byte [rcx + r9 + 0x3b028]
mov r14d, ecx
movzx r9d, byte [rdx + r9 + 0x3b008]
inc dword [r15 + 0x1c]
inc word [r15 + rdx*2 + 0x2f53a]
inc word [r15 + rcx*2 + 0x2fb18]
mov ecx, esi
lea r8d, [rdx + 0x101]
movsxd rdx, r8d
movzx eax, word [r15 + rdx*2 + 0x2f0f8]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2efd8]
add esi, eax
cmp esi, 0x10
jl 0x100133ace
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
test r9d, r9d
jle 0x100133b08
mov ecx, r9d
mov edx, 1
lea eax, [r11 - 3]
shl edx, cl
mov ecx, esi
add esi, r9d
dec edx
and edx, eax
shl edx, cl
or edi, edx
cmp esi, 0x10
jl 0x100133b08
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
movzx eax, word [r15 + r14*2 + 0x2c698]
mov ecx, esi
shl eax, cl
or edi, eax
movzx eax, byte [r14 + r15 + 0x2c678]
add esi, eax
cmp esi, 0x10
jl 0x100133b3c
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
test r10d, r10d
jle 0x100133b77
mov ecx, r10d
mov eax, 1
shl eax, cl
mov ecx, esi
add esi, r10d
dec eax
and eax, dword [rsp + 0xa8]
shl eax, cl
or edi, eax
cmp esi, 0x10
jl 0x100133b77
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
inc ebp
mov r14d, r11d
jmp 0x100133e2f
mov r9d, dword [rsp + 0xb0]
cmp r9d, 0x100
jae 0x100133b97
mov eax, r9d
jmp 0x100133ba2
mov eax, r9d
shr eax, 7
add eax, 0x100
lea r10, [0x100000000]
movzx ecx, byte [rax + r10 + 0x29ac10]
movsxd rax, r14d
movzx edx, byte [rax + r10 + 0x29ab0d]
movzx r11d, byte [rcx + r10 + 0x3b028]
mov qword [rsp + 0x48], rcx
movzx r10d, byte [rdx + r10 + 0x3b008]
inc dword [r15 + 0x1c]
inc word [r15 + rdx*2 + 0x2f53a]
inc word [r15 + rcx*2 + 0x2fb18]
mov ecx, esi
lea r8d, [rdx + 0x101]
movsxd rdx, r8d
movzx eax, word [r15 + rdx*2 + 0x2f0f8]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2efd8]
add esi, eax
cmp esi, 0x10
jl 0x100133c29
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
test r10d, r10d
jle 0x100133c63
mov ecx, r10d
mov edx, 1
lea eax, [r14 - 3]
shl edx, cl
mov ecx, esi
add esi, r10d
dec edx
and edx, eax
shl edx, cl
or edi, edx
cmp esi, 0x10
jl 0x100133c63
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
mov rdx, qword [rsp + 0x48]
mov ecx, esi
movzx eax, word [r15 + rdx*2 + 0x2c698]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2c678]
add esi, eax
cmp esi, 0x10
jl 0x100133c9c
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
test r11d, r11d
jle 0x100133cd3
mov ecx, r11d
mov eax, 1
shl eax, cl
mov ecx, esi
add esi, r11d
dec eax
and eax, r9d
shl eax, cl
or edi, eax
cmp esi, 0x10
jl 0x100133cd3
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
dec r14d
inc ebp
jmp 0x100133e2f
mov r9d, dword [rsp + 0xb0]
cmp r9d, 0x100
jae 0x100133cf3
mov eax, r9d
jmp 0x100133cfe
mov eax, r9d
shr eax, 7
add eax, 0x100
lea r10, [0x100000000]
movzx ecx, byte [rax + r10 + 0x29ac10]
movsxd rax, r14d
movzx edx, byte [rax + r10 + 0x29ab0d]
movzx r11d, byte [rcx + r10 + 0x3b028]
mov qword [rsp + 0x48], rcx
movzx r10d, byte [rdx + r10 + 0x3b008]
inc dword [r15 + 0x1c]
inc word [r15 + rdx*2 + 0x2f53a]
inc word [r15 + rcx*2 + 0x2fb18]
mov ecx, esi
lea r8d, [rdx + 0x101]
movsxd rdx, r8d
movzx eax, word [r15 + rdx*2 + 0x2f0f8]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2efd8]
add esi, eax
cmp esi, 0x10
jl 0x100133d85
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
test r10d, r10d
jle 0x100133dbf
mov ecx, r10d
mov edx, 1
lea eax, [r14 - 3]
shl edx, cl
mov ecx, esi
add esi, r10d
dec edx
and edx, eax
shl edx, cl
or edi, edx
cmp esi, 0x10
jl 0x100133dbf
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
mov rdx, qword [rsp + 0x48]
mov ecx, esi
movzx eax, word [r15 + rdx*2 + 0x2c698]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2c678]
add esi, eax
cmp esi, 0x10
jl 0x100133df8
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
test r11d, r11d
jle 0x100133e2f
mov ecx, r11d
mov eax, 1
shl eax, cl
mov ecx, esi
add esi, r11d
dec eax
and eax, r9d
shl eax, cl
or edi, eax
cmp esi, 0x10
jl 0x100133e2f
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
mov eax, dword [r15 + 0x24]
sub eax, ebp
cmp eax, r14d
jg 0x100133e44
dec ebp
add ebp, r14d
jmp 0x100133ee5
dec r14d
test r14d, r14d
jle 0x100133ee5
movsxd rdx, ebp
shl r12d, 5
dec r14d
movzx eax, byte [rdx + r13 + 2]
and edx, 0x7fff
xor eax, r12d
mov r12d, eax
and eax, 0x1fff
movzx ecx, word [r13 + rax*2 + 0x2030a]
mov word [r13 + rax*2 + 0x2030a], bp
inc ebp
mov word [r13 + rdx*2 + 0x10106], cx
test r14d, r14d
jg 0x100133e50
jmp 0x100133ee5
inc dword [r15 + 0x1c]
movsxd rcx, ebp
movzx eax, byte [rcx + r13]
inc word [r15 + rax*2 + 0x2f338]
movzx edx, byte [rcx + r13]
mov ecx, esi
movzx eax, word [r15 + rdx*2 + 0x2f0f8]
shl eax, cl
or edi, eax
movzx eax, byte [rdx + r15 + 0x2efd8]
add esi, eax
cmp esi, 0x10
jl 0x100133ee3
mov byte [rbx], dil
mov eax, edi
add rbx, 2
shr eax, 8
shr edi, 0x10
sub esi, 0x10
mov byte [rbx - 1], al
inc ebp
cmp dword [r15 + 0x1c], 0xfff2
jae 0x100133efb
lea rax, [r13 + 0x2c302]
cmp rbx, rax
jb 0x100133f2d
mov byte [rbx], dil
mov eax, edi
mov rcx, r15
shr eax, 8
add rbx, 2
mov byte [rbx - 1], al
call fcn.100134b30
cmp dword [r15], 0
jne 0x100133f4e
mov rbx, qword [r13 + 0x2c318]
mov edi, dword [r13 + 0x2c30c]
mov esi, dword [r13 + 0x2c310]
mov r9d, dword [rsp + 0xa0]
mov r10d, dword [rsp + 0xb8]
lea r8, [r13 + 0x10106]
cmp ebp, dword [r15 + 0x24]
jl 0x100133890
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
mov qword [r13 + 0x2c318], rbx
mov rbx, qword [rsp + 0x88]
mov dword [r13 + 0x2c30c], edi
mov rdi, qword [rsp + 0x70]
mov dword [r13 + 0x2c310], esi
mov r13, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
mov dword [r15 + 0x20], ebp
cmp ebp, 0x10000
mov rbp, qword [rsp + 0x80]
jne 0x100133fa0
mov rcx, r15
call fcn.100135a10
add rsp, 0x90
pop r15
ret