Function at 0x1337c0e9c030
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x30]
mov r12, r9
mov r14, qword [r8]
mov rsi, rdx
mov rbp, rcx
test al, 1
je 0x1337c0e9c374
test rdx, rdx
jne 0x1337c0e9c06c
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rcx + 8]
mov rdx, r12
mov qword [rsp + 0x68], r13
cmp eax, 0x20000000
jae 0x1337c0e9c08c
lea ecx, [rax*8]
call fcn.1337c0e9bb10
jmp 0x1337c0e9c098
mov rcx, rax
shl rcx, 3
call fcn.1337c0e9bbe0
or byte [r12], 2
mov r15, rax
movsxd rcx, dword [rbp + 0x10]
mov ebp, 1
mov dword [rsp + 0x60], r15d
cmp ecx, 0xa
ja 0x1337c0e9c0c4
mov eax, 0x484
bt eax, ecx
jae 0x1337c0e9c0c4
mov edx, 4
jmp 0x1337c0e9c0da
lea eax, [rcx - 5]
test eax, 0xfffffff9
jne 0x1337c0e9c0d8
mov edx, 8
cmp ecx, 7
jne 0x1337c0e9c0da
mov edx, ebp
mov eax, esi
imul eax, edx
cmp eax, 0x80
jae 0x1337c0e9c0eb
mov r13d, ebp
jmp 0x1337c0e9c115
cmp eax, 0x4000
jae 0x1337c0e9c0fa
mov r13d, 2
jmp 0x1337c0e9c115
cmp eax, 0x200000
jae 0x1337c0e9c109
mov r13d, 3
jmp 0x1337c0e9c115
cmp eax, 0x10000000
sbb r13d, r13d
add r13d, 5
add r15d, r13d
mov ebx, r15d
add rbx, r12
mov qword [rsp + 0x70], rbx
mov rdi, rbx
cmp ecx, 0xd
ja case.default.0x1337c0e9c140
lea rdx, [0x1337c0de0000]
mov ecx, dword [rdx + rcx*4 + 0xbc3c0]
add rcx, rdx
jmp rcx
lea r8d, [rsi*4]
mov rdx, r14
mov rcx, rbx
call fcn.1337c105b8f0
lea rdi, [rbx + rsi*4]
jmp case.default.0x1337c0e9c140
lea r8d, [rsi*8]
mov rdx, r14
mov rcx, rbx
call fcn.1337c105b8f0
lea rdi, [rbx + rsi*8]
jmp case.default.0x1337c0e9c140
xor ebx, ebx
test rsi, rsi
je 0x1337c0e9c2fd
mov eax, ebx
mov ecx, dword [r14 + rax*4]
test ecx, ecx
jns 0x1337c0e9c1cf
movzx eax, cl
mov dword [rdi + 5], 0xffffffff
or al, 0x80
mov byte [rdi + 9], bpl
mov byte [rdi], al
mov eax, ecx
shr eax, 7
or al, 0x80
mov byte [rdi + 1], al
mov eax, ecx
shr eax, 0xe
or al, 0x80
mov byte [rdi + 2], al
mov eax, ecx
shr eax, 0x15
or al, 0x80
shr ecx, 0x1c
or cl, 0xf0
mov byte [rdi + 3], al
mov byte [rdi + 4], cl
mov eax, 0xa
jmp 0x1337c0e9c1d7
mov rdx, rdi
call fcn.1337c0e9bb10
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9c187
mov rbx, qword [rsp + 0x70]
jmp case.default.0x1337c0e9c140
xor ebx, ebx
test rsi, rsi
je 0x1337c0e9c2fd
mov eax, ebx
nop word [rax + rax]
mov eax, dword [r14 + rax*4]
mov rdx, rdi
mov ecx, eax
add eax, eax
shr ecx, 0x1f
neg ecx
xor ecx, eax
call fcn.1337c0e9bb10
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9c200
mov rbx, qword [rsp + 0x70]
jmp case.default.0x1337c0e9c140
xor ebx, ebx
test rsi, rsi
je 0x1337c0e9c2fd
mov eax, ebx
nop word [rax + rax]
mov rax, qword [r14 + rax*8]
mov rdx, rdi
mov rcx, rax
add rax, rax
shr rcx, 0x3f
neg rcx
xor rcx, rax
call fcn.1337c0e9bbe0
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9c240
mov rbx, qword [rsp + 0x70]
jmp case.default.0x1337c0e9c140
xor ebx, ebx
test rsi, rsi
je 0x1337c0e9c2fd
mov eax, ebx
nop
mov ecx, dword [r14 + rax*4]
mov rdx, rdi
call fcn.1337c0e9bb10
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9c280
mov rbx, qword [rsp + 0x70]
jmp case.default.0x1337c0e9c140
xor ebx, ebx
test rsi, rsi
je 0x1337c0e9c2fd
mov eax, ebx
nop dword [rax + rax]
mov rcx, qword [r14 + rax*8]
mov rdx, rdi
call fcn.1337c0e9bbe0
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9c2b0
mov rbx, qword [rsp + 0x70]
jmp case.default.0x1337c0e9c140
xor ebx, ebx
test rsi, rsi
je 0x1337c0e9c2fd
mov eax, ebx
nop dword [rax + rax]
cmp dword [r14 + rax*4], 0
setne al
inc ebx
mov byte [rdi], al
inc rdi
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9c2e0
mov rbx, qword [rsp + 0x70]
jmp case.default.0x1337c0e9c140
mov rbx, rdi
sub edi, r12d
sub edi, r15d
cmp edi, 0x80
jb 0x1337c0e9c337
cmp edi, 0x4000
jae 0x1337c0e9c31d
mov ebp, 2
jmp 0x1337c0e9c337
cmp edi, 0x200000
jae 0x1337c0e9c32c
mov ebp, 3
jmp 0x1337c0e9c337
cmp edi, 0x10000000
sbb ebp, ebp
add ebp, 5
cmp r13d, ebp
mov r13, qword [rsp + 0x68]
je 0x1337c0e9c353
mov r8d, edi
lea rcx, [rbx + 1]
mov rdx, rbx
call fcn.1337c105b8f0
inc r15d
mov edx, dword [rsp + 0x60]
mov ecx, edi
add rdx, r12
call fcn.1337c0e9bb10
lea eax, [rdi + r15]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, dword [rcx + 0x10]
xor ebx, ebx
call fcn.1337c0e9bfb0
mov edi, ebx
test rsi, rsi
je 0x1337c0e9c3ae
mov r15d, eax
nop dword [rax + rax]
lea r8, [rbx + r12]
mov rdx, r14
mov rcx, rbp
call fcn.1337c0e9bc90
inc edi
add rbx, rax
mov eax, edi
add r14, r15
cmp rax, rsi
jb 0x1337c0e9c390
mov rax, rbx
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret