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

Disassembly:
call sub.user32.dll_GetMessageTime
cmp eax, 0xfffffed6
jne 0x401098
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.ntdll.dll_ZwQueryInformationFile
call sub.kernel32.dll_GetTapeParameters
call sub.kernel32.dll_GetTapeParameters
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
call sub.ntdll.dll_ZwQueryInformationFile
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
call sub.kernel32.dll_GetTapeParameters
ret
call sub.user32.dll_GetShellWindow
cmp eax, 0xffffff12
jne 0x401126
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_PostThreadMessageW
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
call sub.kernel32.dll_GetTapeParameters
call sub.kernel32.dll_GetTapeParameters
call sub.ntdll.dll_ZwQueryInformationFile
call sub.ntdll.dll_ZwQueryInformationFile
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_MapVirtualKeyExA
ret
call sub.user32.dll_GetShellWindow
cmp eax, 0xfffffefb
jne 0x4011a5
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.ntdll.dll_ZwQueryInformationFile
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_MapVirtualKeyExA
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
ret
call sub.user32.dll_GetShellWindow
cmp eax, 0xffffff22
jne 0x401247
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_PostThreadMessageW
call sub.ntdll.dll_ZwQueryInformationFile
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_PostThreadMessageW
call sub.user32.dll_MapVirtualKeyExA
call sub.ntdll.dll_ZwQueryInformationFile
call sub.kernel32.dll_GetTapeParameters
call sub.ntdll.dll_ZwQueryInformationFile
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_PostThreadMessageW
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.user32.dll_MapVirtualKeyExA
call sub.ntdll.dll_ZwQueryInformationFile
call sub.kernel32.dll_GetTapeParameters
call sub.user32.dll_MapVirtualKeyExA
call sub.kernel32.dll_GetTapeParameters
ret
jmp 0x475649
xchg ecx, edi
sub edi, edx
sub ebx, ecx
sub ebx, 0xcce854c9
xor edx, ecx
sub edi, ebx
add ebx, 0xcce8e7d8
xor edi, 0xcce91a73
jmp 0x4774b3
mov esi, 0x183c2e20
neg ecx
or ecx, edx
sub edx, ecx
mov edi, 0xced8a16c
xor edx, 0xced8d213
ror ebx, 0x1c
sub edi, edx
sub ebx, edx
jmp 0x4773e4
mov esi, 0x43370267
inc ecx
or edi, ebx
or ebx, edx
and ecx, ebx
xor ebx, ecx
or edx, edi
shl edi, 0x18
jmp 0x4776e6
push 0xccecf3ae
xchg edi, edx
ror ecx, 0x18
inc edi
mov ecx, ebx
not ebx
or ecx, ebx
sub ecx, ebx
or edi, ecx
jmp 0x476a19
push 0xcced4453
shl edx, 0xf
or edx, ebx
not edx
xor edi, 0xcf2ad11e
or edi, ecx
xchg ebx, edi
xor edi, ebx
mov edi, edx
mov edx, 0xcf2bca40
xchg edx, ecx
jmp 0x4756ba
pop esi
mov ebx, ecx
shr ecx, 0x17
xor ebx, 0xcf5adefc
jmp 0x47683f
push 0xcceec32e
xchg ecx, ebx
ror edx, 6
add edi, edx
xor ebx, ecx
not edx
xor edi, ecx
xor edi, ebx
rol edx, 0x16
add ecx, edx
add edx, ecx
jmp 0x476923
push 0xcceeed33
sub edx, 0xcfe4cecb
or edi, ebx
mov edi, 0xcfe52fd5
bswap edx
mov edi, ecx
xchg edi, ebx
xor edi, ecx
jmp 0x477d19
push 0xcced1bb4
shr ecx, 1
mov edi, edx
rol edx, 3
mov edi, ecx
xor edi, 0xcff5ba6b
not edi
mov edx, 0xcff6279e
xor ebx, ecx
shr edx, 0x14
or ebx, edx
sub ebx, edx
jmp 0x475c21
push 0xccef3b00
sub ebx, edx
xchg edi, ebx
neg edi
shr edi, 0xe
shr ecx, 0xd
xor ebx, edi
jmp 0x47579e
call fcn.00476d42
shl ebx, 0x12
xchg edx, ebx
mov ebx, ecx
and ebx, 0xd0b540fc
add edi, ebx
jmp 0x4775aa
push 0xccec95cf
and ebx, ecx
shr ebx, 0xb
add edx, 0xd0c122e6
mov ebx, edi
mov ecx, ebx
jmp 0x4792a0
pop esi
or edx, 0xd0c4428b
dec ebx
sub ebx, ecx
xor edi, edx
or edi, 0xd0c5069a
add ecx, edi
sub ecx, 0xd0c566ef
sub edx, ebx
mov ebx, 0xd0c5d3ea
xor ebx, edi
dec edx
mov edi, ebx
jmp 0x478ebc
call esi
or edx, edi
add edx, edi
shl edx, 0x1b
jmp 0x4779b4
jmp loc.0047c000
pop esi
shl ebx, 0x1f
ror ecx, 9
or ebx, edx
neg edx
xor edx, ecx
add edx, edi
jmp 0x4774f3
push 0xccef140a
or ecx, edi
dec edi
sub ebx, ecx
sub edi, 0xd13d2c3a
inc edi
xchg ebx, edi
mov edi, edx
and edi, edx
jmp 0x47700a
pop esi
xchg edi, ebx
sub ecx, edi
xchg edx, edi
mov edx, ecx
sub edx, edi
jmp 0x475f83
pop esi
sub ebx, ecx
mov edi, 0xd259d144
sub edx, ecx
sub ecx, edx
sub edx, edi
neg edi
add edx, ecx
rol edx, 0x15
and edx, ebx
jmp 0x478519
push 0xcceccaae
or edx, ebx
sub ecx, edx
neg edx
rol ebx, 0x1b
xchg ebx, edx
jmp 0x475921