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

Disassembly:
mov dword [esp + 0xd0], esi
sub ecx, edi
and edi, edx
xchg edi, ecx
xor edx, edi
xchg ebx, edx
inc ecx
jmp 0x46cf87
mov esi, dword [esi]
or ecx, edi
sub ecx, edi
or ebx, edx
rol ecx, 0x1d
or ebx, edi
bswap ebx
jmp 0x46c5a8
mov dword [esp + 0xd0], 0
sub ebx, edx
add edi, 0xd3620232
xor edx, edi
rol edx, 0xb
add edi, 0xd3639fcb
dec ecx
sub ecx, 0xd364b3ba
mov ebx, edi
add ecx, ebx
xor ebx, edi
sub ecx, ebx
sub edi, edx
and ebx, ecx
and ebx, edi
xor edx, ebx
jmp 0x46ac4f
add esi, dword [esp + 0xd0]
mov ebx, edx
mov edi, 0xd38937c2
inc edi
jmp 0x46a69d
add esi, dword [esp + 0xb0]
dec ebx
add edi, 0xd38fa9e2
sub ebx, 0xd3906b56
xchg ebx, ecx
or ecx, 0xd390e718
not ebx
jmp 0x46d92a
sub dword [esp + 0x74], 8
xor edi, 0xd39cb1a0
xchg ecx, ebx
mov ebx, 0xd39d2d63
or edx, edi
shr edi, 3
shr ebx, 0x1f
jmp 0x46ba19
push esi
inc edi
or ebx, edx
sub edi, 0xd3a5538c
add edi, ecx
not ebx
nop
xor ecx, ebx
add ebx, edi
or edx, edi
sub edi, edx
not ecx
xor edi, 0xd3a78f8a
jmp 0x46a850
mov esi, dword [esi]
xchg edx, edi
xor edi, ebx
xchg ecx, ebx
or edi, ecx
xchg edi, ebx
xor ecx, edx
jmp 0x46ad74
xor eax, eax
add ebx, edi
xor ecx, ebx
shr edi, 8
xchg edx, ecx
xor edx, edi
mov ebx, edi
and edi, ecx
mov edi, edx
xchg edx, ebx
add edi, edx
shl edi, 4
nop
mov edx, ebx
and ebx, edx
xor ebx, ecx
ror edx, 0x13
jmp 0x46b781
add esi, dword [esp + 0xd0]
neg ebx
mov edx, 0xd3dc6b29
neg edi
mov ecx, ebx
mov edx, edi
xchg ebx, ecx
mov ebx, ecx
neg edx
xchg edx, edi
xor edi, 0xd3deb5f1
and ecx, ebx
ror ebx, 8
and ecx, ebx
ror ecx, 0xd
add ebx, ecx
jmp 0x46c76d
add esi, dword [esp + 0xd0]
and edx, ecx
or ecx, 0xd3ec7ba9
xor edi, ecx
dec ecx
add edx, ecx
and edx, 0xd3ed73f2
or ecx, ebx
mov ebx, edi
and ebx, ecx
add ebx, edx
or edx, ebx
or edx, ecx
jmp 0x46d45b
mul esi
and edx, ebx
rol ebx, 0x13
xor ebx, 0xd3f619a1
mov ecx, ebx
and edx, ebx
mov edx, ecx
sub ecx, edi
and edx, ebx
add ecx, 0xd3f79770
sub ebx, edi
xor edi, ecx
not edx
xor ecx, edx
jmp 0x46db1d
mov esi, dword [esp + 0xb0]
sub ecx, ebx
xor edx, edi
xor edx, ecx
xor ebx, ecx
neg ebx
jmp 0x46aaa2
rol eax, 8
and ecx, 0xd401437f
not ecx
sub edx, ebx
sub edx, ebx
xchg edx, edi
and edx, edi
mov ecx, 0xd402c4d2
or ecx, edx
or edx, edi
mov edi, edx
xchg edi, ecx
and ebx, edi
or edi, edx
and edx, ebx
jmp 0x46afc3
mov esi, dword [esi]
shr ecx, 0x1e
ror edi, 6
bswap edx
or ebx, 0xd4088466
dec edi
sub ecx, ebx
or ecx, ebx
add edi, ecx
mov ebx, ecx
and edi, 0xd40a07f5
shl edx, 0x1a
xchg ebx, edx
and ebx, ecx
jmp 0x46b2d9
add esi, 0xc
mov ebx, edx
and edi, ecx
xchg ebx, ecx
xchg edx, ecx
ror edi, 0x10
xor ebx, ecx
shr edx, 0xc
xchg edx, ecx
dec ebx
jmp 0x46aba9
mov dword [esp + 0x74], 0
mov ebx, edx
ror edi, 0x1c
not edx
xchg edi, ebx
shl ecx, 0x1d
or edi, ecx
xchg edi, edx
mov edx, ecx
or edi, ecx
jmp 0x46b33a
mov dword [esp + 0x5c], esi
rol ebx, 0xf
add ebx, ecx
sub ecx, ebx
add edi, 0xd42549fc
sub edx, 0xd42586d9
xor ecx, edi
jmp 0x46b7d1
add esi, dword [esp + 0xd0]
xchg edi, edx
sub ebx, 0xd429344f
inc ebx
or ecx, 0xd429b31a
add ecx, ebx
and ecx, edx
xor edi, ebx
xor edi, ebx
ror edx, 0x15
and ecx, ebx
add edx, ebx
shl edi, 7
dec ecx
add ebx, edx
and ebx, ecx
mov ecx, 0xd42ca1fd
jmp 0x46b76d
add dword [esp + 0x74], 0x20
bswap edi
or ecx, edx
mov ecx, edi
mov edx, 0xd42dba0c
nop
mov ebx, edx
mov ebx, 0xd42e72ed
shr ebx, 0x19
jmp 0x46bed8
inc esi
xor ecx, 0xd453232f
neg ebx
and ebx, 0xd453a08c
sub edx, edi
bswap ebx
jmp 0x46dc81
add esi, 0xc
or ecx, edi
shl ebx, 0x17
and ebx, ecx
and ecx, edi
sub edx, 0xd491f784
or ecx, edi
sub ebx, ecx
xchg edi, ecx
mov ecx, edi
and ebx, 0xd493390b
dec ebx
xchg ebx, ecx
mov ebx, edi
or ebx, ecx
jmp 0x46c4fb
mov dword [esp + 0x40], esi
and ebx, edi
and ebx, edx
mov edx, edi
or edx, ebx
jmp 0x46b9e7
ret
mov esi, dword [esp + 0x5c]
xor ebx, 0xd4b59bf6
xor edx, ebx
or edi, 0xd4b61729
or ecx, ebx
ror ecx, 0x12
sub ecx, ebx
inc edi
rol ebx, 0x1b
or ebx, edi
jmp 0x46d987
add esp, 0xe8
xchg ebx, ecx
xchg ecx, ebx
xchg ebx, edi
xchg edi, ebx
nop
jmp 0x46b40e
xor al, byte [esi]
or edi, 0xd4eaedd5
add edx, 0xd4eb2b84
add ebx, 0xd4eb6997
xor edi, 0xd4eba6ee
or ecx, edi
and ecx, edi
add edx, ebx
xchg edi, edx
jmp 0x46ab4d
mov eax, 2
add ebx, 0xd4efd727
nop
or edi, ebx
xchg ecx, ebx
and edi, ebx
xor ebx, edi
mov edi, edx
sub ebx, edx
xor ecx, 0xd4f1d194
xor edi, ebx
jmp 0x46aacc
mov esi, 0x30
add ecx, ebx
add ebx, edi
xchg ebx, edx
xchg edx, ebx
add edx, ebx
xor edi, ebx
xor ebx, edx
xor edx, ebx
jmp 0x46c12c
mov esi, dword [esp + 0x74]
xor ebx, 0xd51cfc4d
or ecx, edx
or edi, ebx
sub ecx, edx
mov edi, edx
xchg edi, ebx
xor ecx, edx
inc edx
or edi, ebx
shr edx, 0x12
mov ecx, 0xd51f73a7
and ebx, edx
shr edi, 0x14
jmp 0x46bce8
cmp eax, dword [esp + 0x40]
jmp 0x46bb83
jne 0x46bd7c
and edi, ebx
xor edi, 0xd5363d0c
neg ecx
mov edx, ecx
add ecx, 0xd53704d0
mov ebx, edi
inc edx
and edi, 0xd537bf24
sub edx, ecx
mov ebx, ecx
jmp 0x46d209
mov esi, dword [esp + 0x5c]
dec ebx
add ecx, 0xd5437674
add ecx, 0xd543c4a3
jmp 0x46a552
mov esi, dword [esi]
or ecx, edx
mov edi, edx
inc ebx
add edx, edi
or ecx, edi
xchg edi, edx
or ebx, 0xd54ecd0e
sub ebx, ecx
or ecx, edx
mov ecx, 0xd54f9282
mov ecx, 0xd54fd0c7
neg ecx
xchg edi, ebx
jmp 0x46a972
inc dword [esp + 0xb0]
and ecx, ebx
mov edi, ecx
and edx, ecx
and edi, edx
mov ebx, edi
xchg edi, ebx
dec ecx
xor edi, edx
xor edx, 0xd55b92a4
sub ecx, ebx
xor ebx, ecx
ror ecx, 0x16
jmp 0x46d9a8
mov esi, dword [esp + 0x74]
and edi, edx
add ebx, 0xd93ab734
or ecx, 0xd93afcfc
bswap edx
and ecx, edi
add ebx, 0xd93bd16d
xchg ebx, ecx
inc edi
mov edx, 0xd93d2351
or edx, 0xd93d61cb
jmp 0x46d878
add dword [esp + 0x74], esi
or edi, edx
and edi, 0xd93e0181
xchg ebx, edi
shr edi, 0xb
jmp 0x46adab
add dword [esp + 0x74], 0x78
add edi, ecx
and edx, 0xd94229ec
add ecx, ebx
mov edi, ecx
mov ecx, ebx
dec ecx
shl ebx, 3
add ecx, 0xd943a713
mov edx, edi
xor ecx, ebx
mov edi, ebx
jmp 0x46d750
mov esi, dword fs:[esi]
and ebx, edi
and ecx, ebx
add ebx, ecx
jmp 0x46abd4
mov esi, dword [esp + 0x74]
or edi, ebx
xor ecx, edi
shr edi, 0x14
mov ebx, ecx
inc ebx
mov ecx, edx
jmp 0x46a3f7
mov esi, dword [esi]
nop
xor ecx, ebx
dec ebx
mov edi, 0xd9acbb4a
jmp 0x46a326
mov esi, dword [esi]
rol edx, 0x12
and ebx, 0xd9aeb4a8
add ebx, edx
xchg ecx, ebx
shr ecx, 0x1d
xchg ebx, edx
or edx, edi
xor edx, 0xd9b0394f
mov ebx, 0xd9b0a51f
xor edi, ecx
jmp 0x46c885
add esi, dword [esp + 0xd0]
or edx, 0xd9ba2289
sub ecx, edi
bswap edx
rol edx, 0x1a
ror edi, 4
mov edi, ebx
mov edi, 0xd9bba936
add ebx, 0xd9bbe7b2
and ebx, 0xd9bc243e
rol edx, 0x12
jmp 0x46ad2b
mov dword [esp + 0x74], esi
rol edi, 4
or ebx, edx
mov edx, 0xd9d86a2e
mov ecx, 0xd9d8a8e9
ror ebx, 0x1b
rol edi, 5
mov edx, ecx
shr edi, 0xb
sub edx, 0xd9da2ee8
shr ecx, 0x1e
jmp 0x46bc40
mov esi, dword [esi]
shr ecx, 0x1e
mov ebx, ecx
and ebx, 0xd9ef38a7
and edi, ebx
sub ebx, 0xd9efb518
xor ecx, edx
sub ebx, edi
xchg ebx, edx
shl ebx, 0x1a
add edi, 0xd9f0f40f
sub ecx, edx
or edi, ebx
add ecx, edx
add edi, ecx
shr ecx, 0xc
and ebx, ecx
jmp 0x46ca32
add esi, 0x3c
add ecx, ebx
sub ecx, edi
sub ebx, 0xda0bb5c2
xor edi, ecx
or ecx, ebx
xor edx, ecx
and edi, ecx
or edx, ecx
rol edx, 0x16
jmp 0x46d1bf
mov esi, dword [esi]
xchg edx, ecx
sub ecx, 0xda0dc41f
shr ebx, 0x1f
and ebx, edi
mov edx, 0xda0e9163
or ecx, ebx
xor edx, ecx
rol ecx, 0xd
jmp 0x46cc03
mul esi
add ebx, edx
bswap edx
mov edi, ecx
not ebx
sub ebx, 0xda1729cb
bswap edi
neg ecx
sub ecx, ebx
jmp 0x46d5df
add esi, 0x18
mov ecx, edx
neg ebx
add ecx, edi
neg ecx
xor edx, edi
or ebx, edx
xor ebx, ecx
bswap ebx
and ecx, 0xda3366fc
sub ebx, ecx
or edi, ebx
and edi, edx
shr ebx, 7
jmp 0x46c4d6
mov esi, dword [esi]
xor ecx, 0xda4d8a8e
add edi, ecx
inc ecx
xor edi, edx
xchg ebx, edx
mov ecx, ebx
rol ecx, 0xe
inc ebx
xor edx, 0xda4f8aa1
jmp 0x46d198
pop esi
or edx, edi
ror edx, 0xd
xor edi, ebx
or edx, edi
mov ecx, 0xda647a86
xchg ebx, ecx
or ecx, edx
shr edi, 1
sub edi, ecx
jmp 0x46bb10
movzx esi, word [esi]
or edi, 0xda694b97
mov ebx, ecx
xor ebx, ecx
or edi, ebx
add edx, 0xda6a4cc1
xchg ecx, edx
xchg edi, edx
add ecx, edx
jmp 0x46cab1
mov esi, dword [esp + 0xd0]
sub ebx, 0xda77b2bc
mov edi, 0xda77f18d
add ecx, edx
or ebx, edx
xor ebx, edi
bswap edx
or edx, ebx
xchg edi, edx
rol ebx, 0x18
jmp 0x46ca13
mov dword [esp + 0x74], esi
and edx, ebx
rol ecx, 0x14
shr edi, 0x1f
or edi, edx
or edi, ecx
shl edi, 0xf
neg ebx
dec ebx
mov ebx, ecx
add ecx, ebx
shr edx, 2
xor ecx, ebx
jmp 0x46d658
mov esi, dword [esi]
add edx, 0xda9eaa9b
or ebx, edx
or ebx, edx
or ebx, ecx
xchg ebx, edi
xor edx, 0xda9fe40d
inc edi
xchg edx, edi
xor ebx, edi
add edx, ecx
rol edi, 0xf
jmp 0x46d478
add dword [esp + 0x74], 4
and edi, ecx
or ebx, edi
xor ecx, edi
shr ecx, 0x11
dec ecx
inc ebx
neg edx
or edx, 0xdaa5a045
add edi, ebx
bswap ebx
not ecx
shl edi, 2
xor ebx, 0xdaa6cb5f
or edx, edi
sub ecx, ebx
jmp 0x46c2eb
mov dword [esp + 0x5c], esi
add edi, ecx
xchg ecx, edx
add ebx, ecx
mov ebx, edx
sub ebx, ecx
mov ebx, edi
not ebx
shr ebx, 0x17
jmp 0x46bd7c
mov dword [esp + 0x74], esi
sub edi, 0xdad1198a
rol edi, 0x1c
and edx, edi
or ebx, ecx
sub ebx, edi
mov ebx, ecx
add ecx, ebx
sub ebx, edi
xchg ecx, edx
rol ecx, 0xb
and edx, 0xdad38174
bswap edi
shr edi, 2
jmp 0x46bf50
add dword [esp + 0x74], eax
xchg edx, ebx
bswap ebx
xor edi, edx
jmp 0x46da87
mov esi, dword [esp + 0xd0]
neg edi
add ebx, edi
mov ebx, ecx
xor ecx, edx
ror ebx, 0x12
sub ebx, 0xdafa0100
rol ecx, 0x1b
shl ebx, 0x18
jmp 0x46bf0a
mov esi, dword [esp + 0xd0]
mov ecx, edi
xor ebx, edx
or ecx, edx
and edi, ecx
add ebx, ecx
and edi, ecx
and edx, ecx
jmp 0x46dcaa
mov dword [esp + 0x5c], 0
rol ebx, 0x13
and ecx, edi
mov ebx, edi
ror ebx, 8
sub ebx, edx
add edx, ecx
xor edi, ebx
xor ebx, ecx
shl ebx, 0x1b
xchg ebx, edx
xor ecx, edx
and ebx, ecx
inc edx
jmp 0x46a431
mov esi, dword [esi]
add edi, ebx
xor edi, 0xdb1f76ba
add ebx, 0xdb1fb7e0
mov edx, 0xdb1ff47a
add ecx, 0xdb203298
sub ecx, edx
mov ecx, ebx
sub ebx, edx
mov edi, ecx
add edx, edi
and edi, ebx
not ecx
jmp 0x46aa18
mov eax, 4
or ecx, 0xdb2b39df
add edx, ecx
xor ebx, edi
xchg edx, edi
sub edx, ecx
mov ecx, edx
jmp 0x46cea5
mov esi, dword [esi]
xor edi, ecx
add edx, ebx
inc edi
xor edx, ecx
add edi, ecx
and ecx, edx
nop
inc edi
sub ecx, 0xdb33e035
rol edi, 0x16
mov edi, ebx
sub ebx, ecx
jmp 0x46a502
add dword [esp + 0x5c], 4
mov edx, ecx
xor ecx, ebx
mov ecx, edx
sub ebx, edx
xchg ecx, edi
inc edi
add edx, ecx
and ebx, ecx
xchg ecx, ebx
and edi, edx
shl ebx, 6
jmp 0x46b4a5
mov dword [esp + 0xb0], 0
inc ebx
add edx, ecx
xor ecx, ebx
not edx
shl edx, 0x12
mov edx, edi
and ebx, 0xdb42f1c1
rol edx, 2
and ebx, edi
rol ebx, 0xa
jmp 0x46d76a
mov esi, dword [esp + 0x74]
xor edi, 0xdb43fa01
xchg edx, ebx
xchg ebx, ecx
and ebx, edx
rol ebx, 6
bswap edi
xchg edi, edx
shr ebx, 0x1b
ror edx, 0xa
neg edi
mov edx, ecx
jmp 0x46a733
jne 0x46b781
and edi, 0xdb46c7bf
sub edi, ebx
add edx, 0xdb474380
sub ebx, 0xdb4780a0
and edx, ecx
xchg ecx, edx
xor edx, ecx
sub edi, ecx
xchg ecx, edx
and ecx, edi
and ebx, edi
xor edx, 0xdb497885
add edi, edx
jmp 0x46ce5e
mov dword [esp + 0xb0], eax
or ebx, edi
add edx, 0xdb4e7dc9
sub ecx, 0xdb4eba21
xor ecx, ebx
xchg edx, edi
and ebx, ecx
jmp 0x46a612
cmp byte [esi], 0
jmp 0x46dab0
add esi, dword [esp + 0x74]
sub ebx, edx
inc edx
or edi, ebx
xor ebx, edi
or ebx, 0xdb6b088a
mov ecx, edi
sub edx, ecx
and ebx, ecx
or ecx, ebx
add ebx, edi
not edi
jmp 0x46cd35
sub esp, 0xe8
xchg edx, ebx
xor edi, edx
xor edi, ebx
ror edi, 2
xor edi, ebx
sub edi, ebx
sub edx, 0xdb939d07
sub ebx, edx
jmp 0x46da5d