Function at 0x470690
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x64
mov ebx, dword [eax]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp], edx
mov dword [esp + 0x4c], ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x48], ebx
mov ebx, dword [eax + 8]
mov dword [esp + 0x50], ebx
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
movzx ebx, byte [eax]
mov edx, edi
mov dword [esp + 0x24], ebx
mov ebx, eax
movzx eax, byte [eax + 1]
shl dword [esp + 0x24], 0x18
ror edx, 0x1b
shl eax, 0x10
or dword [esp + 0x24], eax
movzx eax, byte [ebx + 3]
or dword [esp + 0x24], eax
movzx eax, byte [ebx + 2]
shl eax, 8
or dword [esp + 0x24], eax
mov eax, ebx
movzx ebx, byte [ebx + 4]
mov dword [esp + 0x28], ebx
mov ebx, eax
movzx eax, byte [eax + 5]
shl dword [esp + 0x28], 0x18
shl eax, 0x10
or dword [esp + 0x28], eax
movzx eax, byte [ebx + 7]
or dword [esp + 0x28], eax
movzx eax, byte [ebx + 6]
shl eax, 8
or dword [esp + 0x28], eax
mov eax, ecx
xor eax, ebp
and eax, dword [esp + 0x48]
xor eax, ecx
lea esi, [edx + eax + 0x5a827999]
mov eax, ebx
movzx ebx, byte [ebx + 8]
add esi, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
add esi, dword [esp + 0x58]
mov dword [esp + 0x2c], ebx
mov ebx, eax
movzx eax, byte [eax + 9]
shl dword [esp + 0x2c], 0x18
ror edx, 2
shl eax, 0x10
or dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0xb]
or dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0xa]
shl eax, 8
or dword [esp + 0x2c], eax
mov eax, ebp
xor eax, edx
and eax, edi
xor eax, ebp
lea eax, [ecx + eax + 0x5a827999]
mov ecx, esi
add eax, dword [esp + 0x28]
ror ecx, 0x1b
ror edi, 2
add eax, ecx
movzx ecx, byte [ebx + 0xc]
mov dword [esp + 0x30], ecx
movzx ecx, byte [ebx + 0xd]
shl dword [esp + 0x30], 0x18
shl ecx, 0x10
or dword [esp + 0x30], ecx
movzx ecx, byte [ebx + 0xf]
or dword [esp + 0x30], ecx
movzx ecx, byte [ebx + 0xe]
shl ecx, 8
or dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
lea ebx, [ebp + ecx + 0x5a827999]
mov ebp, edi
xor ebp, edx
mov ecx, ebp
mov ebp, eax
and ecx, esi
xor ecx, edx
add ebx, ecx
mov ecx, dword [esp]
ror ebp, 0x1b
add ebx, ebp
ror esi, 2
movzx ebp, byte [ecx + 0x10]
mov dword [esp + 0x34], ebp
mov ebp, ecx
movzx ecx, byte [ecx + 0x11]
shl dword [esp + 0x34], 0x18
shl ecx, 0x10
or dword [esp + 0x34], ecx
movzx ecx, byte [ebp + 0x13]
or dword [esp + 0x34], ecx
movzx ecx, byte [ebp + 0x12]
mov ebp, dword [esp + 0x30]
shl ecx, 8
or dword [esp + 0x34], ecx
lea ecx, [edx + ebp + 0x5a827999]
mov ebp, esi
xor ebp, edi
mov edx, ebp
mov ebp, ebx
and edx, eax
xor edx, edi
add ecx, edx
mov edx, dword [esp]
ror ebp, 0x1b
add ecx, ebp
ror eax, 2
movzx ebp, byte [edx + 0x14]
mov dword [esp + 0x38], ebp
mov ebp, edx
movzx edx, byte [edx + 0x15]
shl dword [esp + 0x38], 0x18
shl edx, 0x10
or dword [esp + 0x38], edx
movzx edx, byte [ebp + 0x17]
or dword [esp + 0x38], edx
movzx edx, byte [ebp + 0x16]
mov ebp, dword [esp + 0x34]
shl edx, 8
or dword [esp + 0x38], edx
mov edx, eax
xor edx, esi
and edx, ebx
xor edx, esi
lea edi, [edi + ebp + 0x5a827999]
mov ebp, ecx
add edi, edx
mov edx, dword [esp]
ror ebp, 0x1b
add edi, ebp
ror ebx, 2
movzx ebp, byte [edx + 0x18]
mov dword [esp + 0x3c], ebp
mov ebp, edx
movzx edx, byte [edx + 0x19]
shl dword [esp + 0x3c], 0x18
shl edx, 0x10
or dword [esp + 0x3c], edx
movzx edx, byte [ebp + 0x1b]
or dword [esp + 0x3c], edx
movzx edx, byte [ebp + 0x1a]
shl edx, 8
or dword [esp + 0x3c], edx
mov edx, dword [esp + 0x38]
lea esi, [esi + edx + 0x5a827999]
mov edx, ebx
xor edx, eax
and edx, ecx
xor edx, eax
add edx, esi
mov esi, edi
ror esi, 0x1b
add edx, esi
mov esi, ebp
movzx ebp, byte [ebp + 0x1c]
ror ecx, 2
mov dword [esp + 0x40], ebp
mov ebp, esi
movzx esi, byte [esi + 0x1d]
shl dword [esp + 0x40], 0x18
shl esi, 0x10
or dword [esp + 0x40], esi
movzx esi, byte [ebp + 0x1f]
or dword [esp + 0x40], esi
movzx esi, byte [ebp + 0x1e]
shl esi, 8
or dword [esp + 0x40], esi
mov esi, dword [esp + 0x3c]
lea esi, [eax + esi + 0x5a827999]
mov eax, ecx
xor eax, ebx
and eax, edi
xor eax, ebx
add eax, esi
mov esi, edx
ror esi, 0x1b
add eax, esi
mov esi, ebp
movzx ebp, byte [ebp + 0x20]
ror edi, 2
mov dword [esp + 0x10], ebp
mov ebp, esi
movzx esi, byte [esi + 0x21]
shl dword [esp + 0x10], 0x18
shl esi, 0x10
or dword [esp + 0x10], esi
movzx esi, byte [ebp + 0x23]
or dword [esp + 0x10], esi
movzx esi, byte [ebp + 0x22]
shl esi, 8
or dword [esp + 0x10], esi
mov esi, dword [esp + 0x40]
lea esi, [ebx + esi + 0x5a827999]
mov ebx, edi
xor ebx, ecx
and ebx, edx
xor ebx, ecx
add ebx, esi
mov esi, eax
ror esi, 0x1b
add ebx, esi
mov esi, ebp
movzx ebp, byte [ebp + 0x24]
ror edx, 2
mov dword [esp + 0x14], ebp
mov ebp, esi
movzx esi, byte [esi + 0x25]
shl dword [esp + 0x14], 0x18
shl esi, 0x10
or dword [esp + 0x14], esi
movzx esi, byte [ebp + 0x27]
or dword [esp + 0x14], esi
movzx esi, byte [ebp + 0x26]
mov ebp, dword [esp + 0x10]
shl esi, 8
or dword [esp + 0x14], esi
lea esi, [ecx + ebp + 0x5a827999]
mov ecx, edx
xor ecx, edi
mov ebp, ebx
and ecx, eax
xor ecx, edi
add esi, ecx
mov ecx, dword [esp]
ror ebp, 0x1b
add esi, ebp
ror eax, 2
movzx ebp, byte [ecx + 0x28]
mov dword [esp + 0x18], ebp
mov ebp, ecx
movzx ecx, byte [ecx + 0x29]
shl dword [esp + 0x18], 0x18
shl ecx, 0x10
or dword [esp + 0x18], ecx
movzx ecx, byte [ebp + 0x2b]
or dword [esp + 0x18], ecx
movzx ecx, byte [ebp + 0x2a]
shl ecx, 8
or dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
lea edi, [edi + ecx + 0x5a827999]
mov ecx, eax
xor ecx, edx
and ecx, ebx
xor ecx, edx
add ecx, edi
mov edi, esi
ror edi, 0x1b
add ecx, edi
mov edi, ebp
movzx ebp, byte [ebp + 0x2c]
ror ebx, 2
mov dword [esp + 0x1c], ebp
mov ebp, edi
movzx edi, byte [edi + 0x2d]
shl dword [esp + 0x1c], 0x18
shl edi, 0x10
or dword [esp + 0x1c], edi
movzx edi, byte [ebp + 0x2f]
or dword [esp + 0x1c], edi
movzx edi, byte [ebp + 0x2e]
shl edi, 8
or dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
lea edi, [edx + edi + 0x5a827999]
mov edx, ebx
xor edx, eax
and edx, esi
xor edx, eax
add edx, edi
mov edi, ecx
ror edi, 0x1b
add edx, edi
mov edi, ebp
movzx ebp, byte [ebp + 0x30]
ror esi, 2
mov dword [esp + 0x20], ebp
mov ebp, edi
movzx edi, byte [edi + 0x31]
shl dword [esp + 0x20], 0x18
shl edi, 0x10
or dword [esp + 0x20], edi
movzx edi, byte [ebp + 0x33]
or dword [esp + 0x20], edi
movzx edi, byte [ebp + 0x32]
shl edi, 8
or dword [esp + 0x20], edi
mov edi, dword [esp + 0x1c]
lea edi, [eax + edi + 0x5a827999]
mov eax, esi
xor eax, ebx
and eax, ecx
xor eax, ebx
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ebp
movzx ebp, byte [ebp + 0x34]
ror ecx, 2
mov dword [esp + 0x44], ecx
mov dword [esp + 4], ebp
mov ebp, edi
movzx edi, byte [edi + 0x35]
shl dword [esp + 4], 0x18
mov ecx, ebp
shl edi, 0x10
or dword [esp + 4], edi
movzx edi, byte [ebp + 0x37]
or dword [esp + 4], edi
movzx edi, byte [ebp + 0x36]
mov ebp, dword [esp + 0x20]
shl edi, 8
or dword [esp + 4], edi
lea edi, [ebx + ebp + 0x5a827999]
mov ebx, dword [esp + 0x44]
mov ebp, eax
ror ebp, 0x1b
xor ebx, esi
and ebx, edx
xor ebx, esi
add ebx, edi
mov edi, ecx
lea ebp, [ebx + ebp]
movzx ebx, byte [ecx + 0x38]
ror edx, 2
mov dword [esp + 8], ebx
movzx ebx, byte [ecx + 0x39]
shl dword [esp + 8], 0x18
shl ebx, 0x10
or dword [esp + 8], ebx
movzx ebx, byte [ecx + 0x3b]
or dword [esp + 8], ebx
movzx ebx, byte [ecx + 0x3a]
shl ebx, 8
or dword [esp + 8], ebx
mov ebx, dword [esp + 4]
lea esi, [esi + ebx + 0x5a827999]
mov ebx, dword [esp + 0x44]
xor ebx, edx
and ebx, eax
xor ebx, dword [esp + 0x44]
ror eax, 2
add ebx, esi
mov esi, ebp
ror esi, 0x1b
add ebx, esi
movzx esi, byte [ecx + 0x3c]
mov ecx, esi
mov esi, edi
movzx edi, byte [edi + 0x3d]
shl ecx, 0x18
add esi, 0x40
mov dword [esp + 0xc], edi
movzx edi, byte [esi - 2]
shl dword [esp + 0xc], 0x10
or dword [esp + 0xc], ecx
shl edi, 8
mov dword [esp], esi
movzx esi, byte [esi - 1]
or dword [esp + 0xc], edi
or dword [esp + 0xc], esi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 8]
lea esi, [edi + esi + 0x5a827999]
mov edi, eax
xor edi, edx
mov ecx, edi
mov edi, ebx
and ecx, ebp
xor ecx, edx
add esi, ecx
ror edi, 0x1b
add esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x10]
ror edi, 2
mov ecx, edi
mov edi, dword [esp + 0xc]
lea edi, [edx + edi + 0x5a827999]
mov edx, ecx
xor edx, eax
and edx, ebx
xor edx, eax
add edi, edx
mov edx, esi
ror edx, 0x1b
add edi, edx
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x2c]
ror ebx, 2
mov dword [esp + 0x24], edx
mov edx, dword [esp + 4]
xor dword [esp + 0x24], ebp
xor dword [esp + 0x24], edx
ror dword [esp + 0x24], 0x1f
mov ebp, dword [esp + 0x24]
lea ebp, [eax + ebp + 0x5a827999]
mov eax, ebx
xor eax, ecx
and eax, esi
xor eax, ecx
add ebp, eax
mov eax, edi
ror eax, 0x1b
add ebp, eax
mov eax, esi
mov esi, dword [esp + 8]
ror eax, 2
mov edx, eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
xor dword [esp + 0x28], eax
xor dword [esp + 0x28], esi
ror dword [esp + 0x28], 0x1f
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x34]
lea ecx, [ecx + eax + 0x5a827999]
mov eax, edx
xor eax, ebx
and eax, edi
xor eax, ebx
add ecx, eax
mov eax, ebp
ror eax, 0x1b
add ecx, eax
mov eax, edi
mov edi, dword [esp + 0x18]
ror eax, 2
mov dword [esp + 0x2c], esi
xor dword [esp + 0x2c], edi
mov edi, dword [esp + 0xc]
xor dword [esp + 0x2c], edi
ror dword [esp + 0x2c], 0x1f
mov esi, dword [esp + 0x2c]
lea esi, [ebx + esi + 0x5a827999]
mov ebx, eax
xor ebx, edx
and ebx, ebp
xor ebx, edx
add esi, ebx
mov ebx, ecx
ror ebx, 0x1b
add esi, ebx
mov ebx, dword [esp + 0x30]
xor ebx, dword [esp + 0x38]
mov edi, esi
ror ebp, 2
ror edi, 0x1b
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x1c]
xor dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x24]
xor dword [esp + 0x30], ebx
ror dword [esp + 0x30], 0x1f
mov ebx, dword [esp + 0x30]
lea ebx, [edx + ebx + 0x5a827999]
mov edx, ebp
xor edx, eax
and edx, ecx
xor edx, eax
add ebx, edx
add ebx, edi
mov edi, ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x3c]
mov edx, ebx
ror edi, 2
ror edx, 0x1b
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x20]
xor dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
xor dword [esp + 0x34], ecx
ror dword [esp + 0x34], 0x1f
mov ecx, dword [esp + 0x34]
lea ecx, [eax + ecx + 0x6ed9eba1]
mov eax, edi
xor eax, ebp
xor eax, esi
add ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, edx
mov edx, dword [esp + 0x38]
xor edx, dword [esp + 0x40]
ror esi, 2
mov dword [esp + 0x38], edx
mov edx, dword [esp + 4]
xor dword [esp + 0x38], edx
xor dword [esp + 0x38], eax
mov eax, esi
ror dword [esp + 0x38], 0x1f
xor eax, edi
mov edx, dword [esp + 0x38]
xor eax, ebx
ror ebx, 2
lea edx, [ebp + edx + 0x6ed9eba1]
mov ebp, ecx
add edx, eax
mov eax, ebx
ror ebp, 0x1b
xor eax, esi
add edx, ebp
mov ebp, dword [esp + 0x3c]
xor eax, ecx
xor ebp, dword [esp + 0x10]
xor ebp, dword [esp + 8]
xor ebp, dword [esp + 0x30]
ror ebp, 0x1f
lea edi, [edi + ebp + 0x6ed9eba1]
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x14]
ror edi, 2
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xc]
xor dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x34]
xor dword [esp + 0x3c], ecx
ror dword [esp + 0x3c], 0x1f
mov ecx, dword [esp + 0x3c]
lea esi, [esi + ecx + 0x6ed9eba1]
mov ecx, edi
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, eax
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 0x10]
xor edx, dword [esp + 0x18]
ror esi, 2
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x24]
xor dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
xor dword [esp + 0x40], edx
ror dword [esp + 0x40], 0x1f
mov edx, dword [esp + 0x40]
lea ebx, [ebx + edx + 0x6ed9eba1]
mov edx, esi
xor edx, edi
xor edx, eax
add edx, ebx
mov ebx, ecx
ror ebx, 0x1b
add edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
ror ebx, 2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x10], eax
xor dword [esp + 0x10], ebp
ror dword [esp + 0x10], 0x1f
mov eax, dword [esp + 0x10]
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ebx
xor eax, esi
xor eax, ecx
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x20]
ror edi, 2
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
xor dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
xor dword [esp + 0x14], ecx
ror dword [esp + 0x14], 0x1f
mov ecx, dword [esp + 0x14]
lea esi, [esi + ecx + 0x6ed9eba1]
mov ecx, edi
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, eax
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 4]
ror esi, 2
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
xor dword [esp + 0x18], edx
mov edx, dword [esp + 0x40]
xor dword [esp + 0x18], edx
ror dword [esp + 0x18], 0x1f
mov edx, dword [esp + 0x18]
lea ebx, [ebx + edx + 0x6ed9eba1]
mov edx, esi
xor edx, edi
xor edx, eax
add edx, ebx
mov ebx, ecx
ror ebx, 0x1b
add edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 8]
ror ebx, 2
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
xor dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
xor dword [esp + 0x1c], eax
ror dword [esp + 0x1c], 0x1f
mov eax, dword [esp + 0x1c]
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ebx
xor eax, esi
xor eax, ecx
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ecx
mov ecx, dword [esp + 4]
xor ecx, dword [esp + 0xc]
ror edi, 2
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x38]
xor dword [esp + 4], ecx
mov ecx, dword [esp + 0x14]
xor dword [esp + 4], ecx
ror dword [esp + 4], 0x1f
mov ecx, dword [esp + 4]
lea esi, [esi + ecx + 0x6ed9eba1]
mov ecx, edi
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, eax
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 8]
xor edx, dword [esp + 0x24]
ror esi, 2
mov dword [esp + 8], edx
mov edx, dword [esp + 0x18]
xor dword [esp + 8], ebp
xor dword [esp + 8], edx
ror dword [esp + 8], 0x1f
mov edx, dword [esp + 8]
lea ebx, [ebx + edx + 0x6ed9eba1]
mov edx, esi
xor edx, edi
xor edx, eax
add edx, ebx
mov ebx, ecx
ror ebx, 0x1b
add edx, ebx
mov ebx, eax
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x28]
ror ebx, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
xor dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
xor dword [esp + 0xc], eax
ror dword [esp + 0xc], 0x1f
mov eax, dword [esp + 0xc]
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ebx
xor eax, esi
xor eax, ecx
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x2c]
ror edi, 2
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x40]
xor dword [esp + 0x20], ecx
mov ecx, dword [esp + 4]
xor dword [esp + 0x20], ecx
ror dword [esp + 0x20], 0x1f
mov ecx, dword [esp + 0x20]
lea esi, [esi + ecx + 0x6ed9eba1]
mov ecx, edi
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, eax
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 0x28]
xor edx, dword [esp + 0x30]
ror esi, 2
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
xor dword [esp + 0x24], edx
mov edx, dword [esp + 8]
xor dword [esp + 0x24], edx
ror dword [esp + 0x24], 0x1f
mov edx, dword [esp + 0x24]
lea ebx, [ebx + edx + 0x6ed9eba1]
mov edx, esi
xor edx, edi
xor edx, eax
add edx, ebx
mov ebx, ecx
ror ebx, 0x1b
add edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x34]
ror ebx, 2
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
xor dword [esp + 0x28], eax
mov eax, dword [esp + 0xc]
xor dword [esp + 0x28], eax
ror dword [esp + 0x28], 0x1f
mov eax, dword [esp + 0x28]
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ebx
xor eax, esi
xor eax, ecx
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x38]
ror edi, 2
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
xor dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
xor dword [esp + 0x2c], ecx
ror dword [esp + 0x2c], 0x1f
mov ecx, dword [esp + 0x2c]
lea esi, [esi + ecx + 0x6ed9eba1]
mov ecx, edi
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, eax
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 0x34]
ror esi, 2
xor edx, ebp
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x1c]
xor dword [esp + 0x30], edx
mov edx, dword [esp + 0x24]
xor dword [esp + 0x30], edx
ror dword [esp + 0x30], 0x1f
mov edx, dword [esp + 0x30]
lea ebx, [ebx + edx + 0x6ed9eba1]
mov edx, esi
xor edx, edi
xor edx, eax
add edx, ebx
mov ebx, ecx
ror ebx, 0x1b
add edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x3c]
ror ebx, 2
mov dword [esp + 0x34], eax
mov eax, dword [esp + 4]
xor dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x34], eax
ror dword [esp + 0x34], 0x1f
mov eax, dword [esp + 0x34]
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ebx
xor eax, esi
xor eax, ecx
add eax, edi
mov edi, edx
ror edi, 0x1b
add eax, edi
mov edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x40]
ror edi, 2
xor ecx, ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 8]
xor dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2c]
xor dword [esp + 0x38], ecx
ror dword [esp + 0x38], 0x1f
mov ecx, dword [esp + 0x38]
lea esi, [esi + ecx + 0x6ed9eba1]
mov ecx, edi
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, eax
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 0x3c]
xor edx, dword [esp + 0x10]
ror esi, 2
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xc]
xor dword [esp + 0x3c], edx
mov edx, dword [esp + 0x30]
xor dword [esp + 0x3c], edx
ror dword [esp + 0x3c], 0x1f
mov edx, dword [esp + 0x3c]
lea ebx, [ebx + edx + 0x6ed9eba1]
mov edx, esi
xor edx, edi
xor edx, eax
add edx, ebx
mov ebx, ecx
ror ebx, 0x1b
add edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x14]
ror ebx, 2
xor eax, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x34]
xor dword [esp + 0x40], ebp
ror dword [esp + 0x40], 0x1f
mov ebp, dword [esp + 0x40]
lea edi, [edi + ebp - 0x70e44324]
mov ebp, edx
ror ebp, 0x1b
add edi, ebp
mov ebp, ecx
or ebp, ebx
mov eax, ebp
mov ebp, ecx
and ebp, ebx
and eax, esi
or eax, ebp
add edi, eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x18]
ror ecx, 2
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x24]
xor dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x38]
xor dword [esp + 0x10], ebp
ror dword [esp + 0x10], 0x1f
mov ebp, dword [esp + 0x10]
lea esi, [esi + ebp - 0x70e44324]
mov ebp, edx
or ebp, ecx
mov eax, ebp
mov ebp, edx
and ebp, ecx
and eax, ebx
or eax, ebp
mov ebp, edi
add esi, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
ror ebp, 0x1b
add esi, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x14], eax
ror edx, 2
xor dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x3c]
xor dword [esp + 0x14], ebp
mov ebp, edi
ror dword [esp + 0x14], 0x1f
and ebp, edx
mov eax, dword [esp + 0x14]
lea ebx, [ebx + eax - 0x70e44324]
mov eax, esi
ror eax, 0x1b
add ebx, eax
mov eax, edi
or eax, edx
and eax, ecx
or eax, ebp
mov ebp, dword [esp + 0x2c]
add ebx, eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 4]
ror edi, 2
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
xor dword [esp + 0x18], ebp
mov ebp, esi
xor dword [esp + 0x18], eax
and ebp, edi
ror dword [esp + 0x18], 0x1f
mov eax, dword [esp + 0x18]
lea ecx, [ecx + eax - 0x70e44324]
mov eax, esi
or eax, edi
and eax, edx
or eax, ebp
mov ebp, ebx
add ecx, eax
mov eax, ebx
ror eax, 0x1b
add ecx, eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 8]
ror esi, 2
and ebp, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
xor dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
xor dword [esp + 0x1c], eax
ror dword [esp + 0x1c], 0x1f
mov eax, dword [esp + 0x1c]
lea edx, [edx + eax - 0x70e44324]
mov eax, ecx
ror eax, 0x1b
add edx, eax
mov eax, ebx
or eax, esi
and eax, edi
or eax, ebp
add edx, eax
mov eax, dword [esp + 4]
xor eax, dword [esp + 0xc]
ror ebx, 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
xor dword [esp + 4], eax
mov eax, dword [esp + 0x14]
xor dword [esp + 4], eax
mov eax, ecx
ror dword [esp + 4], 0x1f
or eax, ebx
mov ebp, dword [esp + 4]
and eax, esi
lea edi, [edi + ebp - 0x70e44324]
mov ebp, ecx
and ebp, ebx
or eax, ebp
mov ebp, edx
add edi, eax
mov eax, edx
ror eax, 0x1b
add edi, eax
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x20]
ror ecx, 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
xor dword [esp + 8], eax
mov eax, dword [esp + 0x18]
xor dword [esp + 8], eax
ror dword [esp + 8], 0x1f
mov eax, dword [esp + 8]
lea esi, [esi + eax - 0x70e44324]
mov eax, edi
ror eax, 0x1b
and ebp, ecx
add esi, eax
mov eax, edx
or eax, ecx
and eax, ebx
or eax, ebp
add esi, eax
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x24]
ror edx, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
xor dword [esp + 0xc], eax
mov eax, edi
mov ebp, dword [esp + 0x1c]
or eax, edx
xor dword [esp + 0xc], ebp
and eax, ecx
ror dword [esp + 0xc], 0x1f
mov ebp, dword [esp + 0xc]
lea ebx, [ebx + ebp - 0x70e44324]
mov ebp, edi
and ebp, edx
or eax, ebp
mov ebp, esi
add ebx, eax
ror ebp, 0x1b
add ebx, ebp
mov ebp, dword [esp + 0x20]
xor ebp, dword [esp + 0x28]
ror edi, 2
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x40]
xor dword [esp + 0x20], ebp
mov ebp, dword [esp + 4]
xor dword [esp + 0x20], ebp
mov ebp, esi
ror dword [esp + 0x20], 0x1f
and ebp, edi
mov eax, dword [esp + 0x20]
lea ecx, [ecx + eax - 0x70e44324]
mov eax, ebx
ror eax, 0x1b
add ecx, eax
mov eax, esi
or eax, edi
and eax, edx
or eax, ebp
mov ebp, dword [esp + 0x24]
xor ebp, dword [esp + 0x2c]
add ecx, eax
ror esi, 2
mov eax, dword [esp + 8]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x10]
xor dword [esp + 0x24], ebp
xor dword [esp + 0x24], eax
mov eax, ebx
ror dword [esp + 0x24], 0x1f
or eax, esi
mov ebp, dword [esp + 0x24]
and eax, edi
lea edx, [edx + ebp - 0x70e44324]
mov ebp, ebx
and ebp, esi
or eax, ebp
mov ebp, ecx
add edx, eax
ror ebp, 0x1b
add edx, ebp
mov ebp, dword [esp + 0x28]
xor ebp, dword [esp + 0x30]
ror ebx, 2
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x14]
xor dword [esp + 0x28], ebp
mov ebp, dword [esp + 0xc]
xor dword [esp + 0x28], ebp
mov ebp, edx
ror dword [esp + 0x28], 0x1f
mov eax, dword [esp + 0x28]
ror ebp, 0x1b
lea edi, [edi + eax - 0x70e44324]
add edi, ebp
mov ebp, ecx
or ebp, ebx
mov eax, ebp
mov ebp, ecx
and ebp, ebx
and eax, esi
or eax, ebp
mov ebp, dword [esp + 0x2c]
xor ebp, dword [esp + 0x34]
add edi, eax
mov eax, dword [esp + 0x20]
ror ecx, 2
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x18]
xor dword [esp + 0x2c], ebp
xor dword [esp + 0x2c], eax
mov eax, edx
ror dword [esp + 0x2c], 0x1f
or eax, ecx
mov ebp, dword [esp + 0x2c]
and eax, ebx
lea esi, [esi + ebp - 0x70e44324]
mov ebp, edx
and ebp, ecx
or eax, ebp
mov ebp, edi
add esi, eax
mov eax, dword [esp + 0x30]
ror ebp, 0x1b
add esi, ebp
mov ebp, dword [esp + 0x24]
xor eax, dword [esp + 0x38]
ror edx, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
xor dword [esp + 0x30], eax
mov eax, esi
xor dword [esp + 0x30], ebp
ror dword [esp + 0x30], 0x1f
mov ebp, dword [esp + 0x30]
ror eax, 0x1b
lea ebx, [ebx + ebp - 0x70e44324]
mov ebp, edi
add ebx, eax
mov eax, edi
or eax, edx
and ebp, edx
and eax, ecx
or eax, ebp
add ebx, eax
mov eax, dword [esp + 0x34]
xor eax, dword [esp + 0x3c]
ror edi, 2
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 4]
xor dword [esp + 0x34], ebp
mov ebp, esi
mov eax, dword [esp + 0x28]
and ebp, edi
xor dword [esp + 0x34], eax
ror dword [esp + 0x34], 0x1f
mov eax, dword [esp + 0x34]
lea ecx, [ecx + eax - 0x70e44324]
mov eax, esi
or eax, edi
and eax, edx
or eax, ebp
mov ebp, ebx
add ecx, eax
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x40]
ror ebp, 0x1b
add ecx, ebp
mov ebp, ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 8]
ror esi, 2
xor dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
xor dword [esp + 0x38], eax
ror dword [esp + 0x38], 0x1f
mov eax, dword [esp + 0x38]
lea edx, [edx + eax - 0x70e44324]
mov eax, ecx
ror eax, 0x1b
add edx, eax
mov eax, ebx
or eax, esi
and eax, edi
and ebp, esi
or eax, ebp
add edx, eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x10]
ror ebx, 2
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc]
xor dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
xor dword [esp + 0x3c], eax
mov eax, ecx
ror dword [esp + 0x3c], 0x1f
or eax, ebx
mov ebp, dword [esp + 0x3c]
and eax, esi
lea edi, [edi + ebp - 0x70e44324]
mov ebp, ecx
and ebp, ebx
or eax, ebp
mov ebp, dword [esp + 0x40]
xor ebp, dword [esp + 0x14]
add edi, eax
mov eax, edx
ror eax, 0x1b
mov dword [esp + 0x40], ebp
add edi, eax
mov eax, dword [esp + 0x20]
xor dword [esp + 0x40], eax
mov ebp, edx
mov eax, dword [esp + 0x34]
ror ecx, 2
xor dword [esp + 0x40], eax
and ebp, ecx
ror dword [esp + 0x40], 0x1f
mov eax, dword [esp + 0x40]
lea esi, [esi + eax - 0x70e44324]
mov eax, edi
ror eax, 0x1b
add esi, eax
mov eax, edx
or eax, ecx
and eax, ebx
or eax, ebp
mov ebp, dword [esp + 0x10]
xor ebp, dword [esp + 0x18]
add esi, eax
ror edx, 2
mov eax, edi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x24]
xor dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x38]
xor dword [esp + 0x10], ebp
ror dword [esp + 0x10], 0x1f
or eax, edx
mov ebp, dword [esp + 0x10]
and eax, ecx
lea ebx, [ebx + ebp - 0x70e44324]
mov ebp, edi
and ebp, edx
or eax, ebp
mov ebp, esi
add ebx, eax
mov eax, dword [esp + 0x28]
ror ebp, 0x1b
add ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, dword [esp + 0x1c]
ror edi, 2
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x3c]
xor dword [esp + 0x14], eax
mov eax, ebx
xor dword [esp + 0x14], ebp
ror dword [esp + 0x14], 0x1f
mov ebp, dword [esp + 0x14]
ror eax, 0x1b
lea ecx, [ecx + ebp - 0x70e44324]
mov ebp, esi
add ecx, eax
mov eax, esi
or eax, edi
and ebp, edi
and eax, edx
or eax, ebp
mov ebp, dword [esp + 0x18]
xor ebp, dword [esp + 4]
add ecx, eax
ror esi, 2
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x2c]
xor dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x40]
xor dword [esp + 0x18], ebp
mov ebp, ebx
ror dword [esp + 0x18], 0x1f
and ebp, esi
mov eax, dword [esp + 0x18]
lea edx, [edx + eax - 0x70e44324]
mov eax, ebx
or eax, esi
and eax, edi
or eax, ebp
mov ebp, ecx
add edx, eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 8]
ror ebp, 0x1b
add edx, ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
ror ebx, 2
xor dword [esp + 0x1c], eax
mov ebp, edx
mov eax, dword [esp + 0x10]
ror ebp, 0x1b
xor dword [esp + 0x1c], eax
ror dword [esp + 0x1c], 0x1f
mov eax, dword [esp + 0x1c]
lea edi, [edi + eax - 0x359d3e2a]
mov eax, ebx
xor eax, esi
xor eax, ecx
add edi, eax
add edi, ebp
mov ebp, dword [esp + 4]
xor ebp, dword [esp + 0xc]
ror ecx, 2
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ebp
xor dword [esp + 4], ecx
mov ecx, dword [esp + 0x14]
xor dword [esp + 4], ecx
ror dword [esp + 4], 0x1f
mov ecx, dword [esp + 4]
lea esi, [esi + ecx - 0x359d3e2a]
mov ecx, eax
xor ecx, ebx
xor ecx, edx
add ecx, esi
mov esi, edi
ror esi, 0x1b
add ecx, esi
mov esi, edx
mov edx, dword [esp + 8]
xor edx, dword [esp + 0x20]
ror esi, 2
mov dword [esp + 8], edx
mov edx, dword [esp + 0x38]
xor dword [esp + 8], edx
mov edx, dword [esp + 0x18]
xor dword [esp + 8], edx
ror dword [esp + 8], 0x1f
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
xor ebp, dword [esp + 0x24]
lea ebx, [ebx + edx - 0x359d3e2a]
mov edx, esi
xor edx, eax
xor edx, edi
add ebx, edx
mov edx, ecx
ror edx, 0x1b
add ebx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
ror edi, 2
xor dword [esp + 0xc], edx
mov ebp, edi
mov edx, dword [esp + 0x1c]
xor dword [esp + 0xc], edx
ror dword [esp + 0xc], 0x1f
xor ebp, esi
mov edx, dword [esp + 0xc]
lea edx, [eax + edx - 0x359d3e2a]
mov eax, ebp
xor eax, ecx
mov ebp, ebx
add edx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x28]
ror ecx, 2
ror ebp, 0x1b
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
add edx, ebp
xor dword [esp + 0x20], eax
mov ebp, edx
mov eax, dword [esp + 4]
ror ebp, 0x1b
xor dword [esp + 0x20], eax
ror dword [esp + 0x20], 0x1f
mov eax, dword [esp + 0x20]
lea esi, [esi + eax - 0x359d3e2a]
mov eax, ecx
xor eax, edi
xor eax, ebx
add esi, eax
add esi, ebp
mov ebp, dword [esp + 0x24]
xor ebp, dword [esp + 0x2c]
ror ebx, 2
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x10]
xor dword [esp + 0x24], eax
mov ebp, dword [esp + 8]
xor dword [esp + 0x24], ebp
ror dword [esp + 0x24], 0x1f
mov ebp, dword [esp + 0x24]
lea edi, [edi + ebp - 0x359d3e2a]
mov ebp, ebx
xor ebp, ecx
mov eax, ebp
mov ebp, dword [esp + 0x2c]
xor eax, edx
add eax, edi
mov edi, esi
ror edi, 0x1b
add eax, edi
mov edi, dword [esp + 0x28]
xor edi, dword [esp + 0x30]
ror edx, 2
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x14]
xor dword [esp + 0x28], edi
mov edi, dword [esp + 0xc]
xor dword [esp + 0x28], edi
ror dword [esp + 0x28], 0x1f
mov edi, dword [esp + 0x28]
lea edi, [ecx + edi - 0x359d3e2a]
mov ecx, edx
xor ecx, ebx
xor ecx, esi
add edi, ecx
mov ecx, eax
ror ecx, 0x1b
xor ebp, dword [esp + 0x34]
add edi, ecx
mov ecx, dword [esp + 0x18]
ror esi, 2
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x30]
xor dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
xor dword [esp + 0x2c], ecx
ror dword [esp + 0x2c], 0x1f
mov ecx, dword [esp + 0x2c]
xor ebp, dword [esp + 0x38]
lea ebx, [ebx + ecx - 0x359d3e2a]
mov ecx, esi
xor ecx, edx
xor ecx, eax
add ecx, ebx
mov ebx, edi
ror ebx, 0x1b
mov dword [esp + 0x30], ebp
add ecx, ebx
mov ebx, dword [esp + 0x1c]
xor dword [esp + 0x30], ebx
mov ebp, ecx
mov ebx, dword [esp + 0x24]
ror eax, 2
xor dword [esp + 0x30], ebx
ror dword [esp + 0x30], 0x1f
mov ebx, dword [esp + 0x30]
ror ebp, 0x1b
lea ebx, [edx + ebx - 0x359d3e2a]
mov edx, eax
xor edx, esi
xor edx, edi
add ebx, edx
mov edx, dword [esp + 0x34]
xor edx, dword [esp + 0x3c]
add ebx, ebp
ror edi, 2
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 4]
xor dword [esp + 0x34], edx
mov edx, dword [esp + 0x28]
xor dword [esp + 0x34], edx
ror dword [esp + 0x34], 0x1f
mov edx, dword [esp + 0x34]
lea esi, [esi + edx - 0x359d3e2a]
mov edx, edi
xor edx, eax
xor edx, ecx
add edx, esi
mov esi, ebx
ror esi, 0x1b
add edx, esi
mov esi, dword [esp + 8]
ror ecx, 2
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x38], ebp
mov ebp, edx
xor dword [esp + 0x38], esi
mov esi, dword [esp + 0x2c]
ror ebp, 0x1b
xor dword [esp + 0x38], esi
ror dword [esp + 0x38], 0x1f
mov esi, dword [esp + 0x38]
lea esi, [eax + esi - 0x359d3e2a]
mov eax, ecx
xor eax, edi
xor eax, ebx
add esi, eax
add esi, ebp
mov ebp, dword [esp + 0x3c]
xor ebp, dword [esp + 0x10]
ror ebx, 2
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0xc]
xor dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x30]
xor dword [esp + 0x3c], ebp
ror dword [esp + 0x3c], 0x1f
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
xor ebp, dword [esp + 0x14]
xor ebp, dword [esp + 0x20]
lea edi, [edi + eax - 0x359d3e2a]
mov eax, ebx
xor eax, ecx
xor ebp, dword [esp + 0x34]
xor eax, edx
add eax, edi
mov edi, esi
ror edx, 2
ror ebp, 0x1f
ror edi, 0x1b
add eax, edi
lea edi, [ecx + ebp - 0x359d3e2a]
mov ecx, edx
xor ecx, ebx
xor ecx, esi
add ecx, edi
mov edi, eax
ror edi, 0x1b
mov dword [esp + 0x40], eax
lea eax, [ecx + edi]
mov ecx, eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x18]
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x38]
ror esi, 2
mov dword [esp + 0x44], ecx
ror eax, 0x1f
lea edi, [ebx + eax - 0x359d3e2a]
mov ebx, esi
xor ebx, edx
xor ebx, dword [esp + 0x40]
add ebx, edi
mov edi, ecx
mov ecx, dword [esp + 0x40]
ror edi, 0x1b
add ebx, edi
ror ecx, 2
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x3c]
ror ecx, 0x1f
lea edi, [edx + ecx - 0x359d3e2a]
mov edx, dword [esp + 0x40]
xor edx, esi
xor edx, dword [esp + 0x44]
add edx, edi
mov edi, ebx
ror edi, 0x1b
add edx, edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 4]
xor edx, dword [esp + 0x2c]
ror edi, 2
mov dword [esp + 0x14], edi
xor edx, ebp
mov ebp, dword [esp + 0x40]
ror edx, 0x1f
lea edi, [esi + edx - 0x359d3e2a]
mov esi, dword [esp + 0x14]
xor esi, ebp
xor esi, ebx
add esi, edi
mov edi, dword [esp + 0x10]
ror ebx, 2
ror edi, 0x1b
add esi, edi
mov edi, dword [esp + 0x1c]
xor edi, dword [esp + 8]
xor edi, dword [esp + 0x30]
xor edi, eax
mov eax, dword [esp + 0x14]
ror edi, 0x1f
lea ebp, [ebp + edi - 0x359d3e2a]
xor eax, ebx
xor eax, dword [esp + 0x10]
add ebp, eax
mov eax, esi
ror eax, 0x1b
add ebp, eax
mov eax, dword [esp + 0x10]
ror eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
xor eax, dword [esp + 0xc]
xor eax, dword [esp + 0x34]
xor eax, ecx
mov ecx, dword [esp + 0x14]
ror eax, 0x1f
lea ecx, [ecx + eax - 0x359d3e2a]
mov eax, dword [esp + 0x10]
xor eax, ebx
xor eax, esi
add ecx, eax
mov eax, ebp
ror eax, 0x1b
add ecx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 8]
xor eax, dword [esp + 0x38]
ror esi, 2
xor eax, edx
mov edx, ecx
ror eax, 0x1f
lea ebx, [ebx + eax - 0x359d3e2a]
mov eax, dword [esp + 0x10]
ror edx, 0x1b
xor eax, esi
xor eax, ebp
add eax, ebx
lea ebx, [eax + edx]
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0xc]
xor eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
ror ebp, 2
add dword [esp + 0x48], ebx
xor eax, edi
ror eax, 0x1f
lea edx, [edx + eax - 0x359d3e2a]
mov eax, ebp
xor eax, esi
xor eax, ecx
add eax, edx
mov edx, ebx
mov ebx, dword [esp + 0x48]
ror edx, 0x1b
add eax, edx
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
ror ecx, 2
add dword [esp + 0x50], ecx
add dword [esp + 0x54], ebp
add dword [esp + 0x58], esi
mov edi, dword [esp + 0x4c]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [eax], edi
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + 0x10], ebx
sub dword [esp + 0x60], 1
jne 0x4706c4
add esp, 0x64
pop ebx
pop esi
pop edi
pop ebp
ret