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

Disassembly:
mov edi, dword [esp + 0x94]
mov esi, ebx
rol ecx, 7
mov esi, edx
bswap ebx
sub ecx, 0x80175a31
xor edx, esi
jmp 0x4772c6
mov edi, dword [esp + 0xb4]
and ebx, ecx
add esi, ecx
xchg edx, esi
xor esi, ecx
add ebx, esi
sub edx, esi
sub edx, esi
add edx, ebx
add ecx, esi
sub edx, ecx
dec ebx
and edx, ebx
dec ebx
rol edx, 0x1f
sub ecx, esi
and ecx, 0x803972b9
jmp 0x475dcf
mul edi
mov esi, ecx
mov ecx, edx
and ebx, ecx
xchg ebx, ecx
jmp 0x478f1e
mov dword [esp + 0x58], edi
xor ebx, esi
xor esi, edx
sub esi, 0x8085734d
mov esi, 0x8085b31b
dec esi
rol esi, 3
neg ebx
xchg ebx, ecx
xchg edx, esi
and ecx, ebx
jmp 0x477099
xor eax, eax
and ebx, ecx
xor ebx, ecx
or ecx, 0x808b6581
and ecx, edx
shr esi, 0x1e
and ebx, esi
sub esi, ecx
add ecx, esi
xor ebx, esi
xchg ecx, edx
and ecx, edx
add edx, esi
bswap ebx
xchg esi, edx
jmp 0x478ae6
add dword [esp + 0xa4], 4
mov edx, ebx
or ecx, 0x8099a91b
mov ebx, 0x809a9779
and esi, edx
add ebx, esi
bswap ebx
add esi, 0x809b82e7
or ebx, ecx
jmp 0x477861
add dword [esp + 0x2c], 0x78
mov esi, ebx
rol ecx, 0x1f
shr esi, 0xe
xchg esi, ebx
xchg edx, esi
xor ebx, esi
bswap edx
rol ebx, 0x12
sub ecx, edx
add ebx, ecx
mov ebx, esi
xor ebx, edx
or ebx, ecx
or esi, ecx
and edx, ecx
or esi, edx
jmp 0x478a8c
mov edi, dword [esp + 0x2c]
sub ecx, edx
rol esi, 1
xchg esi, ebx
inc esi
or esi, ecx
shl esi, 0x14
and edx, ebx
sub ebx, esi
xor edx, ecx
xor edx, 0x80a1ebef
xor esi, 0x80a22665
and edx, ebx
ror edx, 0x1b
xor esi, ebx
add ecx, esi
mov esi, ecx
jmp 0x476867
add dword [esp + 0x2c], eax
bswap ecx
sub esi, ecx
ror esi, 7
add edx, 0x80bd576d
jmp 0x4765a4
add edi, dword [esp + 0x94]
sub esi, edx
and edx, ecx
inc ebx
sub ecx, 0x80c4c4c9
mov esi, 0x80c50055
bswap edx
shl ebx, 0x1f
sub edx, ecx
mov ebx, edx
xchg ebx, edx
jmp 0x47647e
mov dword [esp + 0xa4], 0
and esi, 0x80c68279
and esi, edx
and ecx, ebx
or esi, 0x80c72cc9
and ecx, ebx
or edx, esi
xchg edx, ebx
xor esi, 0x80c82143
and edx, esi
add edx, ecx
neg edx
shl ebx, 2
or edx, esi
and ebx, ecx
jmp 0x477ee5
rol eax, 8
shr ecx, 6
or esi, 0x80d0b669
and edx, esi
or esi, ebx
or edx, 0x80d16593
sub edx, 0x80d1a19d
or esi, edx
or ecx, 0x80d22407
or esi, edx
xor esi, 0x80d296c9
not esi
and ebx, esi
jmp 0x476d43
inc dword [esp + 0xb4]
xor ebx, esi
rol esi, 0x1d
xor edx, ebx
sub ebx, edx
rol esi, 0xb
xor esi, 0x80e1c955
jmp 0x475ed5
mov edi, dword [esp + 0xa4]
and ebx, ecx
ror edx, 0xc
xchg esi, ebx
shr ecx, 0xe
rol esi, 0x14
bswap ebx
sub esi, edx
xor esi, ebx
inc ebx
not ebx
sub esi, edx
and ecx, 0x80edc70b
jmp 0x4778a1
add esp, 0xc4
not edx
add ebx, 0x8104ae2d
sub ebx, esi
xor esi, ebx
jmp 0x478dbc
mov dword [esp + 0xb4], 0
nop
rol esi, 0x13
mov ecx, esi
and ebx, 0x8107e4bf
bswap ecx
ror ebx, 0xf
xor edx, ecx
xor edx, 0x8108f159
and esi, 0x8109308d
ror ecx, 0x1e
not ecx
xor edx, esi
jmp 0x47612f
add edi, 0xc
xor ebx, esi
ror esi, 0x19
xchg ecx, edx
or ebx, edx
shl ebx, 0x13
dec ebx
jmp 0x47862c
mov edi, dword [esp + 0x2c]
sub edx, ecx
sub edx, esi
dec edx
xchg edx, ecx
ror ecx, 0xa
shr ebx, 4
jmp 0x47687a
add dword [esp + 0x2c], edi
and esi, edx
xchg ecx, esi
mov ecx, esi
xor ecx, esi
neg ecx
xor ecx, edx
neg ecx
sub ebx, 0x812ce2d7
jmp 0x477cb2
mov edi, dword [edi]
not esi
xchg esi, edx
sub esi, 0x8136275b
mov esi, 0x81366519
or ebx, ecx
xchg ecx, ebx
add esi, 0x81372ff1
and edx, ecx
sub ebx, edx
not ecx
jmp 0x47813b
mov edi, dword [edi]
mov ebx, esi
xchg edx, ecx
mov edx, ecx
and esi, ebx
xor edx, esi
sub ecx, esi
jmp 0x476bb6
mov edi, dword [edi]
and edx, ebx
rol esi, 0x12
mov ecx, 0x8153bd85
xor ebx, esi
xor ecx, ebx
and ebx, ecx
sub ebx, ecx
ror ecx, 0x11
not ecx
or esi, ebx
xchg ecx, esi
xchg esi, ecx
jmp 0x476108
add edi, dword [esp + 0x94]
add ebx, 0x819024b5
bswap ebx
sub ebx, 0x8190a551
and ebx, esi
shl ebx, 7
not edx
not edx
and ebx, 0x8191e1cf
ror esi, 0xc
inc esi
jmp 0x4776ce
inc edi
inc ebx
bswap ebx
mov esi, edx
or esi, edx
bswap esi
neg esi
xor ecx, edx
sub ebx, esi
dec esi
or edx, ecx
mov edx, esi
sub esi, 0x81ad1f19
jmp 0x478ab4
mov eax, 2
or edx, 0x81b2db41
mov ebx, 0x81b316c5
and ecx, ebx
mov edx, ebx
or esi, ebx
sub edx, ebx
or esi, edx
xor ecx, esi
mov ecx, esi
mov edx, ecx
jmp 0x4759ea
mov dword [esp + 0x2c], 0
rol edx, 0x19
or ebx, esi
dec ecx
mov ebx, 0x81cc767d
rol ecx, 0x15
sub esi, 0x81ccee69
and edx, esi
sub esi, ecx
bswap edx
sub ecx, esi
jmp 0x475df3
mov edi, 0x30
not ebx
shr ebx, 0x1a
and edx, esi
xor edx, 0x81e6627f
xor ebx, 0x81e69dbd
shl ecx, 3
inc edx
bswap esi
xor esi, edx
and edx, ecx
jmp 0x477b24
jne 0x478ae6
xor ebx, ecx
xor esi, 0x824fc30d
or ebx, edx
or edx, ebx
mov ebx, 0x82507cd5
mov ebx, ecx
ror edx, 0xf
dec ebx
sub ecx, edx
xor esi, ecx
shr esi, 9
sub edx, esi
mov ecx, edx
inc esi
add ecx, ebx
and esi, ecx
jmp 0x47784a
add edi, 0x3c
neg edx
or edx, esi
xchg edx, ebx
mov edx, esi
and esi, ebx
inc esi
not esi
or ecx, 0x825996c9
xchg ecx, esi
mov ecx, edx
sub edx, ebx
xor ecx, ebx
jmp 0x477a50
sub esp, 0xc4
and ebx, ecx
or ecx, ebx
inc edx
sub ecx, esi
add esi, ecx
xchg esi, ebx
sub ebx, 0x826d6849
or ecx, edx
inc edx
shl ebx, 0x13
neg ecx
shl ecx, 0xb
jmp 0x4764ae
mov edi, dword [esp + 0x2c]
xchg esi, ecx
and esi, ebx
sub ebx, esi
neg ecx
shr esi, 0x12
xor edx, ecx
shl esi, 0xa
xor edx, esi
mov ebx, edx
add ecx, esi
and ebx, 0x8293f9f5
ror edx, 7
jmp 0x479090
sub dword [esp + 0x2c], 8
add esi, edx
xor edx, ecx
mov edx, 0x82a48f0d
and ebx, 0x82a4cf4f
or ecx, edx
sub ecx, 0x82a54c31
nop
nop
xchg ecx, edx
and esi, edx
add edx, 0x82a6990d
or edx, 0x82a6d953
and edx, ebx
mov esi, ecx
inc ebx
add ecx, esi
jmp 0x478df8
mov dword [esp + 0xa4], edi
sub esi, edx
or esi, ebx
shl edx, 3
ror ebx, 8
add edx, 0x82b84aed
sub ebx, ecx
shr ecx, 0x1c
rol ecx, 3
or ecx, edx
mov esi, ecx
xor esi, ebx
or ebx, edx
jmp 0x476dac
mov edi, dword [edi]
xor ebx, edx
xchg ecx, edx
inc ebx
and edx, ebx
or esi, ecx
xor ebx, edx
shr ecx, 0xb
sub esi, 0x82cc77b9
sub edx, 0x82ccb3bb
or ebx, ecx
jmp 0x4766f3
mul edi
xchg ebx, edx
xor ebx, edx
xchg ecx, edx
xor ebx, edx
xchg ecx, edx
mov esi, ebx
or esi, 0x82ceaaff
sub ebx, esi
xor ebx, 0x82cf203b
add ebx, edx
jmp 0x476092
pop edi
and edx, esi
bswap edx
sub edx, ecx
and esi, edx
xor ebx, ecx
shr ecx, 0x1f
and ecx, edx
or edx, esi
jmp 0x477c46
mov edi, dword [esp + 0xa4]
and edx, ecx
add esi, edx
inc ecx
and esi, ebx
jmp 0x478412
add edi, dword [esp + 0xb4]
sub ebx, esi
mov ecx, ebx
sub ecx, 0x82d9794b
mov ebx, ecx
xor edx, esi
and ebx, edx
xor esi, ecx
xor esi, edx
ror edx, 6
xor ecx, esi
xor edx, 0x82db59cf
xor ebx, esi
jmp 0x47854a
add edi, dword [esp + 0x94]
mov ecx, edx
add ebx, 0x82e85ad3
xor ecx, edx
mov edx, esi
mov ebx, ecx
ror ebx, 0x1f
neg ecx
shr ebx, 0xc
rol esi, 0x10
inc edx
xor ebx, ecx
shr ecx, 0x15
jmp 0x477f05
add edi, dword [esp + 0x94]
mov esi, ecx
and esi, ebx
xor ebx, edx
ror esi, 0xb
add edx, esi
rol edx, 8
inc edx
shl ecx, 0x14
shl esi, 0xe
xor ecx, edx
jmp 0x479042
mov edi, dword [edi]
sub ecx, esi
xor ebx, 0x82fb1b7f
or ecx, 0x82fb65cd
sub edx, ebx
ror edx, 5
or edx, ebx
or ebx, edx
xor esi, 0x82fd3681
inc ecx
and ecx, ebx
jmp 0x4790e0
mov edi, dword fs:[edi]
add ecx, esi
add esi, 0x830daa11
mov esi, ecx
or esi, ebx
xchg esi, ebx
neg ebx
neg esi
neg ebx
rol ecx, 0xb
not ecx
jmp 0x478d73
mov edi, dword [edi]
add esi, 0x8321b3c5
shr edx, 0x1a
xor ecx, 0x832233f9
or esi, edx
sub esi, ebx
inc ecx
and ebx, ecx
or edx, ebx
xchg ebx, edx
neg ecx
shr ebx, 0x14
bswap ecx
xchg ecx, edx
rol ebx, 5
jmp 0x477a2d
cmp eax, dword [esp + 0x58]
jmp 0x478ee6
add edi, dword [esp + 0x2c]
sub edx, ecx
ror ebx, 6
xor ecx, esi
sub ebx, ecx
or edx, 0x83264b7f
rol ebx, 0x1b
add ecx, 0x8326ca37
neg esi
and ebx, ecx
and ebx, esi
add ecx, ebx
and ecx, edx
sub esi, 0x83284e31
mov edx, ecx
jmp 0x477fdb
add dword [esp + 0x2c], 0x20
shl esi, 0xd
rol esi, 0x12
shl esi, 0x11
sub esi, 0x832c4ac1
xor esi, ebx
xor edx, esi
xchg edx, esi
xor esi, edx
shr esi, 9
mov ecx, edx
jmp 0x47750a
mov edi, dword [edi]
inc edx
ror ebx, 0x1a
rol ebx, 0xd
xchg edx, ecx
mov edx, 0x8344ba8b
add ecx, esi
inc edx
xor edx, ecx
jmp 0x47658f
mov dword [esp + 0x94], 0
mov ecx, 0x835a37b5
ror edx, 0x18
xor ebx, ecx
shl esi, 1
sub ebx, ecx
dec ebx
jmp 0x476f1c
mov dword [esp + 0xa4], edi
bswap edx
xor esi, ebx
or esi, ecx
shr ecx, 0x15
and esi, edx
and ebx, esi
jmp 0x4762a0
mov edi, dword [edi]
neg ecx
ror ebx, 0x13
add esi, edx
sub ecx, ebx
mov ecx, esi
and esi, ebx
jmp 0x478abc
add edi, 0x18
or ecx, 0x83864e7f
xor edx, ecx
xor ebx, esi
and edx, esi
or esi, 0x83874681
or edx, ebx
and ecx, edx
or edx, 0x8387fbd7
add ebx, edx
mov ecx, 0x83887347
not ecx
inc ebx
jmp 0x478348
mov edi, dword [edi]
or esi, edx
sub ebx, ecx
shl edx, 0xe
xor ecx, 0x83acac3b
add ecx, 0x83acf6d5
xchg ebx, ecx
mov ecx, edx
or ebx, 0x83ada679
sub edx, ebx
or ecx, edx
jmp 0x4785f8
mov edi, dword [edi]
mov ecx, esi
mov ebx, 0x83c0ab0f
xor edx, 0x83c0e7f1
ror ebx, 0xb
xor ecx, ebx
add esi, edx
sub edx, ecx
ror edx, 0x18
sub edx, ebx
add edx, ecx
jmp 0x478e59
mov eax, 4
sub ecx, ebx
and ecx, esi
sub esi, ecx
xchg ecx, ebx
dec ebx
shl esi, 8
or ecx, 0x83d97e4b
neg esi
jmp 0x478ce5
mov dword [esp + 0x94], edi
mov ecx, 0x83e468bd
xchg ecx, ebx
add edx, ecx
sub esi, ebx
and ecx, edx
dec ebx
neg ebx
sub ecx, ebx
mov esi, ebx
xor ecx, ebx
jmp 0x4757fa
mov edi, dword [edi]
sub esi, edx
shr ebx, 0x1e
and ecx, edx
mov ecx, edx
shl edx, 0x10
xchg ecx, esi
nop
add edx, esi
jmp 0x4777dc
add dword [esp + 0x2c], 4
mov ecx, 0x845052c1
and edx, 0x84508ed9
sub ecx, ebx
or edx, 0x84510485
and ebx, edx
or ecx, edx
jmp 0x475f2d
push edi
bswap ecx
and ebx, ecx
mov esi, ecx
ror ecx, 0xd
add ebx, edx
xchg ecx, ebx
dec ecx
add ebx, ecx
rol ebx, 0x1b
and edx, ecx
or edx, ecx
shl edx, 6
jmp 0x475e40
mov edi, dword [esp + 0x94]
sub ecx, esi
xor esi, ebx
or esi, ebx
add esi, ecx
add ecx, edx
and ebx, esi
mov ecx, edx
sub ebx, 0x8485d44b
or esi, 0x848613db
bswap edx
jmp 0x477c52
cmp byte [edi], 0
jmp 0x477262
mov dword [esp + 0x2c], edi
mov ecx, edx
neg ebx
mov esi, ecx
mov esi, edx
add ecx, edx
and edx, 0x8488ffb5
xchg ecx, ebx
mov ebx, esi
add esi, edx
shl edx, 0x1a
or esi, ebx
shr esi, 2
jmp 0x478c8c
xor al, byte [edi]
sub ecx, edx
sub ecx, ebx
xchg ecx, edx
sub esi, ecx
sub ecx, 0x848c8b49
rol ebx, 0x13
inc ecx
and ebx, 0x848d4b89
mov ebx, ecx
xor esi, edx
sub ebx, ecx
not ebx
jmp 0x4761c9
mov edi, dword [esp + 0x94]
mov edx, 0x84ad7bed
add ebx, 0x84adbb47
xchg esi, ebx
or edx, esi
and esi, 0x84ae8791
neg ebx
xor ebx, esi
inc ebx
shl esi, 0x1b
sub ecx, 0x84afc65b
not edx
add ecx, esi
jmp 0x4766ae
movzx edi, word [edi]
xchg edx, ebx
add edx, ebx
rol ecx, 0xf
neg ecx
xchg edx, esi
and ebx, edx
and edx, esi
xor esi, ecx
not ecx
mov ecx, edx
neg ecx
dec ecx
jmp 0x4777ff
add edi, 0xc
neg ecx
not ecx
dec edx
and ebx, 0x84c12759
add ebx, esi
add ebx, edx
shr ebx, 4
xor ebx, edx
jmp 0x477ddf
ret
mov edi, dword [esp + 0x2c]
mov edx, esi
xor ecx, 0x84cc8beb
add edx, 0x84ccd71b
inc ecx
xchg ebx, edx
not esi
rol ecx, 0x1c
xchg ebx, esi
shl esi, 7
ror ebx, 2
jmp 0x477c19
add edi, dword [esp + 0x94]
xchg esi, ecx
mov ebx, esi
mov esi, edx
add ebx, edx
add edx, 0x84d3d745
shl esi, 5
or edx, ecx
bswap ecx
ror esi, 0x17
and edx, ecx
jmp 0x4788c1
jne 0x4762a0
not edx
sub ebx, esi
xchg edx, ecx
add ebx, 0x84ddc7fd
shr esi, 0x13
add ecx, esi
jmp 0x478824
mov dword [esp + 0xb4], eax
mov ebx, edx
or edx, ecx
add ebx, 0x84e29009
and esi, ebx
bswap ecx
shl ecx, 0x1a
sub ecx, 0x84e38c9b
shl ebx, 0xd
bswap ecx
or edx, ebx
jmp 0x477604
mov dword [esp + 0x2c], edi
sub edx, ebx
mov ecx, edx
xchg ebx, edx
shl edx, 0x14
inc esi
xchg ecx, ebx
and ecx, ebx
add ecx, 0x84f792bd
or ecx, ebx
xchg edx, esi
jmp 0x476334
mov edi, dword [edi]
rol edx, 0x1e
not ebx
or esi, ebx
and esi, ebx
dec ecx
add ecx, 0x84fc05c1
not esi
neg ebx
jmp 0x477953
mov dword [esp + 0x2c], edi
neg edx
shr ecx, 0x18
and edx, ecx
add ebx, 0x850115b1
mov ecx, edx
inc edx
mov esi, 0x8501c689
add ecx, 0x8502029b
xchg esi, ecx
ror ecx, 7
ror esi, 0xf
xor ebx, esi
mov edx, ecx
mov edx, 0x850373f1
jmp 0x475efd