Function at 0x424950
Capabilities:
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x148
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov edx, 0xe72bcfef
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov eax, dword [0x4924ac]
or eax, 0xdde6582
mov dword [0x4924ac], eax
mov eax, dword [0x496ee0]
mov ecx, dword [0x496f5c]
lea eax, [eax + ecx + 0x587be388]
mov dword [0x496f5c], eax
mov eax, dword [0x494e44]
xor eax, 0x800020
mov dword [0x494e44], eax
mov eax, dword [0x4924a4]
dec eax
mov dword [0x4924a4], eax
imul eax, eax, 0x4cf66a19
add eax, 0x54431350
cmp edx, eax
jl 0x4249dd
mov eax, dword [0x49451c]
and eax, 0xf6b7ffff
mov dword [0x49451c], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x424a9e
mov eax, dword [0x494b78]
xor eax, 0x45c91872
mov dword [0x494b78], eax
mov eax, dword [0x492f80]
or eax, 0x7b923c5d
cmp eax, 0x6503b606
je 0x424a23
mov eax, dword [0x494a7c]
add eax, 0x381c5434
mov dword [0x494a7c], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x144]
movzx edx, byte [ecx + eax*4]
shl edx, 0x18
movzx esi, byte [ecx + eax*4 + 1]
shl esi, 0x10
or edx, esi
movzx esi, byte [ecx + eax*4 + 2]
shl esi, 8
or edx, esi
movzx ecx, byte [ecx + eax*4 + 3]
or edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov eax, dword [0x494b9c]
or eax, 0xf56731b5
mov dword [0x494b9c], eax
mov eax, dword [0x496aec]
shl eax, 4
add eax, 0x1d8de389
cmp eax, 0x3a74b96b
jg 0x424a84
mov word [0x48f81c], 0xcb9c
mov dword [0x494b30], 0x3b7e6bb8
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4249e5
mov eax, dword [0x4971b8]
and eax, 0x64e39b06
mov dword [0x491d64], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x34], ecx
movsd xmm0, qword [eax + 0x20]
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x24], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0x1c], xmm1
movsd qword [esp + 0x14], xmm0
mov eax, dword [0x497ae8]
add eax, 0xad1dc289
mov dword [0x497ae8], eax
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x80be
call fcn.00443650
mov dword [esp + 8], eax
mov eax, dword [0x4947fc]
not eax
or eax, 0x21bb
mov dx, word [0x490fde]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x490fde], dx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x424f97
mov eax, dword [0x496358]
mov ecx, dword [0x497764]
mov edx, ecx
inc edx
mov dword [0x497764], edx
mov edx, 0x23a9d0c8
sub edx, ecx
xor eax, edx
mov si, word [0x48e7cc]
movsx ecx, si
xor ecx, 0x8362f060
cmp eax, ecx
jne 0x424b8c
mov eax, dword [0x4961bc]
xor eax, 0xbbb3b634
mov dword [0x4961bc], eax
jmp 0x424b9c
mov eax, dword [0x496f18]
imul eax, eax, 0x8351c612
mov dword [0x496f18], eax
cmp dword [esp + 0x10], 0xf
jle 0x424d0f
mov eax, 0x22d5e30e
mov cx, word [0x48e53c]
mov dx, cx
dec edx
mov cx, dx
mov word [0x48e53c], cx
movsx edx, cx
imul edx, edx, 0x510d9cde
and edx, 0xe5910f23
cmp eax, edx
jge 0x424bf1
mov eax, dword [0x4911c8]
and eax, 0xa351
mov cx, ax
mov word [0x4910c8], cx
jmp 0x424c00
mov eax, dword [0x496034]
or eax, 0xc3e71326
mov dword [0x496034], eax
mov eax, 0xfffcdfb6
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x30]
mov esi, edx
rol esi, 0xf
mov edi, edx
rol edi, 0xd
xor esi, edi
shr edx, 0xa
xor esi, edx
mov dword [esp + ecx*4 + 0x38], esi
mov bx, word [0x4910d8]
movsx ecx, bx
mov edx, dword [0x491544]
sub edx, ecx
mov dword [0x491544], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x1c]
mov esi, dword [esp + ecx*4 + 0x38]
add esi, edx
mov dword [esp + ecx*4 + 0x38], esi
mov ecx, dword [0x495ba0]
shl ecx, 9
cmp eax, ecx
jge 0x424c7b
mov eax, dword [0x492224]
dec eax
mov dword [0x492224], eax
mov ecx, dword [0x494fa8]
xor ecx, eax
mov dword [0x494fa8], ecx
jmp 0x424cc6
mov eax, 0x495422cd
mov ecx, 0xd29d06fb
mov edx, dword [0x49469c]
not edx
mov si, word [0x48f84c]
movsx edi, si
sub ecx, edi
xor edx, ecx
cmp eax, edx
je 0x424cc1
mov ax, word [0x48f42c]
movsx ecx, ax
or ecx, 0x80508242
mov edx, dword [0x491760]
imul edx, ecx
mov dword [0x491760], edx
jmp 0x424cc6
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 - 4]
mov edx, ecx
rol edx, 0x19
mov esi, ecx
rol esi, 0xe
xor edx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [esp + eax*4 + 0x38]
add ecx, edx
mov dword [esp + eax*4 + 0x38], ecx
mov dword [0x495554], 0x644ffff5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 - 8]
mov edx, dword [esp + eax*4 + 0x38]
add edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov dword [0x493144], 0x41660260
mov ax, word [0x48e37c]
mov cx, ax
xor ecx, 0x400a
mov ax, cx
mov word [0x48e37c], ax
mov ecx, dword [0x492f64]
and ecx, 0xbfc0fb73
mov dword [0x492f64], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, edx
rol edi, 0x1a
mov ebx, edx
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
add ecx, edi
mov edi, dword [esp + 0x2c]
xor esi, edi
and edx, esi
xor edi, edx
add ecx, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 8]
mov esi, dword [esi + edx*4]
add ecx, esi
mov edx, dword [esp + edx*4 + 0x38]
add ecx, edx
mov dword [esp + 0x13c], ecx
mov ecx, dword [0x494a38]
dec ecx
mov dword [0x494a38], ecx
mov edx, dword [0x491a90]
shl edx, 8
and ecx, edx
xor ecx, 0x15fbc2f9
cmp ecx, 0x228caf7c
jl 0x424db4
mov dword [0x496700], 0x124004b2
mov eax, 0xd38afff7
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, ecx
rol esi, 0x1e
mov edi, ecx
rol edi, 0x13
xor esi, edi
mov edi, ecx
rol edi, 0xa
xor esi, edi
mov edi, ecx
and edi, edx
mov ebx, dword [esp + 0x1c]
or ecx, edx
and ebx, ecx
or edi, ebx
add esi, edi
mov dword [esp + 0x138], esi
mov bp, word [0x48ef0a]
movsx ecx, bp
shl ecx, 5
mov edx, dword [0x492c40]
xor ecx, edx
xor ecx, 0x759fb885
mov edx, dword [0x495ef8]
or edx, ecx
mov dword [0x495ef8], edx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x20]
add edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [0x491660]
mov edx, ecx
dec edx
mov dword [0x491660], edx
add ecx, 0x9b82a107
mov edx, dword [0x497a8c]
sub edx, ecx
mov dword [0x497a8c], edx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x138]
add ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [0x4931c4]
cmp eax, ecx
jg 0x424eae
mov eax, dword [0x4939c0]
dec eax
mov dword [0x4939c0], eax
or eax, 0x7bb52885
cmp eax, 0x4abeb492
jg 0x424e9a
mov eax, dword [0x4924c4]
imul eax, eax, 0x64475495
mov dword [0x4924c4], eax
jmp 0x424ea9
mov eax, dword [0x4939f4]
or eax, 0x1d779190
mov dword [0x4939f4], eax
jmp 0x424ec6
mov eax, dword [0x492854]
mov ecx, eax
dec ecx
mov dword [0x492854], ecx
mov dx, ax
mov word [0x490cce], dx
mov eax, dword [0x491ab0]
add eax, 0xffb9feff
mov dword [0x491ab0], eax
mov cx, word [0x4905d0]
movsx eax, cx
mov edx, 0x122d86a1
sub edx, eax
mov eax, dword [0x493538]
and eax, edx
mov dword [0x493538], eax
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x424f49
mov dword [0x4929b0], 0xc24ccc40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov eax, dword [0x496048]
shl eax, 7
mov dx, word [0x48f8cc]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x48f8cc], dx
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x424efa
mov eax, dword [0x496d80]
and eax, 0xd2bbfb0c
mov ecx, dword [0x49269c]
add ecx, eax
mov dword [0x49269c], ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [0x492958]
dec eax
mov dword [0x492958], eax
xor eax, 0x6889a334
mov ecx, dword [0x491410]
and ecx, eax
mov dword [0x491410], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x424b38
mov ax, word [0x48f0f0]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x48f0f0], ax
movsx ecx, ax
imul ecx, ecx, 0x976d5be6
mov edx, dword [0x495e34]
or edx, ecx
mov dword [0x495e34], edx
mov ecx, dword [esp + 8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x100
call fcn.00428120
mov ecx, dword [0x4938ac]
shl ecx, 6
or ecx, 0xff7
mov ax, cx
mov word [0x48eae0], ax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x4250fa
mov eax, dword [0x491468]
or eax, 0xe2c102e3
and eax, 0xe2f3a3ff
mov ecx, dword [0x4972a0]
not ecx
or ecx, 0xf9a53ac7
mov edx, dword [0x4925d4]
xor edx, 0xffffffff
or ecx, edx
cmp eax, ecx
jge 0x425045
mov eax, dword [0x49374c]
imul eax, eax, 0x6591f72c
mov dword [0x49374c], eax
jmp 0x4250b0
mov eax, 0xeaf5a713
mov ecx, dword [0x4973cc]
mov edx, ecx
inc edx
mov dword [0x4973cc], edx
cmp eax, ecx
jg 0x4250ab
mov eax, dword [0x496da8]
shl eax, 6
mov ecx, dword [0x494038]
mov edx, dword [0x4945f0]
mov esi, edx
dec esi
mov dword [0x4945f0], esi
add ecx, edx
or eax, ecx
mov ecx, dword [0x496c70]
and ecx, 0x8875af13
xor ecx, 0x2720f711
cmp eax, ecx
jge 0x4250a1
jmp 0x4250a6
jmp 0x4250a6
jmp 0x4250ab
jmp 0x4250b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x14]
mov edx, dword [esp + 0x140]
mov esi, dword [edx + eax*4 + 8]
add esi, ecx
mov dword [edx + eax*4 + 8], esi
mov eax, dword [0x493b04]
mov ecx, eax
dec ecx
mov dword [0x493b04], ecx
add eax, 0xa50f1751
mov ecx, dword [0x497284]
sub ecx, eax
mov dword [0x497284], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x424ff5
mov eax, dword [0x49153c]
mov ecx, dword [0x495198]
sar ecx, 3
xor eax, ecx
or eax, 0xc7f517a8
mov ecx, dword [0x491610]
xor ecx, 0x9e966eed
cmp eax, ecx
jl 0x425155
mov eax, dword [0x494d14]
add eax, 0x5e31bee6
mov ecx, dword [0x49264c]
or ecx, 0x2ab9960a
cmp eax, ecx
jg 0x425150
mov eax, dword [0x494a28]
add eax, 0xce0d8142
mov dword [0x494a28], eax
jmp 0x425155
add esp, 0x148
pop esi
pop edi
pop ebx
pop ebp
ret