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

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