Function at 0x407130
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
jbe 0x40716d
mov esi, dword [ebp + 0xc]
lea ecx, [ebx + 0x10a4]
mov eax, dword [esi + 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 0x407151
cmp edx, 8
jae 0x407188
lea edi, [ebx + 0x10a4]
mov ecx, 8
lea esi, [ebx + 0x1094]
sub ecx, edx
lea edi, [edi + edx*4]
lea esi, [esi + edx*4]
rep movsd dword es:[edi], dword [esi]
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 [ebx + 0x10a4]
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 0x407223
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
nop
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 0x407300
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
push ebx
call fcn.004082a0
add esp, 4
sub esi, 1
jne 0x4074d8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret