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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x148
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, 0x2fdeaa10
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov si, word [0x48761a]
movsx eax, si
shl eax, 5
add eax, 0x9c724f36
cmp edx, eax
jg 0x41390c
mov eax, dword [0x493a34]
add eax, 0xbf3f00d
mov ecx, dword [0x48cbfc]
or ecx, eax
mov dword [0x48cbfc], ecx
mov eax, dword [0x48fc54]
xor eax, 0xffffffff
cmp eax, 0xb1ba800b
jg 0x413933
mov eax, dword [0x496500]
add eax, 0xaa3caeb4
mov dword [0x496500], eax
jmp 0x413961
mov eax, dword [0x496dac]
mov ecx, eax
inc ecx
mov dword [0x496dac], ecx
and eax, 0xc692
xor eax, 0xe114
mov dx, word [0x483c06]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x483c06], dx
mov ax, word [0x4803bc]
movsx ecx, ax
shl ecx, 4
add ecx, 0x97c2fe54
or ecx, 0x9ac8ba93
mov edx, dword [0x48fcbc]
add edx, ecx
mov dword [0x48fcbc], edx
mov ecx, dword [0x4991e8]
add ecx, 0x4a5834f8
mov dword [0x4991e8], ecx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x413a61
mov eax, 0x8b8520a
mov ecx, dword [0x496d40]
shl ecx, 9
mov edx, dword [0x491934]
or edx, ecx
mov dword [0x491934], edx
mov ecx, dword [0x49882c]
imul ecx, ecx, 0x921c154c
sub ecx, 0xb6bb229a
cmp eax, ecx
je 0x4139f1
mov eax, dword [0x49a8a0]
and eax, 0x94e75536
mov dword [0x49a8a0], 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 [0x49c150]
and eax, 0xef91825f
mov dword [0x49c150], eax
mov eax, dword [0x49503c]
imul eax, eax, 0x20fb4c7f
mov dword [0x49503c], eax
mov eax, dword [0x498e2c]
imul eax, eax, 0xa920b610
mov dword [0x498e2c], eax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4139a1
mov eax, dword [0x48bcec]
and eax, 0x7eacafef
mov dword [0x48bcec], eax
mov eax, dword [esp + 0x140]
add eax, 8
mov ecx, 9
lea edi, [esp + 0x14]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x499ec4]
add eax, 0xf2ac4b08
mov dword [0x499ec4], eax
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x3b40
call fcn.00445b40
mov dword [esp + 8], eax
mov eax, dword [0x496aa8]
imul eax, eax, 0x9de6aaa1
mov dx, word [0x4894d0]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x4894d0], dx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x413eb3
mov dword [0x49c560], 0x2095c371
cmp dword [esp + 0x10], 0xf
jle 0x413c08
mov eax, 0xaf7298f6
mov ecx, dword [0x49d598]
xor ecx, 0xffffffff
sub ecx, 0x57bc67be
add ecx, 0x7e0a9f45
cmp eax, ecx
jle 0x413b50
mov ax, word [0x480f6a]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x480f6a], dx
movsx ecx, ax
cmp ecx, 0x803dd046
jg 0x413b4b
mov eax, dword [0x490e88]
and eax, 0xd42a9e18
mov dword [0x490e88], eax
jmp 0x413b50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x30]
mov edx, ecx
rol edx, 0xf
mov esi, ecx
rol esi, 0xd
xor edx, esi
shr ecx, 0xa
xor edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov di, word [0x48883e]
mov ax, di
xor eax, 0xbe4
mov di, ax
mov word [0x48883e], di
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x1c]
mov edx, dword [esp + eax*4 + 0x38]
add edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov di, word [0x4877be]
movsx eax, di
add eax, 0x2c9f66ed
xor eax, 0x48776400
mov ecx, dword [0x49aef8]
add ecx, eax
mov dword [0x49aef8], ecx
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 [0x490ab4], 0x32010118
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 eax, dword [0x48c15c]
add eax, 0x71407e10
mov dword [0x48c15c], eax
mov eax, dword [0x492ab0]
add eax, 0xdac3115e
mov dword [0x492ab0], eax
mov eax, dword [0x48cadc]
add eax, 0x55ef5071
mov cx, word [0x4833f6]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4833f6], cx
mov eax, 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 eax, edi
mov edi, dword [esp + 0x2c]
xor esi, edi
and edx, esi
xor edi, edx
add eax, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 8]
mov esi, dword [esi + edx*4]
add eax, esi
mov edx, dword [esp + edx*4 + 0x38]
add eax, edx
mov dword [esp + 0x13c], eax
mov eax, dword [0x48fcc0]
and eax, 0xfa4469b5
mov dword [0x48fcc0], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, eax
rol esi, 0x1e
mov edi, eax
rol edi, 0x13
xor esi, edi
mov edi, eax
rol edi, 0xa
xor esi, edi
mov edi, eax
and edi, edx
mov ebx, dword [esp + 0x1c]
or eax, edx
and ebx, eax
or edi, ebx
add esi, edi
mov dword [esp + 0x138], esi
mov word [0x4853fa], 0xf8fe
mov eax, dword [esp + 0x13c]
mov edx, dword [esp + 0x20]
add edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [0x49ba24]
and eax, 0x7d1ffa1e
cmp eax, 0xde6d74e3
je 0x413cfd
mov eax, dword [0x4975cc]
add eax, 0x7158aeb3
mov dword [0x4975cc], eax
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
add eax, ecx
mov dword [esp + 0x30], eax
mov dx, word [0x488050]
mov ax, dx
inc eax
mov dx, ax
mov word [0x488050], dx
movsx eax, dx
or eax, 0xd8a73c3f
mov ecx, dword [0x49a730]
add ecx, eax
mov dword [0x49a730], ecx
mov eax, dword [0x48baf4]
and eax, 0x830f2a91
mov dword [0x48baf4], eax
mov eax, dword [0x499290]
add eax, 0xaffcbbc
mov dword [0x499290], eax
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x413df1
mov eax, dword [0x48ed48]
add eax, 0x6e8ed0d5
mov ecx, dword [0x4923e4]
sar ecx, 2
mov dx, word [0x480162]
movsx esi, dx
add ecx, esi
xor ecx, 0xc643a34
cmp eax, ecx
jle 0x413da9
mov eax, dword [0x48e130]
and eax, 0x906ef177
mov dword [0x48e130], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov dx, word [0x486c36]
mov ax, dx
dec eax
mov dx, ax
mov word [0x486c36], dx
movsx eax, dx
or eax, 0x9ec674ca
mov ecx, dword [0x4966b4]
imul ecx, eax
mov dword [0x4966b4], ecx
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x413d62
mov eax, dword [0x48f858]
imul eax, eax, 0x2cc4807d
mov dword [0x48f858], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov cx, word [0x481128]
movsx eax, cx
mov cx, word [0x4864d4]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4864d4], cx
movsx edx, cx
or eax, edx
cmp eax, 0xfa0f61fb
jle 0x413e4c
mov eax, dword [0x49b354]
or eax, 0xbf564ae9
mov dword [0x49b354], eax
jmp 0x413e9e
mov eax, 0xb512097e
mov cx, word [0x484e56]
movsx edx, cx
sar edx, 1
sub edx, 0x7724e993
cmp eax, edx
jl 0x413e89
mov eax, dword [0x48a09c]
add eax, 0xeba57917
mov ecx, dword [0x49b478]
and ecx, eax
mov dword [0x49b478], ecx
jmp 0x413e99
mov eax, dword [0x49bd60]
imul eax, eax, 0x99b2ced
mov dword [0x49bd60], eax
jmp 0x413e9e
jmp 0x413ea3
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x413ad7
mov eax, dword [0x49591c]
mov ecx, eax
inc ecx
mov dword [0x49591c], ecx
or eax, 0x2a28b811
mov ecx, dword [0x492f30]
and ecx, eax
mov dword [0x492f30], ecx
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.004235c0
mov dx, word [0x486428]
mov ax, dx
and eax, 0xc8be
mov dx, ax
mov word [0x486428], dx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x413f6c
mov ax, word [0x488d9c]
movsx ecx, ax
add ecx, 0x339d5a8a
mov edx, dword [0x4995ac]
sub edx, ecx
mov dword [0x4995ac], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x14]
mov esi, dword [esp + 0x140]
mov edi, dword [esi + ecx*4 + 8]
add edi, edx
mov dword [esi + ecx*4 + 8], edi
mov ecx, dword [0x48c738]
imul ecx, ecx, 0x8d042139
mov dword [0x48c738], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x413f09
mov dword [0x48ca8c], 0xb714609d
add esp, 0x148
pop esi
pop edi
pop ebx
ret