Function at 0x401000
Capabilities:
Accept command line arguments
Encrypt data using chaskey

Disassembly:
call sub.user32.dll_GetInputState
cmp eax, 0xfffffeec
jne 0x401070
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
ret
call sub.kernel32.dll_GetCommandLineA
cmp eax, 0xffffff1a
jne 0x4010db
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
ret
call sub.user32.dll_GetInputState
cmp eax, 0xfffffee7
jne 0x401169
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
ret
call sub.kernel32.dll_GetCommandLineA
cmp eax, 0xffffff19
jne 0x4011cf
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
ret
call sub.user32.dll_GetInputState
cmp eax, 0xffffff07
jne 0x401271
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.ole32.dll_CoFreeAllLibraries
call sub.shell32.dll_RealDriveType
ret
jmp 0x469632
ror ebx, 0x10
add ebx, edi
and ebx, ecx
xor ecx, esi
bswap ecx
xor ecx, edi
sub esi, ebx
jmp 0x46ceef
pop edx
add ebx, edi
sub ebx, ecx
xchg ebx, edi
and edi, ecx
sub ebx, edi
add ebx, esi
xor edi, esi
jmp 0x46c4e0
push esp
mov edi, ecx
shr ecx, 5
add edi, ecx
or edi, esi
bswap ecx
inc edi
jmp 0x46bbb9
push 0xf515916f
or ecx, esi
add ebx, esi
xor ebx, esi
ror ebx, 5
xchg ecx, esi
add ecx, ebx
xor edi, ecx
and esi, ebx
rol ebx, 0x1b
or esi, ebx
neg ecx
sub esi, ecx
mov ebx, ecx
mov esi, edi
jmp 0x46b305
pop edx
mov edi, ebx
shr edi, 0x1f
xor ebx, 0xff71357c
mov ebx, ecx
rol ecx, 8
mov edi, ecx
bswap ecx
mov ebx, edi
jmp 0x469949
push 0xf704dee5
xor ecx, edi
add edi, ebx
xchg ecx, ebx
shl ebx, 5
add ecx, 0xff9f3565
jmp 0x46c9b3
pop edx
bswap ecx
and ecx, ebx
and edi, ecx
and esi, ebx
not esi
shl edi, 0x17
ror ebx, 0x11
sub ebx, esi
rol ebx, 0xe
jmp 0x46a84b
push 0xf703f89f
xchg ebx, ecx
shl esi, 0x1f
xor edi, 0x3f1ba14
and ebx, edi
or ecx, esi
add ebx, ecx
xchg ecx, ebx
neg ebx
or esi, 0x3f3d04a
mov ebx, 0x3f42697
or edi, ebx
dec edi
sub esi, 0x3f52c7e
jmp 0x46987c
mov edx, 0x6440607e
add ebx, ecx
shr ecx, 0x1b
add edi, ebx
or edi, esi
add ebx, esi
shl ecx, 0x17
not esi
add edi, 0x40698c9
xor ecx, 0x406f22c
xchg esi, ecx
jmp 0x46babf
push 0xf4f088db
or esi, 0x41549be
or ecx, esi
xor ecx, ebx
add esi, 0x4166ffe
jmp 0x46a3b8
call fcn.0046b162
xchg esi, edi
xor esi, edi
nop
add ebx, edi
add ebx, esi
ror ecx, 5
jmp 0x46ad35
pop edx
or esi, ecx
add esi, edi
rol edi, 0x1c
and esi, edi
and ebx, esi
add edi, ebx
jmp 0x469f61
pop edx
and ecx, 0x4254af8
add ecx, 0x42606ff
jmp 0x46b0e8
mov edx, 0x2d734e3d
or ecx, esi
add esi, ebx
neg esi
or ebx, esi
add edi, 0x43a9d29
and esi, ebx
neg edi
xor ecx, esi
or edi, esi
mov ebx, edi
jmp 0x46bd14
pop edx
xor esi, ecx
and ebx, edi
not ecx
add edi, ecx
jmp 0x46a086
push 0x68232
and edi, 0x4412bdb
add ecx, esi
xor ebx, 0x44262b7
or esi, edi
and ebx, esi
add ecx, edi
or ecx, esi
sub ebx, 0x445afce
shl ebx, 0x1b
inc esi
neg ebx
jmp 0x46c350
push 0xf70a25f4
and ebx, ecx
mov ebx, ecx
neg esi
add ebx, ecx
or esi, edi
sub edi, 0x46a103d
xor edi, ebx
xor ecx, esi
jmp fcn.0046a976
pop edx
rol ecx, 0xd
xor esi, edi
or ebx, ecx
not edi
rol esi, 0x1e
or ebx, esi
and ebx, esi
xchg ebx, ecx
sub edi, ecx
jmp 0x46cab3
push 0xf4ee66bf
mov esi, edi
xchg ebx, edi
sub ebx, 0x49fdac5
and ebx, esi
jmp 0x46aaf0
mov edx, 0x2d734e3d
or esi, ebx
and ebx, edi
inc esi
jmp 0x46a14e
pop edx
neg ebx
and esi, ebx
ror esi, 0x19
neg edi
xor ecx, ebx
bswap ecx
and ecx, edi
shr edi, 0xa
jmp 0x46c3f9
pop edx
rol edi, 0x14
dec ecx
and ecx, ebx
mov esi, ebx
sub edi, ecx
sub esi, 0x4d46d46
shr ecx, 0xc
jmp 0x46b99a
mov edx, 0x2d734e3d
or ebx, 0x4de4f05
rol esi, 0x12
rol ecx, 0xd
dec esi
xchg edi, ecx
mov edi, ecx
not edi
ror ebx, 0x1d
sub ecx, edi
mov esi, 0x4e4be71
xchg ecx, esi
jmp 0x46a5d1
pop edx
bswap ebx
and ecx, edi
xchg esi, ebx
mov ebx, edi
shl edi, 0xa
inc esi
shl esi, 7
or ebx, edi
sub edi, ebx
add edi, ebx
shr esi, 0x14
shr ebx, 0x17
or ebx, edi
and ecx, 0x51114e2
jmp 0x469f79
push 0xf6fc3f1f
or esi, ecx
and ebx, ecx
mov ecx, esi
ror ecx, 0xa
xchg edi, ecx
sub ebx, ecx
not ecx
dec ecx
and ecx, 0x51b7b02
jmp 0x46cbb5
call fcn.0046b162
ror ecx, 0x1e
or esi, 0x529e5d6
xchg ebx, ecx
mov ecx, ebx
and ecx, 0x52af064
bswap ebx
shr ebx, 0xb
mov ecx, esi
xor ebx, ecx
jmp 0x46add8
pop edx
or esi, 0x560c5a9
xor ebx, ecx
xchg ecx, esi
xchg ebx, esi
sub ebx, edi
jmp 0x46cb65
mov edx, 0x2d734e3d
or ecx, 0x56f58a1
mov ebx, esi
sub ecx, esi
or edi, esi
jmp 0x46c182
mov edx, 0x2d734e3d
or esi, ebx
or edi, ebx
mov edi, ebx
mov ecx, 0x5a7a193
xor esi, ebx
rol ebx, 0x19
xor ebx, 0x5a99947
or esi, 0x5aa6017
xor ebx, 0x5ab0c91
or ebx, ecx
or ecx, 0x5ac7e16
or ebx, esi
inc esi
sub edi, 0x5aebfd3
add ebx, esi
jmp 0x46bed4
pop edx
neg ebx
add esi, edi
add ecx, esi
and edi, 0x5b26b78
mov ebx, edi
shr ecx, 3
shr ecx, 0xf
xchg esi, edi
mov esi, ecx
or edi, ebx
nop
jmp 0x46975c
push 0xf50c09b3
mov ebx, ecx
add ecx, ebx
xor esi, ecx
and esi, ebx
xor ecx, ebx
xor ecx, 0x5bbd770
not ecx
mov ecx, edi
mov ecx, ebx
jmp 0x46cd34
push 0xf5070809
shr ecx, 5
xchg ebx, esi
or ecx, 0x5ca5864
or esi, edi
or esi, edi
xchg ecx, edi
mov edi, esi
mov ebx, esi
xor edi, ebx
add ebx, esi
xor edi, 0x63e14f0
jmp 0x46cbea
call edx
not esi
mov ebx, edi
or esi, edi
and edi, 0x64f5a2e
or esi, ecx
not ebx
xor ebx, ecx
xor edi, esi
dec ebx
inc esi
and edi, 0x656391c
add edi, 0x656c700
shr esi, 0xe
or ebx, ecx
dec ecx
jmp 0x469d9c
push 0xf4fff1e2
not edi
or ebx, ecx
xor ecx, esi
mov esi, ebx
add esi, ebx
xor ecx, esi
xor edi, 0x65cf67b
or ecx, 0x65d870b
xor ebx, ecx
jmp 0x46cf46
pop edx
xor ebx, edi
or ecx, edi
neg ebx
sub ecx, edi
and ebx, edi
and esi, edi
sub edi, 0x66b3e95
not esi
add edi, ebx
and ebx, esi
xor esi, ebx
mov esi, ecx
jmp 0x46be3f
mov edx, 0x2d734e3d
mov esi, 0x6882051
inc ebx
or esi, 0x6896870
xchg esi, edi
or esi, ecx
or ebx, 0x68b5fd6
or ecx, 0x68bfc40
and edi, esi
xor esi, ebx
jmp 0x46c24a
call fcn.0046b162
xor ecx, esi
sub esi, 0x68e9499
mov edi, esi
xchg edi, ecx
xor ebx, esi
jmp 0x46c48b
pop edx
add edi, esi
add ecx, edi
sub esi, ebx
xor esi, ecx
and ecx, 0x6cf800a
xor edi, esi
jmp 0x469d59
pop edx
and ebx, esi
and edi, ebx
xchg edi, ebx
and esi, ebx
sub ecx, edi
rol esi, 9
add esi, ebx
xor ebx, 0x6db4d8a
xchg esi, ecx
jmp 0x46ac49
call edx
rol esi, 2
ror edi, 0x1b
or ecx, 0x700cf5d
xor ebx, edi
jmp 0x46c7f5
call fcn.0046b162
xor esi, 0x7091250
mov edi, esi
or ecx, edi
xor ebx, esi
or edi, 0x70b8d6a
mov ebx, 0x70c2b21
xor ebx, edi
or esi, 0x70d5028
jmp 0x46b2c8
push 0xf514e6e3
and esi, 0x7593f4c
mov edi, ecx
shl ecx, 2
ror esi, 9
not ebx
add edi, 0x75cd25a
jmp 0x4696ef
push 0xf4e88b7d
or ebx, esi
xchg edi, ecx
mov ecx, ebx
xor edi, ecx
sub edi, 0x7638388
or esi, ecx
add ebx, esi
or esi, ebx
and ecx, esi
or ebx, ecx
jmp 0x46b601
push 0xf51b06ca
mov edi, esi
dec esi
xor ecx, esi
neg edi
and ecx, esi
xor ecx, esi
sub edi, esi
or edi, 0x7910aac
and esi, ecx
or ecx, ebx
xchg esi, edi
jmp 0x46b9bd
push 0xf4ef19d9
neg edi
or esi, ecx
mov ecx, ebx
inc edi
sub ecx, edi
ror edi, 3
or ebx, ecx
xchg esi, ebx
add edi, esi
and ecx, 0x7e06125
shr edi, 0x19
and edi, ebx
jmp 0x46b709
push 0xf50ec0f2
xchg ecx, ebx
xor ebx, edi
mov edi, ebx
xchg esi, ecx
shr edi, 0x13
xor edi, ebx
neg ecx
jmp 0x469f52
pop edx
rol esi, 0x1e
not ebx
rol ebx, 0xd
xor edi, ebx
mov esi, edi
xchg edi, ebx
sub ebx, esi
not ebx
jmp 0x46b6d1
pop edx
xchg edi, ecx
xor ecx, esi
add edi, ecx
xor ebx, edi
xor ecx, esi
xchg esi, edi
or ecx, esi
jmp 0x46a69e
mov edx, 0x4132136a
sub ebx, edi
ror ebx, 9
call edx
mov edi, 0x84cad81
xchg ebx, esi
dec esi
xor esi, edi
xor edi, esi
shr ebx, 9
shl ebx, 3
mov ebx, ecx
add ebx, ecx
add esi, 0x8521ec3
and esi, ecx
mov ebx, ecx
jmp 0x46ba13
call edx
shl ecx, 0x15
add esi, ecx
rol ebx, 0xa
xchg edi, esi
inc ebx
add edi, ecx
shl ecx, 0x19
rol edi, 0xa
shr edi, 8
jmp 0x46aeb6
pop edx
add ebx, esi
add esi, ecx
inc ecx
mov edi, esi
xor ebx, ecx
add ecx, edi
xor ecx, edi
sub esi, ebx
sub ebx, esi
and ecx, 0x8999d00
jmp 0x46c111
call edx
ror esi, 0x18
mov ecx, ebx
shl edi, 0x1a
inc esi
not ecx
ror edi, 0x16
or edi, ecx
bswap ebx
rol ebx, 0x17
xor ecx, esi
add ebx, esi
xor ebx, edi
xor edi, 0x8c86e03
and ecx, 0x8c904de
add esi, ebx
xor esi, 0x8ca400f
jmp 0x46abe6
mov edx, 0x2d734e3d
rol ebx, 0x15
xchg esi, edi
not edi
and edi, ecx
jmp 0x469b8e
push 0x40
xor ecx, edi
xchg esi, edi
xor ebx, esi
xor ecx, ebx
sub ecx, ebx
jmp 0x469c8e
pop edx
add esi, 0x9071a85
add edi, esi
shl ebx, 6
sub ebx, esi
xchg ebx, edi
or ebx, ecx
add ebx, edi
xor ecx, edi
sub ebx, edi
sub edi, ebx
inc ecx
shl edi, 5
or edi, ecx
jmp 0x46a953
push 0xf50d66e6
or esi, ecx
xor esi, 0x9253f35
xor esi, 0x925d983
xchg ebx, edi
neg ecx
add esi, ebx
not ebx
xor ecx, 0x928e5c6
rol ecx, 0x18
jmp 0x46cf30
call fcn.0046b162
sub esi, ebx
or ecx, edi
mov edi, 0x9426250
add ebx, esi
xor ebx, 0x943b364
mov ecx, ebx
and ecx, 0x944e2da
jmp 0x46a764
call edx
mov esi, edi
add ecx, ebx
xor ecx, esi
mov edi, 0x958aca5
shr edi, 0x17
or esi, edi
jmp 0x46b68a
push 0xf5165f7e
and edi, ebx
sub ecx, esi
sub edi, ebx
dec esi
xor esi, 0x964a21d
invalid