Function at 0x41b900
Capabilities:
Resolve function by parsing pe exports

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