Function at 0x7c6570
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14c
mov edi, edx
mov esi, ecx
mov eax, dword [0xa7d04c]
xor eax, esp
mov dword [esp + 0x148], eax
call fcn.007c6f10
xor eax, edi
mov ecx, dword [esi + 0xc]
mov dword [esp], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x14], ecx
mov ebp, dword [esi + 0x24]
mov ebx, dword [esi + 0x28]
add eax, dword [0xa5ad00]
mov ecx, dword [0xa5acf0]
add ecx, eax
add ecx, 0xffffcc2f
mov dword [esp + 0x44], esi
add esi, 0x2c
call dword [0xa37360]
lea eax, [esp + 0x48]
push 0x40
push esi
push eax
call ecx
add esp, 0xc
mov eax, 0x10
nop word cs:[eax + eax]
mov ecx, dword [esp + eax*4 + 0x40]
mov edx, ecx
rol edx, 0xf
mov esi, ecx
rol esi, 0xd
xor esi, edx
shr ecx, 0xa
xor ecx, esi
add ecx, dword [esp + eax*4 + 0x2c]
mov edx, dword [esp + eax*4 + 0xc]
mov esi, edx
rol esi, 0x19
mov edi, edx
rol edi, 0xe
xor edi, esi
shr edx, 3
xor edx, edi
add ecx, dword [esp + eax*4 + 8]
add ecx, edx
mov dword [esp + eax*4 + 0x48], ecx
inc eax
cmp eax, 0x40
jne 0x7c6600
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], ebp
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], ecx
mov ebx, dword [esp]
nop dword [eax]
mov ecx, eax
rol eax, 0x1a
mov esi, ecx
rol esi, 0x15
xor esi, eax
mov eax, ecx
mov dword [esp + 0x34], ecx
rol eax, 7
xor eax, esi
mov dword [esp + 0x2c], edx
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], esi
xor edx, esi
and edx, ecx
xor edx, esi
add edx, dword [esp + 0x1c]
add edx, eax
mov edi, ebx
mov eax, ebx
rol eax, 0x1e
mov esi, ebx
rol esi, 0x13
xor esi, eax
mov eax, ebx
rol eax, 0xa
xor eax, esi
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov esi, ecx
or esi, ebp
and esi, ebx
mov ebx, ecx
and ebx, ebp
or ebx, esi
mov esi, dword [esp + 0x38]
add edx, dword [esi + 0x9df5ec]
add edx, dword [esp + esi + 0x48]
add ebx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add ebx, edx
add esi, 4
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], esi
cmp esi, 0x100
jne 0x7c6680
add ebx, dword [esp]
mov edx, dword [esp + 0x44]
mov dword [edx + 0xc], ebx
add edi, dword [esp + 4]
mov dword [edx + 0x10], edi
add ecx, dword [esp + 8]
mov dword [edx + 0x14], ecx
add ebp, dword [esp + 0xc]
mov dword [edx + 0x18], ebp
add eax, dword [esp + 0x10]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x14]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x3c]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x40]
mov dword [edx + 0x28], eax
mov ecx, dword [esp + 0x148]
xor ecx, esp
call fcn.0091d849
add esp, 0x14c
pop esi
pop edi
pop ebx
pop ebp
ret