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

Disassembly:
mov esi, dword [esi]
sub ebx, edx
sub edi, edx
add ebx, 0x9f3c945d
and ecx, 0x9f3cd084
mov ecx, 0x9f3d0c65
or edi, ebx
jmp 0x515afa
mul esi
dec ebx
add edi, 0x9f3ddd76
sub edx, ebx
not ebx
jmp 0x517c84
mov dword [esp + 0x80], esi
shr ebx, 1
dec ecx
or ecx, edx
add ecx, 0x9f5532a2
and ecx, 0x9f5571c5
or edx, ecx
jmp 0x518826
add esi, dword [esp + 0x70]
xor edi, edx
bswap edi
xor ebx, edx
mov ecx, ebx
shl ecx, 0x18
mov ebx, edi
jmp 0x5161a4
mov esi, dword fs:[esi]
ror ecx, 0xf
xor edx, 0x9f73e613
xor ecx, edi
mov ecx, edx
sub edi, edx
add edx, 0x9f74e5cf
shr ecx, 0xb
mov edx, edi
and ecx, 0x9f7597c1
jmp 0x51779a
add esi, 0xc
add edi, ecx
add edi, edx
mov edi, 0x9f87697e
jmp 0x516b6e
mov dword [esp + 0x70], esi
bswap ecx
mov edx, 0x9f87f16b
xor edx, edi
mov edi, ecx
sub ecx, edi
mov ecx, edi
sub edi, ecx
rol ebx, 0x19
xor edx, edi
and edx, edi
and ecx, edx
add edx, edi
jmp 0x517331
mov dword [esp + 0x7c], 0
sub ecx, ebx
add edx, 0x9f98614b
xchg ebx, edx
ror ecx, 0x18
or ebx, edx
dec edi
or ebx, 0x9f9996f8
or edi, ecx
or ebx, edi
mov edi, edx
jmp 0x5170ac
add esp, 0x84
not ebx
add edi, ecx
bswap ebx
xor edx, 0x9f9b4ff4
bswap ecx
xor edx, ecx
inc edi
jmp 0x5184b1
jne 0x5182ee
shr edx, 3
add ebx, ecx
and ecx, edi
mov ecx, 0x9fbb3344
jmp 0x517297
mov dword [esp + 0x70], 0
add edx, 0x9fc970f5
sub edx, ebx
sub ecx, 0x9fc9e90d
and ebx, 0x9fca252b
add ebx, ecx
sub edx, ebx
xor edx, ecx
or ebx, edi
xchg edx, ebx
jmp 0x517480
add esi, dword [esp + 0x70]
xor edi, edx
or edx, 0x9fcf53ad
xchg edi, ebx
sub edx, edi
xor edi, ebx
rol edx, 4
shl edx, 9
rol ecx, 4
jmp 0x516532
mov dword [esp + 0x80], esi
xor edx, ecx
or edx, ebx
and edx, ecx
xchg edx, edi
shl ebx, 0xa
shr ecx, 5
xor edx, ebx
shl edi, 0xe
add ebx, ecx
jmp 0x5169e8
movzx esi, word [esi]
xchg edx, ebx
add ebx, 0x9fd5ade2
mov edi, 0x9fd5e84b
xchg ebx, ecx
add edi, 0x9fd66dce
ror ebx, 0xe
mov edx, 0x9fd6e70a
mov edi, ecx
xor edx, ebx
xor edx, ebx
dec ebx
jmp 0x5159a8
inc esi
sub edx, edi
xchg edx, ebx
mov ecx, ebx
and ecx, ebx
and ecx, edx
xor ebx, 0xa00eb91e
and edi, edx
or edi, ecx
jmp 0x51658b
push esi
shl ebx, 0x1b
add ecx, ebx
neg edi
sub ebx, edi
add ebx, edi
xor edx, 0xa0141c95
mov ebx, ecx
xor ecx, edi
add edx, ebx
not edx
and edi, ebx
and ecx, 0xa0157a37
jmp 0x5187de
cmp byte [esi], 0
jmp 0x51601a
add esi, dword [esp + 0x70]
inc edi
mov edi, 0xa0423004
shl edx, 6
xor edx, ecx
xchg ecx, ebx
add ebx, ecx
xor edx, edi
xor ebx, edx
bswap ebx
not edi
ror ebx, 0x15
not ecx
jmp 0x515e6c
mov esi, dword [esi]
rol ebx, 0xf
mov ebx, edi
or ebx, edx
or ebx, ecx
or ebx, edx
mov ecx, edx
add ecx, ebx
xor edi, 0xa04a4d82
add edi, 0xa04a9555
mov ebx, edx
dec edx
sub edx, 0xa04b44ad
ror ecx, 0x16
ror edi, 0xd
jmp 0x516ecb
mov esi, dword [esi]
sub ebx, edx
xor edx, ecx
dec ebx
xchg ebx, edi
mov edi, ebx
jmp 0x515ada
mov esi, dword [esi]
or edi, ecx
and edi, ecx
ror ecx, 0x15
add ebx, edi
shl ecx, 0x1a
inc edi
shl ebx, 0xc
sub ecx, 0xa0545fec
xor edi, 0xa054a448
and edx, ecx
xor ecx, 0xa0551be1
or ecx, edi
inc edi
add edi, edx
sub ecx, edi
jmp 0x5167d0
add esi, dword [esp + 0x7c]
mov ebx, 0xa061c38d
mov edi, edx
xor edi, ecx
mov edi, edx
sub edi, ebx
xchg edi, ecx
shl ecx, 0xd
xchg ebx, edx
or edx, 0xa063a2d3
and ecx, edx
add ecx, edi
add ebx, edi
or edi, ecx
xchg edx, edi
inc edi
jmp 0x5175f9
mov esi, dword [esp + 0x34]
xor ebx, edi
or ecx, 0xa067be0a
add ebx, ecx
add ecx, edi
mov edx, 0xa06874c2
add edi, ebx
xor ebx, ecx
jmp 0x516997
add dword [esp + 0x80], 4
or ebx, edi
xchg edi, ebx
or ecx, edi
sub edi, ebx
mov edx, ecx
inc ebx
bswap edi
jmp 0x518244
mov esi, dword [esi]
ror ecx, 0x17
and ebx, 0xa0842d28
rol edx, 7
xor edi, ecx
add ebx, ecx
sub edi, ebx
or ebx, edi
jmp 0x518265
rol eax, 8
xor edi, ebx
and ecx, ebx
add edi, ecx
xor ebx, 0xa0896336
xor ebx, edi
xchg edi, ecx
mov edi, ebx
xchg edi, edx
xchg edx, ecx
and ecx, edi
xchg edi, ecx
jmp 0x5164fd
add esi, 0x18
add ecx, edx
mov edx, 0xa08bb589
add ecx, 0xa08c1b7b
shl ebx, 0xc
mov edi, 0xa08cdb39
inc ecx
or edx, edi
xor ebx, ecx
jmp 0x51728c
add esi, 0x3c
xchg ebx, ecx
not ebx
or ecx, edx
xchg ebx, edi
inc edx
bswap ecx
xchg edx, edi
xor edx, 0xa090edf6
xchg ecx, ebx
add ebx, edi
jmp 0x51839c
add dword [esp + 0x80], esi
and ecx, edx
inc edx
xor edi, edx
and ebx, edi
xchg ebx, edx
xor ecx, 0xa0a5472b
or edi, 0xa0a58313
jmp 0x517ece
mov dword [esp + 0x74], esi
and edx, ecx
and edi, ebx
add edi, 0xa0bffda6
shl ecx, 0x10
sub edi, ecx
inc ecx
ror ecx, 0x19
inc ebx
or ecx, edi
sub ebx, ecx
xchg ecx, edi
jmp 0x5178f5
add esi, dword [esp + 0x70]
sub ebx, edi
xchg edi, ebx
and edx, 0xa0ced2e4
add edi, 0xa0cf394d
shr edx, 0x16
not ecx
add edi, ecx
shl ecx, 0x15
inc edi
mov edi, edx
jmp 0x518339
mov dword [esp + 0x34], 0
mov ecx, edx
add edi, 0xa179e207
xor ebx, ecx
add edi, edx
rol ebx, 0xb
and ecx, edx
ror edx, 8
shr ebx, 0x16
and edx, 0xa17b8ec3
mov ecx, edi
mov edi, ecx
mov edx, ebx
or ecx, 0xa17c77c5
add edx, ecx
jmp 0x516101
mov esi, dword [esi]
add ecx, ebx
xchg ebx, edx
jmp 0x515d60
pop esi
not ecx
xor ecx, edx
and ebx, edi
ror edi, 2
xor edx, edi
rol ecx, 9
sub ecx, edi
sub edi, ebx
or ecx, 0xa19c5254
xchg edx, edi
jmp 0x517977
mov esi, dword [esp + 0x70]
xor edx, 0xa1a58da3
shr edx, 0x1c
sub edi, edx
not ecx
ror ebx, 0xc
mov edx, ebx
xchg ebx, edi
jmp 0x516bdc
add dword [esp + 0x80], 0x78
and ebx, ecx
sub edi, 0xa1b13864
xchg edi, edx
shr ecx, 0xb
add edi, ebx
or ecx, edi
not edx
mov ecx, ebx
ror ebx, 0x1a
or ebx, edx
jmp 0x518184
mov esi, dword [esp + 0x34]
or ecx, ebx
xchg edx, edi
ror ebx, 8
or ecx, 0xa1b41a27
xor ebx, 0xa1b45902
mov ecx, edi
xor edi, ebx
rol ebx, 0x1c
not edi
xchg edx, edi
and ebx, ecx
and edi, edx
jmp 0x5189e0
mov dword [esp + 0x80], 0
xor edx, ebx
shl ecx, 9
and ebx, edx
ror ecx, 0x1f
not edx
and edi, ecx
xor edi, ecx
mov edi, edx
sub edi, 0xa1c051b8
inc ebx
add edi, edx
not ecx
mov ebx, ecx
jmp 0x516e1e
mov eax, 4
and ebx, 0xa1f8eafd
xor edi, ecx
mov edx, ecx
add edi, edx
and edi, ebx
sub edi, edx
jmp 0x5161c5
add esi, 0xc
add edx, ebx
xchg edi, ecx
xchg edi, ecx
shr ebx, 2
xor edx, ecx
add ecx, ebx
or ecx, ebx
jmp 0x517b9e
mov esi, dword [esp + 0x80]
not ebx
or edx, 0xa2396cf5
and ebx, ecx
ror edx, 0x1f
neg edx
xchg ebx, ecx
add edi, ebx
neg edi
not ecx
xchg ebx, edx
sub edx, 0xa23bd69b
sub edx, edi
jmp 0x5168c7
mov esi, 0x30
xor ebx, ecx
shr ebx, 0x10
neg ecx
shl ebx, 0x1e
shl edi, 0x18
or edx, 0xa24d2c6f
xor ecx, edx
mov edx, ecx
mov ecx, ebx
dec ecx
add ebx, edx
inc ecx
jmp 0x515c2d
cmp eax, dword [esp + 0x74]
jmp 0x517dc6
add esi, dword [esp + 0x80]
or ebx, edx
xor ebx, edi
xor edi, ebx
and edx, edi
xchg edi, ecx
sub ebx, ecx
and edi, 0xa26d1b11
sub ebx, edx
sub edx, ebx
and ebx, 0xa26dca03
add edi, ebx
jmp 0x516885
add esi, dword [esp + 0x70]
xor edi, ebx
or ebx, edx
mov ebx, edi
xchg ecx, edx
and edi, ecx
mov edx, ebx
mov edx, edi
sub edi, ecx
xchg edx, ebx
dec ebx
add edx, ecx
mov edi, ebx
sub ebx, edx
jmp 0x517e59
mov esi, dword [esi]
xor edi, edx
xor ebx, edx
xor edi, 0xa27ecd31
add edx, ecx
shr ecx, 0xa
mov edx, ecx
mov edi, ebx
and ecx, ebx
or edx, edi
jmp 0x515d4f
mov esi, dword [esp + 0x80]
dec ecx
rol edx, 0x18
dec edi
xchg edx, edi
neg ebx
rol ecx, 0x17
or edx, edi
add edi, 0xa2887e31
add ebx, ecx
jmp 0x51598a
add dword [esp + 0x34], 4
xchg ecx, ebx
sub ebx, 0xa28cab6a
xor ebx, 0xa28ce61b
dec edi
xchg ebx, edi
xchg edx, ecx
xchg edi, edx
jmp 0x51740c
add dword [esp + 0x80], eax
xor edi, edx
xor edi, edx
or edx, edi
or ecx, 0xa28ee13b
or ecx, edi
mov ecx, edx
or ebx, 0xa2905981
add ebx, edi
add edi, ebx
jmp 0x5177e1
mov esi, dword [esp + 0x7c]
add ebx, ecx
xor edx, edi
sub ecx, 0xa29a3d61
neg edi
ror ebx, 0x1a
xchg edx, edi
mov ebx, 0xa29b2e37
or edi, edx
jmp 0x5186ab
jne 0x5188bd
or ebx, edi
shr ecx, 0xd
not ebx
jmp 0x516b23
mov dword [esp + 0x34], esi
xor ecx, 0xa2aec775
xchg edi, edx
and ecx, edx
and edi, 0xa2b5a74a
xor edx, edi
rol ecx, 0x1f
inc ecx
xchg ecx, edx
mov ecx, ebx
shl edx, 0x10
and edx, edi
and edx, 0xa2b7d4f0
jmp 0x5188bd
mov esi, dword [esi]
sub ecx, 0xa2b825e2
sub edi, ebx
add edi, ecx
add edx, 0xa2b8d71c
mov ebx, edi
and edx, ecx
xchg edx, ebx
xor edi, ebx
xor edx, edi
jmp 0x517af6
add dword [esp + 0x80], 0x20
nop
add edx, edi
add edx, 0xa2bd6eb5
or edx, ecx
rol edi, 0x13
mov ebx, ecx
and edx, 0xa2be5b1c
jmp 0x517f34
mov eax, 2
and edi, ebx
inc ebx
neg edx
add ebx, edi
add edi, ebx
and ecx, 0xa2bfc4d6
sub ebx, ecx
xchg ecx, ebx
add edx, ebx
jmp 0x517d22
mov esi, dword [esp + 0x80]
neg ecx
xchg edi, ecx
mov ecx, edi
xchg ecx, ebx
mov ecx, ebx
or ecx, edi
xchg edi, edx
and ebx, ecx
mov ecx, edi
jmp 0x517e8a
mov esi, dword [esi]
xor edi, 0xa2c81b44
or ebx, edi
sub ebx, 0xa2c895d7
dec ecx
jmp 0x516bba
mov esi, dword [esp + 0x70]
xor ecx, edi
xor edx, 0xa2ea24e2
and edx, 0xa2ea611c
or ebx, edx
xor edx, edi
and ebx, ecx
and edx, ebx
jmp 0x517aaf
mov esi, dword [esp + 0x80]
xor edi, 0xa2f8c7eb
xor edx, ecx
xchg edx, ecx
shr edx, 0x16
shl ecx, 9
xor ecx, edi
or edx, ebx
dec edx
jmp 0x51682c
mov esi, dword [esi]
shr ebx, 0x15
xor ebx, edi
jmp 0x517f79
xor al, byte [esi]
or edx, ecx
not edi
shl ebx, 5
or ebx, edx
mov edi, edx
xor edx, edi
or edi, 0xa304f0cf
or ebx, ecx
xor ebx, ecx
mov ecx, edi
xor ebx, edx
and ebx, edi
sub ebx, ecx
xchg edi, edx
jmp 0x516b98
mov dword [esp + 0x34], esi
sub ebx, 0xa309adf9
mov edx, edi
mov edx, 0xa30a2487
xor ebx, edx
or ecx, 0xa30a96df
and edx, edi
not edi
rol ecx, 0xd
mov edi, ecx
jmp 0x517ef1
mov esi, dword [esi]
xor ecx, 0xa3102851
sub ebx, edx
add edi, 0xa310a283
shl edi, 0x19
add ebx, edi
ror edi, 0xa
jmp 0x518517
ret
mov dword [esp + 0x7c], eax
rol ecx, 1
sub edx, ecx
xor edx, edi
add ecx, edx
bswap edi
and edx, 0xa326bd90
jmp 0x51895e
mov dword [esp + 0x80], esi
xchg ecx, edx
bswap edi
or ecx, edi
xor edi, ebx
nop
add edi, ecx
and edx, ebx
jmp 0x5173e5
mul esi
xor ebx, 0xa3465593
sub ebx, edx
shl edi, 8
add edx, ecx
sub edi, edx
or edx, ebx
not ebx
jmp 0x5184d1
xor eax, eax
mov ebx, 0xa35cad1a
or edx, ecx
mov ecx, 0xa35d2105
xor ebx, ecx
add edx, 0xa35d97c7
not edx
xor edx, ecx
or edi, ebx
add ecx, ebx
add edi, edx
or ecx, edi
add edx, ebx
jmp 0x5182ee
mov esi, dword [esp + 0x70]
mov edx, edi
or edx, ebx
add edi, ebx
not ecx
xchg ebx, edx
mov ebx, ecx
xor ecx, ebx
add edx, ebx
jmp 0x516c78
inc dword [esp + 0x7c]
add ecx, edi
add edx, ecx
and edi, ebx
xchg ecx, edi
or edi, 0xa36ff07d
shl ecx, 7
mov edi, 0xa3707092
bswap edi
rol ecx, 0x1f
xor edi, edx
jmp 0x517c62
sub dword [esp + 0x80], 8
sub edi, ecx
mov ebx, ecx
ror edx, 0xa
jmp 0x517c0f
mov esi, dword [esi]
and ecx, edi
mov ebx, edx
and edx, ecx
or edx, ebx
inc ecx
sub edx, ecx
rol ebx, 0xc
jmp 0x516164
sub esp, 0x84
or edx, ebx
bswap edi
mov ecx, ebx
not ecx
and edx, 0xa39349a3
or ebx, edx
not ecx
xchg edx, ebx
xor edi, edx
neg ecx
xchg edx, ecx
xor ecx, 0xa394ebd5
sub ecx, ebx
sub edx, ecx
mov edx, edi
shl edi, 0xc
jmp 0x515e40