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

Disassembly:
mov edi, esi
mov ecx, esi
xor edx, esi
add ecx, edi
sub edi, ecx
add edi, esi
call sub.user32.dll_GetMessagePos
sub edx, edi
cmp eax, 0xffffff12
jne 0x40109c
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
ret
dec edx
or ecx, esi
mov edx, esi
xchg esi, edi
add ecx, 0x2fc7a058
sub edx, esi
add edi, ecx
mov esi, edi
call sub.user32.dll_GetMessagePos
mov edx, 0x2fc8ac4a
sub ecx, 0x2fc8f21b
xchg edx, ecx
and ecx, esi
sub edx, 0x2fc9c20b
xchg ecx, esi
sub edi, ecx
cmp eax, 0xffffff34
jne 0x401174
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
ret
bswap edx
dec edx
ror edx, 0x1c
or edi, edx
and ecx, edx
and edi, 0x2fce4bcc
and esi, ecx
call sub.user32.dll_GetMessagePos
neg ecx
cmp eax, 0xfffffedd
jne 0x40120c
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
call sub.ntdll.dll_RtlTraceDatabaseFind
ret
jmp 0x497452
xchg esi, edi
bswap ecx
sub ecx, edi
xor esi, 0x36b4dda8
or edx, edi
jmp 0x49a327
push 0x36c4f07c
ror edx, 0x14
rol esi, 0x10
xchg edi, edx
sub ebx, 0x3c88b976
mov edx, edi
xor edi, esi
and esi, ebx
add ebx, esi
shl edx, 0xd
and edx, esi
inc edx
shl ebx, 0xd
rol esi, 0xd
xor edx, ebx
jmp 0x498718
pop ecx
rol edx, 0xd
xor esi, ebx
xchg esi, edx
xor edx, edi
xor ebx, esi
sub esi, 0x3d5764ef
add edi, edx
or ebx, edx
mov esi, edi
xor edi, edx
add edx, esi
mov esi, edx
add edi, 0x3d5ab036
shl edx, 9
jmp 0x4988ec
pop ecx
mov edx, 0x3d5bab41
and edx, ebx
ror ebx, 1
or edx, 0x3d5d1380
jmp 0x499352
push 0x36be637d
sub edx, 0x3d6468e9
rol edx, 0x1f
or edx, 0x3d654630
and edx, esi
or ebx, esi
add edi, edx
add edi, 0x3d670e85
xor ebx, esi
rol ebx, 0xf
ror edx, 0xc
mov ebx, edx
xor edx, 0x3d6931c0
add esi, edx
sub edx, edi
jmp 0x49a096
pop ecx
and esi, edx
or edi, esi
jmp 0x499ab1
mov ecx, 0x2774562b
add edi, ebx
neg ebx
add ebx, edx
ror edi, 9
add edi, edx
ror esi, 0xc
xor esi, 0x3ecd0a8c
sub esi, edx
mov ebx, edi
jmp 0x498e7f
call fcn.0049a6f3
xchg ebx, esi
mov ebx, 0x3ed541dc
mov ebx, edx
not edi
not edi
inc edx
xchg edi, edx
shl edi, 9
jmp 0x4981a8
mov ecx, 0x2774562b
xor edx, edi
and edx, edi
xor edi, 0x3f80c29a
xchg edi, esi
mov edi, ebx
mov edx, 0x3f824459
rol esi, 9
xor ebx, edi
xchg edi, edx
or esi, ebx
sub edx, esi
jmp 0x4995ee
call ecx
bswap edi
or edx, 0x3ff7ed96
bswap esi
jmp 0x499236
pop ecx
rol esi, 0x1b
add edi, 0x40120138
sub ebx, 0x4012736f
mov edi, 0x4012f502
add edi, esi
xor edi, edx
xor edx, 0x40144e1c
jmp 0x499f3b
push 0x36be08a4
and edi, esi
or esi, ebx
or edx, 0x40906230
neg esi
or esi, 0x40917a95
and ebx, esi
xchg ebx, esi
add edi, edx
shr esi, 0x12
jmp 0x497805
push 0x36c4a0a2
sub edi, esi
and ebx, esi
xor esi, ebx
add esi, edx
not edx
sub edx, edi
and esi, edx
xchg edi, esi
xor edx, 0x40bb0d19
xchg edx, edi
or edi, esi
xchg esi, edx
sub esi, edx
jmp 0x49748e
push 0x36c827e6
inc esi
xchg ebx, edi
add ebx, edx
or esi, edi
xor edi, edx
and ebx, edi
and edi, ebx
and esi, ebx
mov esi, edx
jmp 0x49a1a9
mov ecx, 0x2774562b
or edi, esi
or esi, edi
sub edi, edx
xor edx, ebx
add esi, edi
sub edi, edx
jmp 0x497e2c
mov ecx, 0x2774562b
add ebx, edx
not esi
add edx, edi
inc edx
mov edx, esi
and esi, 0x4248bd05
shr ebx, 7
xor edi, edx
dec edi
sub esi, ebx
jmp 0x4990ab
push 0x36c778e7
not edi
add edi, 0x426b1db5
add esi, ebx
sub ebx, esi
or edi, ebx
ror esi, 1
dec esi
mov ebx, esi
xor esi, edx
shl esi, 0xe
shl edi, 6
jmp 0x49a3c5
pop ecx
sub edi, ebx
xchg ebx, edx
shl ebx, 0x1d
rol edi, 5
xor ebx, 0x4277fdf2
sub esi, edx
bswap esi
mov edi, edx
or ebx, esi
mov ebx, edi
or edi, edx
jmp 0x4981e7
jmp loc.004a0177
pop ecx
shl edx, 0x1a
bswap esi
add ebx, edx
shr esi, 0x16
xor esi, ebx
ror edx, 0x17
add esi, ebx
and edi, esi
xor edi, 0x44f77702
neg edi
jmp 0x49a4cf
call fcn.0049a6f3
and edx, edi
inc esi
xchg edi, edx
mov ebx, edi
add edx, esi
inc esi
jmp 0x499126
call ecx
ror edx, 0x1e
xchg edx, esi
and ebx, edi
or ebx, edi
ror ebx, 5
sub edx, 0x453428f8
bswap edx
add esi, ebx
xor ebx, esi
add ebx, esi
and esi, edx
jmp 0x499149
pop ecx
ror edx, 0xc
or esi, 0x4537dc67
or esi, 0x453855b4
inc esi
sub ebx, edi
add esi, edi
xchg edx, edi
xchg esi, edi
jmp 0x49783e
pop ecx
or ebx, 0x456bebf0
sub edi, edx
and edx, ebx
mov esi, ebx
rol edx, 2
mov edi, 0x456e5090
xor esi, edx
rol edi, 0x1a
or edx, edi
or ebx, edi
add ebx, edx
add esi, edi
jmp 0x4977ad
call ecx
add edx, 0x4599d09f
and edi, esi
sub edx, edi
xor edi, edx
shr edi, 0x11
nop
or edi, 0x459c91e6
shl ebx, 0x16
or edx, ebx
or edi, 0x459e23e0
rol ebx, 0xe
dec esi
sub esi, 0x45aaf0e2
sub edi, esi
or edi, 0x45abcd03
not esi
jmp 0x498fa0
pop ecx
shl ebx, 4
neg esi
dec edi
jmp 0x497781
call fcn.0049a6f3
mov esi, ebx
or ebx, 0x469273d3
mov edi, esi
xchg edi, edx
xor edx, edi
add edi, 0x469428fd
add esi, edi
or edi, ebx
add edi, 0x46958b80
jmp 0x499316
push 0x36bf1246
not edx
bswap edx
sub ebx, esi
or edx, ebx
not esi
add edx, ebx
add esi, edi
xor edi, edx
jmp 0x498833
pop ecx
bswap edx
not esi
or edx, 0x4765b385
xchg edx, ebx
or edi, esi
rol edi, 3
ror ebx, 0xb
neg edi
sub ebx, 0x476883e2
or esi, edi
and edx, edi
sub ebx, 0x4769d66d
sub edx, esi
or esi, 0x476abcbf
mov edx, ebx
not edi
jmp 0x498945
push 0x36c443e3
inc esi
neg esi
sub esi, edi
or edx, ebx
jmp 0x498373
push 0x36c22d14
mov ebx, 0x49011297
xor edx, ebx
sub ebx, 0x4901eab6
add edi, esi
mov edx, ebx
and edi, esi
or ebx, edx
xor ebx, edi
or ebx, edx
xchg edi, esi
jmp 0x497f8d
push 0x36beb078
xchg esi, ebx
xchg ebx, edi
xor edx, esi
nop
not edx
or ebx, edx
xchg ebx, edx
neg edi
or edx, ebx
add ebx, esi
bswap ebx
jmp 0x499792
push 0x36c8780f
xor esi, 0x4981c488
mov esi, ebx
xchg edx, esi
sub ebx, esi
or esi, 0x4983eefb
ror esi, 1
jmp 0x497de4
push 0x36bda0d7
add edx, 0x49f5b56b
xor edi, ebx
sub edi, edx
xchg edi, ebx
sub ebx, edi
bswap edi
and esi, ebx
mov esi, 0x49f8fb7e
add edi, 0x49f96b51
add ebx, 0x49ff0f99
jmp 0x4982ca
push 0x36c7d3b4
or edi, esi
xchg edi, esi
mov edx, 0x4a10f0bc
xchg edx, edi
xor ebx, edi
xor edx, ebx
sub edi, 0x4a12e6f3
sub edi, esi
shr edi, 4
xchg edx, esi
sub ebx, 0x4a14c529
and ebx, edi
jmp 0x498472
push 0x36c3f32c
shr ebx, 0x1c
rol ebx, 0x12
add edi, ebx
add ebx, 0x4a31f310
ror edi, 0xd
jmp 0x499e5c