Function at 0x140058390
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rdx + 2]
lea r15, [0x140000000]
movzx edi, byte [rdx + 3]
mov r9, rdx
movzx r11d, byte [rdx + 7]
mov r13, rcx
shl edi, 8
or edi, eax
shl r11d, 8
movzx eax, byte [rdx + 1]
movzx r10d, byte [r9 + 0xf]
shl r10d, 8
shl edi, 8
or edi, eax
movzx eax, byte [rdx]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 6]
xor edi, dword [rcx + 4]
or r11d, eax
movzx eax, byte [rdx + 5]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 4]
movzx edx, byte [rdx + 0xb]
shl edx, 8
shl r11d, 8
or r11d, eax
movzx eax, byte [r9 + 0xa]
xor r11d, dword [rcx + 8]
or edx, eax
movzx eax, byte [r9 + 9]
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 8]
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 0xe]
xor edx, dword [rcx + 0xc]
or r10d, eax
movzx eax, byte [r9 + 0xd]
shl r10d, 8
or r10d, eax
movzx eax, byte [r9 + 0xc]
shl r10d, 8
or r10d, eax
mov eax, edx
xor r10d, dword [rcx + 0x10]
shr rax, 0x18
movzx ebx, byte [rax + r15 + 0xb72e0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r15 + 0xb74e0]
xor ebx, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r15 + 0xb73e0]
xor ebx, eax
movzx eax, dl
shl ebx, 8
movzx eax, byte [rax + r15 + 0xb71e0]
xor ebx, eax
mov eax, r10d
shr rax, 0x18
movzx edx, byte [rax + r15 + 0xb72e0]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r15 + 0xb74e0]
xor edx, eax
mov eax, r10d
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r15 + 0xb73e0]
xor edx, eax
shl edx, 8
mov r14d, ebx
movzx eax, r10b
shr r14d, 8
movzx eax, byte [rax + r15 + 0xb71e0]
xor edx, eax
mov eax, r11d
shr rax, 0x18
mov r10d, edx
shl edx, 0x10
shr r10d, 0x10
xor r10d, edx
movzx r9d, byte [rax + r15 + 0xb72e0]
mov edx, r10d
shl r9d, 8
mov eax, r11d
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xb74e0]
xor r9d, eax
mov eax, r11d
shr eax, 8
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r15 + 0xb73e0]
xor r9d, eax
movzx eax, r11b
shl r9d, 8
movzx eax, byte [rax + r15 + 0xb71e0]
xor r9d, eax
mov eax, edi
shr rax, 0x18
mov esi, r9d
shr esi, 0x10
movzx ebp, byte [rax + r15 + 0xb72e0]
mov eax, edi
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r15 + 0xb74e0]
xor ebp, eax
mov eax, edi
shr eax, 8
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r15 + 0xb73e0]
xor ebp, eax
movzx eax, dil
shl ebp, 8
mov edi, r10d
movzx eax, byte [rax + r15 + 0xb71e0]
xor ebp, eax
mov eax, r9d
shl eax, 0x10
mov r11d, ebp
xor esi, eax
shr r11d, 0x10
mov eax, ebx
shl ebx, 8
shl eax, 8
xor r14d, eax
mov eax, ebp
shl eax, 0x10
and r14d, 0xff00ff
xor r11d, eax
xor r14d, ebx
xor r9d, r14d
mov ebx, r10d
xor edx, r9d
shr ebx, 8
shl edx, 8
mov eax, r9d
shr eax, 8
and ebx, 0xff00ff
xor edx, eax
mov eax, r10d
xor eax, r9d
and edx, 0xff00ff
shl eax, 8
xor edx, eax
xor edx, ebx
xor edx, r11d
mov ecx, r14d
shr ecx, 0x10
mov eax, r14d
shl eax, 0x10
mov r12d, 2
xor ecx, eax
mov eax, esi
xor r10d, ecx
shl eax, 8
mov r9d, r10d
mov ecx, esi
shr ecx, 8
xor ecx, eax
shr r9d, 0x10
and ecx, 0xff00ff
mov eax, esi
shl eax, 8
xor ecx, eax
mov eax, edx
xor r11d, ecx
xor eax, r10d
xor ebp, eax
shl r10d, 0x10
xor ebp, dword [r13 + 0x18]
xor r9d, r10d
xor r9d, edx
mov r10d, edx
shl edx, 0x10
shr r10d, 0x10
xor r10d, edx
mov edx, r11d
shr edx, 0x10
mov ecx, r10d
shr ecx, 8
mov eax, r10d
shl eax, 8
xor ecx, eax
mov eax, r10d
and ecx, 0xff00ff
shl eax, 8
xor ecx, eax
mov eax, r9d
xor ecx, r11d
shl eax, 8
xor r14d, ecx
shl r11d, 0x10
xor r14d, dword [r13 + 0x20]
xor edx, r11d
mov ecx, r9d
shl r9d, 8
shr ecx, 8
xor ecx, eax
mov eax, edx
and ecx, 0xff00ff
shr eax, 8
xor ecx, r9d
xor ecx, dword [r13 + 0x14]
xor esi, ecx
mov ecx, edi
xor ecx, edx
xor edx, edi
shl edx, 8
shl ecx, 8
xor ecx, eax
mov eax, esi
shr rax, 0x18
and ecx, 0xff00ff
xor edx, ecx
xor edx, dword [r13 + 0x1c]
xor edx, ebx
movzx r15d, byte [rax + r15 + 0xb73e0]
xor edx, r10d
shl r15d, 8
lea r10, [0x140000000]
mov eax, esi
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r10 + 0xb71e0]
xor r15d, eax
shl r15d, 8
mov eax, esi
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r10 + 0xb72e0]
xor r15d, eax
movzx eax, sil
shl r15d, 8
movzx eax, byte [rax + r10 + 0xb74e0]
xor r15d, eax
mov eax, ebp
shr rax, 0x18
movzx r9d, byte [rax + r10 + 0xb73e0]
mov eax, ebp
shr eax, 0x10
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r10 + 0xb71e0]
xor r9d, eax
mov eax, ebp
shr eax, 8
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r10 + 0xb72e0]
xor r9d, eax
movzx eax, bpl
lea rbp, [0x140000000]
shl r9d, 8
movzx eax, byte [rax + rbp + 0xb74e0]
xor r9d, eax
mov eax, edx
shr rax, 0x18
movzx r11d, byte [rax + rbp + 0xb73e0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp + 0xb71e0]
xor r11d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp + 0xb72e0]
xor r11d, eax
movzx eax, dl
shl r11d, 8
movzx eax, byte [rax + rbp + 0xb74e0]
xor r11d, eax
mov eax, r14d
shr rax, 0x18
movzx edx, byte [rax + rbp + 0xb73e0]
mov eax, r14d
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0xb71e0]
xor edx, eax
mov eax, r14d
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0xb72e0]
xor edx, eax
movzx eax, r14b
shl edx, 8
movzx eax, byte [rax + rbp + 0xb74e0]
xor edx, eax
movzx eax, byte [r13]
mov qword [rsp + 0x60], rax
cmp rax, r12
jbe 0x140058da1
lea r8, [r13 + 0x28]
mov r13d, r12d
nop word [rax + rax]
mov r10d, edx
mov r14d, r9d
shl edx, 0x10
mov eax, r9d
shl eax, 0x10
mov esi, r11d
shr r10d, 0x10
xor r10d, edx
shr esi, 8
mov edx, r10d
shr r14d, 0x10
xor r14d, eax
mov ebx, r10d
mov eax, r11d
shr ebx, 8
shl eax, 8
mov edi, r10d
xor esi, eax
shl r11d, 8
and esi, 0xff00ff
mov eax, r15d
shl eax, 0x10
xor esi, r11d
xor r9d, esi
mov r11d, r15d
xor edx, r9d
shr r11d, 0x10
xor r11d, eax
shl edx, 8
mov eax, r9d
mov ecx, esi
shr eax, 8
and ebx, 0xff00ff
xor edx, eax
shr ecx, 0x10
mov eax, r10d
and edx, 0xff00ff
xor eax, r9d
shl eax, 8
xor edx, eax
mov eax, esi
shl eax, 0x10
xor edx, ebx
xor ecx, eax
xor edx, r11d
xor r10d, ecx
mov eax, r14d
shl eax, 8
mov r9d, r10d
shr r9d, 0x10
mov ecx, r14d
shr ecx, 8
xor ecx, eax
mov eax, r14d
shl eax, 8
and ecx, 0xff00ff
xor ecx, eax
mov eax, edx
xor eax, r10d
xor r11d, ecx
shl r10d, 0x10
xor r15d, eax
xor r9d, r10d
mov r10d, edx
xor r9d, edx
shr r10d, 0x10
shl edx, 0x10
xor r10d, edx
mov edx, r11d
mov ecx, r10d
mov eax, r10d
shr ecx, 8
shl eax, 8
xor ecx, eax
mov eax, r10d
and ecx, 0xff00ff
shl eax, 8
xor ecx, eax
xor ecx, r11d
xor esi, ecx
shr edx, 0x10
xor esi, dword [r8 + 8]
mov ecx, r9d
xor r15d, dword [r8]
mov eax, r9d
shl eax, 8
shr ecx, 8
xor ecx, eax
shl r11d, 0x10
xor edx, r11d
shl r9d, 8
and ecx, 0xff00ff
mov eax, edx
xor ecx, dword [r8 - 4]
shr eax, 8
xor ecx, r9d
xor r14d, ecx
mov ecx, edi
xor ecx, edx
xor edi, edx
shl ecx, 8
xor ecx, eax
shl edi, 8
and ecx, 0xff00ff
xor ecx, edi
xor ecx, dword [r8 + 4]
xor ecx, ebx
xor ecx, r10d
mov edx, ecx
mov eax, ecx
shr rax, 0x18
movzx r11d, byte [rax + rbp + 0xb72e0]
mov eax, ecx
shr eax, 0x10
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp + 0xb74e0]
xor r11d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp + 0xb73e0]
xor r11d, eax
movzx eax, dl
shl r11d, 8
movzx eax, byte [rax + rbp + 0xb71e0]
xor r11d, eax
mov eax, esi
shr rax, 0x18
movzx edx, byte [rax + rbp + 0xb72e0]
mov eax, esi
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0xb74e0]
xor edx, eax
mov eax, esi
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0xb73e0]
xor edx, eax
movzx eax, sil
shl edx, 8
movzx eax, byte [rax + rbp + 0xb71e0]
xor edx, eax
mov eax, r15d
shr rax, 0x18
movzx r9d, byte [rax + rbp + 0xb72e0]
mov eax, r15d
shr eax, 0x10
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + rbp + 0xb74e0]
xor r9d, eax
mov eax, r15d
shr eax, 8
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + rbp + 0xb73e0]
xor r9d, eax
lea r10, [0x140000000]
shl r9d, 8
movzx eax, r15b
movzx eax, byte [rax + rbp + 0xb71e0]
xor r9d, eax
mov eax, r14d
shr rax, 0x18
mov esi, r9d
shr esi, 0x10
movzx ebp, byte [rax + rbp + 0xb72e0]
mov eax, r14d
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r10 + 0xb74e0]
xor ebp, eax
mov eax, r14d
shr eax, 8
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r10 + 0xb73e0]
xor ebp, eax
movzx eax, r14b
mov r14d, r11d
shl ebp, 8
shr r14d, 8
movzx eax, byte [rax + r10 + 0xb71e0]
mov r10d, edx
xor ebp, eax
shl edx, 0x10
shr r10d, 0x10
mov eax, r9d
shl eax, 0x10
xor r10d, edx
xor esi, eax
mov edx, r10d
mov eax, r11d
mov ebx, r10d
shl eax, 8
mov edi, r10d
xor r14d, eax
shl r11d, 8
and r14d, 0xff00ff
shr ebx, 8
xor r14d, r11d
and ebx, 0xff00ff
xor r9d, r14d
mov r11d, ebp
xor edx, r9d
shr r11d, 0x10
shl edx, 8
mov eax, ebp
shl eax, 0x10
mov ecx, r14d
xor r11d, eax
shr ecx, 0x10
mov eax, r9d
shr eax, 8
xor edx, eax
mov eax, r10d
xor eax, r9d
and edx, 0xff00ff
shl eax, 8
xor edx, eax
mov eax, r14d
shl eax, 0x10
xor edx, ebx
xor ecx, eax
xor edx, r11d
xor r10d, ecx
mov eax, esi
shl eax, 8
mov ecx, esi
shr ecx, 8
xor ecx, eax
mov eax, esi
shl eax, 8
and ecx, 0xff00ff
xor ecx, eax
mov eax, edx
xor r11d, ecx
xor eax, r10d
mov r9d, r10d
xor ebp, eax
shr r9d, 0x10
xor ebp, dword [r8 + 0x10]
add r12d, 2
shl r10d, 0x10
add r13, 2
xor r9d, r10d
mov r10d, edx
xor r9d, edx
shr r10d, 0x10
shl edx, 0x10
xor r10d, edx
mov edx, r11d
shr edx, 0x10
mov ecx, r10d
shr ecx, 8
mov eax, r10d
shl eax, 8
xor ecx, eax
mov eax, r10d
shl eax, 8
and ecx, 0xff00ff
xor ecx, eax
mov eax, r9d
shl eax, 8
xor ecx, r11d
xor r14d, ecx
shl r11d, 0x10
xor r14d, dword [r8 + 0x18]
xor edx, r11d
mov ecx, r9d
shl r9d, 8
shr ecx, 8
xor ecx, eax
mov eax, edx
shr eax, 8
and ecx, 0xff00ff
xor ecx, dword [r8 + 0xc]
xor ecx, r9d
xor esi, ecx
mov ecx, edi
xor ecx, edx
xor edx, edi
shl ecx, 8
xor ecx, eax
shl edx, 8
and ecx, 0xff00ff
mov eax, esi
shr rax, 0x18
xor edx, ecx
xor edx, dword [r8 + 0x14]
xor edx, ebx
xor edx, r10d
lea r10, [0x140000000]
movzx r15d, byte [rax + r10 + 0xb73e0]
mov eax, esi
shr eax, 0x10
movzx ecx, al
shl r15d, 8
movzx eax, byte [rcx + r10 + 0xb71e0]
xor r15d, eax
mov eax, esi
shr eax, 8
movzx ecx, al
shl r15d, 8
movzx eax, byte [rcx + r10 + 0xb72e0]
xor r15d, eax
movzx eax, sil
shl r15d, 8
movzx eax, byte [rax + r10 + 0xb74e0]
xor r15d, eax
mov eax, ebp
shr rax, 0x18
movzx r9d, byte [rax + r10 + 0xb73e0]
mov eax, ebp
shl r9d, 8
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r10 + 0xb71e0]
xor r9d, eax
lea r8, [r8 + 0x20]
shl r9d, 8
mov eax, ebp
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r10 + 0xb72e0]
xor r9d, eax
movzx eax, bpl
lea rbp, [0x140000000]
shl r9d, 8
movzx eax, byte [rax + rbp + 0xb74e0]
xor r9d, eax
mov eax, edx
shr rax, 0x18
movzx r11d, byte [rax + rbp + 0xb73e0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp + 0xb71e0]
xor r11d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp + 0xb72e0]
xor r11d, eax
movzx eax, dl
shl r11d, 8
movzx eax, byte [rax + rbp + 0xb74e0]
xor r11d, eax
mov eax, r14d
shr rax, 0x18
movzx edx, byte [rax + rbp + 0xb73e0]
mov eax, r14d
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp + 0xb71e0]
xor edx, eax
mov eax, r14d
shr eax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rbp + 0xb72e0]
xor edx, eax
movzx eax, r14b
shl edx, 8
movzx eax, byte [rax + rbp + 0xb74e0]
xor edx, eax
cmp r13, qword [rsp + 0x60]
jl 0x140058850
mov r8, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
movsxd rax, r12d
add rax, rax
xor r15d, dword [r13 + rax*8 + 4]
xor r9d, dword [r13 + rax*8 + 8]
xor r11d, dword [r13 + rax*8 + 0xc]
xor edx, dword [r13 + rax*8 + 0x10]
mov eax, r15d
shr eax, 8
mov byte [r8 + 1], al
mov eax, r15d
shr eax, 0x10
mov byte [r8 + 2], al
mov eax, r9d
shr eax, 8
mov byte [r8 + 5], al
mov eax, r9d
shr eax, 0x10
mov byte [r8 + 6], al
mov eax, r11d
shr eax, 8
mov byte [r8 + 9], al
mov eax, r11d
shr eax, 0x10
mov byte [r8 + 0xa], al
mov eax, edx
shr eax, 8
mov byte [r8 + 0xd], al
mov eax, edx
shr eax, 0x10
mov byte [r8], r15b
shr r15d, 0x18
mov byte [r8 + 4], r9b
shr r9d, 0x18
mov byte [r8 + 8], r11b
shr r11d, 0x18
mov byte [r8 + 0xc], dl
shr edx, 0x18
mov byte [r8 + 0xe], al
xor eax, eax
mov byte [r8 + 3], r15b
mov byte [r8 + 7], r9b
mov byte [r8 + 0xb], r11b
mov byte [r8 + 0xf], dl
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret