Function at 0x100059c0
Capabilities:
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x74
push ebx
push ebp
push esi
push edi
mov ecx, dword [esp + 0x8c]
movzx edx, byte [ecx]
movzx eax, byte [ecx + 1]
movzx ebx, byte [ecx + 4]
shl ebx, 8
shl edx, 8
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 8
or edx, eax
movzx eax, byte [ecx + 5]
or ebx, eax
mov dword [esp + 0x5c], edx
shl ebx, 8
movzx eax, byte [ecx + 6]
or ebx, eax
movzx eax, byte [ecx + 7]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 9]
mov dword [esp + 0x74], ebx
movzx ebx, byte [ecx + 8]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0xa]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0xb]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0xd]
mov dword [esp + 0x70], ebx
movzx ebx, byte [ecx + 0xc]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0xe]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0xf]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x11]
mov dword [esp + 0x6c], ebx
movzx ebx, byte [ecx + 0x10]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x12]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x13]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x15]
mov dword [esp + 0x68], ebx
movzx ebx, byte [ecx + 0x14]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x16]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x17]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x19]
mov dword [esp + 0x64], ebx
movzx ebx, byte [ecx + 0x18]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x1a]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x1b]
shl ebx, 8
or ebx, eax
mov dword [esp + 0x78], ebx
movzx ebx, byte [ecx + 0x1c]
shl ebx, 8
movzx eax, byte [ecx + 0x1d]
or ebx, eax
movzx eax, byte [ecx + 0x1e]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x1f]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x21]
mov dword [esp + 0x7c], ebx
movzx ebx, byte [ecx + 0x20]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x22]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x23]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x25]
mov dword [esp + 0x80], ebx
movzx ebx, byte [ecx + 0x24]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x26]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x27]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x29]
mov dword [esp + 0x40], ebx
movzx ebx, byte [ecx + 0x28]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x2a]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x2b]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x2d]
mov dword [esp + 0x44], ebx
movzx ebx, byte [ecx + 0x2c]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x2e]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x2f]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x31]
mov dword [esp + 0x48], ebx
movzx ebx, byte [ecx + 0x30]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x32]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x33]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x35]
mov dword [esp + 0x4c], ebx
movzx ebx, byte [ecx + 0x34]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x36]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x37]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x39]
mov dword [esp + 0x50], ebx
movzx ebx, byte [ecx + 0x38]
shl ebx, 8
or ebx, eax
mov edx, dword [esp + 0x88]
movzx eax, byte [ecx + 0x3a]
mov esi, dword [esp + 0x88]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x3b]
shl ebx, 8
or ebx, eax
mov ebp, dword [esi]
movzx eax, byte [ecx + 0x3d]
mov edi, dword [esi + 8]
mov dword [esp + 0x38], ebx
movzx ebx, byte [ecx + 0x3c]
shl ebx, 8
or ebx, eax
mov dword [esp + 0x2c], ebp
movzx eax, byte [ecx + 0x3e]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 0x3f]
mov ecx, dword [esi + 0x10]
ror ecx, 0xb
shl ebx, 8
or ebx, eax
mov eax, dword [edx + 0x10]
rol eax, 7
xor ecx, eax
mov dword [esp + 0x3c], ebx
mov eax, dword [edx + 0x10]
mov ebx, dword [esi + 4]
mov esi, dword [esi + 0x1c]
ror eax, 6
xor ecx, eax
mov eax, dword [edx + 0x18]
xor eax, dword [edx + 0x14]
add ecx, esi
and eax, dword [edx + 0x10]
xor eax, dword [edx + 0x18]
mov edx, dword [esp + 0x5c]
add eax, ecx
add edx, 0x428a2f98
mov ecx, ebp
add edx, eax
ror ecx, 0xd
mov eax, dword [esp + 0x88]
mov esi, dword [eax + 0xc]
mov eax, ebp
rol eax, 0xa
add esi, edx
xor ecx, eax
mov dword [esp + 0x60], esi
mov eax, ebp
mov ebp, ebx
or ebp, dword [esp + 0x2c]
ror eax, 2
and ebp, edi
xor ecx, eax
mov eax, ebx
and eax, dword [esp + 0x2c]
add ecx, edx
or ebp, eax
mov eax, esi
add ebp, ecx
rol eax, 7
mov ecx, esi
ror ecx, 0xb
xor ecx, eax
mov eax, esi
mov esi, dword [esp + 0x88]
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x88]
add ecx, dword [esp + 0x74]
mov edx, dword [eax + 0x14]
mov eax, edx
xor eax, dword [esi + 0x10]
mov esi, dword [esp + 0x60]
and eax, esi
xor eax, edx
add eax, ecx
mov edx, dword [esp + 0x88]
mov ecx, ebp
ror ecx, 0xd
mov edx, dword [edx + 0x18]
add edx, 0x71374491
add edx, eax
mov eax, ebp
rol eax, 0xa
add edi, edx
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, ebp
or eax, dword [esp + 0x2c]
add ecx, edx
and eax, ebx
mov dword [esp + 0x24], eax
mov eax, ebp
and eax, dword [esp + 0x2c]
or dword [esp + 0x24], eax
mov eax, edi
add dword [esp + 0x24], ecx
mov ecx, edi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x88]
add ecx, dword [esp + 0x70]
mov edx, dword [eax + 0x10]
mov eax, edx
xor eax, esi
and eax, edi
xor eax, edx
mov edx, dword [esp + 0x88]
add eax, ecx
mov edx, dword [edx + 0x14]
add edx, 0xb5c0fbcf
add edx, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x24]
ror eax, 2
xor ecx, eax
mov eax, ebp
or eax, dword [esp + 0x24]
add ecx, edx
and eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x20], eax
mov eax, ebp
and eax, dword [esp + 0x24]
or dword [esp + 0x20], eax
mov eax, ebx
add dword [esp + 0x20], ecx
mov ecx, ebx
mov edx, dword [edx + 0x10]
rol eax, 7
add edx, 0xe9b5dba5
ror ecx, 0xb
xor ecx, eax
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
add ecx, dword [esp + 0x6c]
xor eax, edi
and eax, ebx
xor eax, esi
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x20]
add dword [esp + 0x2c], edx
mov ecx, eax
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x24]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
and esi, ebp
or esi, eax
mov eax, edx
rol eax, 7
mov dword [esp + 0x34], esi
add dword [esp + 0x34], ecx
mov ecx, edx
mov esi, dword [esp + 0x34]
ror ecx, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, edi
add ecx, dword [esp + 0x68]
xor eax, ebx
and eax, edx
mov edx, dword [esp + 0x60]
xor eax, edi
add edx, 0x3956c25b
add eax, ecx
mov ecx, esi
add edx, eax
ror ecx, 0xd
mov eax, esi
add ebp, edx
rol eax, 0xa
xor ecx, eax
mov dword [esp + 0x60], ebp
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
add ecx, edx
and eax, dword [esp + 0x34]
lea edx, [edi + 0x59f111f1]
or dword [esp + 0x14], esi
mov esi, dword [esp + 0x24]
and dword [esp + 0x14], esi
or dword [esp + 0x14], eax
mov eax, ebp
add dword [esp + 0x14], ecx
mov ecx, ebp
mov edi, dword [esp + 0x14]
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, ebx
xor eax, dword [esp + 0x2c]
add ecx, dword [esp + 0x64]
and eax, ebp
xor eax, ebx
add eax, ecx
mov ecx, edi
add edx, eax
ror ecx, 0xd
mov eax, edi
add esi, edx
rol eax, 0xa
xor ecx, eax
mov dword [esp + 0x24], esi
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
add ecx, edx
and eax, dword [esp + 0x14]
lea edx, [ebx - 0x6dc07d5c]
or dword [esp + 0x18], edi
mov edi, dword [esp + 0x20]
and dword [esp + 0x18], edi
or dword [esp + 0x18], eax
mov eax, esi
add dword [esp + 0x18], ecx
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov ebx, dword [esp + 0x18]
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, dword [esp + 0x2c]
add ecx, dword [esp + 0x78]
and eax, esi
xor eax, dword [esp + 0x2c]
add eax, ecx
mov ecx, ebx
add edx, eax
ror ecx, 0xd
mov eax, ebx
add edi, edx
rol eax, 0xa
xor ecx, eax
mov dword [esp + 0x20], edi
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
add ecx, edx
and eax, dword [esp + 0x18]
or dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x34]
and dword [esp + 0x10], ebx
or dword [esp + 0x10], eax
mov eax, edi
add dword [esp + 0x10], ecx
mov ecx, edi
mov edx, dword [esp + 0x2c]
rol eax, 7
add edx, 0xab1c5ed5
ror ecx, 0xb
xor ecx, eax
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
add ecx, dword [esp + 0x7c]
xor eax, esi
and eax, edi
xor eax, ebp
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x10]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebp, eax
add ecx, edx
or ebp, dword [esp + 0x10]
and ebp, dword [esp + 0x14]
and eax, dword [esp + 0x10]
or ebp, eax
mov dword [esp + 0x1c], ebp
add dword [esp + 0x1c], ecx
mov ecx, ebx
ror ecx, 0xb
mov eax, ebx
rol eax, 7
xor ecx, eax
mov edx, dword [esp + 0x60]
mov eax, ebx
mov ebp, dword [esp + 0x14]
ror eax, 6
add edx, 0xd807aa98
xor ecx, eax
mov eax, esi
add ecx, dword [esp + 0x80]
xor eax, edi
and eax, ebx
xor eax, esi
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x1c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x1c]
or esi, dword [esp + 0x1c]
and esi, dword [esp + 0x18]
or esi, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], esi
mov eax, ebp
add dword [esp + 0x30], ecx
add edx, 0x12835b01
rol eax, 7
mov ecx, ebp
ror ecx, 0xb
xor ecx, eax
mov esi, dword [esp + 0x18]
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
add ecx, dword [esp + 0x40]
xor eax, ebx
and eax, ebp
xor eax, edi
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x30]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x30]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x1c]
or edi, dword [esp + 0x1c]
and edi, dword [esp + 0x10]
or edi, eax
mov eax, esi
mov dword [esp + 0x2c], edi
add dword [esp + 0x2c], ecx
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
add ecx, dword [esp + 0x44]
mov eax, ebx
xor eax, ebp
mov edx, dword [esp + 0x20]
and eax, esi
mov edi, dword [esp + 0x10]
xor eax, ebx
add edx, 0x243185be
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x2c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x2c]
or ebx, dword [esp + 0x2c]
and ebx, dword [esp + 0x1c]
or ebx, eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], ebx
mov eax, edi
add dword [esp + 0x28], ecx
add edx, 0x550c7dc3
rol eax, 7
mov ecx, edi
ror ecx, 0xb
xor ecx, eax
mov ebx, dword [esp + 0x1c]
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
add ecx, dword [esp + 0x48]
xor eax, esi
and eax, edi
xor eax, ebp
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x28]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x28]
or ebp, dword [esp + 0x28]
and ebp, dword [esp + 0x30]
or ebp, eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov eax, ebx
add dword [esp + 0x20], ecx
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
add ecx, dword [esp + 0x4c]
xor eax, edi
and eax, ebx
xor eax, esi
add eax, ecx
mov ebp, dword [esp + 0x30]
add edx, 0x72be5d74
add edx, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
or esi, eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], esi
mov eax, ebp
add dword [esp + 0x14], ecx
add edx, 0x80deb1fe
rol eax, 7
mov ecx, ebp
ror ecx, 0xb
xor ecx, eax
mov esi, dword [esp + 0x2c]
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
add ecx, dword [esp + 0x50]
xor eax, ebx
and eax, ebp
xor eax, edi
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x14]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x14]
or edi, dword [esp + 0x14]
and edi, dword [esp + 0x28]
or edi, eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], edi
mov eax, esi
add dword [esp + 0x18], ecx
add edx, 0x9bdc06a7
mov edi, dword [esp + 0x28]
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebp
add ecx, dword [esp + 0x38]
xor eax, ebx
and eax, esi
xor eax, ebx
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x18]
add edi, edx
mov ecx, eax
mov dword [esp + 0x28], edi
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x18]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x18]
or ebx, dword [esp + 0x18]
and ebx, dword [esp + 0x20]
or ebx, eax
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
mov eax, edi
add dword [esp + 0x10], ecx
add edx, 0xc19bf174
rol eax, 7
mov ecx, edi
ror ecx, 0xb
xor ecx, eax
mov ebx, dword [esp + 0x20]
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
add ecx, dword [esp + 0x3c]
xor eax, esi
and eax, edi
xor eax, ebp
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x10]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x10]
or ebp, dword [esp + 0x10]
and ebp, dword [esp + 0x14]
or ebp, eax
mov dword [esp + 0x24], ebp
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
mov edx, ecx
mov ebp, dword [esp + 0x74]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x40]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov eax, ebx
add edx, ecx
rol eax, 7
add edx, dword [esp + 0x5c]
mov ecx, ebx
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x34], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov ebp, dword [esp + 0x14]
add ecx, edx
mov eax, esi
xor eax, edi
mov edx, dword [esp + 0x30]
and eax, ebx
add edx, 0xe49b69c1
xor eax, esi
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x24]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x24]
or esi, dword [esp + 0x24]
and esi, dword [esp + 0x18]
or esi, eax
mov dword [esp + 0x30], esi
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
mov esi, dword [esp + 0x70]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x44]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x18]
add ecx, edx
mov eax, ebp
mov edx, dword [esp + 0x74]
add edx, ecx
rol eax, 7
mov ecx, ebp
mov dword [esp + 0x54], edx
ror ecx, 0xb
xor ecx, eax
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x2c]
and eax, ebp
xor eax, edi
add edx, 0xefbe4786
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x30]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x30]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
add ecx, edx
mov edi, eax
and eax, dword [esp + 0x24]
or edi, dword [esp + 0x24]
and edi, dword [esp + 0x10]
or edi, eax
mov dword [esp + 0x2c], edi
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
mov edx, ecx
mov edi, dword [esp + 0x6c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x48]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov edi, dword [esp + 0x10]
add ecx, edx
mov eax, esi
mov edx, dword [esp + 0x70]
add edx, ecx
rol eax, 7
mov ecx, esi
mov dword [esp + 0x58], edx
ror ecx, 0xb
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebx
xor eax, ebp
add ecx, edx
mov edx, dword [esp + 0x28]
and eax, esi
xor eax, ebx
add edx, 0xfc19dc6
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x2c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov ebx, eax
add ecx, edx
or ebx, dword [esp + 0x2c]
and eax, dword [esp + 0x2c]
and ebx, dword [esp + 0x24]
or ebx, eax
mov dword [esp + 0x28], ebx
add dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x54]
mov edx, ecx
mov ebx, dword [esp + 0x68]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x4c]
mov eax, ebx
ror eax, 7
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
mov ebx, dword [esp + 0x24]
add ecx, edx
mov eax, edi
mov edx, dword [esp + 0x6c]
add edx, ecx
rol eax, 7
mov ecx, edi
mov dword [esp + 0x5c], edx
ror ecx, 0xb
xor ecx, eax
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
add ecx, edx
xor eax, esi
mov edx, dword [esp + 0x20]
and eax, edi
xor eax, ebp
add edx, 0x240ca1cc
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x28]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x28]
or ebp, dword [esp + 0x28]
and ebp, dword [esp + 0x30]
or ebp, eax
mov dword [esp + 0x20], ebp
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x58]
mov edx, ecx
mov ebp, dword [esp + 0x64]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x50]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov eax, ebx
add ecx, edx
rol eax, 7
mov edx, dword [esp + 0x68]
add edx, ecx
mov ecx, ebx
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x60], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
add ecx, edx
mov ebp, dword [esp + 0x30]
and eax, ebx
mov edx, dword [esp + 0x14]
xor eax, esi
add edx, 0x2de92c6f
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
or esi, eax
mov dword [esp + 0x1c], esi
add dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x5c]
mov edx, ecx
mov esi, dword [esp + 0x78]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x38]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x2c]
add ecx, edx
mov eax, ebp
mov edx, dword [esp + 0x64]
add edx, ecx
rol eax, 7
mov ecx, ebp
mov dword [esp + 0x64], edx
ror ecx, 0xb
xor ecx, eax
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x18]
and eax, ebp
xor eax, edi
add edx, 0x4a7484aa
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x1c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov edi, eax
or edi, dword [esp + 0x1c]
and eax, dword [esp + 0x1c]
add ecx, edx
and edi, dword [esp + 0x28]
or edi, eax
mov dword [esp + 0x18], edi
add dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x60]
mov edx, ecx
mov edi, dword [esp + 0x7c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x3c]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov edi, dword [esp + 0x28]
add ecx, edx
mov eax, esi
mov edx, dword [esp + 0x78]
add edx, ecx
rol eax, 7
mov ecx, esi
mov dword [esp + 0x68], edx
ror ecx, 0xb
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x10]
and eax, esi
xor eax, ebx
add edx, 0x5cb0a9dc
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x18]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x18]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x18]
or ebx, dword [esp + 0x18]
and ebx, dword [esp + 0x20]
or ebx, eax
mov dword [esp + 0x14], ebx
add dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x64]
mov edx, ecx
mov ebx, dword [esp + 0x80]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
mov eax, ebx
ror eax, 7
xor ecx, eax
add edx, dword [esp + 0x34]
mov eax, ebx
shr eax, 3
xor ecx, eax
mov ebx, dword [esp + 0x20]
add ecx, edx
mov eax, edi
mov edx, dword [esp + 0x7c]
add edx, ecx
rol eax, 7
mov ecx, edi
mov dword [esp + 0x6c], edx
ror ecx, 0xb
xor ecx, eax
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
add ecx, edx
mov edx, dword [esp + 0x24]
and eax, edi
xor eax, ebp
add edx, 0x76f988da
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x14]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x14]
or ebp, dword [esp + 0x14]
and ebp, dword [esp + 0x1c]
or ebp, eax
mov dword [esp + 0x24], ebp
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x68]
mov edx, ecx
mov ebp, dword [esp + 0x40]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x54]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov eax, ebx
add ecx, edx
rol eax, 7
mov edx, dword [esp + 0x80]
add edx, ecx
mov ecx, ebx
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x70], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
and eax, ebx
xor eax, esi
add ecx, edx
add eax, ecx
mov edx, dword [esp + 0x30]
add edx, 0x983e5152
mov ebp, dword [esp + 0x1c]
add edx, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x24]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x24]
or esi, dword [esp + 0x24]
and esi, dword [esp + 0x18]
or esi, eax
mov dword [esp + 0x30], esi
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x6c]
mov edx, ecx
mov esi, dword [esp + 0x44]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x58]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x18]
add edx, ecx
mov eax, ebp
add edx, dword [esp + 0x40]
mov ecx, ebp
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x40], edx
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x2c]
and eax, ebp
xor eax, edi
add edx, 0xa831c66d
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x30]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x30]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, dword [esp + 0x24]
or edi, dword [esp + 0x24]
and edi, dword [esp + 0x14]
or edi, eax
mov dword [esp + 0x2c], edi
add ecx, edx
mov edi, dword [esp + 0x48]
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov edx, ecx
mov eax, ecx
rol edx, 0xf
rol eax, 0xd
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x5c]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov edi, dword [esp + 0x14]
add edx, ecx
mov eax, esi
add edx, dword [esp + 0x44]
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x44], edx
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebx
xor eax, ebp
add ecx, edx
mov edx, dword [esp + 0x28]
and eax, esi
xor eax, ebx
add edx, 0xb00327c8
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x2c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x2c]
or ebx, dword [esp + 0x2c]
and ebx, dword [esp + 0x24]
or ebx, eax
mov dword [esp + 0x28], ebx
add dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ebx, dword [esp + 0x4c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x60]
mov eax, ebx
ror eax, 7
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
add edx, ecx
add edx, dword [esp + 0x48]
mov ecx, edi
ror ecx, 0xb
mov eax, edi
rol eax, 7
xor ecx, eax
mov dword [esp + 0x48], edx
mov eax, edi
mov ebx, dword [esp + 0x24]
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
add ecx, edx
mov edx, dword [esp + 0x20]
and eax, edi
xor eax, ebp
add edx, 0xbf597fc7
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x28]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x28]
or ebp, dword [esp + 0x28]
and ebp, dword [esp + 0x30]
or ebp, eax
mov dword [esp + 0x20], ebp
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x44]
mov edx, ecx
mov ebp, dword [esp + 0x50]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x64]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov ebp, dword [esp + 0x30]
add edx, ecx
mov eax, ebx
add edx, dword [esp + 0x4c]
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x4c], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
add ecx, edx
mov edx, dword [esp + 0x1c]
and eax, ebx
xor eax, esi
add edx, 0xc6e00bf3
add eax, ecx
add edx, eax
add ebp, edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x20]
mov ecx, eax
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
or esi, eax
mov dword [esp + 0x1c], esi
add dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov edx, ecx
mov esi, dword [esp + 0x38]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x68]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x2c]
add edx, ecx
mov eax, ebp
add edx, dword [esp + 0x50]
mov ecx, ebp
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x50], edx
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x18]
and eax, ebp
xor eax, edi
add edx, 0xd5a79147
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x1c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov edi, eax
add ecx, edx
or edi, dword [esp + 0x1c]
and eax, dword [esp + 0x1c]
and edi, dword [esp + 0x28]
or edi, eax
mov dword [esp + 0x18], edi
add dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x4c]
mov edx, ecx
mov eax, ecx
rol edx, 0xf
rol eax, 0xd
xor edx, eax
mov edi, dword [esp + 0x3c]
mov eax, ecx
mov ecx, edi
shr eax, 0xa
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x6c]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov edi, dword [esp + 0x28]
add edx, ecx
mov eax, esi
add edx, dword [esp + 0x38]
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x38], edx
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x14]
and eax, esi
xor eax, ebx
add edx, 0x6ca6351
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x18]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x18]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x18]
or ebx, dword [esp + 0x18]
and ebx, dword [esp + 0x20]
or ebx, eax
mov dword [esp + 0x14], ebx
add dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov edx, ecx
mov ebx, dword [esp + 0x34]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x70]
mov eax, ebx
ror eax, 7
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
mov eax, edi
add edx, ecx
rol eax, 7
add edx, dword [esp + 0x3c]
mov ecx, edi
ror ecx, 0xb
mov dword [esp + 0x3c], edx
xor ecx, eax
mov eax, edi
mov ebx, dword [esp + 0x20]
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
add ecx, edx
mov edx, dword [esp + 0x24]
and eax, edi
xor eax, ebp
add edx, 0x14292967
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x14]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x14]
or ebp, dword [esp + 0x14]
and ebp, dword [esp + 0x1c]
or ebp, eax
mov dword [esp + 0x24], ebp
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
mov edx, ecx
mov ebp, dword [esp + 0x54]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x40]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov ebp, dword [esp + 0x1c]
add edx, ecx
mov eax, ebx
add edx, dword [esp + 0x34]
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x74], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
add ecx, edx
mov edx, dword [esp + 0x30]
and eax, ebx
xor eax, esi
add edx, 0x27b70a85
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x24]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x24]
or esi, dword [esp + 0x24]
and esi, dword [esp + 0x18]
or esi, eax
mov dword [esp + 0x10], esi
add dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
mov esi, dword [esp + 0x58]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x44]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x18]
add edx, ecx
mov eax, ebp
add edx, dword [esp + 0x54]
mov ecx, ebp
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x54], edx
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x2c]
and eax, ebp
xor eax, edi
add edx, 0x2e1b2138
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x10]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
mov edi, eax
add ecx, edx
or edi, dword [esp + 0x24]
and eax, dword [esp + 0x24]
and edi, dword [esp + 0x14]
or edi, eax
mov dword [esp + 0x2c], edi
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov edx, ecx
mov edi, dword [esp + 0x5c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x48]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov edi, dword [esp + 0x14]
add edx, ecx
mov eax, esi
add edx, dword [esp + 0x58]
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x58], edx
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebx
xor eax, ebp
add ecx, edx
mov edx, dword [esp + 0x28]
and eax, esi
xor eax, ebx
add edx, 0x4d2c6dfc
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x2c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x2c]
or ebx, dword [esp + 0x2c]
and ebx, dword [esp + 0x24]
or ebx, eax
mov dword [esp + 0x28], ebx
add dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x54]
mov edx, ecx
mov ebx, dword [esp + 0x60]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x4c]
mov eax, ebx
ror eax, 7
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
mov eax, edi
add edx, ecx
rol eax, 7
add edx, dword [esp + 0x5c]
mov ecx, edi
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x5c], edx
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
and eax, edi
xor eax, ebp
add ecx, edx
mov ebx, dword [esp + 0x24]
add eax, ecx
mov edx, dword [esp + 0x20]
add edx, 0x53380d13
add edx, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x28]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x28]
or ebp, dword [esp + 0x28]
and ebp, dword [esp + 0x10]
or ebp, eax
mov dword [esp + 0x20], ebp
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x58]
mov edx, ecx
mov ebp, dword [esp + 0x64]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x50]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov ebp, dword [esp + 0x10]
add edx, ecx
mov eax, ebx
add edx, dword [esp + 0x60]
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x60], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
add ecx, edx
mov edx, dword [esp + 0x1c]
and eax, ebx
xor eax, esi
add edx, 0x650a7354
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
mov esi, eax
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
or esi, eax
add ecx, edx
mov dword [esp + 0x1c], esi
add dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x5c]
mov edx, ecx
mov esi, dword [esp + 0x68]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x38]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x2c]
add edx, ecx
mov eax, ebp
add edx, dword [esp + 0x64]
mov ecx, ebp
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x64], edx
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x18]
and eax, ebp
xor eax, edi
add edx, 0x766a0abb
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x1c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x1c]
or edi, dword [esp + 0x1c]
and edi, dword [esp + 0x28]
or edi, eax
mov dword [esp + 0x18], edi
add dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x60]
mov edx, ecx
mov edi, dword [esp + 0x6c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
add edx, dword [esp + 0x3c]
add edx, ecx
mov edi, dword [esp + 0x28]
add edx, dword [esp + 0x68]
mov ecx, esi
ror ecx, 0xb
mov eax, esi
rol eax, 7
xor ecx, eax
mov dword [esp + 0x68], edx
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x14]
and eax, esi
xor eax, ebx
add edx, 0x81c2c92e
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x18]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x18]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x18]
or ebx, dword [esp + 0x18]
and ebx, dword [esp + 0x20]
or ebx, eax
mov dword [esp + 0x30], ebx
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x64]
mov edx, ecx
mov ebx, dword [esp + 0x70]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x74]
mov eax, ebx
ror eax, 7
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
mov ebx, dword [esp + 0x20]
add edx, ecx
mov eax, edi
add edx, dword [esp + 0x6c]
mov ecx, edi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x6c], edx
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
add ecx, edx
mov edx, dword [esp + 0x24]
and eax, edi
xor eax, ebp
add edx, 0x92722c85
add eax, ecx
add edx, eax
add ebx, edx
mov eax, dword [esp + 0x30]
mov ecx, eax
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x30]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x30]
or ebp, dword [esp + 0x30]
and ebp, dword [esp + 0x1c]
or ebp, eax
mov dword [esp + 0x24], ebp
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x68]
mov edx, ecx
mov ebp, dword [esp + 0x40]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x54]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov ebp, dword [esp + 0x1c]
add edx, ecx
mov eax, ebx
add edx, dword [esp + 0x70]
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x70], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
add ecx, edx
mov edx, dword [esp + 0x10]
and eax, ebx
xor eax, esi
add edx, 0xa2bfe8a1
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x24]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov esi, eax
add ecx, edx
or esi, dword [esp + 0x24]
and eax, dword [esp + 0x24]
and esi, dword [esp + 0x18]
or esi, eax
mov dword [esp + 0x34], esi
add dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x6c]
mov edx, ecx
rol edx, 0xf
mov eax, ecx
rol eax, 0xd
xor edx, eax
mov esi, dword [esp + 0x44]
mov eax, ecx
mov ecx, esi
shr eax, 0xa
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x58]
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x18]
add edx, ecx
mov eax, ebp
add edx, dword [esp + 0x40]
mov ecx, ebp
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x40], edx
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
add ecx, edx
xor eax, ebx
mov edx, dword [esp + 0x2c]
and eax, ebp
xor eax, edi
add edx, 0xa81a664b
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x34]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x34]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x34]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x24]
or edi, dword [esp + 0x24]
and edi, dword [esp + 0x30]
or edi, eax
mov dword [esp + 0x2c], edi
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov edx, ecx
mov edi, dword [esp + 0x48]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x5c]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov eax, esi
add edx, ecx
mov ecx, esi
add edx, dword [esp + 0x44]
ror ecx, 0xb
mov dword [esp + 0x44], edx
rol eax, 7
xor ecx, eax
mov edi, dword [esp + 0x30]
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebx
xor eax, ebp
add ecx, edx
mov edx, dword [esp + 0x28]
and eax, esi
xor eax, ebx
add edx, 0xc24b8b70
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
add edi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x2c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x34]
mov ebx, eax
add ecx, edx
and eax, dword [esp + 0x2c]
or ebx, dword [esp + 0x2c]
and ebx, dword [esp + 0x24]
or ebx, eax
mov dword [esp + 0x10], ebx
add dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ebx, dword [esp + 0x4c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x60]
mov eax, ebx
ror eax, 7
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
mov ebx, dword [esp + 0x24]
add edx, ecx
mov eax, edi
add edx, dword [esp + 0x48]
mov ecx, edi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x48], edx
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
add ecx, edx
mov edx, dword [esp + 0x20]
and eax, edi
xor eax, ebp
add edx, 0xc76c51a3
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x10]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x10]
or ebp, dword [esp + 0x10]
and ebp, dword [esp + 0x34]
or ebp, eax
mov dword [esp + 0x20], ebp
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x44]
mov edx, ecx
mov ebp, dword [esp + 0x50]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x64]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov ebp, dword [esp + 0x34]
add edx, ecx
mov eax, ebx
add edx, dword [esp + 0x4c]
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x4c], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, edi
add ecx, edx
mov edx, dword [esp + 0x1c]
and eax, ebx
xor eax, esi
add edx, 0xd192e819
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
add ebp, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
or esi, eax
mov dword [esp + 0x14], esi
add dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x48]
mov edx, ecx
mov esi, dword [esp + 0x38]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
mov eax, esi
add edx, dword [esp + 0x68]
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
mov esi, dword [esp + 0x2c]
add edx, ecx
mov eax, ebp
add edx, dword [esp + 0x50]
mov ecx, ebp
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x50], edx
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, ebx
add ecx, edx
mov edx, dword [esp + 0x18]
and eax, ebp
xor eax, edi
add edx, 0xd6990624
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x14]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x14]
or edi, dword [esp + 0x14]
and edi, dword [esp + 0x10]
or edi, eax
mov dword [esp + 0x1c], edi
add dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x4c]
mov edx, ecx
mov edi, dword [esp + 0x3c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x6c]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov eax, esi
add edx, ecx
rol eax, 7
add edx, dword [esp + 0x38]
mov ecx, esi
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x38], edx
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, ebx
add ecx, edx
and eax, esi
xor eax, ebx
add eax, ecx
mov edx, dword [esp + 0x30]
add edx, 0xf40e3585
add edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
add dword [esp + 0x10], edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x1c]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x14]
mov edi, eax
add ecx, edx
and eax, dword [esp + 0x1c]
or edi, dword [esp + 0x1c]
and edi, dword [esp + 0x20]
or edi, eax
mov dword [esp + 0x18], edi
add dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
mov edx, ecx
mov edi, dword [esp + 0x74]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x70]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
mov edi, dword [esp + 0x10]
shr eax, 3
xor ecx, eax
mov eax, edi
add edx, ecx
rol eax, 7
add edx, dword [esp + 0x3c]
mov ecx, edi
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x3c], edx
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, esi
add ecx, edx
and eax, edi
lea edx, [ebx + 0x106aa070]
mov ebx, dword [esp + 0x20]
xor eax, ebp
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x18]
mov ecx, eax
add ebx, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x18]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov edi, eax
add ecx, edx
or edi, dword [esp + 0x18]
and edi, dword [esp + 0x14]
and eax, dword [esp + 0x18]
or edi, eax
mov dword [esp + 0x28], edi
add dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x54]
mov edx, ecx
mov eax, ecx
rol edx, 0xf
rol eax, 0xd
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x40]
mov eax, edi
ror eax, 7
xor ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
mov edi, dword [esp + 0x28]
add edx, ecx
mov eax, ebx
add edx, dword [esp + 0x74]
mov ecx, ebx
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x80], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, dword [esp + 0x10]
add ecx, edx
and eax, ebx
lea edx, [ebp + 0x19a4c116]
xor eax, esi
mov ebp, dword [esp + 0x14]
add eax, ecx
mov ecx, edi
add edx, eax
ror ecx, 0xd
mov eax, edi
add ebp, edx
rol eax, 0xa
xor ecx, eax
mov dword [esp + 0x14], ebp
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x18]
mov ebx, eax
add ecx, edx
and eax, edi
or ebx, edi
and ebx, dword [esp + 0x1c]
mov edi, ebx
mov ebx, dword [esp + 0x58]
or edi, eax
add edi, ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
mov dword [esp + 0x24], edi
rol edx, 0xf
mov eax, ecx
rol eax, 0xd
mov edi, ebx
xor edx, eax
rol edi, 0xe
mov eax, ecx
mov ecx, ebp
shr eax, 0xa
xor edx, eax
mov eax, ebx
add edx, dword [esp + 0x44]
ror eax, 7
xor edi, eax
mov eax, ebx
shr eax, 3
xor edi, eax
add edi, edx
add edi, dword [esp + 0x54]
ror ecx, 0xb
lea edx, [esi + 0x1e376c08]
mov ebx, dword [esp + 0x24]
mov eax, ebp
rol eax, 7
xor ecx, eax
mov esi, dword [esp + 0x1c]
mov eax, ebp
mov ebp, dword [esp + 0x10]
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, dword [esp + 0x20]
add ecx, edi
and eax, dword [esp + 0x14]
xor eax, ebp
add eax, ecx
mov ecx, ebx
add edx, eax
ror ecx, 0xd
mov eax, ebx
add esi, edx
rol eax, 0xa
xor ecx, eax
mov dword [esp + 0x1c], esi
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, ebx
or eax, dword [esp + 0x28]
add ecx, edx
and eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, ebx
and eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
or ebx, eax
add ebx, ecx
mov ecx, dword [esp + 0x80]
mov edx, ecx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x5c]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x48]
mov eax, ebx
ror eax, 7
xor ecx, eax
shr ebx, 3
xor ebx, ecx
mov eax, esi
rol eax, 7
mov ecx, esi
ror ecx, 0xb
add ebx, edx
add ebx, dword [esp + 0x58]
lea edx, [ebp + 0x2748774c]
mov ebp, dword [esp + 0x2c]
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x14]
add ecx, ebx
and eax, esi
xor eax, dword [esp + 0x20]
add eax, ecx
mov ecx, ebp
add edx, eax
ror ecx, 0xd
add dword [esp + 0x18], edx
mov eax, ebp
rol eax, 0xa
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x24]
mov esi, eax
add ecx, edx
and eax, ebp
or esi, ebp
and esi, dword [esp + 0x28]
mov edx, edi
rol edx, 0xf
mov ebp, esi
or ebp, eax
mov eax, edi
rol eax, 0xd
add ebp, ecx
xor edx, eax
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x60]
mov eax, edi
shr eax, 0xa
mov ecx, ebp
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x4c]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov esi, dword [esp + 0x30]
shr ebp, 3
xor ebp, ecx
add ebp, edx
mov edx, dword [esp + 0x18]
add ebp, dword [esp + 0x5c]
mov ecx, edx
mov eax, edx
ror ecx, 0xb
rol eax, 7
xor ecx, eax
mov dword [esp + 0x7c], ebp
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
add ecx, ebp
and eax, edx
mov edx, dword [esp + 0x20]
xor eax, dword [esp + 0x14]
add edx, 0x34b0bcb5
add eax, ecx
mov ecx, esi
add edx, eax
ror ecx, 0xd
add dword [esp + 0x28], edx
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov ebp, eax
add ecx, edx
or ebp, esi
and eax, esi
and ebp, dword [esp + 0x24]
mov edx, ebx
mov esi, ebp
rol edx, 0xf
mov ebp, dword [esp + 0x64]
or esi, eax
mov eax, ebx
add esi, ecx
rol eax, 0xd
xor edx, eax
mov dword [esp + 0x20], esi
mov eax, ebx
shr eax, 0xa
xor edx, eax
add edx, dword [esp + 0x50]
mov esi, ebp
mov eax, ebp
rol esi, 0xe
ror eax, 7
xor esi, eax
mov eax, ebp
shr eax, 3
xor esi, eax
add esi, edx
mov edx, dword [esp + 0x28]
add esi, dword [esp + 0x60]
mov ecx, edx
ror ecx, 0xb
mov eax, edx
rol eax, 7
xor ecx, eax
mov dword [esp + 0x78], esi
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x18]
add ecx, esi
and eax, edx
mov edx, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
add edx, 0x391c0cb3
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
add dword [esp + 0x24], edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x20]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x30]
mov esi, eax
add ecx, edx
and eax, dword [esp + 0x20]
or esi, dword [esp + 0x20]
and esi, dword [esp + 0x2c]
mov ebp, esi
or ebp, eax
add ebp, ecx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x7c]
mov edx, ebp
mov eax, ebp
rol edx, 0xf
rol eax, 0xd
xor edx, eax
mov eax, ebp
mov ebp, dword [esp + 0x68]
mov ecx, ebp
shr eax, 0xa
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x38]
mov eax, ebp
ror eax, 7
xor ecx, eax
shr ebp, 3
xor ebp, ecx
add ebp, edx
mov edx, dword [esp + 0x24]
add ebp, dword [esp + 0x64]
mov ecx, edx
ror ecx, 0xb
mov eax, edx
rol eax, 7
xor ecx, eax
mov dword [esp + 0x74], ebp
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x28]
and eax, edx
add ecx, ebp
xor eax, dword [esp + 0x18]
add eax, ecx
mov edx, dword [esp + 0x1c]
add edx, 0x4ed8aa4a
add edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
add dword [esp + 0x2c], edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x10]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x20]
mov ebp, eax
add ecx, edx
and eax, dword [esp + 0x10]
or ebp, dword [esp + 0x10]
and ebp, dword [esp + 0x30]
mov esi, ebp
mov ebp, dword [esp + 0x6c]
or esi, eax
add esi, ecx
mov ecx, ebp
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x78]
mov edx, esi
mov eax, esi
rol edx, 0xf
rol eax, 0xd
xor edx, eax
rol ecx, 0xe
mov eax, esi
mov esi, dword [esp + 0x3c]
shr eax, 0xa
xor edx, eax
mov eax, ebp
ror eax, 7
add esi, edx
mov edx, dword [esp + 0x2c]
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov eax, edx
add esi, ecx
rol eax, 7
add esi, dword [esp + 0x68]
mov ecx, edx
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x68], esi
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x28]
add ecx, esi
mov esi, dword [esp + 0x30]
and eax, edx
xor eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
add eax, ecx
add edx, 0x5b9cca4f
add edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
add esi, edx
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x14]
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
and eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
add ecx, edx
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x14]
or dword [esp + 0x1c], eax
add dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x74]
mov edx, ebp
rol edx, 0xf
mov eax, ebp
rol eax, 0xd
xor edx, eax
mov eax, ebp
mov ebp, dword [esp + 0x70]
mov ecx, ebp
shr eax, 0xa
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x80]
mov eax, ebp
ror eax, 7
xor ecx, eax
mov eax, ebp
shr eax, 3
xor ecx, eax
mov ebp, dword [esp + 0x1c]
add edx, ecx
mov eax, esi
add edx, dword [esp + 0x6c]
mov ecx, esi
rol eax, 7
ror ecx, 0xb
xor ecx, eax
mov dword [esp + 0x6c], edx
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x2c]
add ecx, edx
and eax, esi
mov edx, ebp
xor eax, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x14]
add esi, 0x682e6ff3
add esi, eax
ror edx, 0xd
add dword [esp + 0x20], esi
mov eax, ebp
rol eax, 0xa
or ecx, ebp
and ecx, dword [esp + 0x10]
xor edx, eax
mov eax, ebp
and ebp, dword [esp + 0x14]
ror eax, 2
or ebp, ecx
mov ecx, dword [esp + 0x68]
xor edx, eax
add edx, esi
mov eax, ecx
mov esi, dword [esp + 0x40]
add ebp, edx
rol eax, 0xd
mov edx, ecx
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
add edi, edx
mov esi, dword [esp + 0x20]
add edi, ecx
add edi, dword [esp + 0x70]
mov ecx, esi
ror ecx, 0xb
mov eax, esi
rol eax, 7
xor ecx, eax
mov edx, dword [esp + 0x24]
mov eax, esi
mov dword [esp + 0x70], edi
ror eax, 6
add edx, 0x748f82ee
xor ecx, eax
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x30]
add ecx, edi
and eax, esi
xor eax, dword [esp + 0x2c]
add eax, ecx
mov ecx, ebp
add edx, eax
ror ecx, 0xd
add dword [esp + 0x10], edx
mov eax, ebp
rol eax, 0xa
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov esi, eax
add ecx, edx
and eax, ebp
or esi, ebp
and esi, dword [esp + 0x14]
or esi, eax
add esi, ecx
mov ecx, dword [esp + 0x6c]
mov edx, ecx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x44]
mov eax, ecx
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, esi
xor edx, eax
rol ecx, 0xe
mov eax, esi
add edx, ebx
mov ebx, dword [esp + 0x10]
ror eax, 7
xor ecx, eax
shr esi, 3
xor esi, ecx
mov eax, ebx
rol eax, 7
mov ecx, ebx
ror ecx, 0xb
add esi, edx
add esi, dword [esp + 0x40]
xor ecx, eax
mov edx, dword [esp + 0x2c]
mov eax, ebx
ror eax, 6
add edx, 0x78a5636f
xor ecx, eax
mov eax, dword [esp + 0x30]
xor eax, dword [esp + 0x20]
add ecx, esi
and eax, ebx
mov ebx, dword [esp + 0x28]
xor eax, dword [esp + 0x30]
add eax, ecx
mov ecx, ebx
add edx, eax
add dword [esp + 0x14], edx
ror ecx, 0xd
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, ebx
ror eax, 2
or ebx, ebp
xor ecx, eax
and ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add ecx, edx
and eax, ebp
mov edx, edi
or ebx, eax
rol edx, 0xf
add ebx, ecx
mov eax, edi
rol eax, 0xd
xor edx, eax
mov dword [esp + 0x2c], ebx
mov eax, edi
mov edi, dword [esp + 0x48]
shr eax, 0xa
mov ecx, edi
xor edx, eax
rol ecx, 0xe
add edx, dword [esp + 0x7c]
mov eax, edi
ror eax, 7
xor ecx, eax
shr edi, 3
xor edi, ecx
add edi, edx
mov edx, dword [esp + 0x14]
add edi, dword [esp + 0x44]
mov ecx, edx
ror ecx, 0xb
mov eax, edx
rol eax, 7
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x10]
add ecx, edi
and eax, edx
mov edx, dword [esp + 0x30]
xor eax, dword [esp + 0x20]
add edx, 0x84c87814
add eax, ecx
mov ecx, ebx
add edx, eax
ror ecx, 0xd
add dword [esp + 0x1c], edx
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x28]
mov ebx, eax
add ecx, edx
or ebx, dword [esp + 0x2c]
mov edx, esi
and eax, dword [esp + 0x2c]
and ebx, ebp
or ebx, eax
rol edx, 0xf
add ebx, ecx
mov eax, esi
rol eax, 0xd
mov dword [esp + 0x30], ebx
xor edx, eax
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
shr esi, 0xa
mov eax, ebx
xor edx, esi
rol ecx, 0xe
ror eax, 7
add edx, dword [esp + 0x78]
xor ecx, eax
mov esi, dword [esp + 0x10]
add ebp, 0x8cc70208
xor esi, dword [esp + 0x14]
shr ebx, 3
xor ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x1c]
add ebx, dword [esp + 0x48]
mov ecx, edx
ror ecx, 0xb
mov eax, edx
rol eax, 7
and esi, edx
xor ecx, eax
xor esi, dword [esp + 0x10]
mov eax, edx
ror eax, 6
xor ecx, eax
add ecx, ebx
add esi, ecx
mov ecx, dword [esp + 0x30]
add esi, dword [esp + 0x20]
mov edx, ecx
mov eax, ecx
ror edx, 0xd
rol eax, 0xa
add ebp, esi
xor edx, eax
mov dword [esp + 0x7c], ebp
mov eax, ecx
ror eax, 2
xor edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
add esi, edx
or ecx, dword [esp + 0x30]
mov edx, edi
and eax, dword [esp + 0x30]
and ecx, dword [esp + 0x28]
or ecx, eax
rol edx, 0xf
mov eax, edi
add ecx, 0x8cc70208
rol eax, 0xd
add esi, ecx
xor edx, eax
shr edi, 0xa
xor edx, edi
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x50]
mov ecx, edi
add edx, dword [esp + 0x74]
mov eax, edi
ror eax, 7
rol ecx, 0xe
xor ecx, eax
shr edi, 3
xor edi, ecx
mov eax, ebp
rol eax, 7
mov ecx, ebp
ror ecx, 0xb
add edi, edx
add edi, dword [esp + 0x4c]
xor ecx, eax
mov edx, dword [esp + 0x10]
mov eax, ebp
ror eax, 6
add edx, 0x90befffa
xor ecx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
add ecx, edi
and eax, ebp
xor eax, dword [esp + 0x14]
add eax, ecx
mov ecx, esi
add edx, eax
add dword [esp + 0x28], edx
ror ecx, 0xd
mov eax, esi
rol eax, 0xa
mov ebp, esi
xor ecx, eax
or ebp, dword [esp + 0x30]
and ebp, dword [esp + 0x2c]
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, esi
and eax, dword [esp + 0x30]
add ecx, edx
or ebp, eax
mov esi, dword [esp + 0x68]
add ebp, ecx
mov edx, ebx
rol edx, 0xf
mov eax, ebx
rol eax, 0xd
xor edx, eax
shr ebx, 0xa
xor edx, ebx
mov ebx, dword [esp + 0x38]
mov ecx, ebx
mov eax, ebx
ror eax, 7
add esi, edx
mov edx, dword [esp + 0x28]
rol ecx, 0xe
xor ecx, eax
mov eax, ebx
shr eax, 3
xor ecx, eax
mov eax, edx
rol eax, 7
add esi, ecx
add esi, dword [esp + 0x50]
mov ecx, edx
ror ecx, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x7c]
xor eax, dword [esp + 0x1c]
add ecx, esi
and eax, edx
mov edx, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
add edx, 0xa4506ceb
add eax, ecx
mov ecx, ebp
add edx, eax
ror ecx, 0xd
add dword [esp + 0x2c], edx
mov eax, ebp
rol eax, 0xa
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, dword [esp + 0x78]
mov ebx, eax
add ecx, edx
or ebx, ebp
and eax, ebp
and ebx, dword [esp + 0x30]
or ebx, eax
add ebx, ecx
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov eax, ecx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ecx
ror eax, 6
mov ecx, edi
xor edx, eax
rol ecx, 0xf
mov eax, edi
shr edi, 0xa
rol eax, 0xd
xor ecx, eax
xor ecx, edi
mov edi, dword [esp + 0x3c]
add edx, ecx
mov eax, edi
ror eax, 7
mov ecx, edi
rol ecx, 0xe
xor ecx, eax
mov eax, edi
shr eax, 3
mov edi, ebp
xor ecx, eax
or edi, ebx
add ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
add ecx, edx
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x7c]
add eax, ecx
mov edx, dword [esp + 0x1c]
add eax, dword [esp + 0x38]
add edx, 0xbef9a3f7
add edx, eax
and edi, dword [esp + 0x78]
add dword [esp + 0x30], edx
mov ecx, ebx
ror ecx, 0xd
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, ebp
and eax, ebx
add ecx, edx
or edi, eax
add edi, 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
mov ecx, esi
xor edx, eax
rol ecx, 0xf
mov eax, esi
shr esi, 0xa
rol eax, 0xd
xor ecx, eax
xor ecx, esi
mov esi, dword [esp + 0x80]
add edx, ecx
mov eax, esi
ror eax, 7
mov ecx, esi
rol ecx, 0xe
xor ecx, eax
shr esi, 3
mov eax, dword [esp + 0x28]
xor ecx, esi
xor eax, dword [esp + 0x2c]
and eax, dword [esp + 0x30]
add ecx, dword [esp + 0x7c]
xor eax, dword [esp + 0x28]
add ecx, edx
mov esi, dword [esp + 0x3c]
add eax, ecx
add eax, dword [esp + 0x70]
mov edx, edi
add esi, eax
ror edx, 0xd
mov eax, edi
rol eax, 0xa
mov ecx, ebx
xor edx, eax
or ecx, edi
mov eax, edi
and ecx, ebp
ror eax, 2
xor edx, eax
mov eax, ebx
and eax, edi
or ecx, eax
mov eax, dword [esp + 0x88]
add edx, dword [eax]
lea eax, [esi - 0x398e870e]
add ecx, edx
mov edx, dword [esp + 0x88]
add eax, ecx
add dword [edx + 4], edi
add dword [edx + 0xc], ebp
add dword [edx + 8], ebx
mov dword [edx], eax
mov eax, dword [esp + 0x78]
add eax, 0xc67178f2
add eax, dword [edx + 0x10]
add eax, esi
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x30]
add dword [edx + 0x14], eax
mov eax, dword [esp + 0x2c]
add dword [edx + 0x18], eax
mov eax, dword [esp + 0x28]
add dword [edx + 0x1c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret