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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x4c93e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
add dword [ebx + 0x20], edi
mov eax, dword [ebx + 0x68]
adc dword [ebx + 0x24], 0
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x12c], ecx
test eax, eax
je 0x4588fb
mov esi, 0x40
sub esi, eax
cmp esi, edi
cmovae esi, edi
add eax, 0x28
push esi
push ecx
add eax, ebx
push eax
call fcn.00485200
mov ecx, dword [ebp - 0x12c]
sub edi, esi
add dword [ebx + 0x68], esi
add ecx, esi
add esp, 0xc
mov dword [ebp - 0x12c], ecx
cmp dword [ebx + 0x68], 0x40
mov dword [ebp + 0xc], edi
jne 0x4588fb
mov eax, dword [ebx]
lea esi, [ebp - 0x104]
mov dword [ebp - 0x10c], eax
lea edx, [ebx + 0x28]
mov eax, dword [ebx + 4]
mov edi, 0x10
mov dword [ebp - 0x11c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x118], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x114], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x124], eax
lea ecx, [ecx]
mov eax, dword [edx]
lea edx, [edx + 4]
mov ecx, eax
lea esi, [esi + 4]
ror ecx, 8
rol eax, 8
and ecx, 0xff00ff00
and eax, 0xff00ff
or ecx, eax
mov dword [esi - 4], ecx
dec edi
jne 0x458750
lea edi, [ebp - 0x100]
mov ebx, 0x30
mov edi, edi
mov ecx, dword [edi]
lea edi, [edi + 4]
mov edx, dword [edi + 0x30]
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 [edi + 0x1c]
add esi, dword [edi - 8]
mov dword [edi + 0x38], esi
dec ebx
jne 0x458780
mov ebx, dword [ebp - 0x148]
xor edi, edi
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x128], 0x40
mov edx, dword [ebp - 0x110]
lea edi, [edi + 4]
mov esi, edx
mov eax, edx
rol eax, 7
ror esi, 0xb
xor esi, eax
mov eax, edx
ror eax, 6
xor esi, eax
mov eax, dword [ebp - 0x108]
xor eax, dword [ebp - 0x114]
and eax, edx
mov edx, ecx
xor eax, dword [ebp - 0x108]
add esi, eax
ror edx, 0xd
add esi, dword [edi + 0x4bd85c]
mov eax, ecx
add esi, dword [ebp + edi - 0x108]
add esi, dword [ebp - 0x124]
rol eax, 0xa
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x11c]
mov ecx, eax
and eax, dword [ebp - 0x10c]
xor ecx, dword [ebp - 0x10c]
and ecx, dword [ebp - 0x118]
or ecx, eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x124], eax
add ecx, edx
mov eax, dword [ebp - 0x114]
add ecx, esi
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x120]
add eax, esi
dec dword [ebp - 0x128]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x10c], ecx
jne 0x4587d0
add dword [ebx + 4], eax
mov eax, dword [ebp - 0x118]
add dword [ebx + 8], eax
mov eax, dword [ebp - 0x120]
add dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x110]
add dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x114]
add dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x108]
add dword [ebx + 0x18], eax
add dword [ebx], ecx
mov eax, dword [ebp - 0x124]
add dword [ebx + 0x1c], eax
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x12c]
mov dword [ebx + 0x68], 0
test edi, edi
je 0x458c1a
test edi, 0xffffffc0
jbe 0x458c05
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx]
mov esi, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x130], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x138], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x144], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x134], eax
mov eax, ecx
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x150], edx
sub eax, ecx
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x128], eax
jmp 0x458976
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x108], edx
lea edx, [ebp - 0x104]
mov dword [ebp - 0x114], esi
mov esi, 0x10
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x140], ecx
nop
mov eax, dword [eax + edx]
lea edx, [edx + 4]
mov ecx, eax
rol eax, 8
ror ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff00
or ecx, eax
mov eax, dword [ebp - 0x128]
mov dword [edx - 4], ecx
dec esi
jne 0x4589d0
lea eax, [ebp - 0x100]
mov ebx, 0x30
mov edx, dword [eax]
lea eax, [eax + 4]
mov esi, dword [eax + 0x30]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [eax + 0x1c]
add edi, dword [eax - 8]
mov dword [eax + 0x38], edi
dec ebx
jne 0x458a02
mov ebx, dword [ebp - 0x148]
xor edi, edi
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x154], 0x40
mov edx, dword [ebp - 0x124]
lea edi, [edi + 4]
mov esi, edx
mov eax, edx
rol eax, 7
ror esi, 0xb
xor esi, eax
mov eax, edx
ror eax, 6
xor esi, eax
mov eax, dword [ebp - 0x10c]
xor eax, dword [ebp - 0x118]
and eax, edx
mov edx, ecx
xor eax, dword [ebp - 0x10c]
add esi, eax
ror edx, 0xd
add esi, dword [ebp + edi - 0x108]
mov eax, ecx
add esi, dword [edi + 0x4bd85c]
add esi, dword [ebp - 0x140]
rol eax, 0xa
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x114]
mov ecx, eax
and eax, dword [ebp - 0x108]
xor ecx, dword [ebp - 0x108]
and ecx, dword [ebp - 0x110]
or ecx, eax
mov eax, dword [ebp - 0x10c]
add edx, ecx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], ecx
add eax, esi
dec dword [ebp - 0x154]
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x114], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x108], ecx
jne 0x458a52
mov edx, dword [ebp - 0x150]
add edx, ecx
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x120]
sub edi, 0x40
add ecx, dword [ebp - 0x110]
mov esi, dword [ebp - 0x14c]
add esi, dword [ebp - 0x114]
mov dword [ebp - 0x120], ecx
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0x13c]
add ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x13c], ecx
mov dword [ebx + 0xc], ecx
mov ecx, dword [ebp - 0x130]
add ecx, eax
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x138]
add eax, dword [ebp - 0x118]
mov dword [ebp - 0x138], eax
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x144]
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x140]
mov dword [ebp - 0x130], ecx
mov dword [ebx + 0x10], ecx
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x134], eax
add ecx, 0x40
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x128]
add eax, 0x40
mov dword [ebx], edx
mov dword [ebp - 0x14c], esi
mov dword [ebx + 4], esi
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], eax
mov dword [ebp + 0xc], edi
test edi, 0xffffffc0
ja 0x458970
test edi, edi
je 0x458c1a
push edi
push ecx
lea eax, [ebx + 0x28]
push eax
call fcn.00485200
add esp, 0xc
mov dword [ebx + 0x68], edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004815fa
mov esp, ebp
pop ebp
ret 8