Function at 0x401000
Capabilities:
Decompress data using ucl
Encrypt data using chaskey

Disassembly:
add esi, edx
call sub.user32.dll_GetForegroundWindow
sub ecx, edx
cmp eax, 0xffffff32
jne 0x40108d
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.kernel32.dll_SetErrorMode
call sub.kernel32.dll_SetErrorMode
call sub.ole32.dll_CoInitialize
call sub.kernel32.dll_SetErrorMode
call sub.kernel32.dll_SetErrorMode
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.kernel32.dll_SetErrorMode
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCreateTimer
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
ret
xchg ecx, edi
or esi, edi
xor ecx, 0x94115105
not edi
call sub.user32.dll_GetForegroundWindow
inc edx
cmp eax, 0xffffff36
jne 0x40110a
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.kernel32.dll_SetErrorMode
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCreateTimer
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCreateTimer
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCreateTimer
call sub.kernel32.dll_SetErrorMode
call sub.kernel32.dll_SetErrorMode
ret
or esi, ecx
and edi, 0x94157bd0
sub ecx, edx
neg edi
dec edi
xchg esi, ecx
dec edi
call sub.user32.dll_GetOpenClipboardWindow
xor edx, esi
sub ecx, 0x9418e2e6
mov edx, ecx
xor edx, ecx
shl esi, 5
bswap esi
cmp eax, 0xfffffef9
jne 0x4011a5
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
ret
mov ecx, esi
xor ecx, edx
xor edx, ecx
mov esi, 0x941ef051
or ecx, edx
not ecx
bswap edx
xchg edi, esi
call sub.user32.dll_GetOpenClipboardWindow
sub esi, edi
xor ecx, 0x9421caff
cmp eax, 0xfffffeda
jne 0x40125d
call sub.ntdll.dll_RtlCreateTimer
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCreateTimer
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCreateTimer
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.kernel32.dll_SetErrorMode
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCreateTimer
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCreateTimer
call sub.ole32.dll_CoInitialize
call sub.kernel32.dll_SetErrorMode
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ole32.dll_CoInitialize
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.ntdll.dll_RtlCopySecurityDescriptor
call sub.kernel32.dll_SetErrorMode
call sub.ntdll.dll_RtlCreateTimer
ret
jmp 0x4a0004
sub edi, edx
jmp 0x4a2c56
jmp loc.004a87b9
call fcn.004a35b5
xor ebx, 0x9ae2cc8f
and ecx, ebx
xchg edx, edi
jmp 0x4a150b
call fcn.004a35b5
xchg ebx, edx
add ecx, 0x9b0fe174
shl ecx, 0x19
add edi, ecx
xor edi, edx
or edi, ebx
and ecx, edx
or edx, ebx
sub edi, ebx
and edi, ebx
mov edx, edi
bswap edx
sub ebx, 0x9b128145
jmp 0x4a0cc6
pop esi
and edi, 0x9b32b14c
add ecx, 0x9b3334b4
shl edx, 0x1a
and edi, ebx
not ecx
jmp 0x4a29dc
push 0x94af1c6b
xor edx, 0x9b5a2ae6
rol edi, 0x1d
neg edi
xor ecx, ebx
jmp 0x4a2891
call fcn.004a35b5
xor edx, edi
sub edi, ebx
xchg edi, ebx
or edx, ecx
shl edi, 0x1c
xchg edx, ebx
and edx, ebx
xor edx, ebx
and edx, edi
jmp 0x4a10d7
mov esi, 0x123b2f04
xor edx, ecx
or edx, 0x9bf71e3f
or edi, 0x9bf78e69
sub ebx, edx
jmp 0x4a017c
push 0x94ac9dd5
shl edx, 0x18
not edx
mov ebx, edx
sub edx, 0x9c08b7cc
bswap edx
jmp 0x4a32de
call esi
rol edi, 0x19
add edx, ebx
or ebx, 0x9c2fdf88
ror ecx, 8
and ebx, edi
ror ebx, 0x1d
add edx, ebx
and edi, ebx
mov edx, ebx
jmp 0x4a196d
pop esi
xor ecx, edi
and edi, edx
bswap edx
or edx, ecx
xor edx, 0x9c5c887f
neg edi
ror ebx, 2
add edx, edi
and ecx, edi
shl edx, 0x1a
add ebx, edi
jmp 0x4a2d8e
call esi
xchg ecx, ebx
sub ecx, ebx
mov ebx, edi
not ebx
xchg ecx, edx
sub ecx, edx
or ecx, edx
or ebx, edx
add edi, edx
jmp 0x4a0e3a
call esi
mov ebx, edx
mov ecx, edi
sub edi, ecx
or ecx, edx
mov ebx, edx
shr edx, 0xf
mov edi, ecx
sub edx, ebx
and edi, ecx
xchg ebx, edx
and edi, ebx
and edi, ebx
and edi, ebx
mov edx, ebx
dec ecx
jmp 0x4a23c9
push 0x94ac4c6c
shl edi, 0x10
add edx, 0x9d6fac66
and ecx, 0x9d70214e
and edi, ecx
mov ebx, ecx
and edi, ebx
jmp 0x4a0b98
push 0x94aa5459
or ebx, 0x9dd674cb
add edx, 0x9dd6eed1
and edx, 0x9dd7728c
mov ebx, ecx
or edx, ebx
add ecx, edi
xchg edx, ecx
inc ecx
xor ebx, ecx
jmp 0x4a2cdc
pop esi
xchg edx, ebx
dec edi
or edi, 0x9dfaed22
jmp 0x4a1e46
pop esi
or ebx, edx
or ebx, ecx
and edi, ebx
jmp 0x4a2f9b
push 0x94b1bdbd
sub edi, ecx
xor edi, ecx
xchg ecx, edi
bswap ebx
add ebx, 0x9f10017f
and ebx, ecx
or ebx, ecx
xor ebx, ecx
shr ebx, 3
xor edx, ecx
xchg ecx, edx
ror ecx, 0xb
inc edi
jmp 0x4a27af
pop esi
or edi, edx
ror edi, 8
or edi, edx
xchg ebx, edi
xor edi, edx
mov ecx, ebx
and ecx, 0x9f5ef78e
add edi, ecx
jmp 0x4a31ff
call esi
or edi, ebx
xor ebx, 0x9f7ce47c
and ebx, edi
xor edx, ebx
xor edx, ebx
xchg ecx, edx
or edi, 0x9f7f1787
sub edi, edx
and ebx, edi
xor ecx, edi
jmp 0x4a0645
call fcn.004a35b5
sub ecx, 0x9f902f71
xchg ebx, edx
or edx, 0x9f9117b1
mov edx, 0x9f918ac1
or edx, ecx
and ebx, edx
mov ecx, edx
shl edi, 7
xor edi, edx
shl ebx, 0x12
mov ecx, ebx
and edi, edx
jmp 0x4a24c3
mov esi, 0x123b2f04
add ebx, edi
mov edi, ebx
jmp 0x4a04e4
mov esi, 0x123b2f04
xor ebx, edx
rol ebx, 0x14
xor ebx, ecx
rol edx, 8
rol edi, 0x18
shl ecx, 3
not ebx
jmp 0x4a2575
pop esi
not edx
xor ebx, 0xa045d0da
xchg edi, edx
dec edi
or ecx, edx
jmp 0x4a2ebe
push 0x94a9fabd
and edi, ecx
and ecx, edi
nop
bswap edi
sub ebx, ecx
ror edx, 0xe
sub ebx, ecx
and edx, ebx
sub edx, 0xa0932a1a
jmp 0x4a185d
mov esi, 0x123b2f04
inc ecx
add edx, ecx
xor ebx, ecx
add edx, ecx
sub edx, ebx
bswap ebx
and edi, edx
or edi, edx
mov ebx, edx
jmp 0x4a0230
pop esi
xor edi, edx
xor ecx, 0xa0b89456
xor edi, ebx
inc ebx
xor edx, ecx
sub edi, edx
and edi, ecx
or edi, ecx
sub edi, edx
bswap ecx
sub edi, ebx
and edx, 0xa0bd0594
shr ebx, 0x1c
or ecx, ebx
and ecx, 0xa0be5a54
sub edx, edi
jmp 0x4a334e
pop esi
mov edx, ebx
neg edi
mov ecx, edx
and ebx, edx
bswap edi
mov edi, ecx
not ecx
ror edi, 0x18
jmp 0x4a2fb3
push 0x94b53c27
add edx, 0xa1001355
neg edi
and edx, 0xa100fc27
jmp 0x4a3484
push 0x94b17010
sub ebx, edx
and edi, 0xa1022ac0
shl ebx, 0x15
or ebx, edx
add edx, 0xa103b2e0
mov edi, 0xa1042d5d
and edx, ebx
and ecx, edi
jmp 0x4a2180
pop esi
dec edx
bswap edx
dec edx
or edx, ebx
add ecx, edx
shl ebx, 0x1f
and edi, ecx
or ebx, edi
jmp 0x4a15fa
mov esi, 0x2774562b
bswap edx
and ecx, edx
ror edx, 7
add ecx, edi
sub ebx, edx
and ebx, ecx
bswap ebx
jmp 0x4a0810
push 0x94ae7d17
bswap ebx
ror ebx, 0x17
or edi, 0xa18006d0
sub ebx, edi
xor edx, 0xa180e820
mov ecx, ebx
sub edi, edx
mov edi, ebx
xor edi, ecx
and edi, edx
jmp 0x4a33b1
push 0x94aecde0
or edi, 0xa18be6cc
sub ebx, ecx
or ebx, ecx
and ecx, edi
or edx, edi
or ebx, ecx
xchg edi, ecx
add ebx, ecx
jmp 0x4a076d
push 0x94b58d00
mov edi, ecx
and ebx, edx
xor ebx, 0xa1a8c4a6
neg ecx
xor ecx, edi
dec edi
ror edx, 0x10
add ebx, edi
add edi, ebx
and ebx, ecx
or ecx, ebx
add edx, 0xa1ace30f
jmp 0x4a0afd