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

Disassembly:
push ebp
mov ebp, esp
fld dword [0x475554]
sub esp, 0x130
fsub qword [0x45a0f8]
fadd dword [0x4777e8]
fld qword [0x455510]
fcompi st(1)
fstp st(0)
jb 0x40a5f3
add dword [0x44a0e8], 0xe0be1444
jmp 0x40a62b
mov ecx, dword [0x444564]
mov edx, dword [0x4442c0]
imul ecx, ecx, 0x1e54bfab
shl edx, 8
mov eax, 0x7cb67c58
sub eax, ecx
xor edx, 0xbca003d0
cmp edx, eax
jge 0x40a62b
fld dword [0x47916c]
fadd qword [0x452f50]
fstp dword [0x47c128]
fld dword [0x473df0]
mov eax, 0xdc06f6f4
fsub dword [0x47b748]
fsub dword [0x475f28]
fstp dword [0x4728a0]
fld dword [0x475f28]
fadd qword [0x43ada0]
fstp dword [0x475f28]
mov ecx, dword [0x444b94]
imul ecx, ecx, 0x4d04217e
sub eax, ecx
add dword [0x43cb08], eax
mov edx, dword [0x446018]
cmp edx, 0xcd840260
jge 0x40a69c
fld dword [0x478fd8]
fadd dword [0x470adc]
fadd dword [0x47affc]
fmul dword [0x46f918]
fstp dword [0x46f918]
jmp 0x40a6ae
fld dword [0x4786c0]
fsub qword [0x459ff8]
fstp dword [0x4786c0]
mov ecx, dword [ebp + 0xc]
push ebx
push esi
xor edx, edx
add ecx, 2
mov esi, 0x249a5643
lea ebx, [edx + 1]
push edi
or dword [0x445830], 0xb94cd647
mov eax, dword [0x43e5f0]
imul eax, eax, 0xf30ebfcc
mov dword [0x43e5f0], eax
movzx eax, byte [ecx - 2]
movzx edi, byte [ecx - 1]
shl eax, 8
or eax, edi
movzx edi, byte [ecx]
shl eax, 8
or eax, edi
movzx edi, byte [ecx + 1]
shl eax, 8
or eax, edi
mov dword [ebp + edx*4 - 0x130], eax
xor dword [0x4490a0], esi
movzx eax, word [0x46e406]
or eax, 0xfbf75b2a
mov word [0x46e406], ax
add dword [0x43c9c0], ebx
mov eax, dword [0x441ef0]
mov edi, dword [0x43c9c0]
not eax
imul eax, eax, 0xcd4a797d
or edi, 0x327ebdbe
cmp eax, edi
jl 0x40a74d
fld dword [0x477254]
fadd dword [0x471724]
fstp dword [0x477254]
add edx, ebx
add ecx, 4
cmp edx, 0x10
jne 0x40a6c1
movzx ecx, word [0x46f5e2]
mov eax, dword [ebp + 8]
add eax, 8
push 0x24
push eax
lea edx, [ebp - 0x30]
add ecx, 0x24069119
mov word [0x46f5e2], cx
push edx
mov dword [ebp - 8], eax
call fcn.004349a0
mov eax, dword [0x44823c]
mov ecx, dword [0x443f44]
imul eax, eax, 0x4780be2
and ecx, 0xf71500ee
add ecx, ecx
add ecx, ecx
or eax, 0xd6b6c874
add ecx, ecx
add esp, 0xc
cmp eax, ecx
jl 0x40a7b7
and dword [0x43fd74], 0xaf3bfdcf
push 0x100
push 0x20ef
call fcn.00410cc0
fld1
or dword [0x447598], 0x61be9f8f
mov dword [ebp - 4], eax
lea eax, [ebp - 0x30]
sub eax, 4
mov dword [ebp - 0xc], eax
xor edi, edi
lea eax, [ebp - 0x130]
add esp, 8
mov dword [ebp + 8], edi
sub eax, 8
cmp edi, 0xf
fld dword [0x477d00]
fmul qword [0x455320]
fstp qword [0x455320]
jle 0x40a8bf
movzx edx, word [0x46ed0c]
add edx, 0x71f485f6
mov word [0x46ed0c], dx
mov edx, dword [eax]
mov ecx, edx
mov esi, edx
rol ecx, 0xf
shr edx, 0xa
rol esi, 0xd
xor ecx, esi
xor ecx, edx
mov edx, dword [0x440800]
sar edx, 6
or edx, 0xf4ff1fb4
cmp edx, 0x77deaf77
mov dword [eax + 8], ecx
jge 0x40a855
add dword [0x43f3cc], 0x8ac07235
fld dword [0x46f7e0]
mov edx, dword [eax - 0x34]
fstp qword [0x457248]
mov esi, dword [0x440dec]
mov ebx, dword [0x44118c]
xor esi, 0x8fb85635
sar esi, 1
or ebx, esi
xor dword [0x43dc10], ebx
fld dword [0x47bce0]
fadd dword [0x4711fc]
mov esi, edx
rol esi, 0xe
mov ebx, edx
fsub dword [0x470a2c]
ror ebx, 7
xor esi, ebx
shr edx, 3
fadd dword [0x472bc0]
xor esi, edx
add esi, dword [eax - 0x38]
mov ebx, 1
add esi, dword [eax - 0x14]
add esi, ecx
mov dword [eax + 8], esi
fstp dword [0x472bc0]
add dword [0x44152c], ebx
mov ecx, dword [0x44152c]
and ecx, 0xeebe9dbc
or ecx, 0xc89619bc
cmp ecx, 0xed7eb294
jg 0x40a8e9
add dword [0x44064c], 0x7064a60a
mov ecx, dword [0x443e5c]
mov edx, dword [0x43c5cc]
mov ebx, dword [ebp - 0x1c]
not ecx
add ecx, 0xfd4b90b7
imul edx, ecx
mov dword [0x43c5cc], edx
mov edx, dword [ebp - 0x20]
mov ecx, edx
ror ecx, 0xb
mov esi, edx
rol esi, 7
xor ecx, esi
mov esi, edx
ror esi, 6
xor ecx, esi
mov esi, dword [ebp - 0x18]
xor ebx, esi
and ebx, edx
mov edx, dword [ebp - 4]
xor ebx, esi
add ecx, ebx
add ecx, dword [edx + edi*4]
movzx edx, word [0x46ac86]
add ecx, dword [eax + 8]
mov esi, dword [ebp - 0x30]
add ecx, dword [ebp - 0x14]
xor edx, 0x34c37738
mov word [0x46ac86], dx
mov edx, esi
mov edi, esi
ror edx, 0xd
rol edi, 0xa
xor edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, dword [ebp - 0x2c]
mov ebx, edi
and edi, esi
or ebx, esi
mov si, word [0x46e9fa]
and ebx, dword [ebp - 0x28]
movsx esi, si
sub esi, 0x11677356
xor esi, 0xeca059f8
and dword [0x441edc], esi
mov esi, dword [0x446ed8]
add dword [ebp - 0x24], ecx
or ebx, edi
mov edi, dword [0x43e8e4]
not esi
xor edi, esi
mov esi, dword [0x449ca0]
xor esi, edi
mov dword [0x43e8e4], esi
mov edi, dword [ebp - 0xc]
fld dword [0x471198]
add edx, ebx
fld dword [0x475718]
add edx, ecx
fadd dword [0x472404]
mov dword [ebp - 0x14], edx
mov ecx, 8
lea ebx, [ecx - 7]
fsubp st(1)
fstp dword [0x471198]
and dword [0x448fa0], 0x236d9f83
fld dword [0x47acc8]
fld qword [0x45b1a8]
fmul qword [0x4511c8]
fsubp st(1)
fadd dword [0x46feb0]
fstp dword [0x46feb0]
fld dword [0x47acc8]
fadd st(1)
fstp dword [0x47acc8]
mov dx, word [0x46c55a]
movsx esi, dx
mov edx, dword [0x440e84]
or edx, esi
mov esi, dword [0x43fb7c]
or esi, edx
or esi, 0xdc57c04b
mov dword [0x440e84], esi
add dword [0x43fb7c], ebx
mov edx, dword [edi + ecx*4]
mov dword [ebp + ecx*4 - 0x30], edx
mov edx, dword [0x448528]
cmp edx, 0x3768fffa
jg 0x40aa6e
fld dword [0x47625c]
fadd dword [0x477bf0]
fadd dword [0x474de4]
fadd dword [0x47df34]
fstp dword [0x47df34]
sub ecx, ebx
jne 0x40aa0f
fld dword [0x477958]
fmul qword [0x44eb88]
fmul dword [0x47843c]
fmul dword [0x4793cc]
fstp dword [0x4793cc]
fld dword [0x477958]
mov ecx, dword [ebp - 0x10]
fsub st(1)
mov dword [ebp - 0x30], ecx
fstp dword [0x477958]
mov edx, dword [0x446280]
shl edx, 5
cmp edx, 0xb1fa4a48
jl 0x40aae8
add word [0x46df1a], bx
mov cx, word [0x46df1a]
movsx edx, cx
cmp edx, 0x3def3dd4
jge 0x40ab06
fld dword [0x479d60]
fadd dword [0x47196c]
fadd dword [0x477d30]
fstp dword [0x471690]
jmp 0x40ab06
mov ecx, dword [0x43ffac]
sub ecx, 0x1fd101c0
and ecx, 0x275a2ed7
mov dword [0x43de94], ecx
dec dword [0x43ffac]
mov edi, dword [ebp + 8]
add edi, ebx
add eax, 4
mov dword [ebp + 8], edi
cmp edi, 0x40
jne 0x40a7ef
movzx edx, word [0x46e14c]
fstp st(0)
mov eax, dword [ebp - 4]
push eax
and edx, 0xbdc9951
mov word [0x46e14c], dx
push 0x100
call fcn.004011c0
and dword [0x43e9f0], 0xc69ba386
mov ecx, dword [ebp - 8]
add esp, 8
xor eax, eax
or esi, 0xffffffff
pop edi
mov edx, dword [0x4483e4]
imul edx, edx, 0xbda7d32f
mov dword [0x4483e4], edx
mov edx, dword [ebp + eax*4 - 0x30]
add dword [ecx], edx
mov edx, dword [0x449f88]
add edx, 0x6d7cc83c
cmp edx, 0x3de618df
jl 0x40ab9a
mov edx, dword [0x440780]
and edx, 0x437c95d7
or dword [0x440dc8], edx
add dword [0x440780], esi
jmp 0x40abbc
fld dword [0x4783a4]
fadd dword [0x4777d4]
fld qword [0x44c4c0]
fld dword [0x47800c]
faddp st(2)
fsubrp st(1)
fstp qword [0x44c4c0]
add eax, ebx
add ecx, 4
cmp eax, 8
jne 0x40ab54
or dword [0x4452d4], 0xfca9f7ef
pop esi
pop ebx
mov esp, ebp
pop ebp
ret