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

Disassembly:
mov eax, 2
mov edi, esi
xchg edi, ecx
and ecx, edi
xor esi, 0x38eac946
and edx, esi
xchg ecx, edi
not edx
jmp 0x975957
mov eax, 4
and ecx, esi
mov edx, edi
mov edi, ecx
rol edi, 9
add esi, edx
bswap esi
shr ecx, 0xe
mov ecx, edx
mov edi, esi
xchg esi, edx
xchg ecx, edi
shr edx, 0x17
and ecx, edi
mov ecx, 0x38fe4a04
sub edx, esi
xor ecx, esi
jmp 0x9784bf
mov ebx, dword [esp + 0x64]
mov ecx, edi
add esi, 0x39001ecc
and edx, 0x390094b4
neg esi
or edx, esi
jmp 0x9776d3
inc dword [esp + 0x64]
add ecx, 0x39042c7d
and esi, edx
or edx, ecx
xchg esi, edx
sub edi, edx
mov esi, ecx
or esi, edx
and edx, esi
sub ecx, esi
shl ecx, 8
not edi
nop
xor edx, ecx
jmp 0x975ac1
cmp eax, dword [esp + 0x44]
jmp 0x97643f
mov dword [esp + 0x64], eax
xchg edi, esi
bswap edx
add edi, esi
xor ecx, esi
sub edi, esi
dec edx
sub esi, edi
shl edi, 2
add esi, edi
bswap esi
add esi, ecx
xor esi, edx
or esi, edx
jmp 0x975e54
add dword [esp + 0x10], 4
shr edi, 0x1e
xor ecx, 0x392bec41
xchg edi, edx
or edx, edi
mov ecx, 0x392d70aa
jmp 0x978217
xor al, byte [ebx]
not edi
add ecx, edi
xchg ecx, edx
xchg esi, edx
add ecx, edx
ror edx, 0xf
mov ecx, esi
jmp 0x9771db
jne 0x975af3
xchg edx, edi
dec edi
ror ecx, 0x1b
sub ecx, edi
dec esi
shr edx, 2
xor edi, 0x39534f62
xor edi, 0x3953c267
inc edx
rol ecx, 2
xchg ecx, esi
or ecx, edx
jmp 0x977cbc
ret
mov ebx, dword [esp + 0x10]
xchg edi, edx
or esi, 0x396511de
ror ecx, 9
mov esi, 0x396601d1
mov edi, ecx
and esi, ecx
bswap edx
neg edi
jmp 0x97783c
mov ebx, dword [ebx]
mov ecx, edi
xchg ecx, edx
dec edx
or esi, ecx
sub ecx, esi
neg esi
or edi, esi
or edx, ecx
or esi, edx
xor edi, 0x397f0612
neg edi
rol edi, 0x10
or edx, 0x39805feb
jmp 0x97646f
add dword [esp + 0x54], 0x78
add ecx, edx
xor edi, esi
dec edx
and edi, edx
add ecx, edi
and ecx, edx
mov edi, ecx
and edi, ecx
mov edi, 0x399ae867
inc edx
bswap edx
not edi
jmp 0x975e15
mov ebx, dword [esp + 0x40]
and ecx, 0x399f4c34
add esi, edi
xor esi, edx
add edx, 0x39a0a881
xchg esi, ecx
xchg ecx, edx
or esi, ecx
and edx, esi
shl esi, 0x14
or esi, edx
jmp 0x9772c6
add ebx, 0x3c
dec ecx
neg esi
sub esi, ecx
shl ecx, 1
sub edx, 0x39a5f3db
jmp 0x976f3a
sub dword [esp + 0x54], 8
sub esi, edi
or edx, edi
shl esi, 3
and edx, edi
rol ecx, 6
and edi, 0x39a8da3b
jmp 0x975f4f
mov ebx, dword [esp + 0x54]
sub ecx, edx
sub edx, ecx
sub esi, edi
add edx, esi
not esi
add edi, 0x39c9e6f4
jmp 0x9769db
mov dword [esp + 0x54], 0
and edi, esi
add edi, ecx
neg edx
sub ecx, edx
shl ecx, 7
not edi
xor esi, ecx
shr edi, 0xb
jmp 0x9772ea
add dword [esp + 0x54], 4
add ecx, edi
xchg edx, esi
dec edi
ror esi, 3
not ecx
rol edx, 0xc
xor esi, ecx
mov ecx, esi
mov edi, ecx
shr esi, 0x11
xor edi, esi
shl edx, 0x1c
xor edx, esi
and edi, edx
jmp 0x9780c9
xor eax, eax
xor edx, edi
neg ecx
or esi, edi
xchg ecx, edi
dec ecx
add edi, edx
not esi
mov edi, ecx
jmp 0x975af3
push ebx
mov ecx, edx
mov edi, 0x3a201cf6
and esi, ecx
and edi, esi
dec ecx
mov esi, edx
xor esi, ecx
add edi, ecx
bswap ecx
and ecx, esi
mov edx, 0x3a244ee9
add esi, ecx
jmp 0x97618c
add esp, 0xc4
shr esi, 0x1e
mov esi, ecx
xor ecx, edx
not esi
shl ecx, 0x1a
add ecx, 0x3a5b3452
sub edi, 0x3a5b9b2d
xchg edx, esi
add ecx, 0x3a5c5b05
shr edx, 0x11
or edi, edx
jmp 0x975c16
jne 0x97598c
and edx, 0x3a6c4cfb
rol edi, 8
add edx, esi
xor edi, 0x3a6db1f6
add esi, edi
add ecx, 0x3a6eae73
xor edi, 0x3a6f2b0b
add ecx, 0x3a6fa031
jmp 0x976160
add ebx, dword [esp + 0x40]
dec edx
and edi, esi
or ecx, 0x3a7121a8
neg edi
and ecx, 0x3a720790
neg edx
xchg edx, ecx
shr edx, 0x14
or edx, ecx
jmp 0x9768fd
mov dword [esp + 0x40], 0
mov ecx, edx
or edx, ecx
rol esi, 9
xor edi, 0x3ab5ceac
add esi, edx
jmp 0x976001
cmp byte [ebx], 0
jmp 0x975beb
mov ebx, dword [ebx]
add ecx, edx
or edi, 0x3ae82075
xchg edx, ecx
or esi, edx
mov ecx, 0x3ae9720e
neg edi
or edx, 0x3aea7e80
neg esi
nop
jmp 0x977f34
add dword [esp + 0x54], ebx
xchg edi, edx
rol ecx, 0xd
and ecx, edi
xchg edi, ecx
not ecx
mov edx, ecx
jmp 0x9779fa
mov dword [esp + 0x10], ebx
sub ecx, edx
mov edi, edx
xor ecx, edx
and esi, edx
sub ecx, 0x3b028fd1
sub ecx, edi
and edi, ecx
and esi, ecx
nop
xor ecx, edi
xor ecx, edi
jmp 0x9758b0
mov ebx, dword [ebx]
xor esi, 0x3b18dd77
add edx, 0x3b194c44
and edi, 0x3b19c17b
mov edx, esi
xor edi, ecx
sub ecx, esi
sub esi, edx
and edx, esi
and edi, edx
bswap edi
jmp 0x976829
mov ebx, dword [ebx]
and ecx, edx
and edx, 0x3b1dd1c8
shr ecx, 3
xor ecx, edx
sub edi, 0x3b1f441c
inc ecx
xor esi, edx
add edx, 0x3b209add
shl edi, 6
sub edx, ecx
jmp 0x9775f1
mov ebx, dword [ebx]
sub edi, esi
inc edx
or esi, 0x3b388425
jmp 0x978551
mov ebx, dword [ebx]
and edi, 0x3b48d13e
xor edi, ecx
add esi, edx
sub esi, ecx
and ecx, esi
and edi, 0x3b4b1795
jmp 0x9769b4
add ebx, dword [esp + 0x40]
mov esi, 0x3b5294e1
add edi, edx
sub edx, edi
mov edi, ecx
xor edx, edi
sub edi, 0x3b54bc44
bswap edi
add esi, ecx
add esi, edx
or edx, edi
and ecx, edx
add edi, edx
xor edx, esi
jmp 0x977e8b
mov dword [esp + 0x54], ebx
shr ecx, 0x13
xchg esi, edi
add edx, edi
xor edi, edx
xchg edi, esi
xor esi, edx
bswap esi
bswap edx
sub esi, 0x3ba0bad3
jmp 0x975c84
mov ebx, 0x30
add edx, esi
bswap edx
and edi, 0x3bab8351
or ecx, edx
shl edi, 0x14
xor edx, ecx
shr edi, 6
mov edx, esi
sub ecx, 0x3bae1f9b
and ecx, edx
add esi, ecx
sub edx, ecx
nop
and esi, edx
neg edx
jmp 0x9775c1
mov ebx, dword [ebx]
inc esi
sub esi, edi
xchg esi, edx
add ecx, 0x3bb2557b
rol edx, 0xa
ror esi, 0xc
sub edi, esi
inc esi
mov edx, ecx
shl edx, 2
jmp 0x976b5a
mov ebx, dword [ebx]
inc ecx
bswap edi
dec ecx
or edi, ecx
add esi, 0x3bf61b0d
xchg edi, esi
xchg ecx, edi
xchg edx, ecx
jmp 0x977eb5
mov ebx, dword [ebx]
add ecx, edi
mov esi, edi
xor edi, edx
mov esi, ecx
not edx
add edi, ecx
and ecx, esi
sub ecx, edx
mov edx, 0x3c0285d0
jmp 0x9777d4
add ebx, dword [esp + 0x40]
xor edi, esi
mov ecx, esi
sub ecx, 0x3c825b98
xor esi, ecx
sub ecx, edx
xchg edi, ecx
jmp 0x976390
rol eax, 8
add esi, 0x3cbd326c
xchg edi, ecx
xor edi, edx
mov edi, 0x3cbe8fe8
or esi, edi
mov esi, ecx
ror ecx, 0xd
not edx
and edx, ecx
jmp 0x9771fd
inc ebx
and ecx, esi
and edi, 0x3cc1cd6e
shr edi, 3
mov edi, ecx
shr edx, 0x17
or ecx, 0x3cc394db
xor ecx, edx
and esi, 0x3cc471be
shl edx, 3
jmp 0x97680a
add ebx, dword [esp + 0x54]
xchg edx, edi
inc edx
inc edi
add edi, 0x3cd9fbb4
xor ecx, esi
not edi
and edi, 0x3cdb459d
bswap ecx
add ecx, edx
jmp 0x9781ee
mov dword [esp + 0x44], ebx
or edx, ecx
and edi, ecx
sub ecx, esi
jmp 0x976ca3
mov ebx, dword fs:[ebx]
xor ecx, 0x3d3a42f3
xchg ecx, esi
xor ecx, esi
and edx, 0x3d3b973b
and ecx, 0x3d3c07b4
mov esi, edi
xor ecx, 0x3d3ceef3
mov edi, 0x3d3d65a6
and ecx, edx
ror edx, 0x1e
jmp 0x977be9
add ebx, dword [esp + 0x40]
xor edx, edi
xor edx, edi
xor edx, edi
xor esi, edi
add esi, edx
not edi
ror edx, 8
mov edi, 0x3d422258
xor edi, 0x3d429958
xor ecx, edx
mov esi, 0x3d438d24
shr esi, 9
jmp 0x976c34
mov dword [esp + 0x54], ebx
xor edi, esi
ror ecx, 0xd
and edi, esi
dec esi
ror edx, 0x1e
and esi, edx
and edx, 0x3d5ba8b9
jmp 0x97828c
mul ebx
sub edx, edi
mov esi, edi
or ecx, edx
xor edx, ecx
xchg esi, edi
or edi, ecx
jmp 0x975a83
mov dword [esp + 0x54], ebx
inc esi
sub esi, edx
xchg edi, edx
xor esi, edi
add esi, edx
shr esi, 7
or edx, 0x3d7d2c84
add edx, edi
neg esi
mov esi, edi
and edx, 0x3d7ee961
add ecx, edi
xor edx, 0x3d7fcea5
jmp 0x975ddd
add dword [esp + 0x54], eax
rol ecx, 0x1e
add edx, esi
mov edi, esi
xor edi, edx
xchg edi, esi
dec esi
or esi, edi
jmp 0x9783bf
add ebx, dword [esp + 0x64]
not esi
or ecx, edi
xor edx, 0x3d87dbbb
xor ecx, 0x3d884c3f
shr esi, 0x11
xchg edx, esi
inc ecx
shl esi, 0x14
nop
or esi, edi
inc edi
jmp 0x975927
mul ebx
ror ecx, 0x17
sub esi, edx
sub edx, edi
neg ecx
or esi, edi
add edx, ecx
shl edx, 0x15
sub edx, edi
sub esi, edx
neg edx
jmp 0x977822
add dword [esp + 0x54], 0x20
not edi
or edx, esi
and esi, edx
add edx, 0x3dc3b438
ror ecx, 6
shl edx, 0xf
xor ecx, edx
sub esi, edi
sub ecx, edi
xchg ecx, esi
mov edi, ecx
jmp 0x977c56
mov ebx, dword [ebx]
and edi, esi
xchg edx, ecx
jmp 0x9783aa
add ebx, 0xc
add edx, 0x3e009afa
xor edx, ecx
shr edi, 7
neg edx
and ecx, edi
xchg edi, edx
neg edx
xchg edx, ecx
rol edi, 0x1c
not edi
or esi, ecx
jmp 0x977a3e
mov ebx, dword [esp + 0x54]
add esi, edi
xchg esi, edi
rol ecx, 0xf
dec edi
and ecx, esi
and edi, esi
and esi, ecx
and edi, 0x3e117d3f
add ecx, edx
or esi, 0x3e126bf3
jmp 0x976cd4
pop ebx
and ecx, 0x3e1b523e
not ecx
inc edi
add edx, ecx
and esi, edi
add esi, 0x3e1d6fed
or edx, ecx
shr esi, 5
mov esi, edi
add ecx, edi
jmp 0x975a77
mov dword [esp + 0x64], 0
sub esi, 0x3e317631
xchg edx, esi
neg ecx
xchg edi, edx
inc esi
sub edx, edi
and ecx, edi
xchg edx, ecx
xor esi, edi
shl edi, 3
and ecx, esi
sub edx, edi
jmp 0x978199
mov dword [esp + 0x10], ebx
sub esi, edi
and edx, ecx
shl edx, 0x1f
sub esi, 0x3e597aa4
or esi, 0x3e5a07e8
add esi, edi
dec edi
shr esi, 0xf
mov edx, ecx
shl edi, 0x1f
jmp 0x97598c
add ebx, dword [esp + 0x40]
or edi, ecx
add edi, edx
sub esi, edx
or ecx, edx
xor edx, edi
xchg edx, esi
mov ecx, 0x3e5fa0ad
neg edi
shl edi, 0x1b
add ecx, edx
jmp 0x9761f8
add ebx, 0x18
mov edx, esi
sub esi, 0x3e70787d
add edi, edx
mov esi, 0x3e717164
or edx, ecx
sub edx, esi
ror esi, 0x1f
xchg edi, edx
jmp 0x976a9a
mov ebx, dword [esp + 0x40]
shr edx, 0x10
shl edi, 6
ror esi, 0x15
mov edx, 0x3e8d592c
xor edx, edi
mov esi, 0x3e8e4504
xor ecx, 0x3e8ec835
mov esi, 0x3e8f3543
or ecx, edi
xor edi, esi
add edx, edi
xchg edx, ecx
sub edi, esi
or edx, edi
jmp 0x975e3e
mov ebx, dword [esp + 0x54]
xor esi, ecx
xor edx, esi
or edi, ecx
add esi, edi
xor edx, ecx
and edx, edi
shr edx, 0x1f
add esi, edx
shl esi, 0x12
mov edi, edx
sub edx, 0x3ea7914e
jmp 0x975d19
mov ebx, dword [ebx]
mov esi, 0x3f1e76a3
xor edx, 0x3f1eee83
add ecx, edx
or ecx, 0x3f1ff060
inc ecx
sub edx, 0x3f20e5ce
shr edx, 0xd
shl edi, 0x16
jmp 0x977025
mov dword [esp + 0x10], 0
sub ecx, edi
shl esi, 0x1b
mov esi, edx
sub ecx, esi
rol edx, 0x12
mov edi, ecx
dec esi
or edi, edx
jmp 0x97669a
mov ebx, dword [ebx]
and esi, edx
or edi, 0x3f3974c3
xchg edx, esi
and esi, edi
ror edx, 0x10
shl edi, 0x1e
and edx, edi
nop
sub ecx, esi
xchg edx, ecx
rol edi, 0x12
add esi, ecx
mov edx, edi
add esi, edx
jmp 0x9776b4
mov ebx, dword [esp + 0x10]
neg esi
not edx
and edi, edx
add edi, esi
and ecx, edx
not edx
inc esi
xchg edx, edi
bswap ecx
and edx, esi
jmp 0x976ee0
mov ebx, dword [esp + 0x40]
xchg edx, ecx
add edx, ecx
shl esi, 0x1f
xchg esi, edi
mov edi, 0x4057b93e
sub esi, edi
sub esi, edx
mov edi, 0x405870a3
xor edx, 0x4058ae71
xchg edi, ecx
xchg esi, edx
not esi
add edx, 0x40599c8f
jmp 0x97684c
add ebx, 0xc
add ecx, edx
shr edi, 7
add esi, 0x4069ab7e
sub edi, ecx
jmp 0x976b01
mov ebx, dword [esp + 0x54]
neg edx
bswap edi
sub esi, edx
sub edx, ecx
inc ecx
sub edx, 0x406b719c
xchg edx, esi
sub edi, esi
jmp 0x97811b
sub esp, 0xc4
xor edi, ecx
mov edi, edx
sub edx, 0x4079da60
and ecx, esi
add edi, ecx
sub esi, edx
shl esi, 0xe
mov esi, 0x407b422d
and ecx, edx
mov edi, edx
inc edi
or ecx, esi
shl ecx, 5
jmp 0x977d67
movzx ebx, word [ebx]
xchg edx, edi
add edi, ecx
or ecx, edx
inc edx
xor edi, edx
xor esi, edx
jmp 0x9778cf
mov dword [esp + 0x40], ebx
add edx, 0x408f5a69
and edx, ecx
or esi, edx
xor edi, edx
xchg edi, ecx
mov edx, edi
jmp 0x97800b