Function at 0x4052f0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x144
mov dword [esp + 0x20], eax
xor eax, eax
mov ecx, dword [ebx + eax*4 + 8]
mov dword [esp + eax*4 + 0x24], ecx
add eax, 1
cmp eax, 8
jne 0x405302
xor eax, eax
mov ecx, dword [edx + eax*4]
bswap ecx
mov dword [esp + eax*4 + 0x44], ecx
add eax, 1
cmp eax, 0x10
jne 0x405314
lea ebp, [esp + 0x7c]
lea esi, [esi]
mov edx, dword [ebp]
mov eax, dword [ebp - 0x34]
add ebp, 4
mov edi, edx
mov esi, edx
shr edx, 0xa
ror edi, 0x11
ror esi, 0x13
xor esi, edi
mov ebx, eax
mov ecx, eax
xor edx, esi
mov esi, dword [ebp - 0x3c]
add esi, dword [ebp - 0x18]
ror ebx, 7
ror ecx, 0x12
shr eax, 3
xor ecx, ebx
add edx, esi
xor eax, ecx
add eax, edx
mov dword [ebp + 4], eax
lea eax, [esp + 0x13c]
cmp eax, ebp
jne 0x405330
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x34]
xor esi, ebp
and esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
ror edi, 6
ror ebx, 0xb
xor ebx, edi
mov edi, dword [esp + 0x24]
or edi, dword [esp + 0x28]
xor esi, ebp
and edi, dword [esp + 0x2c]
lea esi, [eax + esi + 0x428a2f98]
mov eax, dword [esp + 0x30]
ror ecx, 0x19
xor ebx, ecx
mov ecx, dword [esp + 0x24]
lea edx, [esi + ebx]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
ror esi, 2
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x28]
ror ebx, 0xd
xor ebx, esi
ror ecx, 0x16
or eax, edi
mov edi, dword [esp + 4]
xor ebx, ecx
add eax, ebx
mov ecx, dword [esp + 0x48]
add eax, edx
mov esi, edi
mov ebx, edi
mov edx, edi
ror esi, 6
ror ebx, 0xb
xor ebx, esi
add ecx, ebp
mov ebp, dword [esp + 0x2c]
ror edx, 0x19
xor ebx, edx
mov edx, dword [esp + 0x34]
xor edx, dword [esp + 0x38]
lea ecx, [ecx + ebx + 0x71374491]
mov esi, eax
mov ebx, eax
ror esi, 2
and edx, edi
xor edx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
add edx, ecx
mov ecx, eax
ror ebx, 0xd
add ebp, edx
and edi, eax
xor ebx, esi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x24]
ror ecx, 0x16
xor ebx, ecx
or ebp, eax
and ebp, dword [esp + 0x28]
or edi, ebp
mov ebp, dword [esp + 8]
add edi, edx
mov edx, dword [esp + 0x38]
add edx, dword [esp + 0x4c]
add edi, ebx
mov esi, ebp
mov ebx, ebp
mov ecx, ebp
ror esi, 6
ror ebx, 0xb
xor ebx, esi
mov esi, edi
ror ecx, 0x19
xor ebx, ecx
lea ecx, [edx + ebx - 0x4a3f0431]
mov edx, dword [esp + 4]
xor edx, dword [esp + 0x34]
ror edi, 2
mov ebx, esi
mov dword [esp + 0x14], esi
ror ebx, 0xd
and edx, ebp
xor edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
xor ebx, edi
mov edi, dword [esp + 4]
add edx, ecx
mov ecx, esi
add ebp, edx
mov dword [esp + 0xc], ebp
mov ebp, esi
and esi, eax
or ebp, eax
and ebp, dword [esp + 0x24]
ror ecx, 0x16
xor ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x34]
or esi, ebp
mov ebp, dword [esp + 0xc]
add ebx, esi
add edx, dword [esp + 0x50]
mov dword [esp], ebx
mov esi, ebp
mov ebx, ebp
mov ecx, ebp
ror esi, 6
ror ebx, 0xb
xor ebx, esi
mov esi, dword [esp + 0x24]
ror ecx, 0x19
xor ebx, ecx
lea ecx, [edx + ebx - 0x164a245b]
mov edx, dword [esp + 8]
xor edx, edi
and edx, ebp
mov ebp, dword [esp]
xor edx, edi
add edx, ecx
mov ecx, dword [esp]
add esi, edx
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x14]
mov edi, ecx
mov ebx, ecx
ror edi, 2
or ebp, esi
and esi, dword [esp]
ror ebx, 0xd
xor ebx, edi
and ebp, eax
mov edi, dword [esp + 0x14]
ror ecx, 0x16
xor ebx, ecx
or esi, ebp
add ebx, edx
lea ebp, [esi + ebx]
mov esi, dword [esp + 0x10]
mov ebx, esi
mov edx, esi
mov ecx, esi
ror ebx, 6
ror edx, 0xb
xor edx, ebx
mov ebx, dword [esp + 8]
ror ecx, 0x19
xor edx, ecx
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x54]
lea ecx, [ecx + edx + 0x3956c25b]
mov edx, dword [esp + 0xc]
xor edx, ebx
and edx, esi
mov esi, ebp
xor edx, ebx
mov ebx, ebp
add edx, ecx
mov ecx, ebp
ror esi, 2
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp]
ror ebx, 0xd
xor ebx, esi
mov esi, dword [esp + 0xc]
or eax, ebp
and edi, eax
mov eax, dword [esp]
ror ecx, 0x16
xor ebx, ecx
and eax, ebp
add ebx, edx
or eax, edi
mov edi, dword [esp + 4]
add ebx, eax
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, ebx
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 8]
add edx, dword [esp + 0x58]
ror ecx, 0xd
lea edx, [edx + eax + 0x59f111f1]
mov eax, dword [esp + 0x10]
xor eax, esi
and eax, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x14], ebx
xor eax, esi
mov esi, ebx
add eax, edx
mov edx, ebx
add edi, eax
mov dword [esp + 8], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp]
ror esi, 2
xor ecx, esi
ror edx, 0x16
xor ecx, edx
or ebx, edi
mov edi, dword [esp]
add ecx, eax
lea eax, [ebx + ecx]
mov ebx, dword [esp + 8]
mov esi, eax
mov ecx, ebx
mov eax, ebx
mov edx, ebx
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0xc]
add edx, dword [esp + 0x5c]
lea edx, [edx + eax - 0x6dc07d5c]
mov eax, dword [esp + 4]
xor eax, ecx
and eax, ebx
mov ebx, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
add edi, eax
mov dword [esp + 0xc], edx
mov ecx, edx
mov dword [esp], edi
mov edi, dword [esp + 0xc]
ror esi, 2
ror ecx, 0xd
or edi, ebx
and ebx, dword [esp + 0xc]
xor ecx, esi
ror edx, 0x16
and edi, ebp
xor ecx, edx
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ebx, dword [esp]
mov esi, eax
mov ecx, ebx
mov eax, ebx
mov edx, ebx
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 4]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x60]
lea edx, [edx + eax - 0x54e3a12b]
mov eax, dword [esp + 8]
xor eax, ecx
and eax, ebx
mov ebx, esi
xor eax, ecx
mov dword [esp + 0x18], ebx
mov ecx, ebx
add eax, edx
mov edx, ebx
ror esi, 2
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0xc]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 8]
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x14]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x14]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, ebp
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x64]
ror ecx, 0xd
lea edx, [edx + eax - 0x27f85568]
mov eax, dword [esp]
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x18]
ror esi, 2
xor ecx, esi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0xc]
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 4]
lea eax, [ebx + ecx]
mov ecx, edi
mov ebx, eax
mov eax, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov edx, edi
mov ecx, dword [esp]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 8]
add edx, dword [esp + 0x68]
mov esi, ebx
mov dword [esp + 0x1c], ebx
ror esi, 2
lea edx, [edx + eax + 0x12835b01]
mov eax, dword [esp + 0x10]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0xc]
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add edi, eax
mov dword [esp + 8], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x18]
ror ecx, 0xd
xor ecx, esi
ror edx, 0x16
xor ecx, edx
or ebx, edi
mov edi, dword [esp + 0x18]
add ecx, eax
lea eax, [ebx + ecx]
mov ebx, dword [esp + 8]
mov esi, eax
mov ecx, ebx
mov eax, ebx
mov edx, ebx
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp]
add edx, dword [esp + 0x6c]
lea edx, [edx + eax + 0x243185be]
mov eax, dword [esp + 4]
xor eax, ecx
and eax, ebx
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
ror esi, 2
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1c]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x70]
or edi, ebx
and ebx, dword [esp + 0xc]
ror edx, 0x16
and edi, ebp
xor ecx, edx
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ebx, dword [esp + 0x14]
mov edi, eax
mov ecx, ebx
mov eax, ebx
mov edx, ebx
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, edi
ror edx, 0x19
xor eax, edx
lea edx, [esi + eax + 0x550c7dc3]
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
ror ecx, 0xd
xor eax, esi
and eax, ebx
mov ebx, edi
xor eax, esi
mov esi, edi
mov dword [esp + 0x18], ebx
add eax, edx
mov edx, edi
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0xc]
ror esi, 2
xor ecx, esi
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x1c]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov eax, edi
mov ecx, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
ror edx, 0x19
xor eax, ecx
mov esi, ebp
xor eax, edx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x74]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
ror esi, 2
lea edx, [edx + eax + 0x72be5d74]
mov eax, dword [esp + 0x14]
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 0x14]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0xc]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x78]
ror edx, 0x19
xor eax, edx
mov ebx, edi
mov dword [esp + 0x1c], ebx
lea edx, [ecx + eax - 0x7f214e02]
mov eax, dword [esp + 0x10]
mov ecx, edi
ror ecx, 0xd
xor eax, esi
and eax, dword [esp]
xor eax, esi
mov esi, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 0xc]
ror esi, 2
ror edx, 0x16
add edi, eax
xor ecx, esi
mov dword [esp + 4], edi
mov edi, ebx
xor ecx, edx
or edi, ebp
and edi, dword [esp + 0x18]
and ebx, ebp
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
mov edi, edx
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x7c]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x6423f959]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x18]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1c]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
mov ebx, esi
ror edx, 0x19
xor eax, edx
add ecx, dword [esp + 0x80]
ror esi, 2
lea edx, [ecx + eax - 0x3e640e8c]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x14], ebx
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 4]
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x1c]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x1c]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x84]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x1b64963f]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
ror edx, 0x16
mov edi, ebx
or edi, ebp
and edi, dword [esp + 8]
xor ecx, esi
and ebx, ebp
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
mov esi, dword [esp + 4]
add esi, dword [esp + 0x88]
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax - 0x1041b87a]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
ror edx, 0x19
xor eax, edx
add ecx, dword [esp + 0x8c]
lea edx, [ecx + eax + 0xfc19dc6]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov ecx, edx
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x90]
ror edx, 0x19
xor eax, edx
mov ebx, esi
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax + 0x240ca1cc]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
ror esi, 2
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror edx, 0x16
ror ecx, 0xd
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
or ebx, edi
mov edi, dword [esp + 0x10]
xor ecx, esi
xor ecx, edx
mov esi, dword [esp + 4]
add ecx, eax
lea ebp, [ebx + ecx]
mov eax, edi
mov ecx, edi
ror eax, 0xb
ror ecx, 6
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x94]
mov edx, edi
mov ebx, dword [esp + 0x18]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x2de92c6f]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0x98]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax + 0x4a7484aa]
mov eax, dword [esp + 0x10]
mov esi, edi
xor eax, ecx
and eax, dword [esp]
ror esi, 2
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x9c]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x5cb0a9dc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
and edi, ebp
ror edx, 0x16
or ebx, edi
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xa0]
ror edx, 0x19
xor eax, edx
mov ebx, esi
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax + 0x76f988da]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
ror esi, 2
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 4]
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0xa4]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x67c1aeae]
mov eax, dword [esp + 0xc]
mov ecx, ebp
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
ror ecx, 0xd
mov edi, ebx
xor ecx, esi
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
mov esi, dword [esp + 4]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add esi, dword [esp + 0xa8]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
lea edx, [esi + eax - 0x57ce3993]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
mov dword [esp + 0x18], ebx
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
or ebx, edi
add ecx, eax
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xac]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x4ffcd838]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xb0]
ror edx, 0x19
xor eax, edx
mov ebx, esi
ror esi, 2
lea edx, [ecx + eax - 0x40a68039]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x14], ebx
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
ror ecx, 0xd
add ebp, eax
xor ecx, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edi, ebp
and ebp, ebx
add ecx, eax
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0xb4]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x391ff40d]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 4]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
add esi, dword [esp + 0xb8]
xor eax, ecx
mov ecx, dword [esp + 0xc]
ror edx, 0x19
xor eax, edx
mov ebx, edi
mov dword [esp + 0x18], ebx
lea edx, [esi + eax - 0x2a586eb9]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xbc]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x6ca6351]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
ror edx, 0x16
or edi, ebx
and ebx, dword [esp + 8]
xor ecx, esi
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
mov edi, edx
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xc0]
ror edx, 0x19
xor eax, edx
mov ebx, esi
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax + 0x14292967]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
ror esi, 2
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 4]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror edx, 0x19
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0xc4]
xor eax, edx
lea edx, [ecx + eax + 0x27b70a85]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0xc8]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax + 0x2e1b2138]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror edx, 0x16
ror ecx, 0xd
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
or edi, ebp
and edi, dword [esp + 0x14]
xor ecx, esi
and ebx, ebp
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
mov edi, edx
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x4d2c6dfc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
mov ebx, esi
ror edx, 0x19
xor eax, edx
add ecx, dword [esp + 0xd0]
mov dword [esp + 0x14], ebx
ror esi, 2
lea edx, [ecx + eax + 0x53380d13]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 4]
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0xd4]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x650a7354]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
ror edx, 0x16
mov edi, ebx
or edi, ebp
and edi, dword [esp + 8]
and ebx, ebp
xor ecx, esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0xd8]
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax + 0x766a0abb]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xdc]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x7e3d36d2]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
xor eax, ecx
add eax, edx
mov edx, esi
mov dword [esp + 8], edx
mov edi, dword [esp + 0x14]
mov ecx, edx
ror esi, 2
ror ecx, 0xd
lea ebx, [edi + eax]
mov edi, dword [esp + 8]
xor ecx, esi
ror edx, 0x16
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
xor ecx, edx
add ecx, eax
mov edx, dword [esp + 0xc]
or edi, ebx
and ebx, dword [esp + 8]
and edi, ebp
or ebx, edi
mov edi, edx
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xe0]
ror edx, 0x19
xor eax, edx
mov ebx, esi
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax - 0x6d8dd37b]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
ror esi, 2
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror edx, 0x16
ror ecx, 0xd
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
or ebx, edi
xor ecx, esi
mov edi, dword [esp + 0x10]
xor ecx, edx
mov esi, dword [esp + 4]
add ecx, eax
lea ebp, [ebx + ecx]
mov eax, edi
mov ecx, edi
ror eax, 0xb
ror ecx, 6
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0xe4]
mov edx, edi
mov ebx, dword [esp + 0x18]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x5d40175f]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0xe8]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
lea edx, [esi + eax - 0x57e599b5]
mov eax, dword [esp + 0x10]
mov esi, edi
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror esi, 2
ror ecx, 0xd
add edi, eax
xor ecx, esi
mov dword [esp + 4], edi
mov edi, ebx
or edi, ebp
and edi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
ror edx, 0x16
and ebx, ebp
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xec]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x3db47490]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
or ebx, edi
add ecx, eax
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xf0]
ror edx, 0x19
xor eax, edx
mov ebx, esi
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax - 0x3893ae5d]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
ror esi, 2
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 4]
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0xf4]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x2e6d17e7]
mov eax, dword [esp + 0xc]
mov ecx, ebp
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
ror esi, 2
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror ecx, 0xd
xor ecx, esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0xf8]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax - 0x2966f9dc]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xfc]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0xbf1ca7b]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x100]
ror edx, 0x19
xor eax, edx
mov ebx, esi
ror esi, 2
lea edx, [ecx + eax + 0x106aa070]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x14], ebx
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
ror ecx, 0xd
ror edx, 0x16
add ebp, eax
xor ecx, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
xor ecx, edx
add ecx, eax
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov eax, edi
mov ecx, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x104]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x19a4c116]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 4]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
ror edx, 0x19
add esi, dword [esp + 0x108]
xor eax, ecx
mov ecx, dword [esp + 0xc]
xor eax, edx
mov ebx, edi
mov dword [esp + 0x18], ebx
lea edx, [esi + eax + 0x1e376c08]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x10c]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x2748774c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror edx, 0x16
ror ecx, 0xd
or edi, ebx
and ebx, dword [esp + 8]
xor ecx, esi
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
mov edi, edx
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x110]
ror edx, 0x19
xor eax, edx
mov ebx, esi
ror esi, 2
lea edx, [ecx + eax + 0x34b0bcb5]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
mov edi, ebp
and ebp, ebx
or edi, ebx
and edi, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
mov ebx, ebp
mov esi, dword [esp + 4]
ror edx, 0x16
xor ecx, edx
or ebx, edi
mov edi, dword [esp + 0x10]
add ecx, eax
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
ror edx, 0x19
xor eax, edx
add ecx, dword [esp + 0x114]
lea edx, [ecx + eax + 0x391c0cb3]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0x118]
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov edi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax + 0x4ed8aa4a]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror edx, 0x16
ror ecx, 0xd
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
or edi, ebp
and edi, dword [esp + 0x14]
xor ecx, esi
and ebx, ebp
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
mov edi, edx
lea eax, [ebx + ecx]
mov ecx, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x11c]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x5b9cca4f]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
mov edi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, esi
lea ebx, [edi + eax]
mov dword [esp + 8], edx
mov edi, dword [esp + 8]
ror esi, 2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
or edi, ebx
and ebx, dword [esp + 8]
ror edx, 0x16
and edi, ebp
xor ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, edx
ror ecx, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x120]
ror edx, 0x19
xor eax, edx
mov ebx, esi
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax + 0x682e6ff3]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, ebx
add eax, edx
mov edx, ebx
add ebp, eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 8]
ror esi, 2
ror ecx, 0xd
mov edi, ebp
and ebp, ebx
xor ecx, esi
or edi, ebx
and edi, dword [esp + 0x18]
mov ebx, ebp
ror edx, 0x16
xor ecx, edx
mov esi, dword [esp + 4]
add ecx, eax
or ebx, edi
mov edi, dword [esp + 0x10]
lea ebp, [ebx + ecx]
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov eax, edi
mov edx, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x124]
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax + 0x748f82ee]
mov eax, dword [esp + 0xc]
mov ecx, ebp
ror ecx, 0xd
xor eax, esi
and eax, edi
xor eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
add ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x14]
ror esi, 2
ror edx, 0x16
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 8]
or ebx, edi
xor ecx, esi
mov esi, dword [esp + 4]
xor ecx, edx
mov edx, dword [esp]
add esi, dword [esp + 0x128]
add ecx, eax
lea eax, [ebx + ecx]
mov ecx, edx
mov edi, eax
mov eax, edx
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, edi
ror edx, 0x19
xor eax, edx
mov dword [esp + 0x18], ebx
lea edx, [esi + eax + 0x78a5636f]
mov eax, dword [esp + 0x10]
mov esi, edi
ror esi, 2
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
mov ecx, edi
add eax, edx
mov edx, edi
mov edi, dword [esp + 8]
ror ecx, 0xd
xor ecx, esi
add edi, eax
mov dword [esp + 4], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
add ecx, eax
or ebx, edi
mov edi, dword [esp + 4]
lea eax, [ebx + ecx]
mov ecx, edi
mov esi, eax
mov eax, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x12c]
mov edx, edi
ror edx, 0x19
xor eax, edx
lea edx, [ecx + eax - 0x7b3787ec]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, esi
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], ecx
mov edi, dword [esp + 8]
mov ebx, ecx
ror esi, 2
add edx, eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x18]
ror ebx, 0xd
xor ebx, esi
or edi, edx
and edx, dword [esp + 8]
and edi, ebp
ror ecx, 0x16
xor ebx, ecx
or edx, edi
add ebx, eax
lea esi, [edx + ebx]
mov ebx, dword [esp + 0xc]
mov edi, ebx
mov ecx, ebx
mov eax, ebx
mov edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, dword [esp + 0x130]
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp]
ror edx, 0x19
xor eax, edx
lea eax, [ebx + eax - 0x7338fdf8]
mov ebx, dword [esp + 4]
xor ebx, ecx
mov edx, ebx
and edx, edi
mov edi, dword [esp + 8]
xor edx, ecx
add edx, eax
mov eax, esi
add ebp, edx
mov dword [esp + 0x14], eax
or edi, eax
mov dword [esp + 0x10], ebp
mov ebx, eax
mov ebp, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 8]
and eax, dword [esp + 0x14]
ror ecx, 0x16
and edi, ebp
ror esi, 2
or eax, edi
mov edi, dword [esp + 0x10]
ror ebx, 0xd
xor ebx, esi
xor ebx, ecx
mov ecx, edi
add ebx, edx
mov edx, edi
lea esi, [eax + ebx]
mov ebx, dword [esp]
add ebx, dword [esp + 0x134]
ror ecx, 6
mov eax, edi
ror eax, 0xb
xor eax, ecx
mov ecx, esi
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0xc]
mov dword [esp], ecx
lea eax, [ebx + eax - 0x6f410006]
mov ebx, dword [esp + 4]
ror esi, 2
xor edx, ebx
and edx, edi
mov edi, dword [esp]
xor edx, ebx
mov ebx, ecx
add edx, eax
lea ebp, [ebp + edx]
ror ebx, 0xd
mov dword [esp + 0x18], ebp
mov dword [esp + 0x40], ebp
xor ebx, esi
mov ebp, dword [esp + 0x14]
ror ecx, 0x16
xor ebx, ecx
or edi, ebp
and ebp, dword [esp]
and edi, dword [esp + 8]
add ebx, edx
mov eax, ebp
or eax, edi
mov edi, dword [esp + 0x18]
lea ebp, [eax + ebx]
mov ecx, edi
mov eax, edi
mov dword [esp + 0x30], ebp
ror ecx, 6
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x10]
mov edx, edi
add ebx, dword [esp + 0x138]
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0xc]
ror edx, 0x19
xor eax, edx
xor esi, ecx
lea edx, [ebx + eax - 0x5baf9315]
mov eax, esi
mov esi, ebp
and eax, edi
mov edi, dword [esp + 8]
xor eax, ecx
mov ecx, ebp
add eax, edx
mov edx, ebp
lea ebx, [edi + eax]
ror esi, 2
mov dword [esp + 4], ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp]
ror ecx, 0xd
xor ecx, esi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, dword [esp + 0x14]
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 4]
add ecx, eax
or ebx, edi
lea eax, [ebx + ecx]
mov ecx, edx
mov esi, edx
ror ecx, 6
mov edi, eax
mov dword [esp + 0x2c], eax
mov eax, edx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0x19
xor edx, eax
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x13c]
lea edx, [eax + edx - 0x41065c09]
mov eax, dword [esp + 0x18]
xor eax, ecx
and eax, esi
mov esi, dword [esp + 0x14]
xor eax, ecx
add eax, edx
mov edx, edi
add esi, eax
mov dword [esp + 8], edx
mov ebx, edx
mov dword [esp + 0xc], esi
mov ecx, edx
mov dword [esp + 0x38], esi
mov esi, edx
mov edx, dword [esp]
or esi, ebp
ror edi, 2
and edx, esi
mov esi, dword [esp + 8]
ror ebx, 0xd
xor ebx, edi
mov edi, dword [esp + 0x18]
and esi, ebp
or esi, edx
mov edx, dword [esp + 0xc]
ror ecx, 0x16
xor ebx, ecx
add ebx, eax
mov eax, edx
mov ecx, edx
add esi, ebx
mov ebx, edx
ror eax, 0xb
ror ebx, 6
xor eax, ebx
mov dword [esp + 0x28], esi
ror ecx, 0x19
xor ecx, eax
mov eax, dword [esp + 0x140]
lea ebx, [eax + ecx - 0x398e870e]
mov ecx, dword [esp + 4]
add ebx, dword [esp + 0x10]
mov eax, dword [esp]
xor ecx, edi
and edx, ecx
mov ecx, esi
xor edx, edi
mov edi, esi
add edx, ebx
mov ebx, esi
add eax, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 8]
ror edi, 2
ror ebx, 0xd
or eax, esi
and esi, dword [esp + 8]
and eax, ebp
ror ecx, 0x16
or esi, eax
mov eax, edi
xor eax, ebx
lea ebx, [esp + 0x28]
xor ecx, eax
lea eax, [ecx + edx]
add eax, esi
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x20]
add ecx, 8
jmp 0x406ed5
mov eax, dword [ebx]
add ebx, 4
add dword [ecx], eax
lea eax, [esp + 0x44]
add ecx, 4
cmp eax, ebx
jne 0x406ed0
add esp, 0x144
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret