Function at 0x140039b78
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov r9d, 0xa
mov rbx, rcx
mov r10, rcx
lea esi, [r9 - 6]
mov dword [rcx + 0x200], r9d
lea r8, [rdx + 2]
mov r11d, esi
movzx eax, byte [r8 - 1]
movzx edx, byte [r8 - 2]
shl edx, 8
or edx, eax
movzx eax, byte [r8]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 1]
add r8, rsi
shl edx, 8
or edx, eax
mov dword [rcx], edx
add rcx, rsi
dec r11
jne 0x140039ba9
lea r11, [0x14010aac0]
lea r14, [0x140000000]
mov r8d, dword [r10 + 0xc]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
mov eax, r8d
mov edx, dword [r14 + rcx*4 + 0x1092c0]
shr eax, 8
shl edx, 8
movzx ecx, al
movzx eax, r8b
xor edx, dword [r14 + rcx*4 + 0x1092c0]
shl edx, 8
xor edx, dword [r14 + rax*4 + 0x1092c0]
mov eax, r8d
shl edx, 8
shr eax, 0x18
movzx ecx, al
mov eax, dword [r10 + 8]
xor edx, dword [r14 + rcx*4 + 0x1092c0]
xor edx, dword [r10]
add r10, 0x10
xor edx, dword [r11]
add r11, rsi
mov dword [r10], edx
xor edx, dword [r10 - 0xc]
xor eax, edx
mov dword [r10 + 4], edx
xor r8d, eax
mov dword [r10 + 8], eax
mov dword [r10 + 0xc], r8d
dec r9
jne 0x140039be6
cmp dword [0x140142cb0], r9d
je 0x140039cc8
xor edx, edx
mov r8d, 0x100
mov ecx, dword [rdx + r14 + 0x1092c0]
mov eax, dword [r14 + rcx*4 + 0x109ac0]
mov dword [rdx + r14 + 0x16eaf0], eax
mov eax, dword [r14 + rcx*4 + 0x109ec0]
mov dword [rdx + r14 + 0x16eef0], eax
mov eax, dword [r14 + rcx*4 + 0x10a2c0]
mov dword [rdx + r14 + 0x16f2f0], eax
mov eax, dword [r14 + rcx*4 + 0x10a6c0]
mov dword [rdx + r14 + 0x16f6f0], eax
add rdx, rsi
dec r8
jne 0x140039c71
and dword [0x140142cb0], r8d
lea r11, [rbx + 0x100]
mov rcx, rsi
mov eax, dword [r10]
add r10, rsi
mov dword [r11], eax
add r11, rsi
dec rcx
jne 0x140039cd2
lea edi, [rcx + 1]
cmp dword [rbx + 0x200], edi
jbe 0x140039e2c
sub r10, 0x20
inc edi
mov r9d, dword [r10]
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr r9d, 8
mov r8d, dword [r14 + rdx*4 + 0x16eaf0]
shr eax, 0x10
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r14 + rcx*4 + 0x16eef0]
xor r8d, dword [r14 + rax*4 + 0x16f2f0]
movzx eax, byte [r10]
add r10, rsi
xor r8d, dword [r14 + rax*4 + 0x16f6f0]
mov dword [r11], r8d
mov r9d, dword [r10]
add r11, rsi
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr r9d, 8
mov r8d, dword [r14 + rdx*4 + 0x16eaf0]
shr eax, 0x10
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r14 + rcx*4 + 0x16eef0]
xor r8d, dword [r14 + rax*4 + 0x16f2f0]
movzx eax, byte [r10]
add r10, rsi
xor r8d, dword [r14 + rax*4 + 0x16f6f0]
mov dword [r11], r8d
mov r9d, dword [r10]
add r11, rsi
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr r9d, 8
mov r8d, dword [r14 + rdx*4 + 0x16eaf0]
shr eax, 0x10
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r14 + rcx*4 + 0x16eef0]
xor r8d, dword [r14 + rax*4 + 0x16f2f0]
movzx eax, byte [r10]
add r10, rsi
xor r8d, dword [r14 + rax*4 + 0x16f6f0]
mov dword [r11], r8d
mov r9d, dword [r10]
add r11, rsi
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
shr r9d, 8
mov r8d, dword [r14 + rdx*4 + 0x16eaf0]
shr eax, 0x10
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r14 + rcx*4 + 0x16eef0]
xor r8d, dword [r14 + rax*4 + 0x16f2f0]
movzx eax, byte [r10]
add r10, rsi
xor r8d, dword [r14 + rax*4 + 0x16f6f0]
mov dword [r11], r8d
add r11, rsi
cmp edi, dword [rbx + 0x200]
jb 0x140039cf2
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x18]
mov r14, qword [rsp + 0x20]
sub r10, 0x20
mov eax, dword [r10]
add r10, rsi
mov dword [r11], eax
mov eax, dword [r10]
add r11, rsi
mov dword [r11], eax
mov eax, dword [r10 + rsi]
mov dword [r11 + rsi], eax
mov eax, dword [r10 + rsi + 4]
mov dword [r11 + rsi + 4], eax
mov rsi, qword [rsp + 0x10]
ret