Function at 0x8edd1d
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
dec eax
mov dword [esp + eax*8 - 0x468], 0x7a9ac211
inc ebx
mov dword [edi - 0x50b6978d], ebx
dec ecx
lea edi, [esp + edi - 0x50b69791]
dec edx
not dword [esp + ecx - 0x8d]
cdq
inc esi
mov esp, dword [edi - 0x50b6978d]
inc ebp
xor esp, edx
inc cx
inc ecx
inc esp
cwde
inc edx
sal dword [esp + ecx*4 - 0x234], 0xd
inc ecx
not esp
inc ecx
setns ch
inc ecx
neg esp
inc ecx
rol esp, 1
inc esp
movzx ebx, dh
ror ecx, cl
jb 0x9c0dd4
xor cx, word [esp + 1]
sbb esi, 4
mov edx, dword [esi]
sal ecx, cl
xor edx, ebx
dec cx
sal cx, 0xe9
sbb dword [esp + ecx*2 - 0x6401fbfc], ecx
xor edx, 0x43a5c134
lea eax, [ecx*8 + 0x3ebedc3c]
ror edx, 3
ror byte [esp + ecx - 0x3200fdff], 0x85
bswap edx
jb 0x9f6763
inc ecx
neg ebx
dec ebx
lea ebx, [esi + esi + 0x412dd814]
inc ecx
xor ebx, 0xab28b69e
inc ecx
dec ebx
dec esp
lea ecx, [ebx*2 - 0x7d59effd]
dec ecx
dec ecx
dec ecx
xchg ecx, edx
inc ecx
bswap ebx
inc esp
movsx esp, dh
dec eax
neg dword [esp + edx - 0x501c23a]
inc bp
imul eax, eax
inc ebp
lea ebx, [ebx + edx + 0x662b49f6]
inc ecx
push ecx
inc ecx
bswap esi
dec ecx
bt ecx, edx
dec esp
mov dword [esp + edx*2 - 0xa03846c], edx
jae 0x9c96f7
jnp 0x92f8ee
inc esp
sub dh, dl
inc ecx
bswap esi
inc esi
xor dword [esp + ebx - 0x5a3c57a2], ecx
inc ecx
sar eax, cl
inc cx
ror ebx, cl
inc ecx
shl dh, 0x67
inc ecx
pop edx
inc ebp
movzx esp, bx
inc ebp
xchg eax, esp
dec ecx
add esi, 0xcf17d306
dec ebp
arpl cx, cx
dec ecx
adc ebp, ecx
inc cx
bt esp, ebx
inc ecx
setb al
dec esp
xor esp, ebp
inc ecx
jmp esp
mov dword [edi + edx - 0x46c8db20], eax
shr cl, 0xe1
btr cx, cx
mov eax, 0x3db68637
lea edi, [edx + edi - 0x46c8db20]
adc edx, eax
mov dword [esp + eax - 0x3db68637], ebp
ret
dec ebp
arpl bx, bx
inc cx
rol esi, 0xaf
rol byte [esp + edx - 0x501c238], 0xc4
dec ecx
add ebp, ebx
rol si, 0xe8
inc ecx
push ebp
dec eax
mov dword [esp + edx*2 - 0xa038474], ebp
ret 0x10
bt ecx, ecx
sbb esi, 3
xor edx, ebx
mov eax, ecx
rol cx, cl
sbb edx, 0xcca23b85
dec eax
sub cx, ax
neg edx
cwde
btc eax, 0xb7
lea edx, [edx + ecx + 0x43b94edf]
lea eax, [ecx*8 - 0x1a48a6c4]
xadd eax, ecx
btc eax, eax
ror edx, 3
bswap edx
shr eax, 0x17
lea ecx, [eax + eax*8 + 0x179049a5]
lea ecx, [ecx*2 + 0x3726e538]
xor edx, 0x5b315d20
lea edx, [edx + ecx - 0x392dae58]
sar ecx, 0x16
rol edx, 1
bts ax, cx
dec edx
bts eax, eax
bswap edx
btr eax, ecx
inc edx
sal ax, 0x64
xor eax, ecx
xor ebx, edx
push ecx
xadd dword [esp + ecx - 0x199], eax
adc ebp, edx
add byte [esp + ecx - 0x199], 0xb7
neg ax
mov eax, dword [edi + ecx*2 - 0x332]
mov edx, 0xb93724a7
sal ecx, cl
mov ecx, dword [edi + ecx - 0x31fffffc]
sub dl, dl
and eax, ecx
not edx
sub dl, dh
not eax
lea ecx, [edx - 0x6b6356f0]
jp 0x90442a
inc esp
sbb esp, edx
inc ebp
mov esi, ebp
call fcn.009edf9a
inc ebp
mov edx, esp
inc esp
xor dword [esp + edx*2 - 0xa03846c], ebx
inc cx
not ecx
imul esi, dword [esp + edx*4 - 0x140708e4]
inc sp
sub ebp, dword [esp + edx*4 - 0x140708e7]
dec esp
mov edx, dword [esp + edx - 0x501c232]
xchg word [esp + edx - 0x501c237], bx
jno 0x9108b4
call fcn.009d5adc
inc al
xor edx, 0x6529fdae
bt eax, ecx
cwde
rol edx, 1
xchg word [esp + ecx - 0x3200fdff], cx
xor ebx, edx
xor eax, eax
btr cx, 2
ror dword [esp + ecx - 0x3200b7a8], cl
adc ebp, edx
push eax
pop edx
pop eax
pop ecx
jmp fcn.009d640f