Function at 0x5939b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 8], ecx
mov ecx, dword [esi + 0x14]
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], edx
xor edx, edx
mov dh, byte [eax + 3]
mov edi, dword [ebp - 8]
mov dl, byte [eax + 2]
mov dword [ebp - 0x18], ebx
xor ebx, ebx
mov dword [ebp - 0x10], edi
mov bl, byte [eax + 1]
mov dword [ebp - 0x1c], ecx
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax]
shl edx, 8
mov edi, edx
mov edx, ecx
or edi, ebx
mov ebx, dword [ebp + 0xc]
xor edx, ebx
mov ebx, dword [ebp + 8]
and edx, ebx
mov dword [esi + 0x58], edi
xor edx, ecx
add edx, edi
mov edi, dword [ebp - 8]
lea edx, [edi + edx - 0x28955b88]
mov edi, edx
shr edi, 0x19
shl edx, 7
or edi, edx
mov edx, ebx
add edi, edx
xor edx, edx
mov dh, byte [eax + 7]
xor ebx, ebx
mov dl, byte [eax + 6]
mov bl, byte [eax + 5]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 4]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
mov dword [esi + 0x5c], edx
mov edx, dword [ebp + 0xc]
xor edx, ebx
mov ebx, dword [ebp + 0xc]
and edx, edi
xor edx, ebx
mov ebx, dword [ebp - 0xc]
add edx, ebx
xor ebx, ebx
mov bl, byte [eax + 9]
lea edx, [ecx + edx - 0x173848aa]
mov ecx, edx
shr ecx, 0x14
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dh, byte [eax + 0xb]
add ecx, edi
mov dl, byte [eax + 0xa]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 8]
shl edx, 8
or edx, ebx
mov dword [ebp - 0xc], edx
mov dword [esi + 0x60], edx
mov edx, dword [ebp + 8]
mov ebx, edx
xor ebx, edi
and ebx, ecx
xor ebx, edx
mov edx, dword [ebp - 0xc]
add ebx, edx
mov edx, dword [ebp + 0xc]
lea edx, [edx + ebx + 0x242070db]
mov ebx, edx
shl edx, 0x11
shr ebx, 0xf
or ebx, edx
xor edx, edx
mov dh, byte [eax + 0xf]
add ebx, ecx
mov dl, byte [eax + 0xe]
mov dword [ebp + 0xc], ebx
xor ebx, ebx
mov bl, byte [eax + 0xd]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0xc]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xc], edx
mov dword [esi + 0x64], edx
mov edx, ecx
xor edx, edi
and edx, ebx
mov ebx, dword [ebp - 0xc]
xor edx, edi
add edx, ebx
mov ebx, dword [ebp + 8]
lea edx, [ebx + edx - 0x3e423112]
mov ebx, edx
shl ebx, 0x16
shr edx, 0xa
or ebx, edx
mov edx, dword [ebp + 0xc]
add ebx, edx
xor edx, edx
mov dh, byte [eax + 0x13]
mov dword [ebp + 8], ebx
mov dl, byte [eax + 0x12]
xor ebx, ebx
mov bl, byte [eax + 0x11]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x10]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xc], edx
mov dword [esi + 0x68], edx
mov edx, ecx
xor edx, ebx
mov ebx, dword [ebp + 8]
and edx, ebx
mov ebx, dword [ebp - 0xc]
xor edx, ecx
add edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x15]
lea edx, [edi + edx - 0xa83f051]
mov edi, edx
shr edi, 0x19
shl edx, 7
or edi, edx
mov edx, dword [ebp + 8]
add edi, edx
xor edx, edx
mov dh, byte [eax + 0x17]
mov dl, byte [eax + 0x16]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x14]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
mov dword [esi + 0x6c], edx
mov edx, dword [ebp + 0xc]
xor edx, ebx
and edx, edi
mov ebx, dword [ebp + 0xc]
xor edx, ebx
mov ebx, dword [ebp - 0xc]
add edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x19]
lea ecx, [ecx + edx + 0x4787c62a]
mov edx, ecx
shl ecx, 0xc
shr edx, 0x14
or edx, ecx
xor ecx, ecx
mov ch, byte [eax + 0x1b]
add edx, edi
mov cl, byte [eax + 0x1a]
shl ecx, 8
or ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x18]
shl ecx, 8
or ecx, ebx
mov dword [esi + 0x70], ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp + 8]
mov ebx, ecx
xor ebx, edi
and ebx, edx
xor ebx, ecx
mov ecx, dword [ebp - 0xc]
add ebx, ecx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ebx - 0x57cfb9ed]
mov ebx, ecx
shr ebx, 0xf
shl ecx, 0x11
or ebx, ecx
xor ecx, ecx
mov ch, byte [eax + 0x1f]
add ebx, edx
mov cl, byte [eax + 0x1e]
mov dword [ebp + 0xc], ebx
xor ebx, ebx
mov bl, byte [eax + 0x1d]
shl ecx, 8
or ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x1c]
shl ecx, 8
or ecx, ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xc], ecx
mov dword [esi + 0x74], ecx
mov ecx, edx
xor ecx, edi
and ecx, ebx
mov ebx, dword [ebp - 0xc]
xor ecx, edi
add ecx, ebx
mov ebx, dword [ebp + 8]
lea ecx, [ebx + ecx - 0x2b96aff]
mov ebx, ecx
shl ebx, 0x16
shr ecx, 0xa
or ebx, ecx
mov ecx, dword [ebp + 0xc]
add ebx, ecx
xor ecx, ecx
mov ch, byte [eax + 0x23]
mov dword [ebp + 8], ebx
mov cl, byte [eax + 0x22]
xor ebx, ebx
mov bl, byte [eax + 0x21]
shl ecx, 8
or ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x20]
shl ecx, 8
or ecx, ebx
mov dword [ebp - 0xc], ecx
mov dword [esi + 0x78], ecx
mov ecx, edx
mov ebx, dword [ebp + 0xc]
xor ecx, ebx
mov ebx, dword [ebp + 8]
and ecx, ebx
mov ebx, dword [ebp - 0xc]
xor ecx, edx
add ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x25]
lea ecx, [edi + ecx + 0x698098d8]
mov edi, ecx
shr edi, 0x19
shl ecx, 7
or edi, ecx
mov ecx, dword [ebp + 8]
add edi, ecx
xor ecx, ecx
mov ch, byte [eax + 0x27]
mov cl, byte [eax + 0x26]
shl ecx, 8
or ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x24]
shl ecx, 8
or ecx, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov dword [esi + 0x7c], ecx
mov ecx, dword [ebp + 0xc]
xor ecx, ebx
mov ebx, dword [ebp + 0xc]
and ecx, edi
xor ecx, ebx
mov ebx, dword [ebp - 0xc]
add ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x29]
lea edx, [edx + ecx - 0x74bb0851]
mov ecx, edx
shr ecx, 0x14
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dh, byte [eax + 0x2b]
add ecx, edi
mov dl, byte [eax + 0x2a]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x28]
shl edx, 8
or edx, ebx
mov dword [ebp - 0xc], edx
mov dword [esi + 0x80], edx
mov edx, dword [ebp + 8]
mov ebx, edx
xor ebx, edi
and ebx, ecx
xor ebx, edx
mov edx, dword [ebp - 0xc]
add ebx, edx
mov edx, dword [ebp + 0xc]
lea ebx, [edx + ebx - 0xa44f]
mov edx, ebx
shr edx, 0xf
shl ebx, 0x11
or edx, ebx
xor ebx, ebx
add edx, ecx
mov bl, byte [eax + 0x2d]
mov dword [ebp + 0xc], edx
xor edx, edx
mov dh, byte [eax + 0x2f]
mov dl, byte [eax + 0x2e]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x2c]
shl edx, 8
or edx, ebx
mov dword [ebp - 0xc], edx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov edx, ecx
xor edx, edi
and edx, ebx
mov ebx, dword [ebp - 0xc]
xor edx, edi
add edx, ebx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + edx - 0x76a32842]
mov edx, ebx
shl edx, 0x16
shr ebx, 0xa
or edx, ebx
mov ebx, dword [ebp + 0xc]
add edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x31]
mov dword [ebp + 8], edx
xor edx, edx
mov dh, byte [eax + 0x33]
mov dl, byte [eax + 0x32]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x30]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xc], edx
mov dword [esi + 0x88], edx
mov edx, ecx
xor edx, ebx
mov ebx, dword [ebp + 8]
and edx, ebx
mov ebx, dword [ebp - 0xc]
xor edx, ecx
add edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x35]
lea edx, [edi + edx + 0x6b901122]
mov edi, edx
shr edi, 0x19
shl edx, 7
or edi, edx
mov edx, dword [ebp + 8]
add edi, edx
xor edx, edx
mov dh, byte [eax + 0x37]
mov dl, byte [eax + 0x36]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x34]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
mov dword [esi + 0x8c], edx
mov edx, dword [ebp + 0xc]
xor edx, ebx
mov ebx, dword [ebp + 0xc]
and edx, edi
xor edx, ebx
mov ebx, dword [ebp - 0xc]
add edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x39]
lea ecx, [ecx + edx - 0x2678e6d]
mov edx, ecx
shr edx, 0x14
shl ecx, 0xc
or edx, ecx
xor ecx, ecx
mov ch, byte [eax + 0x3b]
add edx, edi
mov cl, byte [eax + 0x3a]
mov dword [ebp - 4], edx
shl ecx, 8
or ecx, ebx
shl ecx, 8
xor ebx, ebx
mov bl, byte [eax + 0x38]
or ecx, ebx
mov ebx, dword [ebp + 8]
xor ebx, edi
mov dword [esi + 0x90], ecx
and ebx, edx
xor ebx, dword [ebp + 8]
add ebx, ecx
mov ecx, dword [ebp + 0xc]
lea ebx, [ecx + ebx - 0x5986bc72]
mov ecx, ebx
shr ecx, 0xf
shl ebx, 0x11
or ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x3d]
add ecx, edx
xor edx, edx
mov dh, byte [eax + 0x3f]
mov dl, byte [eax + 0x3e]
shl edx, 8
or edx, ebx
xor ebx, ebx
mov bl, byte [eax + 0x3c]
shl edx, 8
or edx, ebx
mov ebx, dword [ebp - 4]
xor ebx, edi
mov dword [ebp - 0xc], edx
and ebx, ecx
mov dword [esi + 0x94], edx
xor ebx, edi
add ebx, edx
mov edx, dword [ebp + 8]
lea ebx, [edx + ebx + 0x49b40821]
mov edx, ebx
shl edx, 0x16
shr ebx, 0xa
or edx, ebx
mov ebx, ecx
add edx, ecx
mov dword [ebp + 8], edx
xor ebx, edx
mov edx, dword [ebp - 4]
and ebx, edx
mov edx, dword [esi + 0x5c]
xor ebx, ecx
add ebx, edx
lea edi, [edi + ebx - 0x9e1da9e]
mov edx, edi
shr edx, 0x1b
shl edi, 5
or edx, edi
mov edi, dword [ebp + 8]
add edx, edi
mov ebx, edi
xor ebx, edx
and ebx, ecx
xor ebx, edi
mov edi, dword [esi + 0x70]
add ebx, edi
mov edi, dword [ebp - 4]
lea ebx, [edi + ebx - 0x3fbf4cc0]
mov edi, ebx
shr edi, 0x17
shl ebx, 9
or edi, ebx
mov ebx, dword [ebp + 8]
add edi, edx
mov dword [ebp - 4], edi
xor edi, edx
and edi, ebx
mov ebx, dword [esi + 0x84]
xor edi, edx
add edi, ebx
lea ecx, [ecx + edi + 0x265e5a51]
mov edi, ecx
shr edi, 0x12
shl ecx, 0xe
or edi, ecx
mov ecx, dword [ebp - 4]
add edi, ecx
mov ebx, ecx
xor ebx, edi
and ebx, edx
xor ebx, ecx
mov ecx, dword [esi + 0x58]
add ebx, ecx
mov ecx, dword [ebp + 8]
lea ebx, [ecx + ebx - 0x16493856]
mov ecx, ebx
shl ecx, 0x14
shr ebx, 0xc
or ecx, ebx
mov ebx, edi
add ecx, edi
xor ebx, ecx
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 4]
and ebx, ecx
mov ecx, dword [esi + 0x6c]
xor ebx, edi
add ebx, ecx
lea edx, [edx + ebx - 0x29d0efa3]
mov ecx, edx
shr ecx, 0x1b
shl edx, 5
or ecx, edx
mov edx, dword [ebp + 8]
add ecx, edx
mov ebx, edx
xor ebx, ecx
and ebx, edi
xor ebx, edx
mov edx, dword [esi + 0x80]
add ebx, edx
mov edx, dword [ebp - 4]
lea ebx, [edx + ebx + 0x2441453]
mov edx, ebx
shr edx, 0x17
shl ebx, 9
or edx, ebx
mov ebx, dword [ebp + 8]
add edx, ecx
mov dword [ebp - 4], edx
xor edx, ecx
and edx, ebx
mov ebx, dword [ebp - 0xc]
xor edx, ecx
add edx, ebx
lea edi, [edi + edx - 0x275e197f]
mov edx, edi
shr edx, 0x12
shl edi, 0xe
or edx, edi
mov edi, dword [ebp - 4]
add edx, edi
mov ebx, edi
xor ebx, edx
and ebx, ecx
xor ebx, edi
mov edi, dword [esi + 0x68]
add ebx, edi
mov edi, dword [ebp + 8]
lea ebx, [edi + ebx - 0x182c0438]
mov edi, ebx
shl edi, 0x14
shr ebx, 0xc
or edi, ebx
mov ebx, edx
add edi, edx
mov dword [ebp + 8], edi
xor ebx, edi
mov edi, dword [ebp - 4]
and ebx, edi
mov edi, dword [esi + 0x7c]
xor ebx, edx
add ebx, edi
lea ecx, [ecx + ebx + 0x21e1cde6]
mov edi, ecx
shr edi, 0x1b
shl ecx, 5
or edi, ecx
mov ecx, dword [ebp + 8]
add edi, ecx
mov ebx, ecx
xor ebx, edi
and ebx, edx
xor ebx, ecx
mov ecx, dword [esi + 0x90]
add ebx, ecx
mov ecx, dword [ebp - 4]
lea ebx, [ecx + ebx - 0x3cc8f82a]
mov ecx, ebx
shr ecx, 0x17
shl ebx, 9
or ecx, ebx
mov ebx, dword [ebp + 8]
add ecx, edi
mov dword [ebp - 4], ecx
xor ecx, edi
and ecx, ebx
mov ebx, dword [esi + 0x64]
xor ecx, edi
add ecx, ebx
lea edx, [edx + ecx - 0xb2af279]
mov ecx, edx
shr ecx, 0x12
shl edx, 0xe
or ecx, edx
mov edx, dword [ebp - 4]
add ecx, edx
mov ebx, edx
xor ebx, ecx
and ebx, edi
xor ebx, edx
mov edx, dword [esi + 0x78]
add ebx, edx
mov edx, dword [ebp + 8]
lea ebx, [edx + ebx + 0x455a14ed]
mov edx, ebx
shl edx, 0x14
shr ebx, 0xc
or edx, ebx
mov ebx, ecx
add edx, ecx
mov dword [ebp + 8], edx
xor ebx, edx
mov edx, dword [ebp - 4]
and ebx, edx
mov edx, dword [esi + 0x8c]
xor ebx, ecx
add ebx, edx
lea edi, [edi + ebx - 0x561c16fb]
mov edx, edi
shr edx, 0x1b
shl edi, 5
or edx, edi
mov edi, dword [ebp + 8]
add edx, edi
mov ebx, edi
xor ebx, edx
and ebx, ecx
xor ebx, edi
mov edi, dword [esi + 0x60]
add ebx, edi
mov edi, dword [ebp - 4]
lea ebx, [edi + ebx - 0x3105c08]
mov edi, ebx
shr edi, 0x17
shl ebx, 9
or edi, ebx
mov ebx, dword [ebp + 8]
add edi, edx
mov dword [ebp - 4], edi
xor edi, edx
and edi, ebx
mov ebx, dword [esi + 0x74]
xor edi, edx
add edi, ebx
lea ecx, [ecx + edi + 0x676f02d9]
mov edi, ecx
shr edi, 0x12
shl ecx, 0xe
or edi, ecx
mov ecx, dword [ebp - 4]
add edi, ecx
mov ebx, ecx
xor ebx, edi
mov dword [ebp + 0xc], edi
mov dword [ebp - 8], ebx
and ebx, edx
xor ebx, ecx
mov ecx, dword [esi + 0x88]
add ebx, ecx
mov ecx, dword [ebp + 8]
lea ebx, [ecx + ebx - 0x72d5b376]
mov ecx, ebx
shl ecx, 0x14
shr ebx, 0xc
or ecx, ebx
mov ebx, dword [esi + 0x6c]
add ecx, edi
mov edi, dword [ebp - 8]
xor edi, ecx
add edi, ebx
mov ebx, dword [esi + 0x78]
lea edx, [edx + edi - 0x5c6be]
mov edi, edx
shr edi, 0x1c
shl edx, 4
or edi, edx
mov edx, dword [ebp + 0xc]
add edi, ecx
xor edx, ecx
xor edx, edi
add edx, ebx
mov ebx, dword [ebp - 4]
lea ebx, [ebx + edx - 0x788e097f]
mov edx, ebx
shr edx, 0x15
shl ebx, 0xb
or edx, ebx
mov ebx, dword [esi + 0x84]
add edx, edi
mov dword [ebp - 4], edx
xor edx, ecx
xor edx, edi
add edx, ebx
mov ebx, dword [ebp + 0xc]
lea ebx, [ebx + edx + 0x6d9d6122]
mov edx, ebx
shr edx, 0x10
shl ebx, 0x10
or edx, ebx
mov ebx, dword [ebp - 4]
add edx, ebx
xor ebx, edx
mov dword [ebp + 0xc], edx
mov edx, dword [esi + 0x90]
mov dword [ebp - 8], ebx
xor ebx, edi
add ebx, edx
lea ecx, [ecx + ebx - 0x21ac7f4]
mov ebx, dword [esi + 0x5c]
mov edx, ecx
shl edx, 0x17
shr ecx, 9
or edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, ecx
mov ecx, dword [ebp - 8]
xor ecx, edx
add ecx, ebx
lea edi, [edi + ecx - 0x5b4115bc]
mov ecx, edi
shr ecx, 0x1c
shl edi, 4
or ecx, edi
mov edi, dword [ebp + 0xc]
add ecx, edx
xor edi, edx
xor edi, ecx
mov ebx, dword [esi + 0x68]
add edi, ebx
mov ebx, dword [ebp - 4]
lea ebx, [ebx + edi + 0x4bdecfa9]
mov edi, ebx
shr edi, 0x15
shl ebx, 0xb
or edi, ebx
mov ebx, dword [esi + 0x74]
add edi, ecx
mov dword [ebp - 4], edi
xor edi, edx
xor edi, ecx
add edi, ebx
mov ebx, dword [ebp + 0xc]
lea ebx, [ebx + edi - 0x944b4a0]
mov edi, ebx
shr edi, 0x10
shl ebx, 0x10
or edi, ebx
mov ebx, dword [ebp - 4]
add edi, ebx
xor ebx, edi
mov dword [ebp + 0xc], edi
mov edi, dword [esi + 0x80]
mov dword [ebp - 8], ebx
xor ebx, ecx
add ebx, edi
lea edx, [edx + ebx - 0x41404390]
mov ebx, dword [esi + 0x8c]
mov edi, edx
shl edi, 0x17
shr edx, 9
or edi, edx
mov edx, dword [ebp + 0xc]
add edi, edx
mov edx, dword [ebp - 8]
xor edx, edi
add edx, ebx
mov ebx, dword [esi + 0x58]
lea ecx, [ecx + edx + 0x289b7ec6]
mov edx, ecx
shr edx, 0x1c
shl ecx, 4
or edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, edi
xor ecx, edi
xor ecx, edx
add ecx, ebx
mov ebx, dword [ebp - 4]
lea ebx, [ebx + ecx - 0x155ed806]
mov ecx, ebx
shr ecx, 0x15
shl ebx, 0xb
or ecx, ebx
mov ebx, dword [esi + 0x64]
add ecx, edx
mov dword [ebp - 4], ecx
xor ecx, edi
xor ecx, edx
add ecx, ebx
mov ebx, dword [ebp + 0xc]
lea ebx, [ebx + ecx - 0x2b10cf7b]
mov ecx, ebx
shr ecx, 0x10
shl ebx, 0x10
or ecx, ebx
mov ebx, dword [ebp - 4]
add ecx, ebx
xor ebx, ecx
mov dword [ebp + 0xc], ecx
mov ecx, dword [esi + 0x70]
mov dword [ebp - 8], ebx
xor ebx, edx
add ebx, ecx
lea edi, [edi + ebx + 0x4881d05]
mov ecx, edi
shl ecx, 0x17
shr edi, 9
or ecx, edi
mov edi, dword [ebp + 0xc]
mov ebx, dword [esi + 0x7c]
add ecx, edi
mov edi, dword [ebp - 8]
xor edi, ecx
add edi, ebx
mov ebx, dword [esi + 0x88]
lea edx, [edx + edi - 0x262b2fc7]
mov edi, edx
shr edi, 0x1c
shl edx, 4
or edi, edx
mov edx, dword [ebp + 0xc]
add edi, ecx
xor edx, ecx
xor edx, edi
add edx, ebx
mov ebx, dword [ebp - 4]
lea ebx, [ebx + edx - 0x1924661b]
mov edx, ebx
shr edx, 0x15
shl ebx, 0xb
or edx, ebx
mov ebx, dword [ebp - 0xc]
add edx, edi
mov dword [ebp - 4], edx
xor edx, ecx
xor edx, edi
add edx, ebx
mov ebx, dword [ebp + 0xc]
lea ebx, [ebx + edx + 0x1fa27cf8]
mov edx, ebx
shr edx, 0x10
shl ebx, 0x10
or edx, ebx
mov ebx, dword [ebp - 4]
add edx, ebx
xor ebx, edx
mov dword [ebp + 0xc], edx
mov edx, dword [esi + 0x60]
xor ebx, edi
add ebx, edx
lea ecx, [ecx + ebx - 0x3b53a99b]
mov ebx, dword [ebp + 0xc]
mov edx, ecx
shl edx, 0x17
shr ecx, 9
or edx, ecx
add edx, ebx
mov ebx, dword [ebp - 4]
mov ecx, ebx
not ecx
or ecx, edx
xor ecx, dword [ebp + 0xc]
add ecx, dword [esi + 0x58]
lea edi, [edi + ecx - 0xbd6ddbc]
mov ecx, edi
shr ecx, 0x1a
shl edi, 6
or ecx, edi
mov edi, dword [ebp + 0xc]
add ecx, edx
not edi
or edi, ecx
xor edi, edx
add edi, dword [esi + 0x74]
lea ebx, [ebx + edi + 0x432aff97]
mov edi, ebx
shr edi, 0x16
shl ebx, 0xa
or edi, ebx
mov ebx, edx
add edi, ecx
not ebx
or ebx, edi
mov dword [ebp - 4], edi
mov edi, dword [esi + 0x90]
xor ebx, ecx
add ebx, edi
mov edi, dword [ebp + 0xc]
lea ebx, [edi + ebx - 0x546bdc59]
mov edi, ebx
shr edi, 0x11
shl ebx, 0xf
or edi, ebx
mov ebx, dword [ebp - 4]
add edi, ebx
mov ebx, ecx
not ebx
or ebx, edi
mov dword [ebp + 0xc], edi
mov edi, ebx
mov ebx, dword [ebp - 4]
xor edi, ebx
add edi, dword [esi + 0x6c]
lea edx, [edx + edi - 0x36c5fc7]
mov edi, edx
shl edi, 0x15
shr edx, 0xb
or edi, edx
mov edx, dword [ebp + 0xc]
add edi, edx
mov edx, ebx
not edx
or edx, edi
xor edx, dword [ebp + 0xc]
add edx, dword [esi + 0x88]
lea ecx, [ecx + edx + 0x655b59c3]
mov edx, ecx
shr edx, 0x1a
shl ecx, 6
or edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, edi
not ecx
or ecx, edx
xor ecx, edi
add ecx, dword [esi + 0x64]
lea ebx, [ebx + ecx - 0x70f3336e]
mov ecx, ebx
shr ecx, 0x16
shl ebx, 0xa
or ecx, ebx
mov ebx, edi
add ecx, edx
not ebx
or ebx, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [esi + 0x80]
xor ebx, edx
add ebx, ecx
mov ecx, dword [ebp + 0xc]
lea ebx, [ecx + ebx - 0x100b83]
mov ecx, ebx
shr ecx, 0x11
shl ebx, 0xf
or ecx, ebx
mov ebx, dword [ebp - 4]
add ecx, ebx
mov ebx, edx
not ebx
or ebx, ecx
mov dword [ebp + 0xc], ecx
mov ecx, ebx
mov ebx, dword [ebp - 4]
xor ecx, ebx
add ecx, dword [esi + 0x5c]
lea edi, [edi + ecx - 0x7a7ba22f]
mov ecx, edi
shl ecx, 0x15
shr edi, 0xb
or ecx, edi
mov edi, dword [ebp + 0xc]
add ecx, edi
mov edi, ebx
not edi
or edi, ecx
xor edi, dword [ebp + 0xc]
add edi, dword [esi + 0x78]
lea edx, [edx + edi + 0x6fa87e4f]
mov edi, edx
shr edi, 0x1a
shl edx, 6
or edi, edx
mov edx, dword [ebp + 0xc]
add edi, ecx
not edx
or edx, edi
xor edx, ecx
add edx, dword [ebp - 0xc]
lea ebx, [ebx + edx - 0x1d31920]
mov edx, ebx
shr edx, 0x16
shl ebx, 0xa
or edx, ebx
mov ebx, ecx
add edx, edi
not ebx
or ebx, edx
mov dword [ebp - 4], edx
mov edx, dword [esi + 0x70]
xor ebx, edi
add ebx, edx
mov edx, dword [ebp + 0xc]
lea ebx, [edx + ebx - 0x5cfebcec]
mov edx, ebx
shr edx, 0x11
shl ebx, 0xf
or edx, ebx
mov ebx, dword [ebp - 4]
add edx, ebx
mov ebx, edi
not ebx
or ebx, edx
mov dword [ebp + 0xc], edx
mov edx, ebx
mov ebx, dword [ebp - 4]
xor edx, ebx
add edx, dword [esi + 0x8c]
lea ecx, [ecx + edx + 0x4e0811a1]
mov edx, ecx
shl edx, 0x15
shr ecx, 0xb
or edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, ecx
mov ecx, ebx
not ecx
or ecx, edx
xor ecx, dword [ebp + 0xc]
add ecx, dword [esi + 0x68]
lea edi, [edi + ecx - 0x8ac817e]
mov ecx, edi
shr ecx, 0x1a
shl edi, 6
or ecx, edi
add ecx, edx
mov edi, ecx
mov ecx, dword [ebp + 0xc]
not ecx
or ecx, edi
mov dword [ebp - 8], edi
xor ecx, edx
add ecx, dword [esi + 0x84]
lea ecx, [ebx + ecx - 0x42c50dcb]
mov ebx, ecx
shr ebx, 0x16
shl ecx, 0xa
or ebx, ecx
add ebx, edi
mov ecx, ebx
mov ebx, edx
not ebx
or ebx, ecx
xor ebx, edi
mov edi, dword [esi + 0x60]
add ebx, edi
mov edi, dword [ebp + 0xc]
lea edi, [edi + ebx + 0x2ad7d2bb]
mov ebx, edi
shr ebx, 0x11
shl edi, 0xf
or ebx, edi
mov edi, dword [ebp - 8]
add ebx, ecx
add eax, 0x40
not edi
or edi, ebx
xor edi, ecx
add edi, dword [esi + 0x7c]
lea edx, [edx + edi - 0x14792c6f]
mov edi, dword [ebp - 0x10]
add dword [ebp - 8], edi
mov edi, edx
shl edi, 0x15
shr edx, 0xb
or edi, edx
mov edx, dword [ebp - 0x14]
add edi, edx
add edi, ebx
mov edx, edi
mov edi, dword [ebp - 0x18]
add ebx, edi
mov edi, dword [ebp - 0x1c]
add ecx, edi
mov edi, dword [ebp + 0x10]
sub edi, 0x40
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], edi
jne 0x5939d4
mov edi, dword [ebp - 8]
mov dword [esi + 0xc], edx
mov dword [esi + 8], edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret