Function at 0x1337c0f0a100
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
movzx eax, byte [r8]
mov rbx, rdx
mov rdx, qword [rdx + 0x10]
mov rdi, rcx
mov r11, r8
test byte [rbx + 0x34], 4
movzx ecx, byte [rdx]
je 0x1337c0f0a12d
and al, 0x1f
jmp 0x1337c0f0a12f
and al, 0xf
xor al, cl
mov r10b, 0
mov byte [rdx], al
mov rax, qword [rbx + 0x10]
movzx r9d, byte [rax]
and r9b, 3
add r9b, 1
je 0x1337c0f0a1b1
nop dword [rax + rax]
movzx edx, word [rbx + 0x2a]
mov rax, qword [rbx + 0x10]
movzx r8d, r10b
inc r10b
add edx, r8d
movzx ecx, byte [r8 + r11 + 1]
xor byte [rdx + rax], cl
cmp r10b, r9b
jb 0x1337c0f0a150
movzx esi, word [rbx + 0x2a]
xor r8d, r8d
mov r10d, esi
mov qword [rsp + 0x30], r8
add r10, qword [rbx + 0x10]
xor dl, dl
movzx r11d, r9b
nop dword [rax]
movzx ecx, dl
mov rax, r10
sub rax, rcx
inc dl
movzx eax, byte [rax + r11 - 1]
mov byte [rsp + rcx + 0x30], al
cmp dl, r9b
jb 0x1337c0f0a190
mov r11, qword [rsp + 0x30]
jmp 0x1337c0f0a1c0
movzx esi, word [rbx + 0x2a]
xor r8d, r8d
mov r11d, r8d
mov qword [rsp + 0x30], r8
movzx ecx, r9b
lea eax, [rsi + rcx]
mov word [rbx + 0x2a], ax
movzx eax, word [rbx + 0x2c]
sub ax, cx
mov ecx, dword [rbx + 0x30]
mov word [rbx + 0x2c], ax
movzx esi, ax
test ecx, ecx
je 0x1337c0f0a1f6
sub ecx, 1
je 0x1337c0f0a1f0
mov r8d, 1
cmp ecx, 1
je 0x1337c0f0a1f6
mov r8d, 2
mov eax, r8d
mov rdx, 0xffffffffffffffff
mov rcx, qword [rdi + rax*8 + 0x848]
mov r10, qword [rcx + 8]
movzx ecx, r9b
shl ecx, 3
shl rdx, cl
mov r9, rdx
and rdx, r10
or rdx, r11
neg r9
cmp rdx, r10
jae 0x1337c0f0a240
sub r10, rdx
lea rax, [rdx + r9]
mov rcx, r9
sub rcx, r10
cmp rcx, r10
cmovae rax, rdx
mov rdx, rax
jmp 0x1337c0f0a259
mov rcx, rdx
mov rax, r9
sub rcx, r10
sub rax, rcx
cmp rax, rcx
ja 0x1337c0f0a259
cmp rdx, r9
jb 0x1337c0f0a259
sub rdx, r9
movzx eax, byte [rbx + 0x34]
movabs r9, 0x3fffffffffffffff
movzx ecx, al
mov qword [rbx + 8], rdx
or cl, 0x20
mov byte [rbx + 0x34], cl
cmp rdx, r9
jbe 0x1337c0f0a2d8
test cl, 1
mov eax, 0xc28
mov ecx, 0x118
cmove eax, ecx
lock inc qword [rax + rdi]
lea rcx, [rsp + 0x30]
call qword [0x1337c1057420]
mov rax, qword [0x1337c128bcc8]
movzx ecx, word [rsp + 0x30]
movzx edx, byte [rsp + 0x32]
mov eax, dword [rax + rcx*4]
add eax, edx
imul rcx, rax, 0x1c0
mov rax, qword [0x1337c1253690]
lock inc qword [rcx + rax + 0xf8]
xor al, al
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
test al, 0x40
je 0x1337c0f0a340
cmp si, 0x10
jae 0x1337c0f0a340
test al, 1
mov ecx, 0x118
mov eax, 0xc28
cmove eax, ecx
lock inc qword [rax + rdi]
lea rcx, [rsp + 0x30]
call qword [0x1337c1057420]
mov rax, qword [0x1337c128bcc8]
movzx ecx, word [rsp + 0x30]
movzx edx, byte [rsp + 0x32]
mov eax, dword [rax + rcx*4]
add eax, edx
imul rcx, rax, 0x1c0
mov rax, qword [0x1337c1253690]
lock inc qword [rcx + rax + 0xf8]
xor al, al
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov r9, qword [rdi + 0x858]
test al, 4
je 0x1337c0f0a3b9
cmp r8d, 2
jne 0x1337c0f0a3b9
mov rax, qword [rbx + 0x10]
movzx ecx, byte [rax]
shr cl, 2
xor cl, byte [r9 + 0x198]
test cl, 1
je 0x1337c0f0a3b9
cmp rdx, qword [r9 + 0x188]
jae 0x1337c0f0a389
mov dword [rbx + 0x30], 4
mov al, 1
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rcx, rdi
call fcn.1337c0f17d60
test eax, eax
jns 0x1337c0f0a3b2
mov rdx, rbx
mov rcx, rdi
call fcn.1337c0f04840
xor al, al
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov dword [rbx + 0x30], 5
mov rbx, qword [rsp + 0x38]
mov al, 1
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret