Function at 0x425a50
Capabilities:
Encrypt data using chaskey

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