Function at 0x526060
Capabilities:
Encode data using xor
Hash data using murmur3
Hash data using sha256

Disassembly:
sub esp, 0x134
mov edx, dword [esp + 0x138]
mov eax, ecx
push ebx
push ebp
push esi
mov ecx, dword [eax + 0x4c]
lea esi, [esp + 0x40]
mov ebp, dword [eax + 0x50]
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x64]
push edi
mov edi, dword [eax + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 0x68]
mov dword [esp + 0x30], ecx
lea ecx, [edx + 0x3c]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x28], edi
cmp esi, ecx
ja 0x5260e3
lea ecx, [esp + 0x80]
cmp ecx, edx
jb 0x5260e3
mov ecx, esi
sub edx, ecx
lea ecx, [edx + eax*4]
mov ecx, dword [esp + ecx + 0x44]
bswap ecx
mov dword [esp + eax*4 + 0x44], ecx
inc eax
cmp eax, 0x10
jl 0x5260c7
mov dword [esp + 0x34], eax
jmp 0x52619e
movaps xmm6, xmmword [0x548fa0]
lea esi, [esp + 0x44]
movaps xmm7, xmmword [0x548f90]
lea edi, [esp + 0x54]
mov eax, 0x10
mov dword [esp + 0x34], 0x10
sub esi, edx
sub edi, edx
movd xmm4, eax
mov eax, 8
movd xmm5, eax
lea ecx, [eax - 6]
nop word [eax + eax]
lea edx, [edx + 0x20]
movaps xmm0, xmm7
movups xmm2, xmmword [edx - 0x20]
pand xmm0, xmm2
movaps xmm3, xmm2
movaps xmm1, xmm2
pslld xmm3, xmm4
psrld xmm1, xmm4
por xmm3, xmm0
movaps xmm0, xmm6
pand xmm0, xmm2
por xmm1, xmm0
movaps xmm0, xmm7
movups xmm2, xmmword [edx - 0x10]
pslld xmm3, xmm5
pand xmm0, xmm2
psrld xmm1, xmm5
por xmm3, xmm1
movaps xmm1, xmm2
movups xmmword [esi + edx - 0x20], xmm3
movaps xmm3, xmm2
pslld xmm3, xmm4
psrld xmm1, xmm4
por xmm3, xmm0
movaps xmm0, xmm6
pand xmm0, xmm2
por xmm1, xmm0
pslld xmm3, xmm5
psrld xmm1, xmm5
por xmm3, xmm1
movups xmmword [edi + edx - 0x20], xmm3
sub ecx, 1
jne 0x526120
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov esi, eax
ror esi, 0xb
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [esp + 0x30]
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x2c]
add esi, dword [esp + 0x44]
and ecx, eax
xor edx, ecx
mov eax, dword [esp + 0x18]
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x20]
rol ecx, 0xa
add esi, 0x428a2f98
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [esp + 0x28], edi
mov ecx, eax
mov edi, ebp
ror ecx, 2
or edi, eax
xor edx, ecx
and edi, ebx
add edx, esi
mov ecx, ebp
and ecx, eax
or edi, ecx
add edi, edx
mov edx, dword [esp + 0x28]
mov esi, edx
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [esp + 0x2c]
xor esi, ecx
add esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
and ecx, dword [esp + 0x28]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x30]
add esi, 0x71374491
add esi, edx
mov edx, edi
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x30], ebx
mov ecx, edi
mov ebx, edi
ror ecx, 2
or ebx, eax
xor edx, ecx
and ebx, ebp
mov ecx, edi
add edx, esi
and ecx, eax
or ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x30]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [esp + 0x24]
xor esi, ecx
add esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x28]
and ecx, dword [esp + 0x30]
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x2c]
add esi, 0xb5c0fbcf
add esi, edx
mov edx, ebx
add ebp, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x2c], ebp
mov ecx, ebx
mov ebp, edi
ror ecx, 2
or ebp, ebx
xor edx, ecx
and ebp, eax
add edx, esi
mov ecx, edi
and ecx, ebx
or ebp, ecx
add ebp, edx
mov edx, dword [esp + 0x2c]
mov esi, edx
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [esp + 0x28]
xor esi, ecx
add esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
and ecx, dword [esp + 0x2c]
xor edx, ecx
mov ecx, ebp
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x24]
add esi, 0xe9b5dba5
add esi, edx
mov edx, ebp
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [esp + 0x18], eax
mov ecx, ebp
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, ebp
add edx, esi
and ecx, edi
mov esi, eax
mov dword [esp + 0x10], ecx
mov ecx, ebx
and ecx, ebp
ror esi, 0xb
or dword [esp + 0x10], ecx
mov ecx, eax
add dword [esp + 0x10], edx
mov edx, eax
rol ecx, 7
not edx
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
and edx, dword [esp + 0x30]
add esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
and ecx, eax
xor edx, ecx
mov ecx, dword [esp + 0x10]
add edx, esi
mov esi, dword [esp + 0x28]
add esi, 0x3956c25b
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [esp + 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, ebp
or ecx, dword [esp + 0x10]
add edx, esi
and ecx, ebx
mov esi, edi
mov dword [esp + 0x14], ecx
mov ecx, ebp
and ecx, dword [esp + 0x10]
or dword [esp + 0x14], ecx
mov ecx, edi
add dword [esp + 0x14], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [esp + 0x2c]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [esp + 0x58]
and ecx, eax
xor edx, ecx
mov ecx, dword [esp + 0x14]
add edx, esi
mov esi, dword [esp + 0x30]
add esi, 0x59f111f1
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [esp + 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov eax, ecx
add edx, esi
and ecx, dword [esp + 0x14]
mov esi, ebx
or eax, dword [esp + 0x14]
and eax, ebp
ror esi, 0xb
or eax, ecx
mov ecx, ebx
rol ecx, 7
xor esi, ecx
mov dword [esp + 0x20], eax
add dword [esp + 0x20], edx
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [esp + 0x18]
mov ecx, edi
add esi, dword [esp + 0x5c]
and ecx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [esp + 0x2c]
add esi, 0x923f82a4
add esi, edx
mov ecx, dword [esp + 0x20]
mov edx, ecx
add ebp, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [esp + 0x20]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
add edx, esi
or ecx, dword [esp + 0x20]
mov esi, ebp
and ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
and ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
or eax, ecx
ror esi, 0xb
add eax, edx
mov ecx, ebp
rol ecx, 7
mov edx, ebp
xor esi, ecx
mov dword [esp + 0x30], eax
not edx
mov ecx, ebp
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, ebx
add esi, dword [esp + 0x60]
and ecx, ebp
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x18]
add esi, 0xab1c5ed5
add esi, edx
mov edx, eax
add dword [esp + 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
add edx, esi
or ecx, eax
and ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
and ecx, eax
or dword [esp + 0x18], ecx
add dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
add esi, dword [esp + 0x64]
mov ecx, ebp
and ecx, dword [esp + 0x10]
xor edx, ecx
add edx, esi
lea esi, [edi - 0x27f85568]
mov edi, dword [esp + 0x14]
add esi, edx
add edi, esi
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x18]
mov edx, ecx
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [esp + 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [esp + 0x18]
add edx, esi
and ecx, dword [esp + 0x20]
mov esi, edi
mov dword [esp + 0x1c], ecx
mov ecx, eax
and ecx, dword [esp + 0x18]
or dword [esp + 0x1c], ecx
mov ecx, edi
add dword [esp + 0x1c], edx
mov edx, edi
rol ecx, 7
not edx
ror esi, 0xb
and edx, ebp
xor esi, ecx
mov ecx, edi
mov edi, dword [esp + 0x10]
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [esp + 0x14]
add esi, dword [esp + 0x68]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add edx, esi
lea esi, [ebx + 0x12835b01]
mov ebx, dword [esp + 0x20]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x1c]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x1c]
or ecx, dword [esp + 0x18]
add edx, esi
and ecx, eax
mov esi, ebx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
or eax, ecx
ror esi, 0xb
add eax, edx
mov ecx, ebx
rol ecx, 7
mov edx, ebx
xor esi, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov ecx, ebx
mov ebx, dword [esp + 0x14]
not edx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, ebx
and ecx, dword [esp + 0x20]
add esi, dword [esp + 0x6c]
xor edx, ecx
add edx, esi
lea esi, [ebp + 0x243185be]
mov ebp, dword [esp + 0x10]
add esi, edx
add eax, esi
mov edx, ebp
ror edx, 0xd
mov ecx, ebp
rol ecx, 0xa
xor edx, ecx
mov ecx, ebp
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add edx, esi
mov ebp, ecx
and ecx, dword [esp + 0x10]
mov esi, eax
or ebp, dword [esp + 0x10]
and ebp, dword [esp + 0x18]
or ebp, ecx
ror esi, 0xb
add ebp, edx
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x20]
not edx
and edx, ebx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, ebp
add esi, dword [esp + 0x70]
and ecx, eax
xor edx, ecx
mov ecx, dword [esp + 0x24]
add edx, esi
lea esi, [edi + 0x550c7dc3]
add esi, edx
mov edi, dword [esp + 0x18]
mov edx, ecx
add edi, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [esp + 0x24]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
or ecx, dword [esp + 0x24]
add edx, esi
and ecx, dword [esp + 0x1c]
mov esi, edi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
and ecx, dword [esp + 0x24]
or dword [esp + 0x14], ecx
mov ecx, edi
add dword [esp + 0x14], edx
mov edx, edi
rol ecx, 7
not edx
ror esi, 0xb
and edx, ebp
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, eax
add esi, dword [esp + 0x74]
and ecx, edi
xor edx, ecx
add edx, esi
lea esi, [ebx + 0x72be5d74]
mov ebx, dword [esp + 0x14]
add esi, edx
add dword [esp + 0x1c], esi
mov edx, ebx
mov ecx, ebx
ror edx, 0xd
rol ecx, 0xa
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x24]
add edx, esi
mov ebx, ecx
and ecx, dword [esp + 0x14]
or ebx, dword [esp + 0x14]
and ebx, dword [esp + 0x10]
or ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x1c]
mov esi, edx
mov dword [esp + 0x28], ebx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, eax
add esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
and ecx, edi
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 0xa
lea esi, [ebp - 0x7f214e02]
add esi, edx
mov edx, ebx
add dword [esp + 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov ebp, ecx
add edx, esi
and ecx, ebx
or ebp, ebx
and ebp, dword [esp + 0x24]
or ebp, ecx
add ebp, edx
mov edx, dword [esp + 0x10]
mov esi, edx
mov dword [esp + 0x20], ebp
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or ebx, ebp
xor esi, ecx
and ebx, dword [esp + 0x14]
mov ecx, edx
not edx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [esp + 0x1c]
and ecx, dword [esp + 0x10]
add esi, dword [esp + 0x7c]
xor edx, ecx
add edx, esi
mov ecx, ebp
lea esi, [eax - 0x6423f959]
rol ecx, 0xa
mov eax, dword [esp + 0x24]
add esi, edx
mov edx, ebp
add eax, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x24], eax
mov ecx, ebp
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x28]
and ecx, ebp
or ebx, ecx
add edx, esi
add ebx, edx
mov esi, eax
mov ecx, eax
ror esi, 0xb
rol ecx, 7
mov edx, eax
xor esi, ecx
mov dword [esp + 0x2c], ebx
mov ecx, eax
not edx
and edx, dword [esp + 0x1c]
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x10]
add esi, dword [esp + 0x80]
and ecx, eax
xor edx, ecx
mov eax, ebp
add edx, esi
mov ecx, ebx
lea esi, [edi - 0x3e640e8c]
rol ecx, 0xa
mov edi, dword [esp + 0x14]
add esi, edx
mov edx, ebx
or eax, ebx
and eax, dword [esp + 0x28]
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x14], edi
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebp
and ecx, ebx
add edx, esi
or eax, ecx
add eax, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x18
jge 0x526896
mov ebp, 0x18
lea ebx, [esp + eax*4 + 0x3c]
sub ebp, eax
add eax, ebp
mov dword [esp + 0x34], eax
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
ror edi, 7
rol ecx, 0xe
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub ebp, 1
jne 0x526853
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [esp + 0x10]
mov ecx, edi
ror ecx, 6
mov ebp, ebx
xor esi, ecx
and ebx, eax
add esi, dword [esp + 0x84]
or ebp, eax
mov ecx, dword [esp + 0x24]
and ecx, edi
mov edi, dword [esp + 0x20]
xor edx, ecx
and ebp, edi
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x1c]
or ebp, ebx
add esi, 0xe49b69c1
rol ecx, 0xa
add esi, edx
mov edx, eax
add dword [esp + 0x28], esi
mov ebx, dword [esp + 0x28]
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 7
add ebp, edx
mov esi, ebx
ror esi, 0xb
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [esp + 0x24]
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x14]
add esi, dword [esp + 0x88]
and ecx, ebx
xor edx, ecx
mov ebx, ebp
add edx, esi
mov ecx, ebp
mov esi, dword [esp + 0x10]
or ebx, eax
add esi, 0xefbe4786
rol ecx, 0xa
add esi, edx
mov edx, ebp
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x2c]
mov ecx, ebp
ror ecx, 2
and ebx, edi
xor edx, ecx
mov ecx, ebp
and ecx, eax
add edx, esi
or ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x20]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [esp + 0x14]
xor esi, ecx
add esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x28]
and ecx, dword [esp + 0x20]
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x24]
add esi, 0xfc19dc6
add esi, edx
mov edx, ebx
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x2c], edi
mov ecx, ebx
mov edi, ebp
ror ecx, 2
or edi, ebx
xor edx, ecx
and edi, eax
add edx, esi
mov ecx, ebp
and ecx, ebx
or edi, ecx
add edi, edx
mov edx, dword [esp + 0x2c]
mov esi, edx
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [esp + 0x28]
xor esi, ecx
add esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x20]
and ecx, dword [esp + 0x2c]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x14]
add esi, 0x240ca1cc
add esi, edx
mov edx, edi
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [esp + 0x30], eax
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, edi
add edx, esi
and ecx, ebp
mov esi, eax
mov dword [esp + 0x10], ecx
mov ecx, ebx
and ecx, edi
ror esi, 0xb
or dword [esp + 0x10], ecx
mov ecx, eax
add dword [esp + 0x10], edx
mov edx, eax
rol ecx, 7
not edx
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
and edx, dword [esp + 0x20]
add esi, dword [esp + 0x94]
mov ecx, dword [esp + 0x2c]
and ecx, eax
xor edx, ecx
mov ecx, dword [esp + 0x10]
add edx, esi
mov esi, dword [esp + 0x28]
add esi, 0x2de92c6f
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebp, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x38], ebp
mov ecx, dword [esp + 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, edi
or ecx, dword [esp + 0x10]
add edx, esi
and ecx, ebx
mov esi, ebp
mov dword [esp + 0x14], ecx
mov ecx, edi
and ecx, dword [esp + 0x10]
or dword [esp + 0x14], ecx
mov ecx, ebp
add dword [esp + 0x14], edx
mov edx, ebp
rol ecx, 7
not edx
and edx, dword [esp + 0x2c]
ror esi, 0xb
xor esi, ecx
mov ecx, ebp
ror ecx, 6
xor esi, ecx
mov ecx, ebp
add esi, dword [esp + 0x98]
and ecx, eax
xor edx, ecx
mov ecx, dword [esp + 0x14]
add edx, esi
mov esi, dword [esp + 0x20]
add esi, 0x4a7484aa
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov eax, ecx
add edx, esi
and ecx, dword [esp + 0x14]
mov esi, ebx
or eax, dword [esp + 0x14]
and eax, edi
ror esi, 0xb
or eax, ecx
mov ecx, ebx
rol ecx, 7
xor esi, ecx
mov dword [esp + 0x24], eax
add dword [esp + 0x24], edx
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [esp + 0x30]
mov ecx, ebp
add esi, dword [esp + 0x9c]
and ecx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
add esi, 0x5cb0a9dc
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x24]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov ebx, ecx
mov dword [esp + 0x1c], ecx
and ecx, dword [esp + 0x24]
add edx, esi
or ebx, dword [esp + 0x24]
mov esi, edi
and ebx, dword [esp + 0x10]
mov eax, ebx
ror esi, 0xb
or eax, ecx
mov dword [esp + 0x1c], ebx
add eax, edx
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
mov dword [esp + 0x1c], eax
not edx
mov ecx, edi
ror ecx, 6
and edx, ebp
xor esi, ecx
mov ecx, dword [esp + 0x28]
add esi, dword [esp + 0xa0]
and ecx, edi
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x30]
add esi, 0x76f988da
add esi, edx
mov edx, eax
add dword [esp + 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x24]
mov ebx, ecx
add edx, esi
or ebx, eax
and ecx, eax
and ebx, dword [esp + 0x14]
mov eax, ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x28]
or eax, ecx
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x20
jge 0x526c67
mov ebp, 0x20
lea ebx, [esp + eax*4 + 0x3c]
sub ebp, eax
add eax, ebp
mov dword [esp + 0x34], eax
nop dword [eax + eax]
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub ebp, 1
jne 0x526c20
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
add esi, dword [esp + 0xa4]
mov ecx, edi
and ecx, dword [esp + 0x10]
xor edx, ecx
mov ecx, dword [esp + 0x18]
add edx, esi
lea esi, [ebp - 0x67c1aeae]
add esi, edx
mov ebp, dword [esp + 0x14]
mov edx, ecx
add ebp, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
add edx, esi
and ecx, dword [esp + 0x18]
mov esi, ebp
or ebx, dword [esp + 0x18]
and ebx, dword [esp + 0x24]
or ebx, ecx
ror esi, 0xb
mov ecx, ebp
mov dword [esp + 0x20], ebx
add dword [esp + 0x20], edx
mov edx, ebp
rol ecx, 7
not edx
xor esi, ecx
mov ebx, dword [esp + 0x24]
mov ecx, ebp
and edx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x10]
add esi, dword [esp + 0xa8]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x20]
add edx, esi
mov esi, dword [esp + 0x28]
add esi, 0xa831c66d
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x20]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, ecx
add edx, esi
or eax, dword [esp + 0x18]
mov esi, ebx
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x1c]
or eax, ecx
ror esi, 0xb
mov dword [esp + 0x2c], eax
mov ecx, ebx
add dword [esp + 0x2c], edx
rol ecx, 7
xor esi, ecx
mov edx, ebx
not edx
mov ecx, ebx
and edx, dword [esp + 0x10]
ror ecx, 6
xor esi, ecx
mov ecx, ebp
add esi, dword [esp + 0xac]
and ecx, ebx
xor edx, ecx
mov ecx, dword [esp + 0x2c]
add edx, 0xb00327c8
add esi, edx
mov edx, ecx
rol ecx, 0xa
add esi, edi
mov edi, dword [esp + 0x1c]
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x2c]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov ebp, ecx
mov dword [esp + 0x30], ecx
and ecx, dword [esp + 0x2c]
add edx, esi
or ebp, dword [esp + 0x2c]
mov esi, edi
and ebp, dword [esp + 0x18]
ror esi, 0xb
mov eax, ebp
or eax, ecx
mov dword [esp + 0x30], ebp
add eax, edx
mov ebp, dword [esp + 0x18]
mov ecx, edi
mov edx, edi
rol ecx, 7
not edx
and edx, dword [esp + 0x14]
xor esi, ecx
mov ecx, edi
mov edi, ebx
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [esp + 0x1c]
add esi, dword [esp + 0xb0]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x10]
add esi, 0xbf597fc7
rol ecx, 0xa
add esi, edx
mov edx, eax
ror edx, 0xd
add ebp, esi
xor edx, ecx
mov dword [esp + 0x18], ebp
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x2c]
mov ebx, ecx
add edx, esi
or ebx, eax
and ecx, eax
and ebx, dword [esp + 0x20]
mov esi, ebp
or ebx, ecx
ror esi, 0xb
mov ecx, ebp
mov dword [esp + 0x10], ebx
add dword [esp + 0x10], edx
rol ecx, 7
xor esi, ecx
mov ecx, ebp
mov ebx, dword [esp + 0x20]
ror ecx, 6
mov edx, ebp
xor esi, ecx
not edx
add esi, dword [esp + 0xb4]
and edx, edi
mov ecx, dword [esp + 0x1c]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x10]
add edx, esi
mov esi, dword [esp + 0x14]
add esi, 0xc6e00bf3
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [esp + 0x10]
add edx, esi
and ecx, dword [esp + 0x2c]
mov esi, ebx
mov dword [esp + 0x14], ecx
mov ecx, eax
and ecx, dword [esp + 0x10]
or dword [esp + 0x14], ecx
mov ecx, ebx
add dword [esp + 0x14], edx
mov edx, ebx
rol ecx, 7
not edx
and edx, dword [esp + 0x1c]
ror esi, 0xb
xor esi, ecx
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, ebx
add esi, dword [esp + 0xb8]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x14]
add edx, esi
lea esi, [edi - 0x2a586eb9]
mov edi, dword [esp + 0x2c]
add esi, edx
mov edx, ecx
add edi, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov ebp, ecx
add edx, esi
and ecx, dword [esp + 0x14]
mov esi, edi
or ebp, dword [esp + 0x14]
and ebp, eax
ror esi, 0xb
or ebp, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov dword [esp + 0x28], ebp
add dword [esp + 0x28], edx
mov ecx, edi
ror ecx, 6
mov edx, edi
xor esi, ecx
add esi, dword [esp + 0xbc]
not edx
and edx, dword [esp + 0x18]
mov ecx, ebx
mov ebp, dword [esp + 0x28]
and ecx, edi
xor edx, ecx
mov ecx, ebp
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x1c]
add esi, 0x6ca6351
add esi, edx
mov edx, ebp
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [esp + 0x30], eax
mov ecx, ebp
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov ebx, ecx
add edx, esi
and ecx, ebp
or ebx, ebp
and ebx, dword [esp + 0x10]
mov esi, eax
mov ebp, ebx
ror esi, 0xb
or ebp, ecx
mov dword [esp + 0x24], ebx
add ebp, edx
mov ebx, dword [esp + 0x10]
mov ecx, eax
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x20]
mov edx, eax
rol ecx, 7
not edx
xor esi, ecx
and edx, ebp
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [esp + 0xc0]
and ecx, eax
mov eax, dword [esp + 0x24]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x18]
rol ecx, 0xa
add esi, 0x14292967
add esi, edx
mov edx, eax
ror edx, 0xd
add ebx, esi
xor edx, ecx
mov dword [esp + 0x10], ebx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x28]
or ecx, eax
add edx, esi
and ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
and ecx, eax
mov eax, dword [esp + 0x18]
or eax, ecx
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x28
jge 0x527067
mov ebp, 0x28
lea ebx, [esp + eax*4 + 0x3c]
sub ebp, eax
add eax, ebp
mov dword [esp + 0x34], eax
nop
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub ebp, 1
jne 0x527020
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
mov esi, ebx
mov ecx, ebx
rol ecx, 7
mov edx, ebx
ror esi, 0xb
not edx
xor esi, ecx
and edx, edi
mov ecx, ebx
mov ebx, dword [esp + 0x30]
ror ecx, 6
xor esi, ecx
mov ecx, ebx
and ecx, dword [esp + 0x10]
add esi, dword [esp + 0xc4]
xor edx, ecx
mov ecx, dword [esp + 0x18]
add edx, esi
lea esi, [ebp + 0x27b70a85]
mov ebp, dword [esp + 0x14]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebp, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x24]
mov edi, ecx
add edx, esi
and ecx, dword [esp + 0x18]
mov esi, ebp
or edi, dword [esp + 0x18]
and edi, dword [esp + 0x28]
or edi, ecx
ror esi, 0xb
mov ecx, ebp
mov dword [esp + 0x20], edi
add dword [esp + 0x20], edx
mov edx, ebp
rol ecx, 7
not edx
xor esi, ecx
mov edi, dword [esp + 0x28]
mov ecx, ebp
and edx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x10]
add esi, dword [esp + 0xc8]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x20]
add edx, esi
mov esi, dword [esp + 0x2c]
add esi, 0x2e1b2138
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x20]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, ecx
add edx, esi
or eax, dword [esp + 0x18]
mov esi, edi
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x24]
or eax, ecx
mov ecx, edi
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], edx
ror esi, 0xb
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [esp + 0x10]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, ebp
add esi, dword [esp + 0xcc]
and ecx, edi
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add edx, esi
lea esi, [ebx + 0x4d2c6dfc]
add esi, edx
mov ebx, dword [esp + 0x24]
mov edx, ecx
add ebx, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x1c]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov ebp, ecx
mov dword [esp + 0x2c], ecx
and ecx, dword [esp + 0x1c]
add edx, esi
or ebp, dword [esp + 0x1c]
mov esi, ebx
and ebp, dword [esp + 0x18]
mov eax, ebp
ror esi, 0xb
or eax, ecx
mov dword [esp + 0x2c], ebp
add eax, edx
mov ebp, dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x2c], eax
rol ecx, 7
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [esp + 0x14]
mov ecx, ebx
ror ecx, 6
mov ebx, edi
xor esi, ecx
mov ecx, ebx
and ecx, dword [esp + 0x24]
add esi, dword [esp + 0xd0]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x10]
add esi, 0x53380d13
rol ecx, 0xa
add esi, edx
mov edx, eax
ror edx, 0xd
add ebp, esi
xor edx, ecx
mov dword [esp + 0x18], ebp
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x1c]
mov edi, ecx
add edx, esi
or edi, eax
and ecx, eax
and edi, dword [esp + 0x20]
mov esi, ebp
or edi, ecx
mov ecx, ebp
mov dword [esp + 0x10], edi
add dword [esp + 0x10], edx
ror esi, 0xb
rol ecx, 7
mov edx, ebp
xor esi, ecx
mov edi, dword [esp + 0x20]
not edx
mov ecx, ebp
ror ecx, 6
and edx, ebx
xor esi, ecx
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0xd4]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x10]
add edx, esi
mov esi, dword [esp + 0x14]
add esi, 0x650a7354
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [esp + 0x10]
add edx, esi
and ecx, dword [esp + 0x1c]
mov esi, edi
mov dword [esp + 0x14], ecx
mov ecx, eax
and ecx, dword [esp + 0x10]
or dword [esp + 0x14], ecx
mov ecx, edi
add dword [esp + 0x14], edx
mov edx, edi
rol ecx, 7
not edx
and edx, dword [esp + 0x24]
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [esp + 0xd8]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x14]
add edx, esi
lea esi, [ebx + 0x766a0abb]
mov ebx, dword [esp + 0x1c]
add esi, edx
mov edx, ecx
add ebx, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov ebp, ecx
add edx, esi
or ebp, dword [esp + 0x14]
mov esi, ebx
and ecx, dword [esp + 0x14]
and ebp, eax
mov eax, ebp
ror esi, 0xb
or eax, ecx
mov dword [esp + 0x28], ebp
mov ecx, ebx
add eax, edx
rol ecx, 7
mov dword [esp + 0x28], eax
xor esi, ecx
mov ebp, dword [esp + 0x28]
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
mov eax, dword [esp + 0x2c]
add esi, dword [esp + 0xdc]
not edx
and edx, dword [esp + 0x18]
mov ebx, edi
mov ecx, ebx
and ecx, dword [esp + 0x1c]
xor edx, ecx
mov ecx, ebp
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x24]
add esi, 0x81c2c92e
add esi, edx
mov edx, ebp
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [esp + 0x2c], eax
mov ecx, ebp
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov edi, ecx
add edx, esi
and ecx, ebp
or edi, ebp
and edi, dword [esp + 0x10]
mov esi, eax
mov ebp, edi
ror esi, 0xb
or ebp, ecx
mov dword [esp + 0x24], edi
add ebp, edx
mov edi, dword [esp + 0x10]
mov ecx, eax
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x1c]
mov edx, eax
rol ecx, 7
not edx
xor esi, ecx
and edx, ebx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, ebp
add esi, dword [esp + 0xe0]
and ecx, eax
mov eax, dword [esp + 0x24]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x18]
rol ecx, 0xa
add esi, 0x92722c85
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [esp + 0x10], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x28]
or ecx, eax
add edx, esi
and ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
and ecx, eax
mov eax, dword [esp + 0x18]
or eax, ecx
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x30
jge 0x527477
mov ebp, 0x30
lea ebx, [esp + eax*4 + 0x3c]
sub ebp, eax
add eax, ebp
mov dword [esp + 0x34], eax
mov edx, dword [ebx]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 0x38]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
ror ecx, 7
rol edx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub ebp, 1
jne 0x527431
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, edi
mov ecx, edi
rol ecx, 7
mov edx, edi
ror esi, 0xb
not edx
xor esi, ecx
and edx, ebp
mov ecx, edi
mov edi, dword [esp + 0x2c]
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [esp + 0x10]
add esi, dword [esp + 0xe4]
xor edx, ecx
mov ecx, dword [esp + 0x18]
add edx, esi
lea esi, [ebx - 0x5d40175f]
mov ebx, dword [esp + 0x14]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x24]
mov ebp, ecx
add edx, esi
and ecx, dword [esp + 0x18]
mov esi, ebx
or ebp, dword [esp + 0x18]
and ebp, dword [esp + 0x28]
or ebp, ecx
ror esi, 0xb
mov ecx, ebx
mov dword [esp + 0x2c], ebp
add dword [esp + 0x2c], edx
mov edx, ebx
rol ecx, 7
not edx
xor esi, ecx
mov ebp, dword [esp + 0x28]
mov ecx, ebx
and edx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x10]
add esi, dword [esp + 0xe8]
and ecx, ebx
xor edx, ecx
mov ecx, dword [esp + 0x2c]
add edx, esi
mov esi, dword [esp + 0x1c]
add esi, 0xa81a664b
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebp, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x28], ebp
mov ecx, dword [esp + 0x2c]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x2c]
mov eax, ecx
add edx, esi
or eax, dword [esp + 0x18]
mov esi, ebp
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x24]
or eax, ecx
mov ecx, ebp
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], edx
ror esi, 0xb
rol ecx, 7
mov edx, ebp
xor esi, ecx
not edx
and edx, dword [esp + 0x10]
mov ecx, ebp
ror ecx, 6
xor esi, ecx
mov ecx, ebx
add esi, dword [esp + 0xec]
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add edx, esi
lea esi, [edi - 0x3db47490]
add esi, edx
mov edi, dword [esp + 0x24]
mov edx, ecx
add edi, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x1c]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x2c]
mov ebx, ecx
mov dword [esp + 0x20], ecx
and ecx, dword [esp + 0x1c]
add edx, esi
or ebx, dword [esp + 0x1c]
mov esi, edi
and ebx, dword [esp + 0x18]
mov eax, ebx
ror esi, 0xb
or eax, ecx
mov dword [esp + 0x20], ebx
add eax, edx
mov ebx, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x20], eax
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [esp + 0x14]
mov ecx, edi
ror ecx, 6
mov edi, ebp
xor esi, ecx
mov ecx, edi
and ecx, dword [esp + 0x24]
add esi, dword [esp + 0xf0]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x10]
add esi, 0xc76c51a3
rol ecx, 0xa
add esi, edx
mov edx, eax
ror edx, 0xd
add ebx, esi
xor edx, ecx
mov dword [esp + 0x18], ebx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
add edx, esi
or ebp, eax
and ecx, eax
and ebp, dword [esp + 0x2c]
mov esi, ebx
or ebp, ecx
mov ecx, ebx
mov dword [esp + 0x10], ebp
add dword [esp + 0x10], edx
ror esi, 0xb
rol ecx, 7
mov edx, ebx
xor esi, ecx
mov ebp, dword [esp + 0x2c]
not edx
mov ecx, ebx
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0xf4]
and ecx, ebx
xor edx, ecx
mov ecx, dword [esp + 0x10]
add edx, esi
mov esi, dword [esp + 0x14]
add esi, 0xd192e819
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebp, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [esp + 0x10]
add edx, esi
and ecx, dword [esp + 0x1c]
mov esi, ebp
mov dword [esp + 0x14], ecx
mov ecx, eax
and ecx, dword [esp + 0x10]
or dword [esp + 0x14], ecx
mov ecx, ebp
add dword [esp + 0x14], edx
mov edx, ebp
rol ecx, 7
not edx
and edx, dword [esp + 0x24]
ror esi, 0xb
xor esi, ecx
mov ecx, ebp
ror ecx, 6
xor esi, ecx
mov ecx, ebp
add esi, dword [esp + 0xf8]
and ecx, ebx
xor edx, ecx
mov ecx, dword [esp + 0x14]
add edx, esi
lea esi, [edi - 0x2966f9dc]
mov edi, dword [esp + 0x1c]
add esi, edx
mov edx, ecx
add edi, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x14]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov ebx, ecx
add edx, esi
or ebx, dword [esp + 0x14]
mov esi, edi
and ecx, dword [esp + 0x14]
and ebx, eax
mov eax, ebx
ror esi, 0xb
or eax, ecx
mov dword [esp + 0x28], ebx
mov ecx, edi
add eax, edx
rol ecx, 7
mov dword [esp + 0x28], eax
xor esi, ecx
mov ebx, dword [esp + 0x28]
mov ecx, edi
ror ecx, 6
mov edx, edi
xor esi, ecx
mov eax, dword [esp + 0x20]
add esi, dword [esp + 0xfc]
not edx
and edx, dword [esp + 0x18]
mov edi, ebp
mov ecx, edi
and ecx, dword [esp + 0x1c]
xor edx, ecx
mov ecx, ebx
add edx, esi
rol ecx, 0xa
mov esi, dword [esp + 0x24]
add esi, 0xf40e3585
add esi, edx
mov edx, ebx
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [esp + 0x20], eax
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov ebp, ecx
add edx, esi
and ecx, ebx
or ebp, ebx
and ebp, dword [esp + 0x10]
mov esi, eax
mov ebx, ebp
ror esi, 0xb
or ebx, ecx
mov dword [esp + 0x24], ebp
add ebx, edx
mov ebp, dword [esp + 0x10]
mov ecx, eax
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x1c]
mov edx, eax
rol ecx, 7
not edx
xor esi, ecx
and edx, edi
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, ebx
add esi, dword [esp + 0x100]
and ecx, eax
mov eax, dword [esp + 0x24]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x18]
rol ecx, 0xa
add esi, 0x106aa070
add esi, edx
mov edx, eax
ror edx, 0xd
add ebp, esi
xor edx, ecx
mov dword [esp + 0x10], ebp
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x28]
or ecx, eax
add edx, esi
and ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
and ecx, eax
mov eax, dword [esp + 0x18]
or eax, ecx
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x38
jge 0x527887
mov ebp, 0x38
lea ebx, [esp + eax*4 + 0x3c]
sub ebp, eax
add eax, ebp
mov dword [esp + 0x34], eax
mov edx, dword [ebx]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 0x38]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
ror ecx, 7
rol edx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub ebp, 1
jne 0x527841
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
mov esi, ebp
mov ecx, ebp
rol ecx, 7
mov edx, ebp
ror esi, 0xb
not edx
xor esi, ecx
and edx, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x20]
ror ecx, 6
xor esi, ecx
mov ecx, ebp
and ecx, dword [esp + 0x10]
add esi, dword [esp + 0x104]
xor edx, ecx
mov ecx, dword [esp + 0x18]
add edx, esi
lea esi, [edi + 0x19a4c116]
mov edi, dword [esp + 0x14]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x24]
mov ebx, ecx
add edx, esi
and ecx, dword [esp + 0x18]
mov esi, edi
or ebx, dword [esp + 0x18]
and ebx, dword [esp + 0x28]
or ebx, ecx
ror esi, 0xb
mov ecx, edi
mov dword [esp + 0x2c], ebx
add dword [esp + 0x2c], edx
mov edx, edi
rol ecx, 7
not edx
xor esi, ecx
mov ebx, dword [esp + 0x28]
mov ecx, edi
and edx, ebp
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x10]
add esi, dword [esp + 0x108]
and ecx, edi
xor edx, ecx
mov ecx, dword [esp + 0x2c]
add edx, esi
mov esi, dword [esp + 0x1c]
add esi, 0x1e376c08
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x2c]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x2c]
mov eax, ecx
add edx, esi
or eax, dword [esp + 0x18]
mov esi, ebx
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x24]
or eax, ecx
mov ecx, ebx
mov dword [esp + 0x20], eax
add dword [esp + 0x20], edx
ror esi, 0xb
rol ecx, 7
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [esp + 0x10]
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [esp + 0x10c]
and ecx, ebx
xor edx, ecx
mov ecx, dword [esp + 0x20]
add edx, esi
lea esi, [ebp + 0x2748774c]
add esi, edx
mov ebp, dword [esp + 0x24]
mov edx, ecx
add ebp, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x20]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x2c]
mov edi, ecx
mov dword [esp + 0x30], ecx
and ecx, dword [esp + 0x20]
add edx, esi
or edi, dword [esp + 0x20]
mov esi, ebp
and edi, dword [esp + 0x18]
mov eax, edi
ror esi, 0xb
or eax, ecx
mov dword [esp + 0x30], edi
add eax, edx
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov dword [esp + 0x30], eax
rol ecx, 7
mov edx, ebp
xor esi, ecx
not edx
and edx, dword [esp + 0x14]
mov ecx, ebp
ror ecx, 6
mov ebp, ebx
xor esi, ecx
mov ecx, ebp
and ecx, dword [esp + 0x24]
add esi, dword [esp + 0x110]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x10]
add esi, 0x34b0bcb5
rol ecx, 0xa
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [esp + 0x18], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov ebx, ecx
add edx, esi
or ebx, eax
and ecx, eax
and ebx, dword [esp + 0x2c]
mov esi, edi
or ebx, ecx
mov ecx, edi
mov dword [esp + 0x28], ebx
add dword [esp + 0x28], edx
ror esi, 0xb
rol ecx, 7
mov edx, edi
xor esi, ecx
mov ebx, dword [esp + 0x2c]
not edx
mov ecx, edi
ror ecx, 6
and edx, ebp
xor esi, ecx
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0x114]
and ecx, edi
xor edx, ecx
mov ecx, dword [esp + 0x28]
add edx, esi
mov esi, dword [esp + 0x14]
add esi, 0x391c0cb3
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x28]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [esp + 0x28]
add edx, esi
and ecx, dword [esp + 0x20]
mov esi, ebx
mov dword [esp + 0x10], ecx
mov ecx, eax
and ecx, dword [esp + 0x28]
or dword [esp + 0x10], ecx
mov ecx, ebx
add dword [esp + 0x10], edx
mov edx, ebx
rol ecx, 7
not edx
and edx, dword [esp + 0x24]
ror esi, 0xb
xor esi, ecx
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, ebx
add esi, dword [esp + 0x118]
mov ebx, edi
and ecx, ebx
xor edx, ecx
mov ecx, dword [esp + 0x10]
add edx, esi
lea esi, [ebp + 0x4ed8aa4a]
mov ebp, dword [esp + 0x20]
add esi, edx
mov edx, ecx
add ebp, esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x20], ebp
mov ecx, dword [esp + 0x10]
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x28]
mov edi, ecx
add edx, esi
or edi, dword [esp + 0x10]
mov esi, ebp
and ecx, dword [esp + 0x10]
and edi, eax
mov eax, edi
mov dword [esp + 0x18], edi
or eax, ecx
ror esi, 0xb
add eax, edx
mov ecx, ebp
mov dword [esp + 0x18], eax
rol ecx, 7
xor esi, ecx
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, ebp
mov ebp, dword [esp + 0x2c]
not edx
ror ecx, 6
and edx, ebx
xor esi, ecx
mov ecx, ebp
and ecx, dword [esp + 0x20]
add esi, dword [esp + 0x11c]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [esp + 0x24]
rol ecx, 0xa
add esi, 0x5b9cca4f
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [esp + 0x30], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
add edx, esi
and ecx, dword [esp + 0x18]
mov esi, edi
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
and dword [esp + 0x1c], eax
or dword [esp + 0x1c], ecx
mov ecx, edi
add dword [esp + 0x1c], edx
mov edx, edi
rol ecx, 7
not edx
ror esi, 0xb
and edx, ebp
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x20]
add esi, dword [esp + 0x120]
and ecx, edi
xor edx, ecx
add edx, esi
lea esi, [ebx + 0x682e6ff3]
mov ebx, dword [esp + 0x1c]
add esi, edx
mov edx, ebx
mov ecx, ebx
rol ecx, 0xa
add eax, esi
ror edx, 0xd
xor edx, ecx
mov dword [esp + 0x28], eax
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [esp + 0x18]
or ecx, ebx
add edx, esi
and ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
and ecx, ebx
or eax, ecx
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
cmp eax, 0x40
jge 0x527c82
mov ebx, 0x40
lea edi, [esp + eax*4 + 0x3c]
sub ebx, eax
mov ecx, dword [edi - 0x34]
lea edi, [edi + 4]
mov edx, dword [edi - 4]
mov esi, ecx
mov eax, ecx
rol esi, 0xe
ror eax, 7
xor esi, eax
shr ecx, 3
xor esi, ecx
mov eax, edx
mov ecx, edx
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr edx, 0xa
xor ecx, edx
add esi, ecx
add esi, dword [edi - 0x3c]
add esi, dword [edi - 0x18]
mov dword [edi + 4], esi
sub ebx, 1
jne 0x527c43
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov edx, esi
mov ebx, dword [esp + 0x20]
mov eax, esi
rol eax, 7
mov ecx, esi
ror edx, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, edi
add edx, dword [esp + 0x124]
and eax, esi
xor ecx, eax
add ecx, edx
lea edx, [ebp + 0x748f82ee]
mov ebp, dword [esp + 0x14]
add edx, ecx
add dword [esp + 0x10], edx
mov ecx, ebp
ror ecx, 0xd
mov eax, ebp
rol eax, 0xa
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x14]
or ebp, dword [esp + 0x14]
and ebp, dword [esp + 0x18]
or ebp, eax
add ebp, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
xor edx, eax
and ecx, edi
add edx, dword [esp + 0x128]
mov eax, esi
and eax, dword [esp + 0x10]
xor ecx, eax
mov eax, ebp
add ecx, edx
rol eax, 0xa
lea edx, [ebx + 0x78a5636f]
mov ebx, ebp
or ebx, dword [esp + 0x14]
add edx, ecx
and ebx, dword [esp + 0x1c]
mov ecx, ebp
add dword [esp + 0x18], edx
ror ecx, 0xd
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, ebp
and eax, dword [esp + 0x14]
add ecx, edx
or ebx, eax
add ebx, ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
xor edx, eax
not ecx
add edx, dword [esp + 0x12c]
and ecx, esi
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x18]
xor ecx, eax
mov eax, ebx
add ecx, 0x84c87814
rol eax, 0xa
add edx, ecx
mov ecx, ebx
ror ecx, 0xd
add edx, edi
xor ecx, eax
add dword [esp + 0x1c], edx
mov eax, ebx
mov edi, ebp
ror eax, 2
or edi, ebx
xor ecx, eax
and edi, dword [esp + 0x14]
add ecx, edx
mov eax, ebp
and eax, ebx
or edi, eax
add edi, ecx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [esp + 0x10]
xor edx, eax
add edx, dword [esp + 0x130]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x1c]
xor ecx, eax
mov eax, edi
add ecx, edx
rol eax, 0xa
lea edx, [esi - 0x7338fdf8]
mov esi, ebx
add edx, ecx
or esi, edi
add dword [esp + 0x14], edx
mov ecx, edi
ror ecx, 0xd
and esi, ebp
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, ebx
add ecx, edx
and eax, edi
or esi, eax
add esi, ecx
mov ecx, dword [esp + 0x14]
mov edx, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
ror edx, 0xb
rol eax, 7
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
add edx, dword [esp + 0x134]
xor ecx, eax
add ecx, edx
mov edx, dword [esp + 0x10]
add edx, 0x90befffa
add edx, ecx
mov eax, esi
rol eax, 0xa
add ebp, edx
mov dword [esp + 0x30], ebp
mov ecx, esi
ror ecx, 0xd
mov ebp, edi
xor ecx, eax
or ebp, esi
and ebp, ebx
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, edi
add ecx, edx
and eax, esi
or ebp, eax
add ebp, ecx
mov ecx, dword [esp + 0x30]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [esp + 0x1c]
xor edx, eax
add edx, dword [esp + 0x138]
mov eax, dword [esp + 0x30]
and eax, dword [esp + 0x14]
xor ecx, eax
mov eax, ebp
add ecx, edx
rol eax, 0xa
mov edx, dword [esp + 0x18]
add edx, 0xa4506ceb
add edx, ecx
mov ecx, ebp
add ebx, edx
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x28], ebx
mov eax, ebp
mov ebx, esi
ror eax, 2
or ebx, ebp
xor ecx, eax
and ebx, edi
add ecx, edx
mov eax, esi
and eax, ebp
or ebx, eax
add ebx, ecx
mov ecx, dword [esp + 0x28]
mov edx, ecx
mov eax, ecx
ror edx, 0xb
rol eax, 7
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x30]
and eax, dword [esp + 0x28]
add edx, dword [esp + 0x13c]
xor ecx, eax
add ecx, edx
mov eax, ebx
mov edx, dword [esp + 0x1c]
add edx, 0xbef9a3f7
add edx, ecx
mov ecx, ebx
add edi, edx
ror ecx, 0xd
mov dword [esp + 0x2c], edi
rol eax, 0xa
xor ecx, eax
mov edi, ebp
mov eax, ebx
or edi, ebx
ror eax, 2
and edi, esi
xor ecx, eax
mov esi, dword [esp + 0x2c]
add ecx, edx
mov eax, ebp
and eax, ebx
mov edx, esi
or edi, eax
ror edx, 0xb
add edi, ecx
mov eax, esi
rol eax, 7
mov ecx, esi
xor edx, eax
not ecx
and ecx, dword [esp + 0x30]
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, dword [esp + 0x28]
add edx, dword [esp + 0x140]
and eax, esi
mov esi, dword [esp + 0x14]
xor ecx, eax
add ecx, edx
mov eax, edi
rol eax, 0xa
mov edx, edi
ror edx, 0xd
add esi, 0xc67178f2
xor edx, eax
add esi, ecx
mov eax, edi
mov ecx, ebx
ror eax, 2
or ecx, edi
xor edx, eax
and ecx, ebp
add edx, dword [esp + 0x3c]
mov eax, ebx
and eax, edi
or ecx, eax
add ecx, edx
mov edx, dword [esp + 0x40]
add ecx, esi
mov eax, dword [edx + 0x5c]
add dword [edx + 0x50], edi
add eax, esi
add eax, dword [esp + 0x38]
add dword [edx + 0x58], ebp
add dword [edx + 0x54], ebx
mov dword [edx + 0x5c], eax
mov eax, dword [esp + 0x2c]
add dword [edx + 0x60], eax
mov eax, dword [esp + 0x28]
add dword [edx + 0x64], eax
mov eax, dword [esp + 0x30]
add dword [edx + 0x68], eax
pop edi
pop esi
pop ebp
mov dword [edx + 0x4c], ecx
pop ebx
add esp, 0x134
ret 4