Function at 0x100089f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x100e5900]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push edi
mov edi, edx
mov edx, dword [eax]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x94], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], edx
mov bl, 4
lea eax, [ebp - 0x92]
jmp 0x10008a40
mov dl, byte [eax + 1]
xor byte [eax - 2], dl
mov cl, byte [eax - 2]
xor cl, dl
mov dl, byte [eax]
xor byte [eax - 2], cl
xor byte [eax - 1], dl
mov byte [eax + 1], cl
mov cl, byte [eax - 1]
xor cl, dl
xor byte [eax - 1], cl
mov byte [eax], cl
add eax, 4
dec bl
jne 0x10008a40
lea eax, [ebp - 0x8c]
push esi
mov ecx, eax
lea esi, [edi + 8]
sub edi, ecx
mov dword [ebp - 0x9c], 8
nop
mov edx, dword [edi + eax]
xor edx, dword [eax + 4]
xor edx, dword [eax - 4]
xor edx, dword [eax]
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x97], cl
mov ecx, edx
shr ecx, 0x18
mov ebx, edx
shr ebx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + 0x100de400]
movzx ebx, bl
movzx ebx, byte [ebx + 0x100de400]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [ebp - 0x97]
movzx ebx, byte [ebx + 0x100de400]
movzx edx, dl
movzx edx, byte [edx + 0x100de400]
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edx
mov edx, ecx
ror edx, 0xe
mov ebx, ecx
rol ebx, 0xa
xor edx, ebx
mov ebx, ecx
ror ebx, 8
xor edx, ebx
mov ebx, ecx
rol ebx, 2
xor edx, ebx
xor edx, dword [eax - 8]
xor edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi - 4]
xor edx, dword [eax + 8]
xor edx, dword [eax + 4]
xor edx, dword [eax]
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x97], cl
mov ecx, edx
mov ebx, edx
shr ecx, 0x18
shr ebx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + 0x100de400]
movzx ebx, bl
movzx ebx, byte [ebx + 0x100de400]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [ebp - 0x97]
movzx ebx, byte [ebx + 0x100de400]
movzx edx, dl
movzx edx, byte [edx + 0x100de400]
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edx
mov edx, ecx
ror edx, 0xe
mov ebx, ecx
rol ebx, 0xa
xor edx, ebx
mov ebx, ecx
ror ebx, 8
xor edx, ebx
mov ebx, ecx
rol ebx, 2
xor edx, ebx
xor edx, dword [eax - 4]
xor edx, ecx
mov dword [eax + 0xc], edx
mov edx, dword [eax + 8]
xor edx, dword [eax + 4]
xor edx, dword [esi]
xor edx, dword [eax + 0xc]
add eax, 0x10
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x97], cl
mov ecx, edx
shr ecx, 0x18
mov ebx, edx
shr ebx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + 0x100de400]
movzx ebx, bl
movzx ebx, byte [ebx + 0x100de400]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [ebp - 0x97]
movzx ebx, byte [ebx + 0x100de400]
shl ecx, 8
or ecx, ebx
movzx edx, dl
movzx edx, byte [edx + 0x100de400]
shl ecx, 8
or ecx, edx
mov edx, ecx
ror edx, 0xe
mov ebx, ecx
rol ebx, 0xa
xor edx, ebx
mov ebx, ecx
ror ebx, 8
xor edx, ebx
mov ebx, ecx
rol ebx, 2
xor edx, ebx
xor edx, dword [eax - 0x10]
add esi, 0x10
xor edx, ecx
mov dword [eax], edx
mov edx, dword [esi - 0xc]
xor edx, dword [eax]
xor edx, dword [eax - 8]
xor edx, dword [eax - 4]
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x97], cl
mov ecx, edx
shr ecx, 0x18
mov ebx, edx
shr ebx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + 0x100de400]
movzx ebx, bl
movzx ebx, byte [ebx + 0x100de400]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [ebp - 0x97]
movzx ebx, byte [ebx + 0x100de400]
movzx edx, dl
movzx edx, byte [edx + 0x100de400]
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edx
mov edx, ecx
ror edx, 0xe
mov ebx, ecx
rol ebx, 0xa
xor edx, ebx
mov ebx, ecx
ror ebx, 8
xor edx, ebx
mov ebx, ecx
rol ebx, 2
xor edx, ebx
xor edx, dword [eax - 0xc]
xor edx, ecx
dec dword [ebp - 0x9c]
mov dword [eax + 4], edx
jne 0x10008a80
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov bl, 4
add eax, 2
pop esi
jmp 0x10008cb0
mov dl, byte [eax + 1]
xor byte [eax - 2], dl
mov cl, byte [eax - 2]
xor cl, dl
mov dl, byte [eax]
xor byte [eax - 2], cl
xor byte [eax - 1], dl
mov byte [eax + 1], cl
mov cl, byte [eax - 1]
xor cl, dl
xor byte [eax - 1], cl
mov byte [eax], cl
add eax, 4
dec bl
jne 0x10008cb0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.10077184
mov esp, ebp
pop ebp
ret