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

Disassembly:
shr esi, 0x1b
sub ebx, 0xa94b5ce3
sub ecx, 0xa94bdb33
sub edi, 0xa94c4d54
xor ecx, ebx
xor ecx, edi
inc ecx
and esi, edi
call sub.user32.dll_GetCursor
neg esi
dec ebx
cmp eax, 0xffffff06
jne 0x4010a3
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupPrivilegeNameA
call main
call main
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call main
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_RegConnectRegistryA
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call main
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call main
call sub.advapi32.dll_LookupPrivilegeNameA
call main
call main
ret
xor esi, edi
and esi, ecx
call sub.user32.dll_GetCursor
and ecx, ebx
xor esi, 0xa953df6b
sub ebx, edi
xor ebx, ecx
cmp eax, 0xfffffee5
jne 0x401128
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_RegConnectRegistryA
call main
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_RegConnectRegistryA
call main
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_RegConnectRegistryA
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupPrivilegeNameA
ret
xor esi, 0xa95792f6
call sub.user32.dll_GetCursor
bswap ecx
xchg ecx, ebx
add ebx, esi
xor ecx, 0xa9598cff
mov esi, 0xa959f9d1
not ebx
cmp eax, 0xffffff0b
jne 0x4011c0
call main
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupPrivilegeNameA
call main
call main
call main
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call main
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call main
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupPrivilegeNameA
ret
sub esi, edi
sub esi, 0xa96cc828
or ebx, edi
dec ebx
add ecx, esi
sub ebx, 0xa96e8e00
xchg esi, ebx
sub ecx, edi
call sub.user32.dll_GetCursor
xor esi, ecx
sub esi, ebx
xchg ecx, ebx
dec ecx
neg ebx
or ebx, esi
neg edi
cmp eax, 0xffffff16
jne 0x401281
call main
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call main
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_LookupPrivilegeNameA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_LookupPrivilegeNameA
call main
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_RegConnectRegistryA
call main
call sub.advapi32.dll_RegConnectRegistryA
call sub.advapi32.dll_RegConnectRegistryA
call main
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
call sub.advapi32.dll_LookupSecurityDescriptorPartsA
ret
jmp 0x4a0272
or edi, ecx
rol esi, 2
xchg ecx, edi
jmp 0x4a2c88
mov edi, 0x2774562b
rol ecx, 7
xchg edx, ebx
shl ecx, 0x16
shr ecx, 0x17
add edx, esi
ror ebx, 0xa
not ecx
mov ecx, ebx
mov ebx, 0xd4cdc595
or ebx, ecx
ror ecx, 0xe
xor edx, esi
and edx, ebx
jmp 0x4a392e
push 0xaa568eb4
or edx, esi
mov ecx, esi
dec ebx
and ecx, 0xd7a53801
mov esi, 0xd7a5758a
add esi, ecx
xor esi, ecx
sub ebx, esi
neg esi
add ecx, esi
jmp 0x4a2f08
push 0xaa56ec5a
and esi, 0xd7d597b3
add ebx, esi
or edx, ebx
and ecx, ebx
or edx, esi
and esi, ebx
or ecx, edx
rol edx, 7
add ecx, esi
bswap ecx
or ecx, edx
or ecx, esi
jmp 0x4a1b14
jmp loc.004a7590