Function at 0x1001e1b0
Capabilities:
Encrypt data using chaskey

Disassembly:
sub esp, 0x48
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
push ebx
push ebp
mov ebp, dword [eax]
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, dword [eax + 4]
lea eax, [esp + 0x18]
add esi, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
lea ecx, [ecx]
movzx eax, byte [esi - 1]
xor ebx, ebx
mov bh, byte [esi + 1]
add esi, 4
mov bl, byte [esi - 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi - 6]
shl ebx, 8
or ebx, eax
mov eax, dword [esp + 0x10]
mov dword [eax], ebx
add eax, 4
mov dword [esp + 0x10], eax
dec dword [esp + 0x14]
jne 0x1001e1e0
mov ebx, dword [esp + 0x18]
mov eax, ecx
xor eax, edx
and eax, edi
xor eax, ecx
add eax, ebx
add ebp, eax
mov ebx, dword [esp + 0x1c]
mov esi, ebp
shr esi, 0x1d
lea eax, [ebp*8]
or esi, eax
mov eax, edx
xor eax, edi
and eax, esi
xor eax, edx
add eax, ebx
add ecx, eax
mov ebx, dword [esp + 0x20]
mov eax, ecx
shl ecx, 7
shr eax, 0x19
or eax, ecx
mov ecx, edi
xor ecx, esi
and ecx, eax
xor ecx, edi
add ecx, ebx
mov ebx, dword [esp + 0x24]
add edx, ecx
mov ecx, edx
shl edx, 0xb
shr ecx, 0x15
or ecx, edx
mov edx, eax
xor edx, esi
and edx, ecx
xor edx, esi
add edx, ebx
mov ebx, dword [esp + 0x28]
add edi, edx
mov edx, edi
shr edi, 0xd
mov ebp, dword [esp + 0x2c]
shl edx, 0x13
or edx, edi
mov edi, eax
xor edi, ecx
and edi, edx
xor edi, eax
add edi, ebx
add esi, edi
mov edi, esi
shl esi, 3
shr edi, 0x1d
or edi, esi
mov esi, ecx
xor esi, edx
and esi, edi
xor esi, ecx
add esi, ebp
mov ebp, dword [esp + 0x30]
add eax, esi
mov esi, eax
shl eax, 7
shr esi, 0x19
or esi, eax
mov eax, edx
xor eax, edi
and eax, esi
xor eax, edx
add eax, ebp
add ecx, eax
mov eax, ecx
shl ecx, 0xb
shr eax, 0x15
or eax, ecx
mov ecx, esi
xor ecx, edi
and ecx, eax
xor ecx, edi
add ecx, dword [esp + 0x34]
add edx, ecx
mov ecx, edx
mov ebp, dword [esp + 0x38]
shr edx, 0xd
shl ecx, 0x13
or ecx, edx
mov edx, esi
xor edx, eax
and edx, ecx
xor edx, esi
add edx, ebp
add edi, edx
mov ebp, dword [esp + 0x3c]
mov ebx, edi
lea edx, [edi*8]
shr ebx, 0x1d
or ebx, edx
mov edx, eax
xor edx, ecx
and edx, ebx
xor edx, eax
add edx, ebp
mov ebp, dword [esp + 0x40]
add esi, edx
mov edx, esi
shl esi, 7
shr edx, 0x19
or edx, esi
mov esi, ecx
xor esi, ebx
and esi, edx
xor esi, ecx
add esi, ebp
mov ebp, dword [esp + 0x44]
add eax, esi
mov esi, eax
shl eax, 0xb
shr esi, 0x15
or esi, eax
mov eax, edx
xor eax, ebx
and eax, esi
xor eax, ebx
add eax, ebp
mov ebp, dword [esp + 0x48]
add ecx, eax
mov eax, ecx
shr ecx, 0xd
shl eax, 0x13
or eax, ecx
mov ecx, edx
xor ecx, esi
and ecx, eax
xor ecx, edx
add ecx, ebp
mov ebp, dword [esp + 0x4c]
add ebx, ecx
mov edi, ebx
lea ecx, [ebx*8]
shr edi, 0x1d
or edi, ecx
mov ecx, esi
xor ecx, eax
and ecx, edi
xor ecx, esi
add ecx, ebp
add edx, ecx
mov ecx, dword [esp + 0x50]
mov ebp, edx
shl edx, 7
shr ebp, 0x19
or ebp, edx
mov edx, eax
xor edx, edi
and edx, ebp
xor edx, eax
add edx, ecx
add esi, edx
mov ebx, esi
mov edx, dword [esp + 0x54]
shr ebx, 0x15
shl esi, 0xb
or ebx, esi
mov esi, dword [esp + 0x18]
mov ecx, ebp
xor ecx, edi
and ecx, ebx
xor ecx, edi
add ecx, edx
add eax, ecx
mov edx, ebx
mov ecx, eax
shr eax, 0xd
shl ecx, 0x13
or ecx, eax
mov eax, ebx
or edx, ecx
and edx, ebp
and eax, ecx
or edx, eax
add edx, esi
lea edi, [edi + edx + 0x5a827999]
mov eax, edi
lea edx, [edi*8]
mov edi, dword [esp + 0x28]
shr eax, 0x1d
or eax, edx
mov edx, ecx
or edx, eax
and edx, ebx
mov esi, ecx
and esi, eax
or edx, esi
add edx, edi
lea ebp, [edx + ebp + 0x5a827999]
mov edx, ebp
shl ebp, 5
shr edx, 0x1b
or edx, ebp
mov ebp, dword [esp + 0x38]
mov esi, edx
or esi, eax
and esi, ecx
mov edi, edx
and edi, eax
or esi, edi
add esi, ebp
lea ebx, [ebx + esi + 0x5a827999]
mov esi, ebx
shl ebx, 9
shr esi, 0x17
or esi, ebx
mov edi, edx
or edi, esi
and edi, eax
mov ebx, edx
and ebx, esi
or edi, ebx
add edi, dword [esp + 0x48]
lea ebx, [ecx + edi + 0x5a827999]
mov ecx, ebx
shl ebx, 0xd
shr ecx, 0x13
or ecx, ebx
mov ebx, esi
or ebx, ecx
and ebx, edx
mov edi, esi
and edi, ecx
or ebx, edi
mov edi, dword [esp + 0x1c]
add ebx, edi
lea ebx, [eax + ebx + 0x5a827999]
mov eax, ebx
shl ebx, 3
shr eax, 0x1d
or eax, ebx
mov ebx, ecx
or ebx, eax
and ebx, esi
mov ebp, ecx
and ebp, eax
or ebx, ebp
add ebx, dword [esp + 0x2c]
lea ebx, [edx + ebx + 0x5a827999]
mov edx, ebx
shl ebx, 5
shr edx, 0x1b
or edx, ebx
mov ebx, edx
or ebx, eax
and ebx, ecx
mov ebp, edx
and ebp, eax
or ebx, ebp
add ebx, dword [esp + 0x3c]
lea ebx, [esi + ebx + 0x5a827999]
mov esi, ebx
shl ebx, 9
shr esi, 0x17
or esi, ebx
mov ebx, edx
or ebx, esi
and ebx, eax
mov ebp, edx
and ebp, esi
or ebx, ebp
add ebx, dword [esp + 0x4c]
lea ebx, [ecx + ebx + 0x5a827999]
mov ecx, ebx
shl ebx, 0xd
shr ecx, 0x13
or ecx, ebx
mov ebx, esi
or ebx, ecx
and ebx, edx
mov ebp, esi
and ebp, ecx
or ebx, ebp
add ebx, dword [esp + 0x20]
lea ebx, [eax + ebx + 0x5a827999]
mov eax, ebx
shl ebx, 3
shr eax, 0x1d
or eax, ebx
mov ebx, ecx
or ebx, eax
and ebx, esi
mov ebp, ecx
and ebp, eax
or ebx, ebp
add ebx, dword [esp + 0x30]
lea ebx, [edx + ebx + 0x5a827999]
mov edx, ebx
shl ebx, 5
shr edx, 0x1b
or edx, ebx
mov ebx, edx
or ebx, eax
and ebx, ecx
mov ebp, edx
and ebp, eax
or ebx, ebp
add ebx, dword [esp + 0x40]
lea ebx, [esi + ebx + 0x5a827999]
mov esi, ebx
shl ebx, 9
shr esi, 0x17
or esi, ebx
mov ebx, edx
or ebx, esi
mov ebp, edx
and ebx, eax
and ebp, esi
or ebx, ebp
add ebx, dword [esp + 0x50]
lea ebx, [ecx + ebx + 0x5a827999]
mov ecx, ebx
shl ebx, 0xd
shr ecx, 0x13
or ecx, ebx
mov ebx, esi
or ebx, ecx
and ebx, edx
mov ebp, esi
and ebp, ecx
or ebx, ebp
add ebx, dword [esp + 0x24]
lea ebx, [eax + ebx + 0x5a827999]
mov eax, ebx
shl ebx, 3
shr eax, 0x1d
or eax, ebx
mov ebx, ecx
or ebx, eax
and ebx, esi
mov ebp, ecx
and ebp, eax
or ebx, ebp
add ebx, dword [esp + 0x34]
lea ebx, [edx + ebx + 0x5a827999]
mov edx, ebx
shl ebx, 5
shr edx, 0x1b
or edx, ebx
mov ebx, edx
or ebx, eax
and ebx, ecx
mov ebp, edx
and ebp, eax
or ebx, ebp
add ebx, dword [esp + 0x44]
lea ebx, [esi + ebx + 0x5a827999]
mov esi, ebx
shl ebx, 9
shr esi, 0x17
or esi, ebx
mov ebx, edx
or ebx, esi
and ebx, eax
mov ebp, edx
and ebp, esi
or ebx, ebp
add ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x18]
lea ecx, [ecx + ebx + 0x5a827999]
mov ebx, ecx
shl ecx, 0xd
shr ebx, 0x13
or ebx, ecx
mov ecx, edx
xor ecx, esi
xor ecx, ebx
add ecx, ebp
mov ebp, dword [esp + 0x38]
lea eax, [eax + ecx + 0x6ed9eba1]
mov ecx, eax
shl eax, 3
shr ecx, 0x1d
or ecx, eax
mov eax, esi
xor eax, ebx
xor eax, ecx
add eax, ebp
lea edx, [edx + eax + 0x6ed9eba1]
mov ebp, edx
shl edx, 9
shr ebp, 0x17
or ebp, edx
mov edx, ebp
xor edx, ebx
mov eax, dword [esp + 0x28]
xor edx, ecx
add edx, eax
lea esi, [esi + edx + 0x6ed9eba1]
mov edx, esi
shl esi, 0xb
shr edx, 0x15
or edx, esi
mov esi, ebp
xor esi, edx
mov eax, esi
xor eax, ecx
add eax, dword [esp + 0x48]
lea ebx, [ebx + eax + 0x6ed9eba1]
mov eax, ebx
shl ebx, 0xf
shr eax, 0x11
or eax, ebx
mov ebx, dword [esp + 0x20]
xor esi, eax
add esi, ebx
mov ebx, dword [esp + 0x40]
lea esi, [ecx + esi + 0x6ed9eba1]
mov ecx, esi
shl esi, 3
shr ecx, 0x1d
or ecx, esi
mov esi, edx
xor esi, eax
xor esi, ecx
add esi, ebx
lea ebp, [esi + ebp + 0x6ed9eba1]
mov esi, ebp
shr esi, 0x17
shl ebp, 9
or esi, ebp
mov ebp, dword [esp + 0x30]
mov ebx, esi
xor ebx, eax
xor ebx, ecx
add ebx, ebp
lea edx, [edx + ebx + 0x6ed9eba1]
mov ebx, edx
shl edx, 0xb
shr ebx, 0x15
or ebx, edx
mov edx, esi
xor edx, ebx
mov ebp, edx
xor ebp, ecx
add ebp, dword [esp + 0x50]
lea ebp, [eax + ebp + 0x6ed9eba1]
mov eax, ebp
shr eax, 0x11
shl ebp, 0xf
or eax, ebp
xor edx, eax
add edx, edi
mov edi, dword [esp + 0x3c]
lea edx, [ecx + edx + 0x6ed9eba1]
mov ecx, edx
shl edx, 3
shr ecx, 0x1d
or ecx, edx
mov edx, ebx
xor edx, eax
xor edx, ecx
add edx, edi
mov edi, dword [esp + 0x2c]
lea esi, [esi + edx + 0x6ed9eba1]
mov edx, esi
shl esi, 9
shr edx, 0x17
or edx, esi
mov esi, edx
xor esi, eax
xor esi, ecx
add esi, edi
lea ebx, [ebx + esi + 0x6ed9eba1]
mov esi, ebx
mov ebp, dword [esp + 0x4c]
shr esi, 0x15
shl ebx, 0xb
or esi, ebx
mov ebx, edx
xor ebx, esi
mov edi, ebx
xor edi, ecx
add edi, ebp
lea ebp, [eax + edi + 0x6ed9eba1]
mov eax, ebp
shr eax, 0x11
shl ebp, 0xf
or eax, ebp
mov ebp, dword [esp + 0x24]
xor ebx, eax
add ebx, ebp
lea ebx, [ecx + ebx + 0x6ed9eba1]
mov ebp, dword [esp + 0x34]
mov ecx, ebx
lea edi, [ebx*8]
mov ebx, dword [esp + 0x44]
shr ecx, 0x1d
or ecx, edi
mov edi, esi
xor edi, eax
xor edi, ecx
add edi, ebx
lea edx, [edx + edi + 0x6ed9eba1]
mov ebx, edx
shl edx, 9
shr ebx, 0x17
or ebx, edx
mov edx, ebx
xor edx, eax
xor edx, ecx
add edx, ebp
mov ebp, dword [esp + 0x54]
lea esi, [esi + edx + 0x6ed9eba1]
mov edx, esi
shl esi, 0xb
shr edx, 0x15
or edx, esi
mov esi, ebx
xor esi, edx
xor esi, ecx
add esi, ebp
lea eax, [eax + esi + 0x6ed9eba1]
mov esi, dword [esp + 0x5c]
mov esi, dword [esi]
add esi, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], esi
mov esi, eax
shl eax, 0xf
shr esi, 0x11
or esi, eax
add esi, dword [ecx + 4]
mov eax, dword [ecx + 8]
add eax, edx
pop edi
mov dword [ecx + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [ecx + 4], esi
pop esi
add eax, ebx
pop ebp
mov dword [ecx + 0xc], eax
pop ebx
add esp, 0x48
ret