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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x128
mov eax, dword [esp + 0x140]
mov ebx, dword [esp + 0x13c]
mov ecx, dword [0x451b68]
not ecx
add dword [0x451c54], ecx
mov ecx, dword [0x44e070]
imul ecx, ecx, 0x64b633c3
movzx edx, word [0x449806]
and edx, ecx
mov word [0x449806], dx
and dword [0x44c5e0], 0x5f3661b3
xor dword [0x4573f0], 0xa602f88c
xor ecx, ecx
mov edx, 0x8b8d75d7
or dword [0x44c6c8], 0xbddd17d2
mov esi, dword [0x451a44]
add esi, edx
cmp esi, 0xdfa990cb
jl 0x42475f
or dword [0x4503f8], 0xbffffae0
jmp 0x424796
movsx esi, word [0x4451cc]
imul esi, esi, 0xe74acbe0
or esi, 0x4a06e54c
movsx edi, word [0x445a1a]
sar edi, 4
imul edi, edi, 0xf3361702
add edi, 0xebb9363
cmp esi, edi
jge 0x424796
add dword [0x458858], 0x4fc471cd
movzx esi, byte [eax + ecx*4]
shl esi, 0x18
movzx edi, byte [eax + ecx*4 + 1]
shl edi, 0x10
or edi, esi
movzx esi, byte [eax + ecx*4 + 2]
shl esi, 8
or esi, edi
movzx edi, byte [eax + ecx*4 + 3]
or edi, esi
mov dword [esp + ecx*4 + 0x28], edi
movsx esi, word [0x444e32]
add esi, 0xac2bfd1d
or esi, 0x16b5f46d
imul esi, dword [0x454204]
mov dword [0x454204], esi
xor dword [0x4595f0], 0xb24b7a2c
mov dword [0x4590f4], 0x3b644379
inc ecx
cmp ecx, 0x10
jne 0x424739
mov eax, dword [0x456b54]
dec eax
mov dword [0x456b54], eax
and dword [0x44cc2c], eax
lea esi, [ebx + 8]
lea edi, [esp + 4]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
and dword [0x450b74], 0xd241aebd
push 0x100
push 0x1cdd
call fcn.0040a2b7
add esp, 8
mov dword [esp], eax
mov dword [0x4571cc], 0xf3eb9a17
xor eax, eax
mov edi, dword [0x44c190]
mov ecx, 0xd61e1b5f
add edi, ecx
or dword [0x44dcec], edi
cmp eax, 0xf
jle 0x4248f7
and dword [0x44c2ec], 0xce7ed600
mov edi, dword [esp + eax*4 + 0x20]
mov ebx, edi
rol ebx, 0xf
mov ebp, edi
rol ebp, 0xd
shr edi, 0xa
xor edi, ebp
xor edi, ebx
mov dword [esp + eax*4 + 0x28], edi
imul edi, dword [0x45397c], 0x633a2da7
mov dword [0x45397c], edi
mov edi, dword [esp + eax*4 + 0xc]
add dword [esp + eax*4 + 0x28], edi
imul edi, dword [0x458d40], 0xfb0fffbf
mov dword [0x458d40], edi
mov edi, dword [esp + eax*4 - 0x14]
mov ebx, edi
rol ebx, 0x19
mov ebp, edi
rol ebp, 0xe
shr edi, 3
xor edi, ebp
xor edi, ebx
add dword [esp + eax*4 + 0x28], edi
imul edi, dword [0x45191c], 0x2bf35278
mov dword [0x45191c], edi
mov edi, dword [esp + eax*4 - 0x18]
add dword [esp + eax*4 + 0x28], edi
mov edi, dword [0x457860]
sar edi, 0xa
imul edi, edi, 0xac4141e5
or edi, 0x9632e0c9
xor dword [0x44e6fc], edi
mov edi, dword [0x44f484]
mov ecx, 0x4c14a891
add edi, ecx
and edi, 0xca273343
add dword [0x4547fc], edi
mov di, word [0x448938]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ebp, edx
mov edi, edx
mov esi, dword [esp + 0x18]
xor esi, ebx
and esi, edx
rol edx, 0x1a
rol ebp, 0x15
xor ebp, edx
rol edi, 7
xor edi, ebp
xor esi, ebx
mov ecx, dword [esp]
mov edx, dword [ecx + eax*4]
add edx, dword [esp + 0x20]
add edx, edi
add edx, dword [esp + eax*4 + 0x28]
add edx, esi
mov esi, dword [0x4586a0]
cmp esi, 0x50efefbe
jg 0x424963
mov word [0x44a21a], 0xf411
mov esi, dword [esp + 4]
mov ebp, dword [esp + 8]
mov edi, esi
mov ebx, esi
mov ecx, ebp
and ecx, esi
or ebp, esi
rol esi, 0x1e
rol edi, 0x13
xor edi, esi
rol ebx, 0xa
xor ebx, edi
and ebp, dword [esp + 0xc]
or ebp, ecx
movzx ecx, word [0x444b98]
mov esi, dword [0x44eaac]
sub ecx, esi
movzx esi, word [0x44825c]
imul esi, ecx
mov word [0x44825c], si
add dword [esp + 0x10], edx
mov ecx, dword [0x4529b4]
lea esi, [ecx - 1]
mov dword [0x4529b4], esi
cmp ecx, 0x9a7f8eb1
jg 0x4249cd
xor dword [0x45498c], 0xfe68f1a4
add ebp, edx
add ebp, ebx
mov dword [esp + 0x20], ebp
or word [0x4462a4], 0x4810
or dword [0x44d7c0], 0xdd42b634
mov ecx, dword [0x458074]
not ecx
sub dword [0x454890], ecx
mov edi, 8
mov ecx, dword [0x44fd88]
xor ecx, 0xc31a
movzx edx, word [0x446ede]
and edx, ecx
mov word [0x446ede], dx
mov ecx, dword [esp + edi*4]
mov dword [esp + edi*4 + 4], ecx
xor dword [0x44f62c], 0xcad6360d
dec edi
jne 0x4249fb
mov cx, word [0x44638e]
mov cx, word [0x44539e]
mov ecx, dword [0x457c9c]
or ecx, 0x862e
movzx edx, word [0x449c0e]
add edx, ecx
mov word [0x449c0e], dx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
or dword [0x45339c], 0xa538f649
inc eax
cmp eax, 0x40
jne 0x424844
mov eax, dword [0x44caa0]
lea ecx, [eax + 1]
mov dword [0x44caa0], ecx
and eax, 0x4090004c
or eax, 0xab4a37a2
mov ecx, dword [0x45895c]
shl ecx, 6
and ecx, 0xf451b5c0
cmp eax, ecx
mov esi, dword [esp + 0x13c]
jle 0x424adf
mov eax, dword [0x4504a8]
lea ecx, [eax + 1]
mov dword [0x4504a8], ecx
xor eax, 0xe694c5c6
cmp eax, 0xbb6cccc5
jl 0x424ac4
mov eax, dword [0x4589a8]
jmp 0x424adf
mov eax, dword [0x454d20]
imul eax, eax, 0x255f3725
movzx ecx, word [0x447fb4]
and ecx, eax
mov word [0x447fb4], cx
mov eax, dword [esp]
push eax
push 0x100
call fcn.0040342e
add esp, 8
mov eax, dword [0x452cc4]
mov ecx, dword [0x45485c]
shr ecx, 3
add ecx, eax
movzx eax, word [0x44b282]
and eax, ecx
and eax, 0x591e
mov word [0x44b282], ax
xor eax, eax
xor dword [0x451170], 0xb509ed47
mov ecx, dword [esp + eax*4 + 4]
add dword [esi + eax*4 + 8], ecx
movzx ecx, word [0x444ec8]
not ecx
imul ecx, ecx, 0x3c7a
mov word [0x445d50], cx
inc eax
cmp eax, 8
jne 0x424b16
add dword [0x4536a8], 0x7a3536c8
add esp, 0x128
pop esi
pop edi
pop ebx
pop ebp
ret