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

Disassembly:
mul edx
rol edi, 0x1f
xor edi, 0x7777d04a
or ebx, 0x7777ea3c
shl edi, 0xf
add ebx, esi
and esi, ecx
or ebx, edi
add ecx, edi
jmp 0x503952
mov dword [esp + 0x80], edx
add esi, 0x777b54d8
xchg edi, esi
or ebx, esi
or esi, ecx
jmp 0x5028d5
mov edx, dword [edx]
xor ecx, ebx
or edi, 0x777d368e
or ebx, esi
shl ecx, 9
add esi, ecx
add ebx, 0x777da05e
xchg edi, ecx
dec ecx
xchg ecx, edi
not ecx
mov esi, 0x777e27c4
mov esi, edi
jmp 0x502596
mov dword [esp + 0x54], edx
xchg ecx, edi
mov esi, ebx
jmp 0x504627
movzx edx, word [edx]
xor esi, edi
and ecx, ebx
and ebx, esi
add ecx, esi
sub esi, 0x7789c7dc
rol ecx, 0xd
jmp 0x5022e6
pop edx
sub esi, ecx
inc edi
not ebx
or esi, ebx
jmp 0x503b7b
ret
add edx, 0x18
add edi, ecx
or edi, esi
and ebx, edi
and ebx, ecx
mov esi, ecx
xchg esi, ecx
jmp 0x503115
rol eax, 8
and edi, ecx
sub esi, edi
sub ebx, esi
neg ebx
xchg esi, ecx
mov esi, ecx
jmp 0x50480c
mov dword [esp + 0x20], eax
or edi, 0x77978f86
add edi, ebx
mov edi, ebx
dec ebx
or edi, ebx
xchg ecx, edi
mov ecx, esi
not ebx
jmp 0x50317e
mov dword [esp + 0x20], 0
shl ebx, 0xd
mov ecx, ebx
add ebx, esi
add esi, edi
add esi, ebx
and ebx, ecx
add edi, ecx
dec ecx
xor ecx, ebx
sub esi, edi
jmp 0x5045e0
mov edx, dword [esp + 0x80]
xor edi, esi
and esi, ebx
neg esi
sub ebx, ecx
and ebx, esi
sub edi, esi
xor ebx, 0x77a5d7fe
and edi, ebx
rol ecx, 0xf
ror esi, 0x14
jmp 0x503baf
mov edx, dword [esp + 0x4c]
or ebx, ecx
xchg ebx, esi
dec esi
add esi, 0x77ae5740
or esi, 0x77ae7100
or esi, 0x77ae8ac0
jmp 0x503513
mov dword [esp + 0x54], edx
sub edi, esi
or ebx, ecx
and edi, ecx
and esi, edi
inc ecx
add esi, edi
bswap ebx
or ebx, edi
ror esi, 0x13
rol esi, 0x19
add ebx, esi
add esi, 0x77b72b60
add edi, ebx
and ecx, edi
jmp 0x502e2c
mov edx, dword fs:[edx]
bswap edi
inc edi
xor edi, esi
or edi, ebx
add edi, esi
add edi, ebx
ror esi, 0x11
xor esi, edi
ror ebx, 6
mov esi, ebx
xchg ebx, ecx
and edi, ebx
jmp 0x502eaa
add dword [esp + 0x54], 4
sub edi, ebx
neg ebx
shr ebx, 4
add ecx, ebx
jmp 0x503e2b
mov edx, dword [edx]
inc edi
shr edi, 0x13
sub ecx, esi
add edi, ebx
and ecx, esi
and ecx, 0x77c11c48
and ecx, 0x77c13666
add ecx, ebx
jmp 0x504200
mov edx, dword [edx]
ror ecx, 0xa
sub ebx, edi
mov esi, 0x77c28b86
or esi, edi
and esi, ebx
neg esi
shr esi, 0xf
mov ebx, ecx
jmp 0x503570
add edx, dword [esp + 0x80]
xor esi, 0x77c485a0
mov edi, 0x77c49f94
xor ebx, esi
add esi, 0x77c4d044
or esi, 0x77c4ea2e
or ebx, ecx
jmp 0x502e71
jne 0x503e72
and ecx, ebx
and ebx, esi
inc esi
neg ecx
xor ecx, 0x77c59698
mov esi, 0x77c5b08c
or esi, ecx
shr edi, 0x10
jmp 0x502569
mov edx, dword [esp + 0x80]
xchg ecx, edi
sub esi, edi
not edi
neg esi
bswap ecx
xchg ebx, ecx
and esi, edi
and esi, ebx
add esi, ebx
and ebx, edi
sub ebx, 0x77cdf690
add edi, ecx
add esi, edi
sub esi, ebx
jmp 0x502ff6
mov dword [esp + 0x4c], edx
ror esi, 0x14
xchg esi, ecx
ror ebx, 0x1d
xor ecx, edi
and esi, 0x77cfa324
xchg esi, ecx
jmp 0x5044db
add edx, 0xc
xchg edi, esi
add ebx, edi
bswap esi
add ecx, edi
sub edi, 0x77d13496
and ebx, esi
jmp 0x504347
mov edx, dword [esp + 0x80]
dec ecx
rol ecx, 0x15
add esi, edi
sub esi, ebx
shl ecx, 0x15
add edi, ebx
or ebx, edi
sub edi, 0x77d29fa8
and ebx, esi
shl ecx, 0xf
or edi, 0x77d2ea9a
add ebx, 0x77d3048e
jmp 0x504407
mov edx, dword [edx]
xor ecx, esi
dec ebx
inc ebx
shr ebx, 0x17
sub ecx, 0x77d5e7dc
xchg ecx, edi
inc esi
xor ecx, 0x77d634c6
jmp 0x503799
add edx, dword [esp + 0x80]
add edi, 0x77d84262
inc ebx
xor ebx, ecx
shr ecx, 0xc
neg ecx
or ebx, edi
mov edi, ebx
xor ecx, 0x77d8fd72
add ecx, edi
xchg edi, ecx
mov edi, 0x77d949c0
and ecx, esi
jmp 0x50347e
add dword [esp + 0x54], edx
or esi, 0x77d983dc
add esi, edi
xor esi, 0x77d9b5b2
neg ecx
add esi, 0x77d9e85a
mov ecx, edi
or ecx, esi
or ebx, edi
mov edi, 0x77da51ec
sub edi, 0x77da6bac
jmp 0x503faa
mov edx, dword [esp + 0x54]
xchg esi, ebx
add ecx, esi
sub esi, 0x77dc0250
xchg edi, ebx
mov ebx, 0x77dc3686
and ebx, esi
xchg ebx, ecx
and ebx, edi
and ebx, ecx
xchg edi, ebx
xor esi, ecx
mov ebx, esi
jmp 0x5032de
mov dword [esp + 0x54], 0
dec ecx
xor esi, ebx
shl edi, 0xa
xchg ebx, ecx
jmp 0x503e8e
mov edx, dword [edx]
xchg ebx, ecx
sub ebx, esi
xor ebx, edi
add edi, 0x77e144fc
xor edi, 0x77e15e66
ror esi, 7
sub edi, esi
and ebx, edi
jmp 0x50236c
sub dword [esp + 0x54], 8
xor ebx, esi
or edi, esi
jmp 0x5039a1
inc dword [esp + 0x20]
and ecx, 0x77e59d84
shl ecx, 0x1f
mov ecx, edi
rol ecx, 6
xor ecx, ebx
xchg esi, ecx
xor edi, ebx
and ecx, esi
jmp 0x5043f1
mov edx, dword [esp + 0x20]
ror ebx, 4
shl ebx, 3
mov edi, esi
neg edi
not ecx
or esi, ecx
add ecx, ebx
not esi
sub edi, 0x77e749e4
sub edi, esi
bswap ebx
and edi, ebx
jmp 0x5039bf
mov edx, dword [edx]
dec esi
and esi, ecx
inc ebx
and ecx, 0x77eed622
sub ecx, 0x77eef3e2
add edi, esi
add edi, ebx
and ecx, esi
and ebx, edi
add edi, 0x77ef700e
add edi, 0x77ef8a24
xor ecx, edi
jmp 0x502fc7
add esp, 0xc8
rol esi, 0xe
or edi, esi
and ebx, edi
or esi, ecx
add edi, ecx
sub esi, edi
jmp 0x502576
mov edx, dword [edx]
shl edi, 7
xchg esi, edi
or ecx, edi
or ecx, ebx
or ebx, 0x78004506
dec ecx
inc ecx
xor edi, esi
jmp 0x5035e3
mov dword [esp + 0x80], 0
shr ebx, 0xd
inc edi
not ebx
and ebx, esi
add ecx, esi
sub ebx, edi
xor edi, esi
add ecx, ebx
jmp 0x5030dc
mov edx, dword [edx]
sub edi, esi
bswap ebx
shl ecx, 0x13
xor ecx, edi
xchg ebx, ecx
and esi, edi
jmp 0x5023ac
add edx, dword [esp + 0x80]
sub ecx, esi
not ecx
and ebx, edi
add ecx, edi
mov ebx, ecx
add esi, edi
jmp 0x5035fb
push edx
mov ecx, esi
inc ecx
jmp 0x503bec
mov dword [esp + 0x54], edx
or edi, ecx
xor esi, ecx
shl edi, 6
sub ebx, 0x7813d55e
xor ecx, esi
xchg edi, ebx
and esi, ecx
mov ecx, ebx
jmp 0x5047dd
cmp byte [edx], 0
jmp 0x502d10
add dword [esp + 0x54], eax
and ecx, edi
xor ecx, 0x781fc624
and esi, 0x781fe008
add ecx, esi
shl ecx, 0x1d
bswap ebx
add ecx, ebx
or edi, 0x7820671e
xchg ecx, ebx
or edi, ecx
rol esi, 0x14
sub esi, ecx
jmp 0x50304b
mov edx, dword [edx]
inc edi
and ecx, edi
dec esi
add edi, esi
xchg esi, ebx
mov esi, ecx
and edi, ecx
and esi, edi
bswap ecx
not ebx
not edi
sub ecx, esi
jmp 0x50453e
mov edx, dword [esp + 0x54]
add esi, 0x782230d0
or esi, 0x78224a16
and ecx, ebx
inc edi
mov ebx, edi
dec esi
jmp 0x503984
mul edx
inc esi
or esi, ecx
shr edi, 4
ror ebx, 0x1a
sub edi, ebx
add ecx, esi
and edi, ebx
add esi, edi
or ebx, esi
sub edi, ecx
mov edi, ebx
and edi, 0x7823f228
add ecx, edi
and edi, ecx
jmp 0x502710
mov edx, dword [edx]
xchg ebx, edi
add ecx, 0x782d2b62
xor ecx, ebx
mov esi, ebx
xchg ebx, ecx
sub edi, ebx
jmp 0x502ce9
cmp eax, dword [esp + 0x5c]
jmp 0x50465e
add edx, 0x3c
and ecx, ebx
and ebx, 0x78309fb0
and ebx, 0x7830b9a4
sub ebx, 0x7830d30e
add esi, 0x7830ed24
or esi, 0x7831068e
add esi, edi
xor edi, ecx
add edi, ebx
xor ebx, esi
ror edi, 7
sub esi, 0x7831a23c
and ebx, ecx
add edi, ecx
jmp 0x502f62
xor eax, eax
and esi, ebx
and ecx, esi
mov ecx, 0x783226a6
and ebx, edi
xchg esi, ecx
ror ebx, 0x16
xor ecx, edi
sub ecx, ebx
and ecx, edi
xchg ecx, esi
jmp 0x503e72
mov edx, 0x30
mov ebx, edi
xor edi, esi
xchg ebx, edi
or ebx, edi
shl esi, 0x1d
shl ebx, 0x14
xchg ecx, ebx
xchg ecx, edi
or ebx, edi
sub edi, esi
jmp 0x502b6f
mov edx, dword [esp + 0x54]
xor ebx, edi
add ebx, ecx
or edi, ecx
rol esi, 0xe
add edi, ebx
and ecx, esi
jmp 0x503b2c
xor al, byte [edx]
shl esi, 0x1c
xchg ecx, edi
or edi, 0x7847d7d8
add edi, ebx
add esi, 0x78480616
xchg ecx, ebx
jmp 0x5026fc
mov dword [esp + 0x5c], edx
dec ecx
shl ebx, 0x1a
or ecx, 0x78487d32
mov edi, 0x78489726
and ecx, esi
add esi, ecx
ror ebx, 2
xor ecx, edi
add ecx, esi
add ebx, edi
and esi, ecx
add ebx, 0x784963ec
jmp 0x503c25
mov edx, dword [edx]
add esi, edi
add esi, ebx
mov ebx, esi
ror ecx, 0x10
jmp 0x502af8
add edx, dword [esp + 0x20]
mov edi, ecx
mov edi, ecx
jmp 0x50401c
add dword [esp + 0x54], 0x20
shr edi, 0x1e
xor ebx, 0x785039a4
and ebx, edi
rol edi, 0xc
xor ecx, edi
or esi, ebx
add ebx, esi
bswap ecx
mov esi, ecx
xchg esi, ecx
jmp 0x50459d
mov eax, 4
xor ecx, edi
add ecx, esi
nop
dec ebx
or ebx, edi
xor edi, ecx
and ecx, edi
xor edi, esi
add ebx, esi
or edi, 0x78542c64
shr esi, 0x15
sub ecx, ebx
jmp 0x502550
add edx, 0xc
xor ecx, esi
add ecx, ebx
bswap edi
mov ebx, esi
shr ecx, 0xc
neg ecx
mov ecx, ebx
xchg edi, ebx
xor esi, ecx
sub edi, 0x78567ade
jmp 0x502c9d
add edx, dword [esp + 0x80]
sub ebx, edi
xor ecx, ebx
or ecx, edi
xor esi, 0x78621d68
shl edi, 0x19
add esi, 0x7862503a
jmp 0x504427
mov edx, dword [edx]
or edi, esi
mov edi, ebx
shr esi, 0x1b
shl esi, 0x11
or esi, 0x786b0408
add esi, edi
and ecx, esi
xor ebx, esi
add esi, 0x786b6c96
shr edi, 0xd
jmp 0x504069
add dword [esp + 0x4c], 4
xor edi, ecx
shr edi, 0x1a
sub ecx, esi
mov esi, ecx
jmp 0x5029f3
add edx, dword [esp + 0x54]
add esi, ecx
add ebx, 0x78700982
mov edi, ecx
ror edi, 0x1b
dec ebx
xor edi, 0x7870754a
jmp 0x503ebe
mov dword [esp + 0x4c], edx
bswap ebx
shr edi, 0xa
neg edi
add ebx, esi
xchg ecx, edi
bswap esi
add ecx, edi
add esi, ecx
jmp 0x5031b9
mov eax, 2
neg esi
add ebx, esi
add edi, esi
sub ebx, 0x7876d8d0
add esi, 0x7876f2c4
or esi, 0x78770cae
add esi, edi
mov ecx, ebx
jmp 0x5031db
add edx, dword [esp + 0x80]
mov ebx, esi
bswap ecx
add ecx, esi
nop
dec ebx
inc ebx
xchg edi, ecx
xor ebx, esi
jmp 0x5024c0
mov edx, dword [esp + 0x54]
xor edi, 0x787c11fc
sub ecx, esi
not ecx
add esi, ebx
mov ebx, esi
add edi, ebx
shr ecx, 2
mov ebx, ecx
add ebx, ecx
add ebx, esi
jmp 0x502c5b
mov dword [esp + 0x4c], 0
add ebx, esi
not ebx
sub edi, esi
or ebx, esi
mov esi, 0x787eb4bc
or esi, ecx
shl ebx, 0xe
ror edi, 0x12
and ebx, 0x787f23d0
add ebx, edi
sub ebx, 0x787f55da
add edi, ecx
jmp 0x50352d
mov edx, dword [esp + 0x4c]
rol esi, 0xe
add ebx, esi
or edi, 0x78806684
mov ecx, esi
and esi, ecx
bswap ebx
mov ebx, 0x7880d184
or ecx, edi
or ecx, ebx
or ecx, 0x78811afe
jmp 0x503ee6
jne 0x5031b9
not esi
mov edi, 0x78819b1a
xor ebx, esi
and esi, ebx
dec edi
mov ebx, 0x788200ac
or ecx, edi
xor esi, 0x78823918
jmp 0x502bfe
sub esp, 0xc8
xor esi, 0x7888a3e0
mov edi, ebx
shr esi, 0x1e
mov esi, ecx
and edi, ecx
add edi, 0x788922dc
inc ebx
sub edi, 0x788959ae
not edi
xor ebx, 0x78898fd4
jmp 0x502752
add dword [esp + 0x54], 0x78
or ecx, edi
or esi, 0x788b0dba
xor edi, ecx
add ebx, esi
or ecx, esi
add ebx, 0x788b75ea
ror ecx, 0xb
shl ecx, 5
or edi, ecx
sub edi, 0x788bdd1e
jmp 0x502ed9
inc edx
and edi, esi
xchg esi, edi
xchg esi, ecx
mov esi, 0x788c4f24
and ecx, ebx
neg ebx
xchg edi, esi
bswap ebx
jmp 0x5038e9