Function at 0x100b1540
Capabilities:
Encrypt data using chaskey

Disassembly:
sub esp, 0x54
mov eax, dword [0x106499c8]
xor eax, esp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
push ebx
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
push ebp
mov ebp, dword [eax + 8]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0xc]
push esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
push edi
mov dword [esp + 0x18], ecx
add eax, 2
lea esi, [esp + 0x20]
mov edi, 0x10
lea ecx, [ecx]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax - 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax - 2]
shl edx, 8
or edx, ecx
mov dword [esi], edx
lea esi, [esi + 4]
lea eax, [eax + 4]
dec edi
jne 0x100b1580
mov edx, dword [esp + 0x14]
mov eax, edx
xor eax, ebp
and eax, ebx
xor eax, edx
add eax, dword [esp + 0x20]
mov ecx, ebp
add eax, dword [esp + 0x18]
xor ecx, ebx
rol eax, 3
and ecx, eax
xor ecx, ebp
add ecx, dword [esp + 0x24]
add ecx, edx
mov edx, ebx
xor edx, eax
rol ecx, 7
and edx, ecx
xor edx, ebx
add edx, dword [esp + 0x28]
mov esi, ecx
xor esi, eax
add edx, ebp
rol edx, 0xb
and esi, edx
xor esi, eax
add esi, dword [esp + 0x2c]
mov edi, ecx
xor edi, edx
add esi, ebx
ror esi, 0xd
and edi, esi
xor edi, ecx
add edi, dword [esp + 0x30]
add edi, eax
mov eax, edx
xor eax, esi
rol edi, 3
and eax, edi
xor eax, edx
add eax, dword [esp + 0x34]
add eax, ecx
mov ecx, esi
xor ecx, edi
rol eax, 7
and ecx, eax
xor ecx, esi
add ecx, dword [esp + 0x38]
add ecx, edx
mov edx, eax
xor edx, edi
rol ecx, 0xb
and edx, ecx
xor edx, edi
add edx, dword [esp + 0x3c]
add edx, esi
mov esi, eax
xor esi, ecx
ror edx, 0xd
and esi, edx
xor esi, eax
add esi, dword [esp + 0x40]
add esi, edi
mov edi, ecx
xor edi, edx
rol esi, 3
and edi, esi
xor edi, ecx
add edi, dword [esp + 0x44]
add edi, eax
mov eax, edx
xor eax, esi
rol edi, 7
and eax, edi
xor eax, edx
add eax, dword [esp + 0x48]
add eax, ecx
mov ecx, edi
xor ecx, esi
rol eax, 0xb
and ecx, eax
xor ecx, esi
add ecx, dword [esp + 0x4c]
add ecx, edx
ror ecx, 0xd
mov edx, edi
xor edx, eax
and edx, ecx
xor edx, edi
add edx, dword [esp + 0x50]
add edx, esi
rol edx, 3
mov esi, eax
xor esi, ecx
and esi, edx
xor esi, eax
add esi, dword [esp + 0x54]
add esi, edi
rol esi, 7
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, ecx
add edi, dword [esp + 0x58]
mov ebp, esi
add edi, eax
xor ebp, edx
mov eax, esi
lea ebx, [esi + 0x5a827999]
rol edi, 0xb
and ebp, edi
and eax, edi
xor ebp, edx
add ebp, dword [esp + 0x5c]
add ebp, ecx
mov ecx, esi
ror ebp, 0xd
or ecx, edi
and ecx, ebp
or eax, ecx
add eax, dword [esp + 0x20]
mov ecx, edi
add eax, edx
or ecx, ebp
lea edx, [eax + 0x5a827999]
lea eax, [eax*8 - 0x2bec3338]
shr edx, 0x1d
or edx, eax
and ecx, edx
mov eax, edi
and eax, ebp
or ecx, eax
add ecx, dword [esp + 0x30]
lea eax, [esi + 0x2827999]
add eax, ecx
add ebx, ecx
shl eax, 5
shr ebx, 0x1b
or ebx, eax
mov ecx, ebp
or ecx, edx
and ecx, ebx
mov eax, ebp
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x40]
lea esi, [edi + 0x5a827999]
add esi, ecx
lea eax, [edi + 0x27999]
add eax, ecx
shl eax, 9
shr esi, 0x17
or esi, eax
mov ecx, ebx
or ecx, edx
and ecx, esi
mov eax, ebx
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x50]
lea edi, [ebp + 0x5a827999]
add edi, ecx
lea eax, [ebp + 0x27999]
add eax, ecx
shl eax, 0xd
shr edi, 0x13
or edi, eax
mov ecx, ebx
or ecx, esi
and ecx, edi
mov eax, ebx
and eax, esi
or eax, ecx
add eax, dword [esp + 0x24]
mov ecx, esi
add eax, edx
or ecx, edi
lea edx, [eax + 0x5a827999]
lea eax, [eax*8 - 0x2bec3338]
shr edx, 0x1d
or edx, eax
and ecx, edx
mov eax, esi
and eax, edi
or ecx, eax
add ecx, dword [esp + 0x34]
lea ebp, [ebx + 0x5a827999]
add ebp, ecx
lea eax, [ebx + 0x2827999]
add eax, ecx
shl eax, 5
mov ecx, edi
or ecx, edx
shr ebp, 0x1b
or ebp, eax
and ecx, ebp
mov eax, edi
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x44]
lea ebx, [esi + 0x5a827999]
add ebx, ecx
lea eax, [esi + 0x27999]
add eax, ecx
shl eax, 9
shr ebx, 0x17
or ebx, eax
mov ecx, ebp
or ecx, edx
and ecx, ebx
mov eax, ebp
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x54]
lea esi, [edi + 0x5a827999]
add esi, ecx
lea eax, [edi + 0x27999]
add eax, ecx
shl eax, 0xd
shr esi, 0x13
or esi, eax
mov ecx, ebp
or ecx, ebx
and ecx, esi
mov eax, ebp
and eax, ebx
or eax, ecx
add eax, dword [esp + 0x28]
mov ecx, ebx
add eax, edx
or ecx, esi
lea edx, [eax + 0x5a827999]
lea eax, [eax*8 - 0x2bec3338]
shr edx, 0x1d
or edx, eax
and ecx, edx
mov eax, ebx
and eax, esi
or ecx, eax
add ecx, dword [esp + 0x38]
lea edi, [ebp + 0x5a827999]
add edi, ecx
shr edi, 0x1b
lea eax, [ebp + 0x2827999]
add eax, ecx
shl eax, 5
or edi, eax
mov ecx, esi
or ecx, edx
and ecx, edi
lea ebp, [ebx + 0x5a827999]
mov eax, esi
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x48]
lea eax, [ebx + 0x27999]
add eax, ecx
add ebp, ecx
shl eax, 9
mov ecx, edi
or ecx, edx
shr ebp, 0x17
or ebp, eax
and ecx, ebp
mov eax, edi
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x58]
lea ebx, [esi + 0x5a827999]
add ebx, ecx
lea eax, [ecx + 0x27999]
add eax, esi
shl eax, 0xd
shr ebx, 0x13
or ebx, eax
mov ecx, edi
or ecx, ebp
and ecx, ebx
mov eax, edi
and eax, ebp
or eax, ecx
add eax, dword [esp + 0x2c]
mov ecx, ebp
add eax, edx
or ecx, ebx
lea edx, [eax + 0x5a827999]
lea eax, [eax*8 - 0x2bec3338]
shr edx, 0x1d
or edx, eax
and ecx, edx
mov dword [esp + 0x14], edi
mov eax, ebp
and eax, ebx
or ecx, eax
add ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
add eax, 0x2827999
add eax, ecx
shl eax, 5
add edi, 0x5a827999
add edi, ecx
mov ecx, ebx
or ecx, edx
shr edi, 0x1b
or edi, eax
mov eax, ebx
and eax, edx
and ecx, edi
or ecx, eax
add ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ebx
lea ebx, [ebp + 0x5a827999]
add ebx, ecx
lea eax, [ebp + 0x27999]
add eax, ecx
shl eax, 9
shr ebx, 0x17
or ebx, eax
mov ecx, edi
or ecx, edx
mov eax, edi
and ecx, ebx
and eax, edx
or ecx, eax
add ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
lea esi, [edi - 0x26145f]
lea ebp, [eax + 0x5a827999]
add eax, 0x27999
add eax, ecx
shl eax, 0xd
add ebp, ecx
shr ebp, 0x13
or ebp, eax
mov eax, edi
xor eax, ebx
xor eax, ebp
add eax, dword [esp + 0x20]
add edi, 0x6ed9eba1
add eax, edx
lea edx, [eax + 0x6ed9eba1]
lea eax, [eax*8 + 0x76cf5d08]
shr edx, 0x1d
or edx, eax
mov eax, ebx
xor eax, ebp
xor eax, edx
add eax, dword [esp + 0x40]
add esi, eax
add eax, edi
shr eax, 0x17
shl esi, 9
or esi, eax
mov eax, esi
xor eax, ebp
xor eax, edx
add eax, dword [esp + 0x30]
lea edi, [ebx - 0x6145f]
add edi, eax
add ebx, 0x6ed9eba1
add eax, ebx
shr eax, 0x15
mov ecx, esi
shl edi, 0xb
or edi, eax
xor ecx, edi
mov eax, ecx
xor eax, edx
add eax, dword [esp + 0x50]
lea ebx, [ebp - 0x145f]
add ebx, eax
add ebp, 0x6ed9eba1
add eax, ebp
shr eax, 0x11
shl ebx, 0xf
or ebx, eax
xor ecx, ebx
add ecx, dword [esp + 0x28]
lea ebp, [esi - 0x26145f]
add esi, 0x6ed9eba1
lea eax, [ecx + edx]
lea edx, [eax + 0x6ed9eba1]
lea eax, [eax*8 + 0x76cf5d08]
shr edx, 0x1d
or edx, eax
mov eax, edi
xor eax, ebx
xor eax, edx
add eax, dword [esp + 0x48]
add ebp, eax
add eax, esi
shr eax, 0x17
shl ebp, 9
or ebp, eax
mov eax, ebp
xor eax, ebx
xor eax, edx
add eax, dword [esp + 0x38]
lea esi, [edi - 0x6145f]
add esi, eax
add edi, 0x6ed9eba1
add eax, edi
shl esi, 0xb
shr eax, 0x15
or esi, eax
mov ecx, ebp
xor ecx, esi
mov eax, ecx
xor eax, edx
add eax, dword [esp + 0x58]
lea edi, [ebx - 0x145f]
add edi, eax
add ebx, 0x6ed9eba1
add eax, ebx
shr eax, 0x11
shl edi, 0xf
or edi, eax
xor ecx, edi
add ecx, dword [esp + 0x24]
lea ebx, [ebp - 0x26145f]
add ebp, 0x6ed9eba1
lea eax, [ecx + edx]
lea edx, [eax + 0x6ed9eba1]
lea eax, [eax*8 + 0x76cf5d08]
shr edx, 0x1d
or edx, eax
mov eax, esi
xor eax, edi
xor eax, edx
add eax, dword [esp + 0x44]
add ebx, eax
add eax, ebp
shr eax, 0x17
shl ebx, 9
or ebx, eax
lea ebp, [esi - 0x6145f]
mov eax, ebx
xor eax, edi
xor eax, edx
add eax, dword [esp + 0x34]
add esi, 0x6ed9eba1
add ebp, eax
add eax, esi
shr eax, 0x15
shl ebp, 0xb
or ebp, eax
mov ecx, ebx
xor ecx, ebp
mov eax, ecx
xor eax, edx
add eax, dword [esp + 0x54]
lea esi, [edi - 0x145f]
add esi, eax
add edi, 0x6ed9eba1
add eax, edi
shr eax, 0x11
shl esi, 0xf
or esi, eax
xor ecx, esi
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x10]
lea eax, [ecx + edx]
lea edx, [ebp - 0x6145f]
lea ecx, [eax + 0x6ed9eba1]
lea eax, [eax*8 + 0x76cf5d08]
shr ecx, 0x1d
or ecx, eax
mov eax, ebp
xor eax, esi
xor eax, ecx
add eax, dword [esp + 0x4c]
lea esi, [ebx - 0x26145f]
add esi, eax
add ebx, 0x6ed9eba1
add eax, ebx
shr eax, 0x17
shl esi, 9
or esi, eax
mov eax, esi
xor eax, edi
xor eax, ecx
add eax, dword [esp + 0x3c]
add edx, eax
shl edx, 0xb
add ebp, 0x6ed9eba1
mov ebx, dword [esp + 0x1c]
add eax, ebp
add dword [ebx + 0xc], esi
shr eax, 0x15
or edx, eax
mov eax, dword [esp + 0x18]
add dword [ebx + 8], edx
add eax, ecx
mov dword [ebx], eax
mov eax, esi
xor eax, edx
xor eax, ecx
add eax, dword [esp + 0x5c]
lea ecx, [edi - 0x145f]
add ecx, eax
add edi, 0x6ed9eba1
add eax, edi
shl ecx, 0xf
pop edi
shr eax, 0x11
or ecx, eax
add dword [ebx + 4], ecx
mov ecx, dword [esp + 0x5c]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10311bec
add esp, 0x54
ret