Function at 0x1337c0f0e8b0
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 0x1337c0f0e8dd
and al, 0x1f
jmp 0x1337c0f0e8df
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 0x1337c0f0e961
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 0x1337c0f0e900
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 0x1337c0f0e940
mov r11, qword [rsp + 0x30]
jmp 0x1337c0f0e970
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 0x1337c0f0e9a6
sub ecx, 1
je 0x1337c0f0e9a0
mov r8d, 1
cmp ecx, 1
je 0x1337c0f0e9a6
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 0x1337c0f0e9f0
sub r10, rdx
lea rax, [rdx + r9]
mov rcx, r9
sub rcx, r10
cmp rcx, r10
cmovae rax, rdx
mov rdx, rax
jmp 0x1337c0f0ea09
mov rcx, rdx
mov rax, r9
sub rcx, r10
sub rax, rcx
cmp rax, rcx
ja 0x1337c0f0ea09
cmp rdx, r9
jb 0x1337c0f0ea09
sub rdx, r9
movzx eax, byte [rbx + 0x34]
movabs rcx, 0x3fffffffffffffff
or al, 0x20
mov qword [rbx + 8], rdx
mov byte [rbx + 0x34], al
cmp rdx, rcx
jbe 0x1337c0f0ea83
test al, 1
mov ecx, 0x118
mov eax, 0xc28
cmove eax, ecx
lock inc qword [rax + rdi]
lea rcx, [rsp + 0x30]
call qword [0x1337c105e430]
mov rax, qword [0x1337c12de8d0]
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 [0x1337c12a6260]
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 0x1337c0f0ea8d
cmp si, 0x10
jb 0x1337c0f0ea25
mov r9, qword [rdi + 0x858]
test al, 4
je 0x1337c0f0eb06
cmp r8d, 2
jne 0x1337c0f0eb06
mov rax, qword [rbx + 0x10]
movzx ecx, byte [rax]
shr cl, 2
xor cl, byte [r9 + 0x198]
test cl, 1
je 0x1337c0f0eb06
cmp rdx, qword [r9 + 0x188]
jae 0x1337c0f0ead6
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.1337c0f1c690
test eax, eax
jns 0x1337c0f0eaff
mov rdx, rbx
mov rcx, rdi
call fcn.1337c0f08fa0
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