Function at 0xc116b6
Capabilities:
Authenticate hmac
Encrypt data using chaskey

Disassembly:
inc ecx
not ebx
dec eax
sar edi, 0xa6
inc ecx
rol ebx, 2
inc ecx
idiv dl
inc ecx
xor ebx, 0x1c15e43a
inc ecx
push edi
rol dl, 0x64
inc cx
shr ebp, 1
inc esp
xor dword [esp + esi - 0x681000de], ebx
inc ecx
pop edi
ror edi, 0x8a
xchg esi, edi
inc ecx
rol ebp, 0xd0
dec eax
lea ebp, [edx + ebp - 0x4037ffd3]
dec eax
ror eax, 0xff
inc esp
mov dword [ebp + esi], ebx
jae fcn.00d9f1e9
add esi, eax
mov cx, word [ecx + edi - 0x6300]
add edi, 2
or edx, dword [esp]
jae 0x81241e
ror dword [esp], 0x2e
mul ecx
mov ecx, 0x212b25be
mov dword [ebp + ecx*2 - 0x42564b7c], edx
or ecx, ecx
shr word [esp + ecx - 0x212b25bc], 0x4e
mov dword [ebp + ecx*2 - 0x42564b78], eax
dec cl
movsx edx, cl
sal dx, 0x86
mov eax, dword [edi + ecx*2 - 0x42564b7a]
sal dx, 0x64
sar dword [esp + ecx - 0x212b25bd], 0x2b
lea edi, [edi + ecx*2 - 0x42564b76]
mov byte [esp + ecx*2 - 0x42564b78], cl
sal byte [esp + ecx*2 - 0x42564b77], 0xa1
dec dx
xor eax, ebx
inc byte [esp + ecx - 0x212b25bc]
or word [esp + ecx - 0x212b25bd], cx
bswap eax
sal edx, cl
inc eax
bswap eax
dec cl
setle dl
xor eax, 0xf836c409
dec edx
xor ebx, eax
jmp 0xceaa25
inc ecx
shl esp, 0x4f
inc ecx
add edx, ecx
inc edi
mov ebx, dword [eax + ebx - 0x341a500f]
inc ecx
mul ebp
inc esp
movzx edx, di
inc cx
neg ebp
dec ebp
lea eax, [eax + edx - 0x4037fff8]
dec eax
btr edi, eax
inc ebp
xor ebx, edi
inc ecx
xor ebx, 0x21a96b1
inc ecx
dec ebp
jp 0x79f413
mov ecx, dword [ebp]
mov eax, 0x1fa5a59e
mov eax, dword [ebp + eax - 0x1fa5a59a]
push 0xa60f910f
jmp 0x7cfc78
movsx eax, byte [esp]
movzx edx, byte [ebp]
ror eax, 0x75
jp 0xbfdf48
mov edi, 0xb60f0cb5
call fcn.00c84639
add byte [eax], al
inc edi
je 0x812493
jns 0x8124b5
je 0x8124a9
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x69467341
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x9228e900
xor eax, dword [eax]
dec ebp
adc esi, edx
jmp 0x7e5c43
dec eax
add byte [eax + 0x48cc10f], bl
sbb dh, 0xff
push dword [ebx]
fiadd dword [ebx]
ror dword [esp + eax*8 - 0x10c00], 0x59
jbe 0xc823ad
cdq
mov eax, dword [edx + edi]
sub dx, word [esp + edx + 4]
sub dword [esp + edx*4 - 0x3b32c], edx
lea edi, [ecx + edi - 0x5d5ebf9b]
xor eax, ebx
mov dword [esp + edx*4 - 0x3b330], edx
pop ecx
btc cx, 0x2f
rol eax, 3
bswap eax
imul edx, ecx
inc dword [esp + ecx*2 - 0xd998]
neg eax
shl dword [esp + ecx - 0x6ccc], cl
xor eax, 0xf8335c12
sub cx, word [esp + ecx*2 - 0xd997]
sub ecx, dword [esp + ecx*2 - 0xd997]
and dword [esp + ecx*8 - 0x31e0], 0xa287c795
and edx, dword [esp + ecx - 0x63c]
xor ebx, eax
sal edx, cl
sar ecx, 9
jnp 0x7b6502
lea ebp, [ecx + ebp - 7]
mov dword [ebp + ecx*2 - 6], eax
movzx eax, word [esp + ecx*8 - 0x18]
pop edx
ja fcn.00b635ce
xor eax, 0x228525af
xchg edx, eax
mov dword [ebp + 0x2b47b2da], esi
aad 0xce
mov eax, 0x2532f7bc
neg byte [edi]
jp 0xc11774
lds esi, [edi + 0x5a]
cmp ecx, dword [ebx - 0x476fc5aa]
jl 0xc116fa
jg 0xc1175a
xchg dword [ebx], esp
fstp qword [edx - 0x39]
and dword [ebx], edx
insd dword es:[edi], dx
mov dword [0xe73723db], eax
in eax, 0xcc
sbb dword [ebx + 0x7c5d61bc], ebx
loopne 0xc11785
fcmovu st(0), st(2)
sub cl, byte [eax - 0x66]
leave
mov bl, 0x74
push ss
sub ebx, 8
and cl, cl
in al, dx
cli
jne 0xc117e8
or eax, 0x57600b6a
push edi
insd dword es:[edi], dx
adc ecx, dword [edx]
xor edi, dword [edi]
movups xmm4, xmmword [esi - 0x3f]
dec sp
mov dword [esp + eax*4 - 0x248], edi
xor dword [esp + eax - 0x92], edi
dec eax
lea esi, [ecx - 0x2b5c55e5]
inc ecx
pop edi
inc esp
bt esi, ebp
dec eax
arpl di, di
inc esp
xchg ecx, edx
inc ecx
idiv dl
dec esp
add esi, edi
dec eax
lea ebx, [ecx + esi*2 + 0x1fa55c38]
add bx, 0x73a4
inc ecx
jmp esi
adc ebp, 0
ror eax, 0xe3
xor dl, bl
xchg dword [esp], eax
sub dl, 0x81
neg dl
rol ax, 5
sar al, 3
dec ax
adc dl, 0xa9
call fcn.00826e58