Function at 0x401000
Capabilities:
Encrypt data using chaskey

Disassembly:
call sub.user32.dll_GetInputState
cmp eax, 0xfffffee2
jne 0x401075
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
ret
call sub.kernel32.dll_GetUserDefaultLCID
cmp eax, 0xffffff13
jne 0x4010e5
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
ret
call sub.user32.dll_GetInputState
cmp eax, 0xffffff0d
jne 0x401155
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
ret
call sub.user32.dll_GetInputState
cmp eax, 0xfffffefa
jne 0x4011fc
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
ret
call sub.user32.dll_GetInputState
cmp eax, 0xffffff29
jne 0x401276
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
call main
ret
jmp 0x475749
or ecx, 0x1e3c1a6b
mov ebx, ecx
xor ebx, 0x1e3c8d59
jmp 0x4779ae
push 0x1e4df262
sub edi, 0x1f293b5f
shl ecx, 7
and ebx, esi
or esi, 0x1f29e445
mov ecx, esi
xchg esi, ecx
or edi, ebx
shl esi, 0x1e
mov ecx, ebx
xchg ecx, ebx
and ecx, esi
xor ebx, edi
ror ecx, 9
sub esi, 0x1f2c192a
jmp 0x4762df
call edx
or ebx, esi
and ecx, 0x1f30cde8
xor ebx, edi
sub esi, edi
add esi, edi
add ecx, esi
bswap ecx
and ecx, edi
shr ebx, 2
jmp 0x475973
push 0x1e462ba6
add edi, esi
add ebx, esi
xchg ebx, ecx
ror ebx, 0x10
bswap ecx
or ebx, ecx
sub ecx, 0x1f33f83f
bswap ebx
sub ecx, esi
neg edi
add edi, ebx
jmp 0x4783d3
pop edx
not ecx
or ecx, edi
or ebx, esi
and ebx, ecx
xor esi, ecx
and ebx, 0x1f51301e
xor edi, ebx
and edi, ecx
rol ecx, 0x11
xor ebx, 0x1f5234f1
shl esi, 0xb
ror edi, 3
jmp 0x476390
push esp
xchg ebx, ecx
and edi, ecx
sub ecx, ebx
rol edi, 0x18
mov ebx, ecx
or ecx, edi
shr edi, 4
sub esi, edi
sub edi, ebx
shl edi, 0xf
xchg esi, ecx
add esi, ecx
add esi, ebx
jmp 0x478062
call fcn.00476eab
or esi, edi
not ecx
add edi, ecx
inc esi
or ecx, 0x1f662be6
dec ecx
xor ebx, edi
or ecx, edi
ror ecx, 0x15
jmp 0x475b44
push 0x1e441cc2
mov edi, ecx
rol edi, 1
or ecx, ebx
add edi, ebx
bswap ecx
add ecx, edi
and edi, ebx
jmp 0x477d9b
push 0x1e49457d
sub edi, ebx
or esi, 0x1f6b4d47
and ebx, 0x1f6b8bc5
or ecx, ebx
or esi, edi
dec edi
add ebx, edi
mov esi, ebx
jmp 0x476f75
push 0x1e46afb4
not edi
xor esi, edi
xor ebx, esi
mov esi, ebx
add esi, ecx
mov ecx, esi
mov edi, ecx
xchg edi, ecx
sub edi, ecx
sub ebx, esi
add ebx, edi
sub edi, ebx
jmp 0x475bbf
call edx
xchg esi, edi
add ebx, esi
sub esi, 0x1f7356b9
mov ecx, 0x1f739384
or ebx, ecx
or esi, ecx
add edi, ecx
mov ecx, edi
rol esi, 8
jmp 0x477aab
mov edx, 0x40495727
add ebx, ecx
mov ecx, edi
and ecx, 0x1f7b9d89
xor ebx, 0x1f7bd53a
or edi, ecx
and edi, ecx
xor edi, esi
and edi, 0x1f7cb3bc
mov ebx, ecx
mov esi, edi
rol ecx, 0x16
xor ecx, esi
mov edi, ebx
jmp 0x47604d
call fcn.00476eab
xor ecx, edi
inc edi
and edi, 0x1fa42b6b
mov ecx, edi
nop
jmp 0x478089
call edx
xchg edi, ebx
xchg esi, ecx
shr edi, 7
and ebx, 0x1facbb5f
and ecx, 0x1facf4f2
mov edi, ebx
sub edi, 0x1fad610b
add ecx, edi
shr ebx, 4
xor esi, edi
jmp 0x477dfa
call fcn.00476eab
add edi, ecx
add ebx, 0x1fc4519e
sub ecx, ebx
or edi, ebx
xchg esi, ebx
or edi, ecx
sub esi, edi
jmp 0x47669f
pop edx
or edi, esi
not esi
mov edi, ebx
and edi, esi
xchg ecx, esi
bswap esi
jmp 0x477ef8
mov edx, 0x43370267
xor ebx, edi
mov ebx, 0x1fcb0615
mov edi, 0x1fcb3d32
or ecx, 0x1fcb7462
xor ebx, esi
sub esi, edi
dec edi
mov ebx, ecx
and ecx, ebx
mov esi, ecx
inc edi
mov ecx, 0x1fcd3926
jmp 0x476c5d
call edx
and ebx, 0x1fcd89a3
mov ecx, 0x1fcdc1be
or edi, ebx
or esi, ecx
mov ecx, ebx
inc esi
sub edi, ecx
neg esi
mov edi, esi
mov ebx, esi
sub ecx, esi
jmp 0x478135
call edx
mov esi, edi
xchg ecx, esi
sub esi, ecx
shl esi, 9
add ecx, 0x1fdb0b89
shl ebx, 0x16
jmp 0x476250
push 0x1e490318
and ebx, edi
shl ecx, 0x10
sub esi, edi
and ebx, edi
or esi, ebx
and ebx, edi
jmp 0x475ad1
call fcn.00476eab
xor edi, ebx
xchg esi, ebx
not esi
or ebx, ecx
shr edi, 5
xor ebx, edi
mov ecx, esi
sub ebx, ecx
inc esi
jmp 0x475a04
pop edx
xor ecx, edi
bswap ebx
mov ecx, edi
xchg ecx, edi
not esi
mov edi, ebx
add ecx, ebx
jmp 0x476090
push 0x1e4e3493
xchg ebx, edi
sub ecx, edi
add esi, edi
xor ecx, esi
mov esi, edi
and ecx, edi
or edi, esi
jmp 0x476da3
pop edx
sub edi, 0x1ffe9b35
dec esi
sub ecx, edi
add esi, 0x1fff52d1
and esi, ecx
and ebx, ecx
xor ecx, ebx
xchg edi, ebx
mov esi, 0x20008d01
xor ecx, ebx
inc esi
dec esi
jmp 0x47730f
pop edx
or ebx, ecx
add ebx, 0x200bf41b
or esi, ebx
mov ecx, 0x200c6330
and edi, ebx
or ebx, 0x200cd26b
xchg ecx, ebx
inc edi
mov esi, 0x200d8924
sub ebx, edi
xor ecx, 0x200df9df
mov edi, ebx
xor ebx, ecx
jmp 0x477806
push 0x1e420c40
add ebx, esi
xor edi, ebx
and esi, ecx
sub ebx, 0x201b9ed8
sub edi, 0x201bd7c7
not esi
sub esi, edi
jmp 0x47709c
pop edx
add ecx, 0x20253b0e
xor edi, ecx
mov ecx, esi
add ebx, 0x2025f1e1
add ecx, 0x20262984
bswap ebx
sub edi, 0x20269b50
xor esi, ecx
jmp 0x476681
pop edx
dec esi
mov ebx, esi
dec ebx
and edi, 0x2030ae8d
mov edi, esi
mov edi, ebx
and edi, ebx
xchg ecx, edi
add esi, 0x2031c079
jmp 0x4775f6
call edx
nop
sub ecx, esi
and edi, esi
ror esi, 8
mov edi, esi
add esi, 0x20333437
mov ebx, esi
jmp 0x4765d9
call edx
and esi, 0x206714dd
or ebx, edi
inc esi
xor edi, ecx
mov ebx, esi
jmp 0x4785bf
pop edx
xor ecx, 0x20897c3c
add edi, 0x2089b5a3
xor ebx, ecx
not esi
and ecx, esi
shl ecx, 0x16
rol esi, 0xd
xchg ecx, esi
xchg edi, ecx
and edi, ebx
rol ebx, 0x13
add esi, ebx
sub ebx, ecx
shl ecx, 0x19
sub ecx, ebx
jmp 0x4773b8
call fcn.00476eab
and esi, ebx
shr esi, 1
shl ebx, 0x1b
shr edi, 0xd
or ecx, edi
jmp 0x4760e5
push 0x401400
and edi, ebx
and ebx, 0x20930451
or ebx, edi
mov esi, ebx
shl edi, 0x16
shl ebx, 0xd
xor ebx, edi
add edi, ecx
add esi, edi
mov ebx, ecx
and ebx, esi
and esi, ecx
jmp 0x4769be
push 0x74349
add edi, 0x209b7724
or edi, esi
mov esi, edi
sub edi, esi
add edi, 0x209c63df
add ecx, ebx
or ecx, edi
and esi, ebx
and esi, edi
xchg ecx, ebx
jmp 0x476c74
call fcn.00476eab
or ecx, 0x209dc482
inc esi
not ebx
ror ecx, 0x15
or esi, 0x209ea8f4
mov esi, ecx
sub esi, 0x209f16a6
xchg edi, ecx
mov edi, esi
xor ebx, edi
or ebx, 0x20a00372
jmp 0x47619a
mov edx, 0x43370267
or esi, 0x20a3ef0f
inc esi
mov esi, ebx
xchg edi, ecx
mov edi, ebx
xor ebx, 0x20a51268
xor esi, edi
shl ecx, 0x10
add edi, 0x20a5bc8a
and ebx, 0x20a5f410
neg ecx
jmp 0x4779f9
pop edx
mov esi, ecx
xor ebx, esi
or esi, ecx
or ebx, ecx
add edi, esi
xchg edi, ecx
xor ecx, ebx
sub esi, 0x20ac6b6e
ror ebx, 0xf
add edi, 0x20ace627
inc edi
mov ebx, ecx
sub esi, ecx
xchg ecx, edi
jmp 0x4776db
push 0x1e4987e7
and ecx, edi
mov esi, edi
sub ecx, esi
xor ecx, edi
and esi, edi
dec ecx
jmp 0x4760b8
push 0x1e424e4d
sub ebx, esi
sub edi, ecx
sub ecx, edi
add edi, esi
sub ecx, esi
add edi, 0x20dc1cf7
xor ecx, 0x20dc599d
sub ecx, 0x20dca7be
shr ecx, 0x12
sub ebx, ecx
add ecx, ebx
or ecx, esi
mov esi, ebx
and ecx, edi
jmp 0x477a32
push 0x1e4fc686
and ebx, 0x22452b6b
xor ecx, ebx
or ecx, esi
bswap esi
ror ecx, 6
and edi, esi
add ecx, esi
and esi, ecx
shl ecx, 4
jmp 0x477cbc
push 0x1e48c192
and ecx, 0x2247809f
xchg ecx, ebx
and ecx, ebx
and edi, ecx
or esi, ecx
and edi, ebx
mov esi, 0x2248fec7
jmp 0x4761b3
pop edx
neg esi
sub edi, esi
inc ecx
xor ebx, ecx
sub ecx, 0x22530c50
xor esi, ecx
xor ebx, edi
or ebx, esi
neg ebx
and ebx, ecx
mov edi, 0x225486e3
and ebx, 0x2254c3a2
jmp 0x475a9f
push 0x1e41cbb8
add ecx, esi
rol ecx, 0x16
and ebx, esi
add ebx, edi
mov esi, ecx
add ecx, esi
mov ebx, esi
sub ebx, 0x225a55aa
xor edi, ebx
add ebx, edi
jmp 0x476540
push 0x40
add ecx, esi
sub esi, 0x22715f37
dec ecx
mov ebx, esi
mov ecx, edi
sub ecx, esi
shl ecx, 9
add ecx, edi
neg esi
jmp 0x476d14
pop edx
xchg ebx, esi
sub ebx, edi
sub ecx, esi
shr ebx, 8
shl edi, 0xf
xor ebx, ecx
or edi, ebx
add ecx, 0x227aa6e5
add ebx, 0x227ade85
neg esi
jmp 0x477fe5
mov edx, 0x40495727
and ebx, esi
and edi, ebx
dec edi
inc edi
add ecx, ebx
sub esi, 0x22850b64
ror ebx, 0x1b
shr edi, 0xf
xor edi, esi
jmp 0x476d3a
pop edx
inc ebx
xchg esi, ebx
and ebx, ecx
inc esi
and ecx, ebx
neg ebx
bswap edi
and edi, ecx
xor edi, ebx
neg ecx
add ebx, 0x228b9898
jmp 0x476449
mov edx, 0x4132136a
add ebx, ecx
and esi, 0x22a081b5
mov edi, esi
xchg esi, ecx
xor ebx, esi
mov ecx, 0x22a172de
xchg edi, ebx
xchg esi, ecx
add esi, edi
rol edi, 0x1e
sub edi, 0x22a2b01f
or esi, ebx
sub edi, 0x22a329b0
mov ebx, 0x22a3668d
jmp 0x476234
push 0x1e3ff001
xor ecx, esi
bswap edi
xchg edi, ebx
mov ecx, ebx
sub ecx, 0x22bd9661
or esi, 0x22bdd311
sub ecx, ebx
mov ebx, ecx
mov ecx, 0x22be86b8
jmp 0x477e7d
call fcn.00476eab
inc ebx
xor esi, ecx
sub ebx, esi
sub esi, edi
not ecx
shl ecx, 2
add ebx, 0x22c3598f
jmp 0x4757c6
mov edx, 0x40495727
or esi, 0x22c5529c
not edi
add ecx, edi
mov esi, 0x22c6086c
or edi, 0x22c641c6
shr ecx, 0x13
jmp 0x4783bd
pop edx
inc ecx
xchg edi, esi
add edi, ecx
jmp 0x47839d
mov edx, 0x40495727
not edi
or esi, edi
xchg ecx, esi
sub edi, ebx
or ebx, edi
rol edi, 1
xor ebx, 0x22ef7691
or ecx, edi
and esi, ebx
or ebx, esi
jmp 0x475e3b
push 0x1e445d53
mov edi, 0x22fe20ef
dec ecx
inc esi
mov esi, ecx
mov ebx, ecx
xor ecx, ebx
xor ecx, esi
add ebx, edi
xchg ebx, esi
and ecx, ebx
or esi, 0x2300879b
bswap esi
or edi, ebx
or ebx, ecx
jmp 0x477699
pop edx
and edi, 0x23057dfb
or edi, ecx
xor edi, ebx
inc edi
add edi, ecx
mov ecx, ebx
add esi, ebx
xor ebx, esi
or ecx, ebx
xchg ecx, ebx
jmp 0x476be0
push 0x1e403b28
xor ecx, ebx
add esi, 0x23105864
inc ecx
xor ecx, esi
and esi, ebx
jmp 0x4786db
push 0x1e45e961
add ebx, 0x2318224d
bswap esi
xor ecx, 0x231894a2
mov edi, ebx
and edi, esi
add edi, ecx
bswap ecx
dec edi
xor esi, ebx
jmp 0x4757e4
pop edx
or ecx, esi
mov ebx, 0x2327e69b
add ecx, esi
mov esi, edi
xchg esi, edi
xor ecx, edi
and edi, esi
xor ecx, esi
jmp 0x477331
push esp
xor ecx, esi
dec ecx
add esi, 0x232f6e70
and ebx, edi
and ebx, edi
shr edi, 0x1d
xor edi, 0x23304dff
shl edi, 0x1d
add edi, 0x2330cd60
xchg edi, esi
jmp 0x47757e
call edx
sub edi, ecx
sub edi, ecx
sub ecx, 0x2331c355
mov esi, 0x2331fce0
xor esi, ebx
or ecx, esi
or ebx, esi
sub ecx, ebx
mov ecx, esi
pop edx
not esi
add ebx, edi
mov edi, ebx
sub edi, 0x233eb656
sub edi, esi
sub esi, edi
mov esi, edi
inc edi
sub esi, ecx
jmp 0x476e06
pop edx
add ecx, 0x2367c3e9
sub esi, edi
and ecx, 0x2368429e
not ecx
not esi
or ecx, esi
sub esi, ecx
xor esi, ecx
mov ecx, edi
jmp 0x47740a
call fcn.00476eab
sub ebx, esi
mov edi, esi
xor edi, esi
mov edi, ebx
sub ecx, edi
sub esi, ecx
jmp 0x475ec1
push 0x1e466dcf
mov ecx, ebx
and edi, ebx
xchg edi, ecx
inc ecx
xor ecx, ebx
shl edi, 0xa
mov ebx, esi
or ebx, 0x236cda7c
shl esi, 0x11
jmp 0x475b22
pop edx
xchg ebx, ecx
xchg esi, edi
sub esi, ecx
add ecx, 0x238ec334
or edi, ecx
shl ebx, 2
xor edi, 0x238f7a54
and ebx, edi
mov esi, ebx
dec edi
xchg ebx, ecx
xchg esi, ecx
add ecx, 0x2390f5ef
jmp 0x47575c
mov edx, 0x40495727
or ebx, edi
mov ecx, 0x23a4057a
or esi, ecx
xor esi, 0x23a47eb8
ror esi, 0x1f
neg ebx
xchg esi, ebx
add esi, ebx
jmp 0x475a80