Function at 0x565cf0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
mov eax, dword [esp + 0xc]
mov cl, byte [eax + 0x68]
push ebx
push esi
mov esi, dword [esp + 0x18]
xor cl, byte [esi]
mov bl, byte [esi + 5]
mov byte [esp + 9], cl
mov cl, byte [esi + 1]
sub cl, byte [eax + 0x69]
mov dl, byte [esi + 6]
sub bl, byte [eax + 0x6d]
sub dl, byte [eax + 0x6e]
mov byte [esp + 0x14], cl
mov cl, byte [esi + 2]
sub cl, byte [eax + 0x6a]
mov byte [esp + 0xe], cl
mov cl, byte [eax + 0x6b]
xor cl, byte [esi + 3]
mov byte [esp + 0x18], cl
mov cl, byte [eax + 0x6c]
xor cl, byte [esi + 4]
mov byte [esp + 8], cl
mov cl, byte [eax + 0x6f]
xor cl, byte [esi + 7]
add eax, 0x61
mov esi, 6
sub dl, cl
sub cl, dl
mov byte [esp + 0xb], dl
mov dl, byte [esp + 0xe]
sub dl, byte [esp + 0x18]
mov byte [esp + 0xc], cl
mov cl, byte [esp + 8]
mov byte [esp + 8], dl
mov dl, byte [esp + 9]
sub dl, byte [esp + 0x14]
sub cl, bl
mov byte [esp + 9], dl
mov dl, byte [esp + 0x14]
sub dl, byte [esp + 9]
sub bl, cl
mov byte [esp + 0xe], dl
mov dl, byte [esp + 0x18]
sub dl, byte [esp + 8]
mov byte [esp + 0xa], bl
sub dl, byte [esp + 0xc]
mov byte [esp + 0xd], dl
mov dl, byte [esp + 0xc]
sub dl, byte [esp + 0xd]
mov byte [esp + 0xc], dl
mov dl, byte [esp + 8]
sub dl, byte [esp + 0xb]
mov byte [esp + 0x14], dl
mov dl, byte [esp + 0xb]
sub dl, byte [esp + 0x14]
mov byte [esp + 0x18], dl
mov dl, byte [esp + 0xe]
sub dl, bl
mov byte [esp + 8], dl
mov dl, byte [esp + 9]
sub dl, cl
mov byte [esp + 9], dl
mov dl, bl
sub dl, byte [esp + 0xc]
mov bl, byte [esp + 0x18]
sub dl, byte [esp + 8]
sub cl, bl
mov byte [esp + 0xf], dl
mov dl, byte [esp + 0xc]
sub dl, byte [esp + 0xf]
mov byte [esp + 0xc], dl
mov dl, byte [esp + 8]
sub dl, byte [esp + 0xd]
mov byte [esp + 8], dl
mov dl, byte [esp + 0xd]
sub dl, byte [esp + 8]
mov byte [esp + 0xb], dl
mov dl, byte [esp + 9]
sub cl, dl
mov byte [esp + 0xe], cl
sub bl, cl
mov cl, byte [esp + 0x14]
sub dl, cl
sub cl, dl
sub dl, byte [eax - 1]
movzx ecx, cl
movzx edx, dl
movzx edx, byte [edx + 0x68db80]
xor dl, byte [eax - 9]
mov byte [esp + 0xa], bl
mov byte [esp + 9], dl
movzx edx, byte [eax]
xor edx, ecx
movzx edx, byte [edx + 0x68dc80]
sub dl, byte [eax - 8]
movzx ecx, byte [eax + 1]
mov byte [esp + 0x14], dl
movzx edx, byte [esp + 0xe]
xor ecx, edx
movzx ecx, byte [ecx + 0x68dc80]
sub cl, byte [eax - 7]
mov byte [esp + 0xe], cl
mov cl, bl
sub cl, byte [eax + 2]
movzx edx, cl
movzx ecx, byte [edx + 0x68db80]
xor cl, byte [eax - 6]
mov byte [esp + 0x18], cl
mov cl, byte [esp + 8]
sub cl, byte [eax + 3]
sub eax, 0x10
movzx edx, cl
movzx ecx, byte [edx + 0x68db80]
xor cl, byte [eax + 0xb]
movzx edx, byte [eax + 0x14]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0xb]
xor edx, ecx
mov bl, byte [edx + 0x68dc80]
movzx ecx, byte [esp + 0xf]
movzx edx, byte [eax + 0x15]
sub bl, byte [eax + 0xc]
xor edx, ecx
mov cl, byte [esp + 0xc]
sub cl, byte [eax + 0x16]
mov dl, byte [edx + 0x68dc80]
sub dl, byte [eax + 0xd]
movzx ecx, cl
mov cl, byte [ecx + 0x68db80]
xor cl, byte [eax + 0xe]
sub esi, 1
jne 0x565d48
mov esi, dword [esp + 0x1c]
movzx eax, byte [esp + 9]
mov byte [esi], al
movzx eax, byte [esp + 0x14]
mov byte [esi + 1], al
movzx eax, byte [esp + 0xe]
mov byte [esi + 2], al
movzx eax, byte [esp + 0x18]
mov byte [esi + 3], al
movzx eax, byte [esp + 8]
mov byte [esi + 4], al
mov eax, esi
mov byte [eax + 5], bl
pop esi
mov byte [eax + 6], dl
mov byte [eax + 7], cl
xor eax, eax
pop ebx
add esp, 8
ret