Function at 0x4017e0
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
mov eax, dword [0x488f00]
mov ecx, dword [0x4975dc]
sar ecx, 2
and ecx, eax
cmp ecx, 0xe699c9b2
jg 0x401802
mov dword [0x4916d4], 0xbd1c39b
mov eax, dword [0x48d634]
mov ecx, 0xdfce6756
sub ecx, eax
cmp ecx, 0x20746f28
jg 0x401820
add dword [0x493cb4], 0x2ee28ce0
push ebp
push ebx
push edi
push esi
sub esp, 0x128
mov eax, dword [esp + 0x140]
xor dword [0x489a88], 0x89185623
add dword [0x4973f4], 0xc913d31c
xor ecx, ecx
mov edx, dword [0x499f30]
lea esi, [edx + 1]
mov dword [0x499f30], esi
mov esi, 0x758dfda9
sub esi, edx
add dword [0x492068], esi
mov edx, dword [0x486b4c]
imul edx, edx, 0x3110403
mov dword [0x486b4c], edx
movzx edx, byte [eax + ecx*4]
shl edx, 0x18
movzx esi, byte [eax + ecx*4 + 1]
shl esi, 0x10
or esi, edx
movzx edx, byte [eax + ecx*4 + 2]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx*4 + 3]
or esi, edx
mov dword [esp + ecx*4 + 0x28], esi
mov edx, dword [0x48cdf8]
xor edx, 0x8d7c0b1f
mov esi, dword [0x489250]
imul esi, edx
mov dword [0x489250], esi
mov edx, dword [0x49012c]
sar edx, 4
imul edx, edx, 0x464ffe75
mov esi, dword [0x48d700]
lea edi, [esi - 1]
mov dword [0x48d700], edi
xor edx, esi
or dword [0x496154], edx
mov dx, word [0x49c144]
add edx, 0xffffdffa
mov word [0x49c144], dx
inc ecx
cmp ecx, 0x10
jne 0x401847
or dword [0x48f418], 0x4ea2d7a4
mov eax, dword [esp + 0x13c]
lea esi, [eax + 8]
lea edi, [esp + 4]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x4a0fec]
add eax, 0xffffa7a4
mov word [0x4a0fec], ax
push 0x100
push 0x1f1e
call fcn.0042fb82
add esp, 8
mov dword [esp], eax
mov ecx, dword [0x4908ec]
mov dx, word [0x4a4bc6]
imul ecx, ecx, 0xac2b3f8
lea ecx, [ecx + edx + 0xc7c0]
mov word [0x4a4bc6], cx
xor eax, eax
mov edx, dword [0x498d38]
add edx, edx
sar edx, 1
cmp edx, 0xd6ba1829
jg 0x40199b
mov edx, dword [0x48b988]
mov edx, dword [0x493708]
dec edx
mov dword [0x493708], edx
or edx, 0xefd71fe0
mov esi, dword [0x493244]
sub esi, edx
mov dword [0x493244], esi
cmp eax, 0xf
jle 0x401a7a
mov dword [0x488528], 0xb539eea7
mov esi, dword [esp + eax*4 + 0x20]
mov edx, esi
rol edx, 0xf
mov edi, esi
rol edi, 0xd
shr esi, 0xa
xor esi, edx
xor esi, edi
lea edx, [esp + eax*4 + 0x28]
mov dword [esp + eax*4 + 0x28], esi
mov si, word [0x4a2e62]
movsx esi, si
not esi
mov edi, dword [0x497fb4]
imul edi, edi, 0x85dbf830
add edi, esi
add dword [0x48816c], edi
mov esi, dword [esp + eax*4 + 0xc]
add dword [esp + eax*4 + 0x28], esi
or dword [0x4850a0], 0xcae6c59e
mov esi, dword [esp + eax*4 - 0x14]
mov edi, esi
rol edi, 0x19
mov ebp, esi
rol ebp, 0xe
shr esi, 3
xor esi, edi
xor esi, ebp
add dword [esp + eax*4 + 0x28], esi
xor dword [0x499834], 0x31cfd772
mov esi, dword [esp + eax*4 - 0x18]
add dword [esp + eax*4 + 0x28], esi
mov si, word [0x4a19d4]
movsx esi, si
imul esi, esi, 0x524dd46d
mov edi, dword [0x4932a4]
lea ebp, [edi - 1]
mov dword [0x4932a4], ebp
xor esi, edi
cmp esi, 0xf2b064b4
jg 0x401a7e
mov esi, dword [0x491f18]
inc esi
mov dword [0x491f18], esi
imul esi, esi, 0xc5a88fd2
mov edi, dword [0x493228]
and edi, esi
and edi, 0xca22f1da
mov dword [0x493228], edi
jmp 0x401a7e
lea edx, [esp + eax*4 + 0x28]
or dword [0x48d56c], 0xd9045322
mov esi, dword [0x4912e4]
mov edi, 0xcfd721cb
sub edi, esi
and dword [0x48e8f8], edi
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ebp, ebx
rol ebp, 0x15
mov esi, ebx
rol esi, 7
xor esi, ebp
mov ebp, dword [esp + 0x18]
xor ebp, edi
and ebp, ebx
rol ebx, 0x1a
xor esi, ebx
xor ebp, edi
mov ecx, dword [esp]
mov edi, dword [ecx + eax*4]
add edi, dword [esp + 0x20]
add edi, esi
add edi, dword [edx]
add edi, ebp
mov edx, dword [0x497a90]
mov esi, dword [0x492564]
mov ebx, dword [0x48eebc]
or ebx, esi
xor edx, 0xe421e22e
cmp edx, ebx
jl 0x401b0e
mov edx, dword [0x48d5cc]
cmp edx, 0xdc497dbe
jne 0x401b0e
mov dx, word [0x4a3348]
xor edx, 0x8b51
mov word [0x4a3348], dx
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
mov ebx, edx
mov ebp, edx
mov ecx, esi
and ecx, edx
or esi, edx
rol edx, 0x1e
rol ebx, 0x13
rol ebp, 0xa
xor ebp, ebx
xor ebp, edx
and esi, dword [esp + 0xc]
or esi, ecx
and dword [0x498324], 0x219efb52
add dword [esp + 0x10], edi
mov ecx, dword [0x4929bc]
sar ecx, 2
mov edx, dword [0x48bf4c]
imul edx, ecx
mov dword [0x48bf4c], edx
add esi, edi
add esi, ebp
mov dword [esp + 0x20], esi
mov ecx, dword [0x490a38]
xor ecx, 0x97370ad0
cmp ecx, 0x5380a358
jl 0x401b8a
mov ecx, dword [0x4924d4]
shl ecx, 5
xor ecx, 0x336f06e5
mov dword [0x486398], ecx
mov ecx, dword [0x495bcc]
lea edx, [ecx - 1]
mov dword [0x495bcc], edx
add dword [0x485fb4], ecx
and dword [0x48478c], 0x27acdd1
mov edx, 8
or dword [0x4908d4], 0xc00f69d4
mov ecx, dword [esp + edx*4]
mov dword [esp + edx*4 + 4], ecx
mov ecx, dword [0x490af8]
and ecx, 0x42e7d702
xor ecx, 0x339133f7
and dword [0x488fe8], ecx
dec edx
jne 0x401bae
mov ecx, dword [0x497518]
lea edx, [ecx - 1]
mov dword [0x497518], edx
mov edx, 0xf65f94f4
sub edx, ecx
xor edx, 0x2d0efcac
mov ecx, dword [0x48a11c]
imul ecx, edx
mov dword [0x48a11c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov cx, word [0x49b120]
not ecx
mov edx, dword [0x48786c]
and edx, ecx
and edx, 0x2e22
mov cx, word [0x49cbf2]
add ecx, edx
mov word [0x49cbf2], cx
inc eax
cmp eax, 0x40
jne 0x401962
mov ax, word [0x4a32c4]
or eax, 0x8ed
mov word [0x4a32c4], ax
push dword [esp]
push 0x100
call fcn.00415560
add esp, 8
mov dword [0x4897f0], 0x46d632f0
xor eax, eax
mov edx, dword [esp + 0x13c]
and dword [0x48816c], 0x3201402
mov ecx, dword [esp + eax*4 + 4]
add dword [edx + eax*4 + 8], ecx
mov dword [0x490ae4], 0xdfaffbff
inc eax
cmp eax, 8
jne 0x401c72
mov eax, dword [0x48f280]
or eax, 0x11227884
mov dword [0x48e504], eax
add esp, 0x128
pop esi
pop edi
pop ebx
pop ebp
ret