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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
push esi
push edi
test dword [ebx + 0x10c8], 0xffffffe0
lea esi, [ebx + 0x10a4]
jbe 0x408f9f
mov edi, dword [ebp + 0xc]
mov ecx, esi
mov eax, dword [edi + edx*4]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
inc edx
mov eax, dword [ebx + 0x10c8]
shr eax, 5
cmp edx, eax
jb 0x408f83
cmp edx, 8
jae 0x408fc0
mov dword [ebp - 4], esi
lea edi, [ebx + 0x10a4]
lea esi, [ebx + 0x1094]
mov ecx, 8
lea esi, [esi + edx*4]
sub ecx, edx
lea edi, [edi + edx*4]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 4]
mov eax, dword [ebx + 0x1084]
lea edi, [ebx + 0x38]
mov dword [ebx], eax
mov eax, dword [ebx + 0x1088]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x108c]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x1090]
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0x1094]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x1098]
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x109c]
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x10a0]
mov dword [ebx + 0x1c], eax
mov eax, dword [esi]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x10a8]
mov dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x10ac]
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x10b0]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x10b4]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x10b8]
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x10bc]
mov dword [edi], eax
mov eax, dword [ebx + 0x10c0]
mov dword [ebx + 0x3c], eax
mov ebx, edi
mov dword [ebp - 4], edi
mov edi, 0x10
mov ecx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov edx, dword [ebx - 4]
mov esi, ecx
mov eax, ecx
rol esi, 0xe
ror eax, 7
xor esi, eax
shr ecx, 3
xor esi, ecx
mov eax, edx
mov ecx, edx
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr edx, 0xa
xor ecx, edx
add esi, ecx
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
add esi, edi
inc edi
mov dword [ebx + 4], esi
cmp edi, 0x110
jb 0x409057
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 4]
mov eax, dword [ebx + 0x400]
mov dword [ebx], eax
mov eax, dword [ebx + 0x404]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x408]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x40c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0x410]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x414]
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x418]
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x41c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x420]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x424]
mov dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x428]
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x42c]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x430]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x434]
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x438]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x43c]
mov dword [ebx + 0x3c], eax
mov ebx, 0x10
mov ecx, dword [edi - 0x34]
lea edi, [edi + 4]
mov edx, dword [edi - 4]
mov esi, ecx
mov eax, ecx
rol esi, 0xe
ror eax, 7
xor esi, eax
shr ecx, 3
xor esi, ecx
mov eax, edx
rol eax, 0xd
mov ecx, edx
rol ecx, 0xf
xor eax, ecx
shr edx, 0xa
xor eax, edx
add eax, 0x100
add eax, esi
add eax, dword [edi - 0x3c]
add eax, dword [edi - 0x18]
add eax, ebx
inc ebx
mov dword [edi + 4], eax
cmp ebx, 0x400
jb 0x409132
mov ebx, dword [ebp + 8]
mov esi, 0x40
mov dword [ebx + 0x1080], 0
mov eax, dword [ebx + 0x7c0]
mov dword [ebx + 0x1000], eax
mov eax, dword [ebx + 0x7c4]
mov dword [ebx + 0x1004], eax
mov eax, dword [ebx + 0x7c8]
mov dword [ebx + 0x1008], eax
mov eax, dword [ebx + 0x7cc]
mov dword [ebx + 0x100c], eax
mov eax, dword [ebx + 0x7d0]
mov dword [ebx + 0x1010], eax
mov eax, dword [ebx + 0x7d4]
mov dword [ebx + 0x1014], eax
mov eax, dword [ebx + 0x7d8]
mov dword [ebx + 0x1018], eax
mov eax, dword [ebx + 0x7dc]
mov dword [ebx + 0x101c], eax
mov eax, dword [ebx + 0x7e0]
mov dword [ebx + 0x1020], eax
mov eax, dword [ebx + 0x7e4]
mov dword [ebx + 0x1024], eax
mov eax, dword [ebx + 0x7e8]
mov dword [ebx + 0x1028], eax
mov eax, dword [ebx + 0x7ec]
mov dword [ebx + 0x102c], eax
mov eax, dword [ebx + 0x7f0]
mov dword [ebx + 0x1030], eax
mov eax, dword [ebx + 0x7f4]
mov dword [ebx + 0x1034], eax
mov eax, dword [ebx + 0x7f8]
mov dword [ebx + 0x1038], eax
mov eax, dword [ebx + 0x7fc]
mov dword [ebx + 0x103c], eax
mov eax, dword [ebx + 0xfc0]
mov dword [ebx + 0x1040], eax
mov eax, dword [ebx + 0xfc4]
mov dword [ebx + 0x1044], eax
mov eax, dword [ebx + 0xfc8]
mov dword [ebx + 0x1048], eax
mov eax, dword [ebx + 0xfcc]
mov dword [ebx + 0x104c], eax
mov eax, dword [ebx + 0xfd0]
mov dword [ebx + 0x1050], eax
mov eax, dword [ebx + 0xfd4]
mov dword [ebx + 0x1054], eax
mov eax, dword [ebx + 0xfd8]
mov dword [ebx + 0x1058], eax
mov eax, dword [ebx + 0xfdc]
mov dword [ebx + 0x105c], eax
mov eax, dword [ebx + 0xfe0]
mov dword [ebx + 0x1060], eax
mov eax, dword [ebx + 0xfe4]
mov dword [ebx + 0x1064], eax
mov eax, dword [ebx + 0xfe8]
mov dword [ebx + 0x1068], eax
mov eax, dword [ebx + 0xfec]
mov dword [ebx + 0x106c], eax
mov eax, dword [ebx + 0xff0]
mov dword [ebx + 0x1070], eax
mov eax, dword [ebx + 0xff4]
mov dword [ebx + 0x1074], eax
mov eax, dword [ebx + 0xff8]
mov dword [ebx + 0x1078], eax
mov eax, dword [ebx + 0xffc]
mov dword [ebx + 0x107c], eax
nop word [eax + eax]
push ebx
call fcn.004084c0
add esp, 4
sub esi, 1
jne 0x409310
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret