Function at 0x4d8bd4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword ss:[ebp + 0x10]
mov esi, dword ss:[ebp + 8]
cmp dword [0x55e474], 0
jne 0x4d8bf0
call fcn.004d8834
mov eax, dword ds:[esi]
mov dword ds:[ebx], eax
mov edx, dword ds:[esi + 4]
mov dword ds:[ebx + 4], edx
mov ecx, dword ds:[esi + 8]
mov dword ds:[ebx + 8], ecx
mov eax, dword ds:[esi + 0xc]
mov dword ds:[ebx + 0xc], eax
mov edx, dword ss:[ebp + 0xc]
sub edx, 4
je 0x4d8c2e
sub edx, 2
je 0x4d8d14
sub edx, 2
je 0x4d8e56
jmp 0x4d8ffa
mov eax, dword ds:[ebx + 0xc]
xor edx, edx
mov ecx, eax
shr ecx, 8
mov esi, eax
shl esi, 0x18
or ecx, esi
shr ecx, 0
and ecx, 0xff
lea esi, [0x560978]
mov esi, dword ds:[esi + ecx*4]
mov ecx, eax
shr ecx, 8
mov edi, eax
shl edi, 0x18
or ecx, edi
shr ecx, 8
and ecx, 0xff
lea edi, [0x560d78]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 8
mov edi, eax
shl edi, 0x18
or ecx, edi
shr ecx, 0x10
and ecx, 0xff
lea edi, [0x561178]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 8
shl eax, 0x18
or ecx, eax
shr ecx, 0x18
xor eax, eax
mov al, cl
lea ecx, [0x561578]
xor esi, dword ds:[ecx + eax*4]
xor esi, dword ds:[edx*4 + 0x55e878]
mov eax, esi
mov ecx, edx
shl ecx, 2
xor eax, dword ds:[ebx + ecx*4]
mov ecx, edx
shl ecx, 2
mov dword ds:[ebx + ecx*4 + 0x10], eax
mov ecx, edx
shl ecx, 2
xor eax, dword ds:[ebx + ecx*4 + 4]
mov ecx, edx
shl ecx, 2
mov dword ds:[ebx + ecx*4 + 0x14], eax
mov ecx, edx
shl ecx, 2
xor eax, dword ds:[ebx + ecx*4 + 8]
mov ecx, edx
shl ecx, 2
mov dword ds:[ebx + ecx*4 + 0x18], eax
mov ecx, edx
shl ecx, 2
xor eax, dword ds:[ebx + ecx*4 + 0xc]
mov ecx, edx
shl ecx, 2
mov dword ds:[ebx + ecx*4 + 0x1c], eax
inc edx
cmp edx, 0xa
jb 0x4d8c34
jmp 0x4d8ffa
mov eax, dword ds:[esi + 0x10]
mov dword ds:[ebx + 0x10], eax
mov edx, dword ds:[esi + 0x14]
mov dword ds:[ebx + 0x14], edx
mov eax, dword ds:[ebx + 0x14]
xor edx, edx
mov ecx, eax
shr ecx, 8
mov esi, eax
shl esi, 0x18
or ecx, esi
shr ecx, 0
and ecx, 0xff
lea esi, [0x560978]
mov esi, dword ds:[esi + ecx*4]
mov ecx, eax
shr ecx, 8
mov edi, eax
shl edi, 0x18
or ecx, edi
shr ecx, 8
and ecx, 0xff
lea edi, [0x560d78]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 8
mov edi, eax
shl edi, 0x18
or ecx, edi
shr ecx, 0x10
and ecx, 0xff
lea edi, [0x561178]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 8
shl eax, 0x18
or ecx, eax
shr ecx, 0x18
xor eax, eax
mov al, cl
lea ecx, [0x561578]
xor esi, dword ds:[ecx + eax*4]
xor esi, dword ds:[edx*4 + 0x55e878]
mov eax, esi
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
xor eax, dword ds:[ebx + ecx*4]
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
mov dword ds:[ebx + ecx*4 + 0x18], eax
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
xor eax, dword ds:[ebx + ecx*4 + 4]
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
mov dword ds:[ebx + ecx*4 + 0x1c], eax
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
xor eax, dword ds:[ebx + ecx*4 + 8]
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
mov dword ds:[ebx + ecx*4 + 0x20], eax
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
xor eax, dword ds:[ebx + ecx*4 + 0xc]
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
mov dword ds:[ebx + ecx*4 + 0x24], eax
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
xor eax, dword ds:[ebx + ecx*4 + 0x10]
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
mov dword ds:[ebx + ecx*4 + 0x28], eax
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
xor eax, dword ds:[ebx + ecx*4 + 0x14]
mov ecx, edx
add ecx, ecx
lea ecx, ds:[ecx + ecx*2]
mov dword ds:[ebx + ecx*4 + 0x2c], eax
inc edx
cmp edx, 8
jb 0x4d8d2a
jmp 0x4d8ffa
mov eax, dword ds:[esi + 0x10]
mov dword ds:[ebx + 0x10], eax
mov edx, dword ds:[esi + 0x14]
mov dword ds:[ebx + 0x14], edx
mov eax, dword ds:[esi + 0x18]
mov dword ds:[ebx + 0x18], eax
mov edx, dword ds:[esi + 0x1c]
mov dword ds:[ebx + 0x1c], edx
mov eax, dword ds:[ebx + 0x1c]
xor edx, edx
mov ecx, eax
shr ecx, 8
mov esi, eax
shl esi, 0x18
or ecx, esi
shr ecx, 0
and ecx, 0xff
lea esi, [0x560978]
mov esi, dword ds:[esi + ecx*4]
mov ecx, eax
shr ecx, 8
mov edi, eax
shl edi, 0x18
or ecx, edi
shr ecx, 8
and ecx, 0xff
lea edi, [0x560d78]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 8
mov edi, eax
shl edi, 0x18
or ecx, edi
shr ecx, 0x10
and ecx, 0xff
lea edi, [0x561178]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 8
shl eax, 0x18
or ecx, eax
shr ecx, 0x18
xor eax, eax
mov al, cl
lea ecx, [0x561578]
xor esi, dword ds:[ecx + eax*4]
xor esi, dword ds:[edx*4 + 0x55e878]
mov eax, esi
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x20], eax
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4 + 4]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x24], eax
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4 + 8]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x28], eax
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4 + 0xc]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x2c], eax
mov ecx, eax
shr ecx, 0
and ecx, 0xff
lea esi, [0x560978]
mov esi, dword ds:[esi + ecx*4]
mov ecx, eax
shr ecx, 8
and ecx, 0xff
lea edi, [0x560d78]
xor esi, dword ds:[edi + ecx*4]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
lea edi, [0x561178]
xor esi, dword ds:[edi + ecx*4]
shr eax, 0x18
and eax, 0xff
lea ecx, [0x561578]
xor esi, dword ds:[ecx + eax*4]
mov eax, edx
shl eax, 3
xor esi, dword ds:[ebx + eax*4 + 0x10]
mov eax, esi
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x30], eax
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4 + 0x14]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x34], eax
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4 + 0x18]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x38], eax
mov ecx, edx
shl ecx, 3
xor eax, dword ds:[ebx + ecx*4 + 0x1c]
mov ecx, edx
shl ecx, 3
mov dword ds:[ebx + ecx*4 + 0x3c], eax
inc edx
cmp edx, 7
jb 0x4d8e7c
pop edi
pop esi
pop ebx
pop ebp
ret