Function at 0x401000
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, ebx
call sub.kernel32.dll_GetVersion
sub ebx, edx
or ecx, edi
cmp eax, 0xffffff11
jne 0x401080
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
ret
sub edx, ecx
and ebx, edx
call sub.kernel32.dll_GetVersion
xor ecx, edi
mov ecx, ebx
add ecx, edx
ror ecx, 5
shr edi, 0x19
shr ecx, 0xa
cmp eax, 0xffffff13
jne 0x401126
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
ret
shr edi, 0x16
xor ebx, 0x6aa853af
and ecx, edx
sub ecx, edi
call sub.kernel32.dll_GetVersion
or ebx, 0x6aa9357e
add ebx, edi
add edx, ebx
ror edi, 9
xchg ecx, edi
cmp eax, 0xfffffee7
jne 0x4011d5
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
ret
xor edx, ecx
rol ecx, 8
call sub.kernel32.dll_GetCurrentProcess
neg ebx
shl edx, 0x1c
cmp eax, 0xffffff25
jne 0x401240
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.ws2_32.dll_WSALookupServiceEnd
call sub.user32.dll_CharPrevW
call sub.ws2_32.dll_WSALookupServiceEnd
ret
jmp 0x560d44
bswap ebx
add ecx, 0x6c1f14ac
neg edx
shl ebx, 0xd
bswap edi
mov edi, ebx
xor ebx, edi
or edx, ebx
jmp 0x562560
pop ebx
sub edx, 0x772ad478
sub ecx, 0x772b4a4f
or edx, esi
sub edx, edi
and edi, 0x772caf73
shl ecx, 8
sub edi, esi
or esi, 0x772e3ac0
or edx, ecx
jmp 0x561ea0
pop ebx
neg ecx
xchg edi, ecx
and esi, ecx
mov ecx, esi
xor edx, edi
xor edi, ecx
jmp 0x56351d
mov ebx, 0x123b2f04
and edx, edi
rol edi, 0x1d
xchg esi, edx
and ecx, esi
dec edi
add esi, ecx
shl esi, 6
jmp 0x562c05
call ebx
or edi, ecx
or ecx, 0x786ec628
neg edi
or esi, ecx
or edx, 0x787044c9
xchg ecx, esi
mov esi, 0x78719a2d
inc esi
jmp 0x560dca
call ebx
shl ecx, 0x14
ror edi, 0x17
xor edi, edx
xchg edi, edx
and esi, edx
or edx, ecx
jmp 0x562349
push 0x6c276a4b
and esi, edx
xor esi, ecx
dec edx
mov ecx, edi
or ecx, esi
xchg ecx, edx
mov ecx, 0x7960b700
mov esi, edi
ror esi, 9
shl edx, 8
neg edi
jmp 0x561dcd
push 0x6c37ffa1
mov esi, ecx
add esi, 0x79a40e51
or edi, 0x79a4a005
jmp 0x562c7b
call fcn.00561a4d
xchg edi, esi
and edi, edx
xor edx, ecx
or ecx, 0x79f395fb
ror edi, 7
nop
jmp 0x56238f
mov ebx, 0x2774562b
add edi, edx
and edi, 0x7a190b58
or edi, edx
or edi, esi
mov ecx, 0x7a1b06e0
neg edx
ror edi, 0x1e
and edx, 0x7a1d0bf4
add edi, ecx
jmp 0x562e8a
push 0x6c297ebe
xor edi, 0x7a44d716
xchg esi, edx
and edx, edi
xor edx, esi
inc ecx
jmp 0x563533
push 0x6c35af0f
and esi, 0x7a4bfb4b
xor edx, 0x7a4c3a82
xor esi, edi
bswap edi
sub esi, ecx
jmp 0x563551
mov ebx, 0x123b2f04
xchg edx, ecx
mov ecx, edi
rol edi, 0xb
xor ecx, esi
neg edi
mov edx, esi
xor edi, ecx
xchg ecx, edx
add edx, edi
or edi, ecx
jmp 0x563235
mov ebx, 0x123b2f04
xor edx, ecx
xor esi, edx
dec edx
inc esi
sub esi, 0x7a98e44e
sub esi, edx
and esi, ecx
add edi, 0x7a99a7cf
mov edi, edx
jmp 0x5626ab
pop ebx
sub ecx, esi
or ecx, edx
mov edx, ecx
dec edx
not ecx
add esi, 0x7ab8f272
dec ecx
inc edi
jmp 0x5637e4
call ebx
not ecx
xor edx, ecx
xor ecx, edi
or edi, 0x7ac03a83
and edi, 0x7ac0a931
jmp 0x5613ce
pop ebx
sub ecx, edi
bswap edx
xor edi, esi
and edi, ecx
neg edx
inc ecx
xchg esi, edi
or edx, ecx
sub esi, 0x7ad7f85d
inc ecx
xchg esi, edi
mov edx, edi
jmp 0x562ed9
push 0x6c26ebbc
rol edx, 0xe
shl edx, 0x1a
or edi, edx
not esi
rol edi, 2
ror ecx, 0x17
sub ecx, edx
dec edx
sub ecx, 0x7afbb337
and esi, edx
and edi, 0x7afc289d
bswap esi
jmp 0x56364a
call fcn.00561a4d
add edx, 0x7b24f06d
xchg edx, ecx
add edx, esi
xor edi, 0x7b268667
xchg edx, esi
or esi, ecx
jmp 0x56180b
jmp loc.00568012
push 0x6c386532
xor esi, ecx
mov edi, edx
xchg edx, edi
sub ecx, 0x7c06f771
xor edx, edi
and edi, edx
add esi, ecx
xchg ecx, esi
shr esi, 0x13
not edi
rol edi, 0x18
and ecx, edx
shl edx, 0xd
xchg ecx, esi
and edx, edi
jmp 0x56155b
call fcn.00561a4d
mov ecx, edx
not edi
rol edx, 0x14
or esi, edx
or edx, ecx
or edx, 0x7c409a3f
xchg esi, edx
xchg ecx, edx
or edi, ecx
mov ecx, 0x7c486e9c
xor ecx, edx
xchg esi, ecx
mov ecx, edi
jmp 0x563701
push 0x6c28a6cc
and ecx, edi
mov esi, 0x7c4c8688
xchg edx, edi
xor edx, edi
xchg esi, edi
or edx, 0x7c4d7b2c
or edi, 0x7c4db585
jmp 0x561ff9
pop ebx
or edi, edx
not edi
xor edx, edi
or edx, 0x7c772ad5
or edx, esi
shr edi, 0x12
sub esi, edi
bswap esi
or esi, ecx
xchg esi, edi
add ecx, esi
add esi, edi
jmp 0x563512
call fcn.00561a4d
xor edi, edx
shl edi, 0xd
rol edi, 6
sub esi, edx
nop
sub edi, ecx
xchg edx, ecx
add edx, ecx
ror esi, 4
mov ecx, edi
and edx, edi
add edi, esi
shr esi, 0x11
mov ecx, esi
jmp 0x5615e0
push 0x6c37a812
inc esi
and edx, 0x7cfe7d1b
ror edx, 0x13
sub ecx, 0x7cff60dc
add esi, edi
add ecx, 0x7d004153
rol edx, 0x18
sub edi, ecx
add edx, esi
add edx, 0x7d024f56
xor edx, esi
mov edx, ecx
jmp 0x561b62
pop ebx
xor ecx, edx
dec ecx
inc ecx
nop
jmp 0x56243b
pop ebx
mov edi, edx
sub edx, edi
mov ecx, edi
xor esi, edx
sub ecx, edx
sub esi, 0x7d197d87
jmp 0x56344b
push 0x6c29cbe8
bswap ecx
or esi, edi
sub edi, edx
xor esi, edx
add esi, edx
or ecx, 0x7d1c5ea5
xchg edx, esi
xchg esi, ecx
jmp 0x562224
mov ebx, 0x123b2f04
sub edx, edi
sub edi, ecx
add edi, 0x7d1ec67f
xor esi, edi
bswap esi
xchg edx, esi
sub edx, ecx
xchg edx, edi
ror edi, 0x10
jmp 0x561ce7
push 0x6c273e26
xchg edi, ecx
dec edi
add ecx, 0x7d51a7ec
sub esi, edx
add esi, edx
and edi, ecx
jmp 0x5619d3
call ebx
or edx, esi
xor esi, 0x7d66eb6e
shr edx, 0x11
xor esi, ecx
ror ecx, 0x10
xor edi, 0x7d6a4311
not edi
xor edx, 0x7d6b2541
xchg ecx, edi
add edi, 0x7d6c7c2d
mov edi, ecx
jmp 0x56309e
pop ebx
shr esi, 5
xor edx, edi
or edx, 0x7d94b9e0
and edx, 0x7d952f79
mov edx, ecx
rol esi, 0x1d
and esi, ecx
mov esi, edx
jmp 0x563874
push 0x6c35802e
and edx, 0x7db557df
add edi, 0x7db5e3c0
or ecx, edx
add ecx, esi
and edx, esi
shl edi, 9
mov esi, 0x7db84db3
shr edi, 0x14
dec ecx
mov edx, edi
mov edi, esi
jmp 0x561f0a