Function at 0x5f8008
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffeb8
mov dword [esp], eax
lea edx, [esp + 8]
mov eax, dword [esp]
add eax, 0x28
call fcn.005f6580
lea edx, [esp + 0x28]
mov eax, dword [esp]
add eax, 0x48
call fcn.005f6580
mov ecx, 0x40
lea eax, [esp + 0x3c]
mov edx, dword [eax]
xor edx, dword [eax - 0x14]
xor edx, dword [eax - 0x2c]
xor edx, dword [eax - 0x34]
mov ebx, edx
add ebx, ebx
shr edx, 0x1f
or ebx, edx
mov dword [eax + 0xc], ebx
add eax, 4
dec ecx
jne 0x5f803c
mov eax, dword [esp]
mov eax, dword [eax]
mov edx, dword [esp]
mov edx, dword [edx + 4]
mov ecx, dword [esp]
mov ecx, dword [ecx + 8]
mov ebx, dword [esp]
mov ebx, dword [ebx + 0xc]
mov esi, dword [esp]
mov esi, dword [esi + 0x10]
mov dword [esp + 4], esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
and edi, edx
xor edi, ebx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 8]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
and edi, eax
xor edi, ecx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0xc]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
and edi, dword [esp + 4]
xor edi, edx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x10]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
and edi, ebx
xor edi, eax
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x14]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
and edi, ecx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x18]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
and edi, edx
xor edi, ebx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x1c]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
and edi, eax
xor edi, ecx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x20]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
and edi, dword [esp + 4]
xor edi, edx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x24]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
and edi, ebx
xor edi, eax
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x28]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
and edi, ecx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x2c]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
and edi, edx
xor edi, ebx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x30]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
and edi, eax
xor edi, ecx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x34]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
and edi, dword [esp + 4]
xor edi, edx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x38]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
and edi, ebx
xor edi, eax
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x3c]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
and edi, ecx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x40]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
and edi, edx
xor edi, ebx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x44]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
and edi, eax
xor edi, ecx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x48]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
and edi, dword [esp + 4]
xor edi, edx
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x4c]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
and edi, ebx
xor edi, eax
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x50]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
and edi, ecx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x5a827999
add esi, dword [esp + 0x54]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x58]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x5c]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x60]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x64]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x68]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x6c]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x70]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x74]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x78]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x7c]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x80]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x84]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x88]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x8c]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x90]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x94]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x98]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0x9c]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0xa0]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0x6ed9eba1
add esi, dword [esp + 0xa4]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
and edi, ecx
mov ebp, edx
or ebp, ecx
and ebp, ebx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xa8]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
and edi, edx
mov ebp, eax
or ebp, edx
and ebp, ecx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xac]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
and edi, eax
mov ebp, dword [esp + 4]
or ebp, eax
and ebp, edx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xb0]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
and edi, dword [esp + 4]
mov ebp, ebx
or ebp, dword [esp + 4]
and ebp, eax
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xb4]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
and edi, ebx
mov ebp, ecx
or ebp, ebx
and ebp, dword [esp + 4]
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xb8]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
and edi, ecx
mov ebp, edx
or ebp, ecx
and ebp, ebx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xbc]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
and edi, edx
mov ebp, eax
or ebp, edx
and ebp, ecx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xc0]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
and edi, eax
mov ebp, dword [esp + 4]
or ebp, eax
and ebp, edx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xc4]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
and edi, dword [esp + 4]
mov ebp, ebx
or ebp, dword [esp + 4]
and ebp, eax
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xc8]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
and edi, ebx
mov ebp, ecx
or ebp, ebx
and ebp, dword [esp + 4]
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xcc]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
and edi, ecx
mov ebp, edx
or ebp, ecx
and ebp, ebx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xd0]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
and edi, edx
mov ebp, eax
or ebp, edx
and ebp, ecx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xd4]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
and edi, eax
mov ebp, dword [esp + 4]
or ebp, eax
and ebp, edx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xd8]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
and edi, dword [esp + 4]
mov ebp, ebx
or ebp, dword [esp + 4]
and ebp, eax
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xdc]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
and edi, ebx
mov ebp, ecx
or ebp, ebx
and ebp, dword [esp + 4]
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xe0]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
and edi, ecx
mov ebp, edx
or ebp, ecx
and ebp, ebx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xe4]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
and edi, edx
mov ebp, eax
or ebp, edx
and ebp, ecx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xe8]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
and edi, eax
mov ebp, dword [esp + 4]
or ebp, eax
and ebp, edx
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xec]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
and edi, dword [esp + 4]
mov ebp, ebx
or ebp, dword [esp + 4]
and ebp, eax
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xf0]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
and edi, ebx
mov ebp, ecx
or ebp, ebx
and ebp, dword [esp + 4]
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add esi, dword [esp + 0xf4]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0xf8]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0xfc]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x100]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x104]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x108]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x10c]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x110]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x114]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x118]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x11c]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x120]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x124]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x128]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x12c]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x130]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ecx
xor edi, ebx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x134]
add dword [esp + 4], esi
mov esi, edx
shl esi, 0x1e
shr edx, 2
or esi, edx
mov edx, esi
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, edx
xor edi, ecx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x138]
add ebx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
or esi, eax
mov eax, esi
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
xor edi, edx
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x13c]
add ecx, esi
mov esi, dword [esp + 4]
shl esi, 0x1e
mov edi, dword [esp + 4]
shr edi, 2
or esi, edi
mov dword [esp + 4], esi
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, dword [esp + 4]
xor edi, eax
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x140]
add edx, esi
mov esi, ebx
shl esi, 0x1e
shr ebx, 2
or esi, ebx
mov ebx, esi
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, ebx
xor edi, dword [esp + 4]
add esi, edi
add esi, 0xca62c1d6
add esi, dword [esp + 0x144]
add eax, esi
mov esi, ecx
shl esi, 0x1e
shr ecx, 2
or esi, ecx
mov ecx, esi
mov esi, dword [esp]
add dword [esi], eax
mov eax, dword [esp]
add dword [eax + 4], edx
mov eax, dword [esp]
add dword [eax + 8], ecx
mov eax, dword [esp]
add dword [eax + 0xc], ebx
mov eax, dword [esp]
mov edx, dword [esp + 4]
add dword [eax + 0x10], edx
add esp, 0x148
pop ebp
pop edi
pop esi
pop ebx
ret