Function at 0x1008aef0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
cmp dword [0x10188210], 2
mov dword [ebp - 4], edi
jl 0x1008afc6
lea eax, [edi + 8]
mov edx, 2
nop word [eax + eax]
movd xmm2, dword [eax + 4]
lea eax, [eax + 0x20]
movd xmm0, dword [eax - 0x20]
movd xmm1, dword [eax - 0x24]
movd xmm3, dword [eax - 0x28]
punpckldq xmm3, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
pshufb xmm3, xmmword [0x1017bc30]
movd dword [eax - 0x28], xmm3
psrldq xmm3, 4
movd dword [eax - 0x24], xmm3
psrldq xmm3, 4
movd dword [eax - 0x20], xmm3
psrldq xmm3, 4
movd dword [eax - 0x1c], xmm3
movd xmm2, dword [eax - 0xc]
movd xmm0, dword [eax - 0x10]
movd xmm1, dword [eax - 0x14]
movd xmm3, dword [eax - 0x18]
punpckldq xmm3, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
pshufb xmm3, xmmword [0x1017bc30]
movd dword [eax - 0x18], xmm3
psrldq xmm3, 4
movd dword [eax - 0x14], xmm3
psrldq xmm3, 4
movd dword [eax - 0x10], xmm3
psrldq xmm3, 4
movd dword [eax - 0xc], xmm3
sub edx, 1
jne 0x1008af20
jmp 0x1008afd4
mov eax, dword [edi + edx*4]
bswap eax
mov dword [edi + edx*4], eax
inc edx
cmp edx, 0x10
jl 0x1008afc6
mov ebx, dword [edi + 4]
mov edx, ebx
mov esi, dword [edi + 0x38]
mov eax, ebx
ror eax, 7
mov ecx, esi
mov edi, dword [edi]
ror edx, 0x12
xor edx, eax
ror ecx, 0x13
mov eax, ebx
mov dword [ebp - 0x20], edi
shr eax, 3
xor edx, eax
mov eax, esi
ror eax, 0x11
add edx, edi
xor ecx, eax
mov edi, dword [ebp - 4]
mov eax, esi
shr eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 4]
add ecx, edx
add ecx, dword [eax + 0x24]
mov esi, dword [eax + 8]
mov edx, esi
mov dword [eax + 0x40], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [edi + 0x28]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x3c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0xc]
mov edx, ebx
mov dword [eax + 0x44], ecx
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
add edx, dword [edi + 0x2c]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x40]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x40]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x10]
mov edx, esi
mov dword [eax + 0x48], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
add edx, dword [edi + 0x30]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x44]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x44]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x14]
mov edx, ebx
mov dword [eax + 0x4c], ecx
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
add edx, dword [edi + 0x34]
mov ecx, dword [eax + 0x48]
mov eax, dword [eax + 0x48]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x48]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x18]
mov edx, esi
mov dword [eax + 0x50], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
add edx, ebx
mov ecx, dword [eax + 0x4c]
mov eax, dword [eax + 0x4c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x4c]
shr eax, 0xa
xor ecx, eax
add ecx, edx
mov edx, edi
add ecx, dword [edx + 0x38]
mov ebx, dword [edx + 0x1c]
mov eax, ebx
mov dword [edx + 0x54], ecx
mov edx, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x50]
mov eax, dword [eax + 0x50]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x50]
add edx, esi
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0x3c]
mov esi, dword [eax + 0x20]
mov edx, esi
mov dword [eax + 0x58], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
add edx, ebx
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x54]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x54]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0x40]
mov ebx, dword [eax + 0x24]
mov edx, ebx
mov dword [eax + 0x5c], ecx
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
add edx, esi
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x58]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x58]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0x44]
mov esi, dword [eax + 0x28]
mov edx, esi
mov dword [eax + 0x60], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x5c]
mov eax, dword [eax + 0x5c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x5c]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x48]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x2c]
mov dword [eax + 0x64], ecx
mov edx, ebx
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x60]
mov eax, dword [eax + 0x60]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x60]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x4c]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x30]
mov dword [eax + 0x68], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0x64]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x64]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x50]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x34]
mov dword [eax + 0x6c], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x68]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x68]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x54]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x38]
mov dword [eax + 0x70], ecx
mov edx, esi
mov eax, esi
ror edx, 0x12
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x6c]
mov eax, dword [eax + 0x6c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x6c]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x58]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x3c]
mov dword [eax + 0x74], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x70]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x70]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x5c]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x40]
mov dword [eax + 0x78], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x74]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x74]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x60]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x44]
mov dword [eax + 0x7c], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x78]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x78]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x64]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x48]
mov dword [eax + 0x80], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x7c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x7c]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x68]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x4c]
mov dword [eax + 0x84], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x80]
mov eax, dword [eax + 0x80]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x80]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x6c]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x50]
mov dword [eax + 0x88], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x84]
mov eax, dword [eax + 0x84]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x84]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x70]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x54]
mov edx, ebx
mov dword [eax + 0x8c], ecx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x88]
mov eax, dword [eax + 0x88]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x88]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x74]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x58]
mov dword [eax + 0x90], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x8c]
mov eax, dword [eax + 0x8c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x8c]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x78]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x5c]
mov dword [eax + 0x94], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x90]
mov eax, dword [eax + 0x90]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x90]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x7c]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x60]
mov dword [eax + 0x98], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x94]
mov eax, dword [eax + 0x94]
ror ecx, 0x13
ror eax, 0x11
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x94]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x80]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x64]
mov dword [eax + 0x9c], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0x98]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x98]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x84]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x68]
mov dword [eax + 0xa0], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0x9c]
mov eax, dword [eax + 0x9c]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0x9c]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x88]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x6c]
mov dword [eax + 0xa4], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xa0]
mov eax, dword [eax + 0xa0]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xa0]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x8c]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x70]
mov dword [eax + 0xa8], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xa4]
mov eax, dword [eax + 0xa4]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xa4]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x90]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x74]
mov dword [eax + 0xac], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xa8]
mov eax, dword [eax + 0xa8]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xa8]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x94]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x78]
mov dword [eax + 0xb0], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xac]
mov eax, dword [eax + 0xac]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xac]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x98]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x7c]
mov dword [eax + 0xb4], ecx
mov edx, ebx
mov eax, ebx
ror edx, 0x12
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xb0]
mov eax, dword [eax + 0xb0]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xb0]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0x9c]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x80]
mov dword [eax + 0xb8], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xb4]
mov eax, dword [eax + 0xb4]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xb4]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xa0]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x84]
mov dword [eax + 0xbc], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xb8]
mov eax, dword [eax + 0xb8]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xb8]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xa4]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x88]
mov dword [eax + 0xc0], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xbc]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xbc]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xa8]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x8c]
mov dword [eax + 0xc4], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xc0]
mov eax, dword [eax + 0xc0]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xc0]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xac]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x90]
mov dword [eax + 0xc8], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xc4]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xc4]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xb0]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x94]
mov dword [eax + 0xcc], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xc8]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xc8]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xb4]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0x98]
mov dword [eax + 0xd0], ecx
mov edx, esi
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xcc]
mov eax, dword [eax + 0xcc]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xcc]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xb8]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0x9c]
mov dword [eax + 0xd4], ecx
mov edx, ebx
ror edx, 0x12
mov eax, ebx
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd0]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xd0]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xbc]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0xa0]
mov dword [eax + 0xd8], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xd4]
mov eax, dword [eax + 0xd4]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xd4]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xc0]
add ecx, edx
add ecx, ebx
mov ebx, dword [eax + 0xa4]
mov dword [eax + 0xdc], ecx
mov edx, ebx
mov eax, ebx
ror edx, 0x12
ror eax, 7
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xd8]
mov eax, dword [eax + 0xd8]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xd8]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add edx, dword [eax + 0xc4]
add ecx, edx
add ecx, esi
mov esi, dword [eax + 0xa8]
mov dword [eax + 0xe0], ecx
mov edx, esi
ror edx, 0x12
mov eax, esi
ror eax, 7
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
add edx, ebx
mov ecx, dword [eax + 0xdc]
mov eax, dword [eax + 0xdc]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xdc]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0xc8]
mov ebx, dword [eax + 0xac]
mov edx, ebx
mov dword [eax + 0xe4], ecx
mov ecx, dword [eax + 0xe0]
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
ror ecx, 0x13
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
add edx, esi
mov eax, dword [eax + 0xe0]
ror eax, 0x11
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xe0]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0xcc]
mov esi, dword [eax + 0xb0]
mov edx, esi
mov dword [eax + 0xe8], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
mov ecx, dword [eax + 0xe4]
mov eax, dword [eax + 0xe4]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xe4]
shr eax, 0xa
xor ecx, eax
add edx, ebx
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xb4]
mov edx, ebx
mov dword [eax + 0xec], ecx
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
add edx, esi
mov ecx, dword [eax + 0xe8]
mov eax, dword [eax + 0xe8]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xe8]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0xd4]
mov esi, dword [eax + 0xb8]
mov edx, esi
mov dword [eax + 0xf0], ecx
mov eax, esi
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, edi
add edx, ebx
mov ecx, dword [eax + 0xec]
mov eax, dword [eax + 0xec]
ror eax, 0x11
ror ecx, 0x13
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xec]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0xd8]
mov ebx, dword [eax + 0xbc]
mov edx, ebx
mov dword [eax + 0xf4], ecx
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, edi
add edx, esi
mov ecx, dword [eax + 0xf0]
mov eax, dword [eax + 0xf0]
ror ecx, 0x13
ror eax, 0x11
xor ecx, eax
mov eax, edi
mov eax, dword [eax + 0xf0]
shr eax, 0xa
xor ecx, eax
mov eax, edi
add ecx, edx
add ecx, dword [eax + 0xdc]
mov esi, dword [eax + 0xf4]
mov dword [eax + 0xf8], ecx
mov ecx, dword [eax + 0xc0]
mov edx, ecx
ror edx, 0x12
mov eax, ecx
ror eax, 7
xor edx, eax
mov eax, ecx
shr eax, 3
mov ecx, esi
xor edx, eax
ror ecx, 0x13
add edx, ebx
mov eax, esi
ror eax, 0x11
xor ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
add ecx, edx
mov edx, edi
mov eax, dword [edx + 0xe0]
mov esi, dword [edx + 0x104]
add eax, ecx
mov ecx, dword [edx + 0x110]
mov ebx, dword [edx + 0x11c]
mov dword [edx + 0xfc], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [edx + 0x100]
mov dword [ebp - 0xc], eax
mov eax, dword [edx + 0x108]
mov edx, ecx
mov dword [ebp - 0x24], eax
mov eax, ecx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov dword [ebp - 0x28], esi
mov eax, ecx
not ecx
and ecx, dword [edi + 0x118]
ror eax, 6
xor edx, eax
mov eax, dword [edi + 0x114]
and eax, dword [edi + 0x110]
add edx, dword [ebp - 0x20]
xor ecx, eax
add ecx, edx
mov eax, edi
lea edx, [ebx + 0x428a2f98]
mov edi, esi
add edx, ecx
mov ebx, dword [eax + 0x10c]
mov eax, dword [ebp - 0xc]
add ebx, edx
xor edi, eax
and esi, eax
mov ecx, eax
mov dword [ebp - 0x1c], edi
and edi, dword [ebp - 0x24]
ror eax, 0xd
xor edi, esi
ror ecx, 0x16
add edi, edx
xor ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0xc]
ror eax, 2
xor ecx, eax
ror edx, 0x19
add edi, ecx
mov eax, ebx
ror eax, 0xb
mov ecx, ebx
xor edx, eax
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 4]
mov eax, ebx
ror eax, 6
not ecx
xor edx, eax
mov eax, dword [edi + 0x110]
and ecx, dword [edi + 0x114]
and eax, ebx
xor ecx, eax
mov eax, edi
add edx, dword [eax + 4]
add ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x20]
mov edx, dword [edx + 0x118]
add edx, 0x71374491
add edx, ecx
mov ecx, eax
add dword [ebp - 0x24], edx
ror eax, 0xd
mov edi, dword [ebp - 0x24]
ror ecx, 0x16
xor ecx, eax
mov eax, dword [ebp - 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
xor eax, esi
mov esi, dword [ebp - 4]
add eax, edx
mov edx, edi
add eax, ecx
ror edx, 0x19
mov dword [ebp - 8], eax
mov ecx, edi
mov eax, edi
not ecx
and ecx, dword [esi + 0x110]
ror eax, 0xb
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, ebx
add edx, dword [esi + 8]
and eax, edi
mov esi, dword [esi + 0x114]
xor ecx, eax
add ecx, edx
add esi, 0xb5c0fbcf
add esi, ecx
mov ecx, dword [ebp - 8]
add dword [ebp - 0x28], esi
mov edx, ecx
mov eax, ecx
ror edx, 0x16
ror eax, 0xd
xor edx, eax
mov eax, ecx
xor ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x20]
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
and eax, dword [ebp - 0xc]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x28]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x24], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, edi
and eax, esi
mov esi, dword [ebp - 4]
xor ecx, eax
add edx, dword [esi + 0xc]
mov esi, dword [esi + 0x110]
add ecx, edx
add esi, 0xe9b5dba5
add esi, ecx
mov ecx, dword [ebp - 0x24]
add dword [ebp - 0xc], esi
mov edx, ecx
ror edx, 0x16
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0xc]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x10], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
add edi, 0x59f111f1
and esi, dword [ebp - 0x28]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
add esi, 0x3956c25b
add edx, dword [eax + 0x10]
mov eax, ecx
add esi, edx
ror eax, 0xd
mov edx, ecx
add esi, ebx
mov ebx, dword [ebp - 0x20]
ror edx, 0x16
add ebx, esi
xor edx, eax
mov dword [ebp - 0x20], ebx
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and eax, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, ebx
add eax, edx
not esi
mov dword [ebp - 0x18], eax
mov edx, ebx
ror edx, 0x19
mov eax, ebx
ror eax, 0xb
xor edx, eax
mov eax, ebx
mov ebx, dword [ebp - 0x28]
and esi, ebx
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 0xc]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x14]
add esi, edx
add esi, edi
add dword [ebp - 8], esi
mov edi, dword [ebp - 0x18]
add ebx, 0x923f82a4
mov edx, edi
mov eax, edi
ror eax, 0xd
ror edx, 0x16
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
and eax, edi
xor ecx, edi
mov edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x24]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x14], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, dword [ebp - 0xc]
mov eax, esi
and esi, edi
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x18]
mov eax, ecx
add esi, edx
ror eax, 0xd
mov edx, ecx
add esi, ebx
mov ebx, dword [ebp - 0x24]
ror edx, 0x16
add ebx, esi
xor edx, eax
mov dword [ebp - 0x24], ebx
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x10]
xor eax, ecx
add eax, esi
mov esi, ebx
add eax, edx
not esi
mov dword [ebp - 0x1c], eax
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
ror eax, 0xb
and esi, edi
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
and eax, ebx
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xc]
add esi, edx
add eax, 0xab1c5ed5
add esi, eax
add dword [ebp - 0x10], esi
mov edx, ecx
mov eax, ecx
ror eax, 0xd
add edi, 0xd807aa98
ror edx, 0x16
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x18]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x10]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x20], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
and ecx, dword [ebp - 8]
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, ebx
mov ebx, dword [ebp - 0x20]
and eax, esi
xor ecx, eax
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
and esi, ebx
add edx, dword [eax + 0x20]
mov eax, ebx
add edx, ecx
ror eax, 0xd
add edx, edi
mov ecx, ebx
mov edi, dword [ebp - 0x1c]
add dword [ebp - 0x18], edx
xor edi, ebx
ror ecx, 0x16
xor ecx, eax
mov eax, ebx
ror eax, 2
mov ebx, edi
and ebx, dword [ebp - 0x14]
xor ecx, eax
xor ebx, esi
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
mov eax, ecx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 0x24]
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x18]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x24]
mov eax, dword [ebp - 8]
add edx, ecx
add eax, 0x12835b01
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0x14], edx
mov eax, ebx
ror eax, 0xd
xor ecx, eax
and edi, ebx
xor edi, esi
mov eax, ebx
mov esi, dword [ebp - 0x14]
ror eax, 2
xor ecx, eax
lea eax, [edx + edi]
mov edi, dword [ebp - 0x10]
add eax, ecx
mov edx, esi
mov dword [ebp - 0xc], eax
mov ecx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
add edi, 0x550c7dc3
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x18]
and eax, esi
mov esi, dword [ebp - 4]
xor ecx, eax
mov eax, dword [ebp - 0x24]
add eax, 0x243185be
mov esi, dword [esi + 0x28]
add esi, edx
add esi, ecx
mov ecx, dword [ebp - 0xc]
add esi, eax
mov edx, ecx
add dword [ebp - 0x1c], esi
mov eax, ecx
ror eax, 0xd
ror edx, 0x16
xor edx, eax
mov eax, ecx
xor ecx, dword [ebp - 0x20]
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0xc]
and eax, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x1c]
add eax, edx
mov ecx, esi
mov dword [ebp - 8], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
and ecx, dword [ebp - 0x18]
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x14]
and eax, esi
mov esi, dword [ebp - 4]
xor ecx, eax
mov esi, dword [esi + 0x2c]
add esi, edx
add esi, ecx
mov ecx, dword [ebp - 8]
add esi, edi
mov edx, ecx
mov edi, dword [ebp - 0x20]
mov eax, ecx
ror eax, 0xd
add edi, esi
ror edx, 0x16
xor edx, eax
mov dword [ebp - 0x20], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0xc]
mov ecx, eax
and eax, dword [ebp - 8]
xor ecx, dword [ebp - 8]
and ecx, ebx
xor eax, ecx
mov ecx, edi
add eax, esi
not ecx
add eax, edx
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov esi, dword [esi + 0x30]
mov eax, edi
mov edi, dword [ebp - 0x14]
ror eax, 6
and ecx, edi
xor edx, eax
add edi, 0x80deb1fe
mov eax, dword [ebp - 0x1c]
add esi, edx
and eax, dword [ebp - 0x20]
xor ecx, eax
mov eax, dword [ebp - 0x18]
add eax, 0x72be5d74
add esi, ecx
mov ecx, dword [ebp - 0x24]
add esi, eax
mov edx, ecx
mov eax, ecx
ror eax, 0xd
add ebx, esi
ror edx, 0x16
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0xc]
xor eax, ecx
mov ecx, ebx
add eax, esi
not ecx
mov esi, dword [ebp - 4]
add eax, edx
and ecx, dword [ebp - 0x1c]
mov edx, ebx
mov dword [ebp - 0x14], eax
mov eax, ebx
ror eax, 0xb
mov esi, dword [esi + 0x34]
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x20]
add esi, edx
xor ecx, eax
add esi, ecx
add esi, edi
mov edi, dword [ebp - 0x14]
add dword [ebp - 0xc], esi
mov edx, edi
mov eax, edi
ror edx, 0x16
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and eax, edi
xor ecx, edi
mov edi, dword [ebp - 0x20]
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0xc]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x18], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
add edi, 0xc19bf174
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, esi
mov esi, dword [ebp - 4]
xor ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, 0x9bdc06a7
mov esi, dword [esi + 0x38]
add esi, edx
add esi, ecx
mov ecx, dword [ebp - 0x18]
add esi, eax
mov edx, ecx
add dword [ebp - 8], esi
mov eax, ecx
ror eax, 0xd
ror edx, 0x16
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
and esi, dword [ebp - 0xc]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x3c]
mov eax, ecx
add esi, edx
ror eax, 0xd
add esi, edi
mov edx, ecx
mov edi, dword [ebp - 0x24]
add edi, esi
ror edx, 0x16
xor edx, eax
mov dword [ebp - 0x24], edi
mov eax, ecx
ror eax, 2
add ebx, 0xe49b69c1
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x14]
xor eax, ecx
mov ecx, edi
add eax, esi
not ecx
add eax, edx
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov esi, dword [ebp - 0x1c]
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
and eax, edi
mov edi, dword [ebp - 0x1c]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x40]
add edx, ecx
add edx, ebx
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x14], edx
mov ecx, ebx
ror ecx, 0x16
mov eax, ebx
ror eax, 0xd
xor edi, ebx
xor ecx, eax
and esi, ebx
mov eax, ebx
mov ebx, edi
and ebx, dword [ebp - 0x18]
ror eax, 2
xor ebx, esi
xor ecx, eax
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, ecx
ror eax, 0xb
and edi, ebx
ror edx, 0x19
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 8]
xor edx, eax
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x14]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x44]
mov eax, dword [ebp - 0xc]
add edx, ecx
add eax, 0xefbe4786
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0x18], edx
mov eax, ebx
ror eax, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
xor edi, esi
lea eax, [edx + edi]
add eax, ecx
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov edx, esi
mov edi, dword [ebp - 0x24]
mov eax, esi
ror eax, 0xb
mov ecx, esi
ror edx, 0x19
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
add edi, 0x240ca1cc
and esi, dword [ebp - 0x14]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 8]
add esi, edx
add eax, 0xfc19dc6
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x1c], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
xor ecx, dword [ebp - 0x20]
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x1c]
add eax, edx
mov ecx, esi
mov dword [ebp - 8], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
and ecx, dword [ebp - 0x14]
xor edx, eax
mov eax, esi
and esi, dword [ebp - 0x18]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 8]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x4c]
mov eax, ecx
add esi, edx
ror eax, 0xd
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x20]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x20], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
and eax, dword [ebp - 8]
xor ecx, dword [ebp - 8]
and ecx, ebx
xor eax, ecx
add eax, esi
add eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
mov esi, edi
xor edx, eax
not esi
mov eax, edi
mov edi, dword [ebp - 0x18]
ror eax, 6
and esi, edi
xor edx, eax
add edi, 0x4a7484aa
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x14]
add esi, edx
add eax, 0x2de92c6f
mov edx, ecx
add esi, eax
ror edx, 0x16
mov eax, ecx
add ebx, esi
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x10]
xor eax, ecx
add eax, esi
mov esi, ebx
add eax, edx
not esi
and esi, dword [ebp - 0x1c]
mov edx, ebx
mov dword [ebp - 0x14], eax
mov eax, ebx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x54]
add esi, edx
add esi, edi
mov edi, dword [ebp - 0x14]
add dword [ebp - 0x10], esi
mov edx, edi
ror edx, 0x16
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and eax, edi
xor ecx, edi
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x10]
add eax, edx
mov edx, esi
mov dword [ebp - 0x18], eax
ror edx, 0x19
mov edi, dword [ebp - 0x20]
mov eax, esi
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
mov eax, esi
and ecx, edi
ror eax, 6
and esi, ebx
xor edx, eax
xor esi, ecx
mov eax, dword [ebp - 4]
add edi, 0x76f988da
mov ecx, dword [ebp - 0x18]
add edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x1c]
add esi, edx
add eax, 0x5cb0a9dc
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 8], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
and esi, dword [ebp - 0x10]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x5c]
mov eax, ecx
add esi, edx
ror eax, 0xd
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x24]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x24], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x14]
xor eax, ecx
add eax, esi
add eax, edx
mov edx, edi
mov dword [ebp - 0x20], eax
mov eax, edi
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov esi, dword [ebp - 0x1c]
mov eax, edi
mov ecx, edi
ror eax, 6
not ecx
and ecx, dword [ebp - 0x10]
xor edx, eax
mov eax, dword [ebp - 8]
add ebx, 0x983e5152
and eax, edi
mov edi, dword [ebp - 0x1c]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x60]
add edx, ecx
add edx, ebx
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x14], edx
mov ecx, ebx
ror ecx, 0x16
mov eax, ebx
ror eax, 0xd
xor edi, ebx
xor ecx, eax
and esi, ebx
mov eax, ebx
mov ebx, edi
and ebx, dword [ebp - 0x18]
ror eax, 2
xor ebx, esi
xor ecx, eax
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, ecx
ror eax, 0xb
and edi, ebx
ror edx, 0x19
xor edi, esi
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 8]
xor edx, eax
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x14]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x64]
mov eax, dword [ebp - 0x10]
add edx, ecx
add eax, 0xa831c66d
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0x18], edx
mov eax, ebx
mov esi, dword [ebp - 0x18]
ror eax, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
lea eax, [edx + edi]
mov edi, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x10], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
mov eax, esi
ror eax, 6
xor edx, eax
and ecx, edi
and esi, dword [ebp - 0x14]
add edi, 0xbf597fc7
mov eax, dword [ebp - 4]
xor esi, ecx
mov ecx, dword [ebp - 0x10]
add edx, dword [eax + 0x68]
mov eax, dword [ebp - 8]
add esi, edx
add eax, 0xb00327c8
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x1c], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
xor ecx, dword [ebp - 0x20]
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x1c]
add eax, edx
mov ecx, esi
mov dword [ebp - 8], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, dword [ebp - 0x14]
mov eax, esi
and esi, dword [ebp - 0x18]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 8]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x6c]
mov eax, ecx
add esi, edx
ror eax, 0xd
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x20]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x20], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
and eax, dword [ebp - 8]
xor ecx, dword [ebp - 8]
and ecx, ebx
xor eax, ecx
add eax, esi
mov esi, edi
add eax, edx
not esi
mov dword [ebp - 0x24], eax
mov edx, edi
mov eax, edi
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, edi
mov edi, dword [ebp - 0x18]
and esi, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edi, 0xd5a79147
mov ecx, dword [ebp - 0x24]
add edx, dword [eax + 0x70]
mov eax, dword [ebp - 0x14]
add esi, edx
add eax, 0xc6e00bf3
mov edx, ecx
add esi, eax
ror edx, 0x16
mov eax, ecx
add ebx, esi
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x10]
xor eax, ecx
add eax, esi
mov esi, ebx
add eax, edx
not esi
and esi, dword [ebp - 0x1c]
mov edx, ebx
mov dword [ebp - 0x14], eax
mov eax, ebx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x74]
add esi, edx
add esi, edi
mov edi, dword [ebp - 0x14]
add dword [ebp - 0x10], esi
mov edx, edi
ror edx, 0x16
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and eax, edi
xor ecx, edi
mov edi, dword [ebp - 0x20]
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x10]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x18], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
and esi, ebx
ror eax, 6
xor esi, ecx
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x78]
add esi, edx
mov eax, dword [ebp - 0x1c]
add edi, 0x14292967
mov ecx, dword [ebp - 0x18]
add eax, 0x6ca6351
add esi, eax
mov edx, ecx
add dword [ebp - 8], esi
mov eax, ecx
ror eax, 0xd
ror edx, 0x16
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
add ebx, 0x27b70a85
and esi, dword [ebp - 0x10]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x7c]
mov eax, ecx
ror eax, 0xd
add esi, edx
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x24]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x24], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x14]
xor eax, ecx
mov ecx, edi
add eax, esi
not ecx
and ecx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x20], eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
and eax, edi
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x80]
add edx, ecx
add edx, ebx
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
add dword [ebp - 0x14], edx
mov eax, ebx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
xor edi, ebx
ror eax, 0xd
and esi, ebx
ror ecx, 0x16
xor ecx, eax
mov eax, ebx
ror eax, 2
mov ebx, edi
and ebx, dword [ebp - 0x18]
xor ecx, eax
xor ebx, esi
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, ecx
ror eax, 0xb
and edi, ebx
ror edx, 0x19
xor edi, esi
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 8]
xor edx, eax
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x14]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x84]
mov eax, dword [ebp - 0x10]
add edx, ecx
add eax, 0x2e1b2138
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0x18], edx
mov eax, ebx
mov esi, dword [ebp - 0x18]
ror eax, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
lea eax, [edx + edi]
mov edi, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x10], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
mov eax, esi
and ecx, edi
and esi, dword [ebp - 0x14]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x10]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x88]
mov eax, dword [ebp - 8]
add esi, edx
add eax, 0x4d2c6dfc
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x1c], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
add edi, 0x53380d13
xor ecx, dword [ebp - 0x20]
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x1c]
add eax, edx
mov ecx, esi
mov dword [ebp - 8], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, dword [ebp - 0x14]
mov eax, esi
and esi, dword [ebp - 0x18]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x8c]
mov eax, ecx
add esi, edx
ror eax, 0xd
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x20]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x20], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
and eax, dword [ebp - 8]
xor ecx, dword [ebp - 8]
and ecx, ebx
xor eax, ecx
add eax, esi
mov esi, edi
add eax, edx
not esi
mov dword [ebp - 0x24], eax
mov edx, edi
mov ecx, dword [ebp - 0x24]
mov eax, edi
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, edi
mov edi, dword [ebp - 0x18]
and esi, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x90]
mov eax, dword [ebp - 0x14]
add esi, edx
add eax, 0x650a7354
mov edx, ecx
add esi, eax
ror edx, 0x16
mov eax, ecx
add ebx, esi
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
add edi, 0x766a0abb
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x10]
xor eax, ecx
add eax, esi
mov esi, ebx
add eax, edx
not esi
mov dword [ebp - 0x14], eax
mov edx, ebx
and esi, dword [ebp - 0x1c]
mov eax, ebx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x94]
add esi, edx
add esi, edi
mov edi, dword [ebp - 0x14]
add dword [ebp - 0x10], esi
mov edx, edi
ror edx, 0x16
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and eax, edi
xor ecx, edi
mov edi, dword [ebp - 0x20]
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x10]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x18], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
and esi, ebx
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x18]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x98]
mov eax, dword [ebp - 0x1c]
add esi, edx
add eax, 0x81c2c92e
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 8], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, dword [ebp - 0x18]
add edi, 0x92722c85
xor ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
add ebx, 0xa2bfe8a1
and esi, dword [ebp - 0x10]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x9c]
mov eax, ecx
ror eax, 0xd
add esi, edx
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x24]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x24], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x14]
xor eax, ecx
mov ecx, edi
add eax, esi
not ecx
and ecx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x20], eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov esi, dword [ebp - 0x1c]
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
and eax, edi
mov edi, dword [ebp - 0x1c]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xa0]
add edx, ecx
add edx, ebx
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x14], edx
mov ecx, ebx
mov eax, ebx
ror ecx, 0x16
ror eax, 0xd
xor edi, ebx
xor ecx, eax
and esi, ebx
mov eax, ebx
mov ebx, edi
ror eax, 2
xor ecx, eax
and ebx, dword [ebp - 0x18]
xor ebx, esi
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, ecx
ror eax, 0xb
and edi, ebx
ror edx, 0x19
xor edi, esi
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
xor edx, eax
and ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x14]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xa4]
mov eax, dword [ebp - 0x10]
add edx, ecx
add eax, 0xa81a664b
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0x18], edx
mov eax, ebx
mov esi, dword [ebp - 0x18]
ror eax, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
lea eax, [edx + edi]
add eax, ecx
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
mov eax, esi
and ecx, edi
and esi, dword [ebp - 0x14]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x10]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xa8]
mov eax, dword [ebp - 8]
add esi, edx
add eax, 0xc24b8b70
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x1c], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
xor ecx, dword [ebp - 0x20]
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x1c]
add eax, edx
mov edx, esi
mov dword [ebp - 8], eax
mov eax, esi
ror edx, 0x19
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
and ecx, dword [ebp - 0x14]
mov eax, esi
and esi, dword [ebp - 0x18]
add edi, 0xc76c51a3
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xac]
mov eax, ecx
ror eax, 0xd
add esi, edx
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x20]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x20], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
and eax, dword [ebp - 8]
xor ecx, dword [ebp - 8]
and ecx, ebx
xor eax, ecx
add eax, esi
mov esi, edi
add eax, edx
not esi
mov dword [ebp - 0x24], eax
mov edx, edi
mov ecx, dword [ebp - 0x24]
mov eax, edi
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, edi
mov edi, dword [ebp - 0x18]
and esi, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xb0]
mov eax, dword [ebp - 0x14]
add esi, edx
add eax, 0xd192e819
mov edx, ecx
add esi, eax
ror edx, 0x16
mov eax, ecx
add ebx, esi
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x10]
xor eax, ecx
add eax, esi
add eax, edx
mov edx, ebx
mov dword [ebp - 0x14], eax
mov eax, ebx
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, ebx
mov esi, ebx
ror eax, 6
not esi
xor edx, eax
and esi, dword [ebp - 0x1c]
mov eax, ebx
add edi, 0xd6990624
and eax, dword [ebp - 0x20]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xb4]
add esi, edx
add esi, edi
mov edi, dword [ebp - 0x14]
add dword [ebp - 0x10], esi
mov edx, edi
ror edx, 0x16
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and eax, edi
xor ecx, edi
mov edi, dword [ebp - 0x20]
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x10]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x18], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
and esi, ebx
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x18]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xb8]
mov eax, dword [ebp - 0x1c]
add esi, edx
add eax, 0xf40e3585
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 8], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov edx, esi
mov dword [ebp - 0x1c], eax
mov eax, esi
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov ecx, esi
and esi, dword [ebp - 0x10]
not ecx
mov eax, dword [ebp - 4]
and ecx, ebx
xor esi, ecx
add edi, 0x106aa070
mov ecx, dword [ebp - 0x1c]
add ebx, 0x19a4c116
add edx, dword [eax + 0xbc]
mov eax, ecx
ror eax, 0xd
add esi, edx
mov edx, ecx
add esi, edi
mov edi, dword [ebp - 0x24]
ror edx, 0x16
add edi, esi
xor edx, eax
mov dword [ebp - 0x24], edi
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x14]
xor eax, ecx
mov ecx, edi
add eax, esi
not ecx
add eax, edx
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov esi, dword [ebp - 0x1c]
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
and eax, edi
mov edi, dword [ebp - 0x1c]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc0]
add edx, ecx
add edx, ebx
mov ebx, dword [ebp - 0x28]
add dword [ebp - 0x14], edx
mov ecx, ebx
mov eax, ebx
ror ecx, 0x16
ror eax, 0xd
xor edi, ebx
xor ecx, eax
and esi, ebx
mov eax, ebx
mov ebx, edi
and ebx, dword [ebp - 0x18]
ror eax, 2
xor ebx, esi
xor ecx, eax
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, ecx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
xor edx, eax
and ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
and edi, ebx
and eax, dword [ebp - 0x14]
xor edi, esi
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc4]
mov eax, dword [ebp - 0x10]
add edx, ecx
add eax, 0x1e376c08
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0x18], edx
mov eax, ebx
ror eax, 0xd
xor ecx, eax
mov esi, dword [ebp - 0x18]
mov eax, ebx
ror eax, 2
xor ecx, eax
lea eax, [edx + edi]
add eax, ecx
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
mov ecx, esi
xor edx, eax
not ecx
mov eax, esi
and ecx, edi
and esi, dword [ebp - 0x14]
add edi, 0x34b0bcb5
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc8]
mov eax, dword [ebp - 8]
add esi, edx
add eax, 0x2748774c
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x1c], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
xor ecx, dword [ebp - 0x28]
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x28]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x1c]
add eax, edx
mov ecx, esi
mov dword [ebp - 8], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
and ecx, dword [ebp - 0x14]
xor edx, eax
mov eax, esi
and esi, dword [ebp - 0x18]
ror eax, 6
xor esi, ecx
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xcc]
add esi, edx
add esi, edi
mov ecx, dword [ebp - 8]
mov edx, ecx
ror edx, 0x16
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov edi, dword [ebp - 0x28]
mov eax, ecx
add edi, esi
ror eax, 2
xor edx, eax
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x10]
mov ecx, eax
and eax, dword [ebp - 8]
xor ecx, dword [ebp - 8]
and ecx, ebx
xor eax, ecx
add eax, esi
mov esi, edi
add eax, edx
not esi
mov dword [ebp - 0x20], eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
xor edx, eax
mov ecx, dword [ebp - 0x20]
mov eax, edi
mov edi, dword [ebp - 0x18]
ror eax, 6
and esi, edi
xor edx, eax
add edi, 0x4ed8aa4a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xd0]
mov eax, dword [ebp - 0x14]
add esi, edx
add eax, 0x391c0cb3
mov edx, ecx
add esi, eax
ror edx, 0x16
mov eax, ecx
add ebx, esi
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 8]
mov ecx, eax
and eax, dword [ebp - 0x20]
xor ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x10]
xor eax, ecx
add eax, esi
mov esi, ebx
add eax, edx
not esi
and esi, dword [ebp - 0x1c]
mov edx, ebx
mov dword [ebp - 0x18], eax
mov eax, ebx
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x28]
xor esi, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xd4]
add esi, edx
add esi, edi
add dword [ebp - 0x10], esi
mov edi, dword [ebp - 0x18]
mov edx, edi
ror edx, 0x16
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x20]
mov ecx, eax
and eax, edi
xor ecx, edi
mov edi, dword [ebp - 0x28]
and ecx, dword [ebp - 8]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x10]
add eax, edx
mov ecx, esi
mov dword [ebp - 0xc], eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
not ecx
xor edx, eax
and ecx, edi
mov eax, esi
add edi, 0x682e6ff3
ror eax, 6
and esi, ebx
xor edx, eax
xor esi, ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
add edx, dword [eax + 0xd8]
mov eax, dword [ebp - 0x1c]
add esi, edx
add eax, 0x5b9cca4f
mov edx, ecx
add esi, eax
ror edx, 0x16
add dword [ebp - 8], esi
mov eax, ecx
ror eax, 0xd
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
and eax, dword [ebp - 0xc]
xor ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x20]
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 8]
add eax, edx
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov edx, esi
mov eax, esi
ror edx, 0x19
ror eax, 0xb
not ecx
xor edx, eax
and ecx, ebx
mov eax, esi
and esi, dword [ebp - 0x10]
ror eax, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xdc]
add esi, edx
add esi, edi
mov edi, dword [ebp - 0x20]
add edi, esi
mov dword [ebp - 0x20], edi
mov edx, ecx
mov eax, ecx
ror eax, 0xd
add ebx, 0x748f82ee
ror edx, 0x16
xor edx, eax
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [ebp - 0xc]
mov ecx, eax
and eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x18]
xor eax, ecx
mov ecx, edi
add eax, esi
not ecx
add eax, edx
and ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
mov edx, edi
mov dword [ebp - 0x28], eax
mov eax, edi
ror eax, 0xb
ror edx, 0x19
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 8]
add edx, dword [esi + 0xe0]
and eax, edi
xor ecx, eax
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
add edx, ecx
add edx, ebx
mov ebx, dword [ebp - 0x28]
add dword [ebp - 0x18], edx
mov ecx, ebx
ror ecx, 0x16
mov eax, ebx
ror eax, 0xd
xor edi, ebx
xor ecx, eax
and esi, ebx
mov eax, ebx
mov ebx, edi
and ebx, dword [ebp - 0xc]
ror eax, 2
xor ebx, esi
xor ecx, eax
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
mov dword [ebp - 0x24], ebx
mov eax, ecx
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 8]
xor edx, eax
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 0x18]
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xe4]
mov eax, dword [ebp - 0x10]
add edx, ecx
add eax, 0x78a5636f
mov ecx, ebx
add edx, eax
ror ecx, 0x16
add dword [ebp - 0xc], edx
mov eax, ebx
ror eax, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
and ebx, edi
xor ecx, eax
mov edi, dword [ebp - 0x28]
xor ebx, esi
mov esi, dword [ebp - 0xc]
add ebx, edx
mov eax, esi
ror eax, 0xb
add ebx, ecx
mov edx, esi
mov dword [ebp - 0x14], ebx
ror edx, 0x19
mov ecx, esi
xor edx, eax
not ecx
and ecx, dword [ebp - 0x20]
mov eax, esi
and esi, dword [ebp - 0x18]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, ebx
mov eax, dword [ebp - 4]
xor ecx, edi
and ecx, dword [ebp - 0x24]
and edi, ebx
xor edi, ecx
add edx, dword [eax + 0xe8]
mov eax, dword [ebp - 8]
add esi, edx
add eax, 0x84c87814
mov edx, ebx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x1c], esi
mov eax, ebx
ror eax, 0xd
add edi, esi
mov esi, dword [ebp - 0x1c]
xor edx, eax
mov eax, ebx
mov ecx, esi
ror eax, 2
not ecx
xor edx, eax
and ecx, dword [ebp - 0x18]
add edi, edx
mov eax, esi
ror eax, 0xb
mov edx, esi
ror edx, 0x19
xor edx, eax
mov dword [ebp - 0x10], edi
mov eax, esi
and esi, dword [ebp - 0xc]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, ebx
mov eax, dword [ebp - 4]
xor ecx, edi
and ecx, dword [ebp - 0x24]
and ebx, edi
add edx, dword [eax + 0xec]
mov eax, dword [ebp - 0x20]
add esi, edx
add eax, 0x8cc70208
mov edx, edi
add esi, eax
ror edx, 0x16
add dword [ebp - 0x28], esi
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
xor ebx, ecx
add ebx, esi
mov esi, dword [ebp - 0x28]
add ebx, edx
mov eax, esi
ror eax, 0xb
mov edx, esi
ror edx, 0x19
mov ecx, esi
xor edx, eax
mov dword [ebp - 8], ebx
mov eax, esi
not ecx
and ecx, dword [ebp - 0xc]
and esi, dword [ebp - 0x1c]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, edi
mov eax, dword [ebp - 4]
xor ecx, ebx
and ecx, dword [ebp - 0x14]
and edi, ebx
xor edi, ecx
add edx, dword [eax + 0xf0]
mov eax, dword [ebp - 0x18]
add esi, edx
add eax, 0x90befffa
mov edx, ebx
add esi, eax
ror edx, 0x16
add dword [ebp - 0x24], esi
mov eax, ebx
ror eax, 0xd
add edi, esi
mov esi, dword [ebp - 0x24]
xor edx, eax
mov eax, ebx
mov ecx, esi
ror eax, 2
not ecx
xor edx, eax
and ecx, dword [ebp - 0x1c]
add edi, edx
mov eax, esi
ror eax, 0xb
mov edx, esi
ror edx, 0x19
xor edx, eax
mov dword [ebp - 0x20], edi
mov eax, esi
and esi, dword [ebp - 0x28]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, ebx
mov eax, dword [ebp - 4]
xor ecx, edi
and ecx, dword [ebp - 0x10]
and ebx, edi
xor ebx, ecx
add edx, dword [eax + 0xf4]
mov eax, dword [ebp - 0xc]
add esi, edx
add eax, 0xa4506ceb
mov edx, edi
add esi, eax
ror edx, 0x16
add dword [ebp - 0x14], esi
mov eax, edi
ror eax, 0xd
add ebx, esi
mov esi, dword [ebp - 0x14]
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, esi
add ebx, edx
mov edx, esi
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov ecx, esi
mov eax, esi
not ecx
and ecx, dword [ebp - 0x28]
and esi, dword [ebp - 0x24]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, edi
mov eax, dword [ebp - 4]
add esi, edx
xor ecx, ebx
mov edx, ebx
and ecx, dword [ebp - 8]
and edi, ebx
ror edx, 0x16
xor edi, ecx
add esi, dword [eax + 0xf8]
mov eax, dword [ebp - 0x1c]
add eax, 0xbef9a3f7
add esi, eax
mov eax, ebx
add dword [ebp - 0x10], esi
add edi, esi
mov esi, dword [ebp - 0x10]
mov ecx, esi
ror eax, 0xd
not ecx
xor edx, eax
and ecx, dword [ebp - 0x24]
mov eax, ebx
ror eax, 2
xor edx, eax
mov eax, esi
add edi, edx
ror eax, 0xb
mov edx, esi
ror edx, 0x19
xor edx, eax
mov eax, esi
and esi, dword [ebp - 0x14]
ror eax, 6
xor esi, ecx
xor edx, eax
mov ecx, ebx
add edx, dword [ebp - 0x2c]
xor ecx, edi
mov eax, dword [ebp - 0x28]
add esi, edx
and ecx, dword [ebp - 0x20]
add eax, 0xc67178f2
add esi, eax
mov edx, edi
ror edx, 0x16
mov eax, edi
ror eax, 0xd
xor edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, ebx
and eax, edi
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x100]
add ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x20]
add ecx, esi
add dword [edx + 0x10c], eax
mov eax, dword [ebp - 8]
add eax, dword [edx + 0x110]
add dword [edx + 0x104], edi
add eax, esi
add dword [edx + 0x108], ebx
mov dword [edx + 0x110], eax
mov eax, dword [ebp - 0x10]
add dword [edx + 0x114], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x100], ecx
add dword [edx + 0x118], eax
mov eax, dword [ebp - 0x24]
add dword [edx + 0x11c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret