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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x644a10]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x124], ecx
inc eax
push edi
movzx esi, byte [eax - 1]
movzx edi, byte [eax]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 1]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 2]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 4]
mov dword [ebp + edx*4 - 0x104], esi
movzx esi, byte [eax + 3]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 5]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 6]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 8]
mov dword [ebp + edx*4 - 0x100], esi
movzx esi, byte [eax + 7]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 9]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 0xa]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 0xc]
mov dword [ebp + edx*4 - 0xfc], esi
movzx esi, byte [eax + 0xb]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 0xd]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 0xe]
shl esi, 8
or esi, edi
mov dword [ebp + edx*4 - 0xf8], esi
add edx, 4
add eax, 0x10
cmp edx, 0x10
jb 0x406032
cmp edx, 0x40
jae 0x40612e
mov esi, 0x40
sub esi, edx
lea eax, [ebp + edx*4 - 0x10c]
mov dword [ebp - 0x118], esi
mov esi, dword [eax]
mov edx, dword [eax - 0x34]
mov edi, esi
rol edi, 0xf
mov ebx, esi
rol ebx, 0xd
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, edx
rol esi, 0xe
mov ebx, edx
ror ebx, 7
xor esi, ebx
shr edx, 3
xor esi, edx
add edi, esi
add edi, dword [eax - 0x38]
add eax, 4
add edi, dword [eax - 0x18]
dec dword [ebp - 0x118]
mov dword [eax + 4], edi
jne 0x4060f1
mov eax, dword [ecx + 0x54]
mov edi, dword [ecx + 0x50]
mov ebx, dword [ecx + 0x68]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x108], eax
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x110], eax
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0x11c], eax
mov eax, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x6c]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x118], ebx
xor ecx, ecx
mov eax, edx
ror eax, 0xb
mov esi, edx
rol esi, 7
xor eax, esi
mov esi, edx
ror esi, 6
xor eax, esi
mov esi, edx
not esi
and esi, ebx
mov ebx, dword [ebp - 0x10c]
and ebx, edx
xor esi, ebx
add eax, esi
add eax, dword [ecx + 0x630620]
mov esi, edi
add eax, dword [ebp + ecx - 0x104]
mov ebx, edi
add eax, dword [ebp - 0x120]
ror esi, 0xd
rol ebx, 0xa
xor esi, ebx
mov ebx, edi
ror ebx, 2
xor esi, ebx
mov ebx, dword [ebp - 0x108]
xor ebx, edi
and ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x108]
and edi, dword [ebp - 0x114]
xor ebx, edi
mov edi, dword [ebp - 0x118]
add esi, ebx
mov ebx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x120], edi
lea edi, [eax + edx]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x11c], edx
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x108], edx
lea edx, [esi + eax]
mov eax, edi
ror eax, 0xb
mov esi, edi
rol esi, 7
xor eax, esi
mov dword [ebp - 0x118], ebx
mov esi, edi
ror esi, 6
xor eax, esi
mov esi, edi
not esi
and esi, ebx
mov ebx, dword [ebp - 0x10c]
and ebx, edi
xor esi, ebx
add eax, esi
add eax, dword [ecx + 0x630624]
mov esi, edx
add eax, dword [ebp + ecx - 0x100]
mov ebx, edx
add eax, dword [ebp - 0x120]
ror esi, 0xd
rol ebx, 0xa
xor esi, ebx
mov ebx, edx
ror ebx, 2
xor esi, ebx
mov ebx, dword [ebp - 0x108]
xor ebx, edx
and ebx, dword [ebp - 0x110]
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0x108]
and edx, dword [ebp - 0x114]
xor ebx, edx
add esi, ebx
mov ebx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x120], edx
mov edx, dword [ebp - 0x11c]
add edx, eax
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0x108], edi
lea edi, [esi + eax]
mov eax, edx
ror eax, 0xb
mov esi, edx
rol esi, 7
xor eax, esi
mov dword [ebp - 0x118], ebx
mov esi, edx
ror esi, 6
xor eax, esi
mov esi, edx
not esi
and esi, ebx
mov ebx, dword [ebp - 0x10c]
and ebx, edx
xor esi, ebx
add eax, esi
add eax, dword [ecx + 0x630628]
mov esi, edi
add eax, dword [ebp + ecx - 0xfc]
mov ebx, edi
add eax, dword [ebp - 0x120]
ror esi, 0xd
rol ebx, 0xa
xor esi, ebx
mov ebx, edi
ror ebx, 2
xor esi, ebx
mov ebx, dword [ebp - 0x108]
xor ebx, edi
and ebx, dword [ebp - 0x110]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0x108]
and edi, dword [ebp - 0x114]
xor ebx, edi
mov edi, dword [ebp - 0x118]
add esi, ebx
mov ebx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x120], edi
lea edi, [eax + edx]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x11c], edx
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x108], edx
lea edx, [esi + eax]
mov eax, edi
ror eax, 0xb
mov esi, edi
rol esi, 7
xor eax, esi
mov esi, edi
ror esi, 6
xor eax, esi
mov esi, edi
not esi
and esi, ebx
mov dword [ebp - 0x118], ebx
mov ebx, dword [ebp - 0x10c]
and ebx, edi
xor esi, ebx
add eax, esi
add eax, dword [ecx + 0x63062c]
mov dword [ebp - 0x114], edx
add eax, dword [ebp + ecx - 0xf8]
add eax, dword [ebp - 0x120]
mov esi, edx
mov ebx, edx
ror esi, 0xd
rol ebx, 0xa
xor esi, ebx
mov ebx, edx
ror ebx, 2
xor esi, ebx
mov ebx, dword [ebp - 0x108]
xor ebx, edx
and ebx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x108]
and edx, dword [ebp - 0x114]
add ecx, 0x10
xor ebx, edx
mov edx, dword [ebp - 0x118]
add esi, ebx
mov ebx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x120], edx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0x108], edi
add edx, eax
lea edi, [esi + eax]
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], edi
cmp ecx, 0x100
jb 0x406172
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax + 0x50]
add ecx, edi
mov dword [eax + 0x50], ecx
mov ecx, dword [eax + 0x54]
add ecx, dword [ebp - 0x108]
pop edi
mov dword [eax + 0x54], ecx
mov ecx, dword [eax + 0x58]
add ecx, dword [ebp - 0x110]
pop esi
mov dword [eax + 0x58], ecx
mov ecx, dword [eax + 0x5c]
add ecx, dword [ebp - 0x11c]
mov dword [eax + 0x5c], ecx
mov ecx, dword [eax + 0x60]
add ecx, edx
mov dword [eax + 0x60], ecx
mov ecx, dword [eax + 0x64]
add ecx, dword [ebp - 0x10c]
mov dword [eax + 0x64], ecx
mov ecx, dword [eax + 0x68]
add ecx, ebx
mov dword [eax + 0x68], ecx
mov ecx, dword [eax + 0x6c]
add ecx, dword [ebp - 0x120]
pop ebx
mov dword [eax + 0x6c], ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005b2129
mov esp, ebp
pop ebp
ret