Function at 0x1337c0e9b560
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r13
push r14
sub rsp, 0x20
mov r14, qword [r8]
xor ebx, ebx
mov rsi, rdx
mov r13, rcx
mov edi, ebx
test rdx, rdx
jne 0x1337c0e9b58c
xor eax, eax
jmp 0x1337c0e9b929
mov eax, dword [rcx + 8]
mov qword [rsp + 0x40], rbp
mov ebp, 1
mov qword [rsp + 0x48], r15
cmp eax, 0x10
jae 0x1337c0e9b5a8
mov r15d, ebp
jmp 0x1337c0e9b5d2
cmp eax, 0x800
jae 0x1337c0e9b5b7
mov r15d, 2
jmp 0x1337c0e9b5d2
cmp eax, 0x40000
jae 0x1337c0e9b5c6
mov r15d, 3
jmp 0x1337c0e9b5d2
cmp eax, 0x2000000
sbb r15, r15
add r15, 5
mov eax, dword [rcx + 0x30]
test bpl, al
jne 0x1337c0e9b5de
imul r15, rsi
movsxd rax, dword [rcx + 0x10]
cmp eax, 0x10
ja case.default.0x1337c0e9b5fc
lea rdx, [0x1337c0de0000]
mov ecx, dword [rdx + rax*4 + 0xbb940]
add rcx, rdx
jmp rcx
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
nop word [rax + rax]
mov eax, dword [r14 + rax*4]
mov ecx, eax
shr ecx, 0x1f
add eax, eax
neg ecx
xor ecx, eax
cmp ecx, 0x80
jae 0x1337c0e9b62c
mov rax, rbp
jmp 0x1337c0e9b657
cmp ecx, 0x4000
jae 0x1337c0e9b63b
mov eax, 2
jmp 0x1337c0e9b657
cmp ecx, 0x200000
jae 0x1337c0e9b64a
mov eax, 3
jmp 0x1337c0e9b657
cmp ecx, 0x10000000
sbb rax, rax
add rax, 5
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b610
jmp case.default.0x1337c0e9b5fc
mov edx, ebx
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
mov ecx, dword [r14 + rax*4]
test ecx, ecx
jns 0x1337c0e9b685
mov eax, 0xa
jmp 0x1337c0e9b6c0
cmp ecx, 0x80
jge 0x1337c0e9b692
mov rax, rbp
jmp 0x1337c0e9b6c0
cmp ecx, 0x4000
jge 0x1337c0e9b6a1
mov eax, 2
jmp 0x1337c0e9b6c0
cmp ecx, 0x200000
jge 0x1337c0e9b6b0
mov eax, 3
jmp 0x1337c0e9b6c0
cmp ecx, 0x10000000
mov rax, rbx
setge al
add rax, 4
inc edx
add rdi, rax
mov eax, edx
cmp rax, rsi
jb 0x1337c0e9b676
jmp case.default.0x1337c0e9b5fc
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
nop dword [rax]
mov eax, dword [r14 + rax*4]
cmp eax, 0x80
jae 0x1337c0e9b6f0
mov rax, rbp
jmp 0x1337c0e9b718
cmp eax, 0x4000
jae 0x1337c0e9b6fe
mov eax, 2
jmp 0x1337c0e9b718
cmp eax, 0x200000
jae 0x1337c0e9b70c
mov eax, 3
jmp 0x1337c0e9b718
cmp eax, 0x10000000
sbb rax, rax
add rax, 5
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b6e0
jmp case.default.0x1337c0e9b5fc
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
nop word [rax + rax]
mov rax, qword [r14 + rax*8]
mov rcx, rax
add rax, rax
shr rcx, 0x3f
neg rcx
xor rcx, rax
call fcn.1337c0e9b270
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b740
jmp case.default.0x1337c0e9b5fc
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
mov rcx, qword [r14 + rax*8]
call fcn.1337c0e9b270
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b776
jmp case.default.0x1337c0e9b5fc
lea rdi, [rsi*4]
jmp case.default.0x1337c0e9b5fc
lea rdi, [rsi*8]
jmp case.default.0x1337c0e9b5fc
mov rdi, rsi
jmp case.default.0x1337c0e9b5fc
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
nop
mov rcx, qword [r14 + rax*8]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1337c0e9b7d0
cmp eax, 0x80
jae 0x1337c0e9b7e5
mov rcx, rbp
jmp 0x1337c0e9b80d
cmp eax, 0x4000
jae 0x1337c0e9b7f3
mov ecx, 2
jmp 0x1337c0e9b80d
cmp eax, 0x200000
jae 0x1337c0e9b801
mov ecx, 3
jmp 0x1337c0e9b80d
cmp eax, 0x10000000
sbb rcx, rcx
add rcx, 5
add rax, rcx
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b7c0
jmp case.default.0x1337c0e9b5fc
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
nop dword [rax]
add rax, rax
mov rcx, qword [r14 + rax*8]
cmp ecx, 0x80
jae 0x1337c0e9b844
mov rax, rbp
jmp 0x1337c0e9b86f
cmp ecx, 0x4000
jae 0x1337c0e9b853
mov eax, 2
jmp 0x1337c0e9b86f
cmp ecx, 0x200000
jae 0x1337c0e9b862
mov eax, 3
jmp 0x1337c0e9b86f
cmp ecx, 0x10000000
sbb rax, rax
add rax, 5
add rax, rcx
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b830
jmp case.default.0x1337c0e9b5fc
test rsi, rsi
je case.default.0x1337c0e9b5fc
mov rax, rbx
nop dword [rax + rax]
mov rcx, qword [r14 + rax*8]
call fcn.1337c0e9b990
cmp eax, 0x80
jae 0x1337c0e9b8a5
mov rcx, rbp
jmp 0x1337c0e9b8cd
cmp eax, 0x4000
jae 0x1337c0e9b8b3
mov ecx, 2
jmp 0x1337c0e9b8cd
cmp eax, 0x200000
jae 0x1337c0e9b8c1
mov ecx, 3
jmp 0x1337c0e9b8cd
cmp eax, 0x10000000
sbb rcx, rcx
add rcx, 5
add rax, rcx
inc ebx
add rdi, rax
mov eax, ebx
cmp rax, rsi
jb 0x1337c0e9b890
mov eax, dword [r13 + 0x30]
test bpl, al
je 0x1337c0e9b91b
cmp edi, 0x80
jb 0x1337c0e9b918
cmp edi, 0x4000
jae 0x1337c0e9b8fc
mov ebp, 2
jmp 0x1337c0e9b918
cmp edi, 0x200000
jae 0x1337c0e9b90b
mov ebp, 3
jmp 0x1337c0e9b918
cmp edi, 0x10000000
sbb rbp, rbp
add rbp, 5
add r15, rbp
mov rbp, qword [rsp + 0x40]
lea rax, [r15 + rdi]
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop rdi
ret