Function at 0x4ffaef
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
mov dword [esp + 0x24], edx
sub edi, esi
or esi, ebx
sub ecx, esi
mov ebx, edi
shl esi, 0x14
jmp 0x4fef6e
mov edx, dword [esp + 0x104]
and edi, esi
dec ecx
sub ecx, 0xa259df1a
sub ecx, edi
and ebx, esi
shl ebx, 1
mov ecx, edi
mov ebx, 0xa25aec4d
sub ebx, 0xa25b23bf
xchg edi, ebx
sub edi, 0xa25b8ff8
jmp 0x4ffb14
mov edx, dword fs:[edx]
xor ebx, 0xa260859c
and ebx, edi
dec esi
bswap ecx
add edi, 0xa2616740
mov edi, ecx
xchg ebx, esi
xchg ecx, edi
inc ebx
jmp 0x4fcd9d
mov dword [esp + 0x7c], edx
shl edi, 0x19
bswap edi
and ebx, edi
add ecx, 0xa26a1b61
mov esi, ecx
inc esi
xor esi, edi
neg ecx
jmp 0x4ff574
ret
mov dword [esp + 0xac], 0
and ecx, 0xa28775a8
shl ecx, 0x1a
mov ecx, ebx
add edi, esi
not ebx
and ecx, ebx
sub esi, ecx
and esi, ecx
dec esi
xor ebx, 0xa2896b6e
add ebx, edi
and esi, edi
jmp 0x4ff8c4
add dword [esp + 0x7c], 4
and edi, esi
neg esi
sub edi, ecx
add esi, ecx
mov edi, ebx
sub edi, ebx
and ecx, esi
shl esi, 0x1b
jmp 0x4fdf35
add edx, dword [esp + 0x24]
xor edi, 0xa2aefa85
sub edi, 0xa2b0958c
neg edi
sub edi, ecx
sub esi, ebx
sub ebx, esi
xchg ecx, ebx
sub ecx, esi
jmp 0x4ff467
add edx, dword [esp + 0x7c]
and edi, ecx
or ebx, ecx
xchg edi, esi
shl edi, 1
and ebx, ecx
shl ecx, 0xa
xor ebx, 0xa2b71e17
bswap ecx
jmp 0x4fd09d
add edx, 0xc
dec ecx
shr esi, 0x12
xor edi, 0xa2cb5344
sub esi, ebx
sub ecx, ebx
and edi, esi
rol esi, 5
add ebx, edi
xchg ebx, esi
shl ebx, 0x17
add ebx, ecx
jmp 0x4fd48f
mov dword [esp + 0x104], edx
bswap ebx
nop
sub ebx, esi
xor edi, ebx
or ecx, esi
xchg esi, ebx
xor ebx, ecx
sub ebx, esi
rol ebx, 7
and ecx, esi
and ecx, 0xa2ead7ae
xchg edi, ebx
bswap esi
not esi
jmp 0x4feb07
mov edx, dword [edx]
dec ecx
shl ecx, 0x1c
ror ebx, 1
bswap edi
not ecx
jmp 0x4fc630
movzx edx, word [edx]
sub ebx, ecx
mov ebx, 0xa2f1aa7b
shr ebx, 4
sub edi, ebx
neg esi
and edi, esi
rol ecx, 0xd
xor edi, 0xa2f2ef54
sub ebx, 0xa2f32323
xor edi, esi
jmp 0x4fea2d
jne 0x4fe614
and edi, esi
and edi, esi
and ecx, ebx
and ebx, edi
and ebx, edi
mov edi, ecx
rol ecx, 7
add ebx, esi
add esi, ecx
and esi, 0xa2f56450
sub ecx, edi
shl edi, 0xf
xor ebx, 0xa2f600ec
and edi, esi
sub edi, ebx
inc ebx
jmp 0x4fd931
mov edx, dword [edx]
inc edi
add edi, ecx
xchg edi, ecx
or ebx, ecx
add edi, esi
and ebx, edi
jmp 0x4fc7e2
add edx, dword [esp + 0x24]
dec edi
sub edi, esi
and ecx, ebx
add edi, 0xa31587b0
add ecx, edi
inc ebx
add esi, ecx
or esi, edi
add ebx, edi
inc esi
mov ebx, 0xa316f429
or esi, 0xa3172b79
jmp 0x4ffaa1
jne 0x4feb07
mov esi, 0xa3214d14
or edi, ebx
mov esi, ebx
xor edi, ebx
mov ebx, ecx
sub edi, ebx
add esi, ecx
jmp 0x4fcb59
add dword [esp + 0x7c], 0x20
add ecx, edi
bswap edi
add ebx, esi
or ebx, 0xa32af784
inc ecx
ror ebx, 4
and ebx, 0xa32ba05f
mov esi, ebx
sub edi, ecx
jmp 0x4fefcf
mov dword [esp + 0x24], 0
inc ebx
sub edi, esi
ror esi, 0x12
xchg ecx, esi
jmp 0x4fddc1
mov edx, 0x30
and ecx, 0xa331f1e4
inc ebx
sub esi, ebx
xor ecx, ebx
add ecx, esi
mov ebx, esi
sub ebx, 0xa3332953
sub ebx, 0xa3335c2f
rol ebx, 0x10
mov ecx, ebx
add ecx, ebx
dec esi
jmp 0x4fc759
mov edx, dword [edx]
add ecx, ebx
ror esi, 0xe
sub ecx, edi
xor ebx, 0xa339f295
or esi, ecx
sub ecx, ebx
mov edi, 0xa33a9f72
jmp 0x4fe43f
sub dword [esp + 0x7c], 8
or edi, esi
xchg edi, esi
mov esi, edi
nop
mov esi, 0xa34e699e
mov edi, esi
xchg ebx, ecx
shl esi, 5
and esi, ebx
jmp 0x4fd5ee
mov edx, dword [esp + 0x7c]
or edi, esi
add ecx, edi
xor esi, edi
dec edi
mov ebx, 0xa351e331
xor ecx, 0xa3521906
ror edi, 0x10
inc ebx
xor ecx, edi
or esi, ecx
xchg edi, ecx
add ecx, edi
jmp 0x4ff810
mov edx, dword [esp + 0x24]
sub esi, edi
sub ebx, edi
mov esi, edi
rol esi, 0x19
jmp 0x4fcc66
add edx, dword [esp + 0x24]
mov ebx, ecx
or edi, ebx
or esi, ebx
not esi
xchg ebx, ecx
xor esi, ecx
or edi, ecx
xor edi, ecx
xor ebx, ecx
or ecx, ebx
inc ecx
rol ecx, 0x14
and esi, ecx
or ebx, 0xa38db0a4
mov ecx, esi
jmp 0x4ff25c
pop edx
or edi, 0xa38e3114
sub ebx, ecx
neg esi
shr esi, 0x1b
and ecx, esi
shr edi, 1
sub edi, esi
sub edi, ebx
and esi, 0xa38fff1e
jmp 0x4ffa12
mov edx, dword [esp + 0x104]
xor edi, ecx
and ecx, 0xa3a61a4f
neg ecx
sub ecx, ebx
or ebx, ecx
and esi, edi
mov edi, ebx
add ebx, ecx
inc edi
xor esi, ecx
rol esi, 9
mov ecx, ebx
or ecx, edi
xor edi, ecx
and ecx, ebx
jmp 0x4ff39c
mov dword [esp + 0x7c], 0
xchg ebx, esi
sub ecx, 0xa3e04258
jmp 0x4fe778
mov dword [esp + 0xac], eax
not ecx
add ecx, edi
and edi, 0xa3e105fd
and edi, ebx
add esi, ecx
xor ebx, ecx
sub esi, ebx
rol ebx, 7
xor ebx, ecx
jmp 0x4fd5b6
mov edx, dword [esp + 0xac]
and ebx, 0xa3e58b09
dec edi
rol ebx, 0x19
mov esi, 0xa3e63664
sub edi, esi
or esi, edi
ror edi, 0x1f
xchg ebx, edi
and edi, esi
not ebx
xchg edi, ecx
shl edi, 0x1c
jmp 0x4fe589
mov edx, dword [esp + 0x7c]
shr esi, 9
sub edi, esi
add esi, edi
dec esi
and ecx, edi
ror esi, 0x12
or ebx, edi
add esi, edi
jmp 0x4ff777
mov edx, dword [esp + 0x7c]
and ebx, 0xa40bba36
xor ecx, ebx
xor ebx, esi
add ecx, esi
or esi, 0xa40d6b00
jmp 0x4ff853
mov edx, dword [edx]
xchg ebx, edi
mov esi, ecx
xchg ebx, esi
neg ebx
xchg ecx, ebx
xor ebx, 0xa4248986
add ebx, edi
mov esi, ecx
or edi, ebx
or edi, esi
jmp 0x4fe571
add edx, dword [esp + 0x24]
or edi, 0xa4368605
add ebx, edi
and esi, ecx
bswap edi
add edi, esi
bswap esi
and edi, ecx
or edi, esi
mov ecx, edi
jmp 0x4ff277
mov eax, 4
add esi, ebx
bswap ebx
add ebx, 0xa43d4a9b
sub edi, ebx
add edi, ecx
sub edi, ecx
ror edi, 2
xor edi, 0xa43e5805
xchg ecx, esi
add edi, 0xa43ec31b
jmp 0x4fd007
add dword [esp + 0x7c], edx
not edi
xor ebx, esi
add edi, 0xa443f975
and ebx, 0xa4442c65
xchg edi, esi
rol edi, 0x1a
neg ecx
sub ecx, edi
sub ecx, 0xa4453e70
xor edi, esi
and esi, ebx
sub ecx, edi
dec ecx
add ebx, esi
jmp 0x4fd39e
add edx, 0xc
xchg ecx, ebx
not esi
shr ecx, 3
jmp 0x4ff191
add edx, 0x18
and ebx, esi
xchg ebx, ecx
mov edi, ecx
shr ecx, 0xf
not ecx
xchg esi, ebx
xor ebx, edi
mov ebx, 0xa45d0864
sub ebx, esi
or ebx, esi
bswap ecx
or esi, ecx
mov ebx, esi
xor ecx, 0xa45e4954
jmp 0x4fcfb2
add edx, dword [esp + 0x24]
or ebx, ecx
xor ecx, edi
sub esi, 0xa469368e
sub ecx, ebx
jmp 0x4fcf86
mul edx
mov edi, ebx
not ebx
and ebx, esi
mov edi, ecx
dec edi
mov ebx, edi
ror ebx, 8
neg ebx
mov ecx, edi
add ebx, 0xa46b89bf
mov ebx, 0xa46bbd8c
xchg ecx, edi
mov esi, 0xa46c24a9
add esi, edi
jmp 0x4fddd9
xor al, byte [edx]
shr edi, 0x16
xor ecx, 0xa4727739
and esi, ebx
bswap ebx
sub ecx, esi
jmp 0x4feb86
cmp byte [edx], 0
jmp 0x4fd030
mov dword [esp + 4], edx
sub esi, edi
xor ecx, ebx
shl ebx, 0x15
sub ebx, edi
and ebx, esi
xor ecx, edi
neg ebx
mov ecx, esi
sub edi, esi
rol ebx, 0xb
jmp 0x4fd426
mov edx, dword [edx]
xchg esi, ecx
ror edi, 0x1b
inc esi
jmp 0x4fe498
add dword [esp + 0x104], 4
or ecx, 0xa49ddfe9
bswap edi
xor edi, ecx
add ebx, edi
and ebx, esi
add ecx, edi
sub esi, ecx
mov edi, ecx
xchg esi, edi
shl ecx, 0x16
and edi, 0xa49fedef
jmp 0x4fc6df
xor eax, eax
shr ecx, 1
xchg esi, ebx
sub ecx, esi
xchg edi, ebx
and esi, 0xa4a40d3e
add ebx, 0xa4a4400f
xchg ebx, edi
bswap ebx
and edi, ecx
ror ecx, 0x15
neg esi
jmp 0x4fe614
mul edx
or esi, ebx
add esi, ebx
rol edi, 0x1b
mov ebx, ecx
bswap ebx
not ebx
and ecx, esi
or edi, esi
sub edi, esi
mov edi, esi
and esi, edi
shl ecx, 2
nop
jmp 0x4fedf1
inc dword [esp + 0xac]
shl ecx, 1
and edi, ebx
not ecx
mov ecx, edi
jmp 0x4fe8ba
rol eax, 8
and ebx, edi
mov ecx, esi
xchg ebx, ecx
and ebx, 0xa4d1583e
ror esi, 8
mov ebx, esi
xor ebx, 0xa4d1f75e
neg esi
bswap ebx
jmp 0x4ff4e2
mov dword [esp + 0x7c], edx
sub edi, ecx
and ecx, ebx
xchg ecx, esi
nop
jmp 0x4ff6cd
add dword [esp + 0x7c], eax
and ecx, esi
or esi, ebx
dec esi
add esi, ebx
xchg edi, ebx
and ebx, ecx
or esi, 0xa4f54e19
bswap ecx
mov edi, 0xa4f5bb0a
sub ecx, edi
not ecx
sub edi, esi
jmp 0x4fdfee
mov edx, dword [edx]
shl edi, 0x1e
or esi, ebx
or ebx, 0xa4f89da8
dec esi
xor esi, ebx
bswap edi
and esi, 0xa4f97a3a
and ecx, 0xa4f9b12a
shl ebx, 0xc
mov esi, edi
xchg edi, ebx
xor ebx, edi
jmp 0x4fed97
add edx, 0x3c
xchg ecx, esi
or esi, edi
bswap ecx
mov esi, 0xa5015f51
sub ecx, ebx
xchg ebx, edi
add edi, esi
xor ecx, ebx
or ecx, ebx
or edi, ebx
add ecx, ebx
add ecx, ebx
add edi, esi
jmp 0x4fee33
mov eax, 2
xor esi, edi
add ebx, esi
shr edi, 6
xor esi, ebx
neg edi
neg ecx
xor ebx, esi
sub ebx, ecx
xchg esi, edi
mov edi, ebx
neg esi
xchg ecx, edi
jmp 0x4fde1f
mov edx, dword [esp + 0x24]
xchg ecx, esi
mov esi, edi
add esi, ebx
jmp 0x4feebb
mov edx, dword [esp + 0x7c]
xchg esi, ecx
xchg edi, esi
and ecx, edi
xor ecx, esi
and esi, 0xa5132348
dec edi
xor edi, ebx
bswap esi
or edi, 0xa513f639
jmp 0x4fe136
mov edx, dword [edx]
shr ecx, 7
add esi, edi
xchg edi, esi
xchg ecx, ebx
sub esi, ebx
xor edi, esi
or ecx, edi
xchg ecx, esi
sub ebx, ecx
xchg ecx, esi
add ebx, edi
jmp 0x4ff992
mov dword [esp + 0x7c], edx
rol ebx, 0x10
shl edi, 0xc
neg ecx
xor ebx, ecx
shl edi, 0x13
or ebx, edi
jmp 0x4fda7a
add esp, 0x168
or edi, ecx
not ecx
sub edi, esi
mov ebx, ecx
jmp 0x4fc938
add edx, dword [esp + 0xac]
and edi, ebx
and ecx, ebx
mov ebx, ecx
and ecx, ebx
mov ecx, esi
xchg esi, ebx
or ecx, 0xa5e93ab3
neg ecx
jmp 0x4fe2b6
push edx
dec edi
and esi, ecx
jmp 0x4fe911
inc edx
add ebx, esi
or ebx, ecx
xor esi, ecx
xchg ebx, edi
add ebx, esi
or esi, edi
and esi, ebx
and ecx, esi
xchg esi, ebx
jmp 0x4fe770
mov edx, dword [esp + 0x24]
xor ecx, esi
nop
and esi, 0xa606f20e
mov edi, ecx
neg edi
mov edi, esi
add esi, edi
or ebx, 0xa6094e01
mov ebx, esi
sub edi, 0xa60a259f
mov ebx, ecx
or ebx, 0xa60ae493
not edi
add ecx, ebx
dec edi
jmp 0x4fe32c
add dword [esp + 0x7c], 0x78
add esi, edi
neg esi
xor edi, ebx
add esi, ecx
xchg ecx, edi
mov esi, edi
rol ecx, 3
sub ecx, esi
inc edi
not esi
sub ecx, ebx
or esi, ecx
jmp 0x4fd76f
mov edx, dword [edx]
add edi, ecx
xor ecx, 0xa62c0d86
bswap ecx
inc esi
shl esi, 0xe
shl ecx, 0x16
sub edi, esi
xor edi, esi
or ecx, ebx
mov edi, esi
add ecx, edi
xor ebx, edi
or ebx, 0xa62e52e0
jmp 0x4fd23d
mov edx, dword [edx]
mov ebx, ecx
dec edi
or ebx, ecx
and ecx, ebx
shr edi, 0xb
xor ecx, 0xa6373f2f
neg esi
and esi, ecx
sub esi, ecx
and ebx, ecx
jmp 0x4fd903
mov edx, dword [edx]
add ecx, esi
add edi, ebx
xchg edi, ecx
add edi, 0xa63bbbc7
or esi, 0xa63bf38b
xor esi, 0xa63c2a28
and edi, esi
inc esi
ror esi, 0xb
xchg ebx, edi
mov ecx, ebx
sub ebx, edi
or ebx, esi
or ecx, edi
jmp 0x4fe242
mov dword [esp + 0x104], 0
xchg ebx, esi
add ebx, edi
xor esi, ecx
mov esi, edi
and ebx, 0xa644340f
add ebx, esi
xor ecx, ebx
add esi, 0xa6456e0d
add ebx, edi
jmp 0x4fd3e6
mov edx, dword [edx]
or edi, ecx
and ecx, ebx
jmp 0x4fe79a
cmp eax, dword [esp + 4]
jmp 0x4fd30e
mov dword [esp + 0x104], edx
sub ecx, esi
inc ecx
or ecx, edi
inc esi
mov ebx, 0xa6642adc
add edi, ecx
sub ecx, esi
add ecx, esi
or edi, esi
neg edi
jmp 0x4fef36
sub esp, 0x168
bswap ebx
add ecx, 0xa66775fb
xor ebx, edi
or ecx, ebx
inc ecx
or edi, esi
mov esi, ecx
dec ecx
and ecx, esi
and esi, 0xa669285f
jmp 0x4fc9ab
mov edx, dword [edx]
bswap edi
add edi, 0xa669aec4
jmp 0x4fcc1b