Function at 0x10106920
Capabilities:
Encode data using xor
Hash data using sha1
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x64
call fcn.101ebae0
mov eax, dword [esp + 0x68]
push ebx
push ebp
push esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov ebp, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
push edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x78], ecx
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x60], edx
movzx ebx, byte [edi]
movzx ecx, byte [edi + 1]
shl ecx, 0x10
shl ebx, 0x18
or ebx, ecx
ror edx, 0x1b
movzx ecx, byte [edi + 2]
shl ecx, 8
or ebx, ecx
mov dword [esp + 0x64], esi
movzx ecx, byte [edi + 3]
add edi, 4
or ebx, ecx
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x7c]
add edx, ebx
inc ecx
mov dword [esp + 0x68], ebp
movzx edi, byte [edi]
mov dword [esp + 0x7c], ecx
shl edi, 0x18
movzx ecx, byte [ecx]
shl ecx, 0x10
or edi, ecx
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or edi, ecx
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x7c]
movzx ecx, byte [ecx]
or edi, ecx
mov ecx, dword [esp + 0x78]
xor ecx, ebp
mov dword [esp + 0x24], edi
and ecx, esi
mov esi, dword [esp + 0x50]
xor ecx, dword [esp + 0x78]
add esi, 0x5a827999
add ecx, edx
movzx edx, byte [ebx]
add esi, ecx
shl edx, 0x18
mov ecx, dword [esp + 0x54]
mov ebp, ecx
shr ecx, 2
shl ebp, 0x1e
or ebp, ecx
movzx ecx, byte [ebx + 1]
shl ecx, 0x10
or edx, ecx
movzx ecx, byte [ebx + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebx + 3]
or edx, ecx
add ebx, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], edx
xor ecx, ebp
and ecx, dword [esp + 0x5c]
mov edx, esi
xor ecx, dword [esp + 0x58]
ror edx, 0x1b
add edx, edi
mov dword [esp + 0x7c], ebx
mov edi, dword [esp + 0x78]
add ecx, edx
add edi, 0x5a827999
add edi, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, ecx
shr ecx, 2
shl ebx, 0x1e
or ebx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x54], ebx
movzx edx, byte [ecx]
inc ecx
mov dword [esp + 0x7c], ecx
shl edx, 0x18
movzx ecx, byte [ecx]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or edx, ecx
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
inc dword [esp + 0x7c]
movzx ecx, byte [ecx]
or edx, ecx
mov ecx, ebp
xor ecx, ebx
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x58]
and ecx, esi
xor ecx, ebp
mov edx, edi
ror edx, 0x1b
add ebx, 0x5a827999
add edx, dword [esp + 0x50]
add ecx, edx
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
shr esi, 2
or ecx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [esi + 3]
or edx, ecx
add esi, 4
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x54]
and ecx, edi
mov dword [esp + 0x48], edx
xor ecx, dword [esp + 0x54]
mov edx, ebx
ror edx, 0x1b
add edx, dword [esp + 0x4c]
add ecx, edx
mov dword [esp + 0x7c], esi
lea esi, [ebp + 0x5a827999]
mov ebp, dword [esp + 0x7c]
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
shr edi, 2
movzx edx, byte [ebp]
or ecx, edi
mov dword [esp + 0x78], ecx
movzx ecx, byte [ebp + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [ebp + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebp + 3]
or edx, ecx
mov edi, dword [esp + 0x54]
mov dword [esp + 0x44], edx
add ebp, 4
mov dword [esp + 0x7c], ebp
mov edx, esi
mov ebp, dword [esp + 0x5c]
add edi, 0x5a827999
ror edx, 0x1b
mov ecx, ebp
xor ecx, dword [esp + 0x78]
add edx, dword [esp + 0x48]
and ecx, ebx
xor ecx, ebp
add ecx, edx
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
shr ebx, 2
or ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x40], ecx
movzx edx, byte [ebx]
movzx ecx, byte [ebx + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [ebx + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebx + 3]
or edx, ecx
add ebx, 4
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x40]
and ecx, esi
mov dword [esp + 0x58], edx
xor ecx, dword [esp + 0x78]
mov edx, edi
ror edx, 0x1b
add edx, dword [esp + 0x44]
add ecx, edx
mov dword [esp + 0x7c], ebx
lea ebx, [ebp + 0x5a827999]
mov ebp, dword [esp + 0x7c]
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
shr esi, 2
movzx edx, byte [ebp]
or ecx, esi
mov dword [esp + 0x54], ecx
movzx ecx, byte [ebp + 1]
mov esi, dword [esp + 0x78]
shl ecx, 0x10
add esi, 0x5a827999
shl edx, 0x18
or edx, ecx
movzx ecx, byte [ebp + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebp + 3]
or edx, ecx
add ebp, 4
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x40]
mov ecx, ebp
xor ecx, dword [esp + 0x54]
mov dword [esp + 0x5c], edx
and ecx, edi
mov edx, ebx
xor ecx, ebp
ror edx, 0x1b
add edx, dword [esp + 0x58]
add ecx, edx
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
shr edi, 2
or ecx, edi
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0x7c]
movzx edx, byte [edi]
movzx ecx, byte [edi + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [edi + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [edi + 3]
or edx, ecx
add edi, 4
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x40]
and ecx, ebx
mov dword [esp + 0x28], edx
xor ecx, dword [esp + 0x54]
mov edx, esi
ror edx, 0x1b
add edx, dword [esp + 0x5c]
add ecx, edx
mov dword [esp + 0x7c], edi
lea edi, [ebp + 0x5a827999]
mov ebp, dword [esp + 0x40]
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
shr ebx, 2
or ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x78], ecx
movzx edx, byte [ebx]
movzx ecx, byte [ebx + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [ebx + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebx + 3]
or edx, ecx
add ebx, 4
mov dword [esp + 0x2c], edx
mov ecx, ebp
xor ecx, dword [esp + 0x78]
mov edx, edi
and ecx, esi
ror edx, 0x1b
add edx, dword [esp + 0x28]
xor ecx, ebp
add ecx, edx
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x54]
add ebx, 0x5a827999
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
shr esi, 2
or ecx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x54], ecx
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [esi + 3]
or edx, ecx
add esi, 4
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x78]
mov dword [esp + 0x30], edx
and ecx, edi
xor ecx, dword [esp + 0x78]
mov edx, ebx
ror edx, 0x1b
add edx, dword [esp + 0x2c]
mov dword [esp + 0x7c], esi
add ecx, edx
lea esi, [ebp + 0x5a827999]
add esi, ecx
mov ebp, edi
shr edi, 2
shl ebp, 0x1e
or ebp, edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x40], ebp
movzx edx, byte [edi]
movzx ecx, byte [edi + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [edi + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [edi + 3]
or edx, ecx
add edi, 4
mov dword [esp + 0x34], edx
mov edx, esi
ror edx, 0x1b
add edx, dword [esp + 0x30]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x54]
mov ecx, edi
xor ecx, ebp
mov ebp, dword [esp + 0x78]
and ecx, ebx
add ebp, 0x5a827999
xor ecx, edi
add ecx, edx
add ebp, ecx
mov ecx, ebx
shl ecx, 0x1e
shr ebx, 2
or ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x78], ecx
movzx edx, byte [ebx]
movzx ecx, byte [ebx + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [ebx + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebx + 3]
or edx, ecx
add ebx, 4
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x78]
and ecx, esi
mov dword [esp + 0x38], edx
xor ecx, dword [esp + 0x40]
mov edx, ebp
mov dword [esp + 0x7c], ebx
lea ebx, [edi + 0x5a827999]
ror edx, 0x1b
mov edi, esi
add edx, dword [esp + 0x34]
add ecx, edx
shr esi, 2
shl edi, 0x1e
add ebx, ecx
or edi, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x54], edi
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [esi + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [esi + 3]
or edx, ecx
add esi, 4
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x78]
mov edx, ebx
xor ecx, edi
ror edx, 0x1b
add edx, dword [esp + 0x38]
and ecx, ebp
xor ecx, dword [esp + 0x78]
add ecx, edx
mov edi, dword [esp + 0x40]
mov dword [esp + 0x7c], esi
add edi, 0x5a827999
add edi, ecx
mov esi, ebp
shr ebp, 2
shl esi, 0x1e
or esi, ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x40], esi
movzx edx, byte [ebp]
movzx ecx, byte [ebp + 1]
shl ecx, 0x10
shl edx, 0x18
or edx, ecx
movzx ecx, byte [ebp + 2]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebp + 3]
or edx, ecx
add ebp, 4
mov ecx, dword [esp + 0x54]
xor ecx, esi
mov dword [esp + 0x14], edx
and ecx, ebx
mov dword [esp + 0x7c], ebp
xor ecx, dword [esp + 0x54]
mov edx, edi
ror edx, 0x1b
mov ebp, ebx
add edx, dword [esp + 0x10]
add ecx, edx
shr ebx, 2
mov edx, dword [esp + 0x78]
add edx, 0x5a827999
shl ebp, 0x1e
add edx, ecx
or ebp, ebx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
ror edx, 0x1b
add edx, dword [esp + 0x14]
movzx ebx, byte [ecx]
inc ecx
mov dword [esp + 0x7c], ecx
shl ebx, 0x18
movzx ecx, byte [ecx]
shl ecx, 0x10
or ebx, ecx
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
inc dword [esp + 0x7c]
movzx ecx, byte [ecx]
or ebx, ecx
mov ecx, esi
xor ecx, ebp
mov dword [esp + 0x18], ebx
and ecx, edi
mov ebx, edi
xor ecx, esi
shl ebx, 0x1e
mov esi, dword [esp + 0x54]
add ecx, edx
add esi, 0x5a827999
add esi, ecx
shr edi, 2
or ebx, edi
mov ecx, esi
mov edi, dword [esp + 0x78]
mov edx, ebx
ror ecx, 0x1b
xor edx, ebp
add ecx, dword [esp + 0x18]
and edx, edi
xor edx, ebp
ror edi, 2
add edx, ecx
mov dword [esp + 0x78], edi
add edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x3c]
lea edi, [edx + 0x5a827999]
mov edx, ecx
add ecx, ecx
shr edx, 0x1f
or edx, ecx
mov ecx, ebx
xor ecx, dword [esp + 0x78]
and ecx, esi
mov dword [esp + 0x1c], edx
xor ecx, ebx
mov edx, edi
ror edx, 0x1b
add ebp, edx
mov edx, dword [esp + 0x1c]
add ebp, ecx
add edx, 0x5a827999
mov ecx, esi
add ebp, edx
shl ecx, 0x1e
shr esi, 2
or ecx, esi
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
mov edx, ecx
add ecx, ecx
shr edx, 0x1f
or edx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], edx
xor ecx, esi
and ecx, edi
mov edx, ebp
xor ecx, dword [esp + 0x78]
ror edx, 0x1b
add edx, ebx
mov ebx, edi
add ecx, edx
shl ebx, 0x1e
mov edx, dword [esp + 0x20]
add edx, 0x5a827999
shr edi, 2
add ecx, edx
or ebx, edi
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
or edx, ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x24], edx
xor ebx, esi
mov edx, edi
and ebx, ebp
ror edx, 0x1b
xor ebx, esi
add edx, dword [esp + 0x78]
mov esi, ebp
mov ecx, dword [esp + 0x34]
add ebx, edx
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add edx, 0x5a827999
shl esi, 0x1e
add ebx, edx
shr ebp, 2
mov edx, ecx
or esi, ebp
add ecx, ecx
shr edx, 0x1f
or edx, ecx
mov dword [esp + 0x50], esi
xor esi, dword [esp + 0x40]
mov ebp, edi
mov ecx, dword [esp + 0x38]
and esi, edi
xor ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x20]
xor esi, dword [esp + 0x40]
mov dword [esp + 0x78], edx
mov edx, ebx
ror edx, 0x1b
add edx, dword [esp + 0x54]
add esi, edx
shr edi, 2
mov edx, dword [esp + 0x78]
add edx, 0x5a827999
shl ebp, 0x1e
or ebp, edi
add esi, edx
mov edi, ecx
mov edx, esi
add ecx, ecx
shr edi, 0x1f
or edi, ecx
ror edx, 0x1b
add edx, dword [esp + 0x40]
mov ecx, ebx
xor ecx, dword [esp + 0x50]
xor ecx, ebp
mov dword [esp + 0x3c], edi
add ecx, edx
add edi, 0x6ed9eba1
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
add edx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x24]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x54]
xor ecx, esi
mov dword [esp + 0x40], ebx
xor ecx, ebp
add ebx, 0x6ed9eba1
add ecx, edx
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
shr esi, 2
or ecx, esi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x58]
mov edx, ebx
xor ecx, dword [esp + 0x78]
mov esi, ecx
ror edx, 0x1b
add ecx, ecx
shr esi, 0x1f
or esi, ecx
add edx, ebp
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x50]
xor ecx, edi
mov dword [esp + 0x44], esi
add ecx, edx
add esi, 0x6ed9eba1
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, esi
shr edi, 2
or ecx, edi
ror edx, 0x1b
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x3c]
add edx, dword [esp + 0x54]
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x58]
xor ecx, ebx
mov dword [esp + 0x48], edi
add ecx, edx
add edi, 0x6ed9eba1
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x1c]
add edx, dword [esp + 0x50]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x54]
xor ecx, esi
mov dword [esp + 0x28], ebx
add ecx, edx
add ebx, 0x6ed9eba1
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x20]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x2c], esi
xor ecx, edi
add edx, dword [esp + 0x58]
add esi, 0x6ed9eba1
add ecx, edx
mov ebp, ebx
add esi, ecx
shl ebp, 0x1e
mov ecx, edi
mov edx, esi
shl ecx, 0x1e
shr edi, 2
or ecx, edi
ror edx, 0x1b
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x24]
mov edi, ecx
add edx, dword [esp + 0x54]
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebx
xor ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x58]
add ecx, edx
mov dword [esp + 0x30], edi
add edi, 0x6ed9eba1
shr ebx, 2
add edi, ecx
or ebp, ebx
mov ecx, dword [esp + 0x10]
mov edx, edi
xor ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x78]
mov ebx, ecx
ror edx, 0x1b
add edx, dword [esp + 0x5c]
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov dword [esp + 0x54], ebp
mov ecx, ebp
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x58]
xor ecx, esi
xor ecx, ebp
add ebx, 0x6ed9eba1
add ecx, edx
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x58], ecx
add edx, ebp
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x3c]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x58]
xor ecx, edi
mov dword [esp + 0x38], esi
add ecx, edx
add esi, 0x6ed9eba1
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
shr edi, 2
or ecx, edi
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x30]
mov edx, esi
xor ecx, dword [esp + 0x40]
mov edi, ecx
ror edx, 0x1b
add ecx, ecx
add edx, dword [esp + 0x54]
shr edi, 0x1f
or edi, ecx
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x5c]
xor ecx, ebx
mov dword [esp + 0x10], edi
add ecx, edx
add edi, 0x6ed9eba1
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x1c]
add edx, dword [esp + 0x58]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x54]
xor ecx, esi
mov dword [esp + 0x14], ebx
add ecx, edx
add ebx, 0x6ed9eba1
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x20]
add edx, dword [esp + 0x5c]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x58]
xor ecx, edi
mov dword [esp + 0x18], esi
add ecx, edx
add esi, 0x6ed9eba1
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, esi
shr edi, 2
or ecx, edi
ror edx, 0x1b
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x1c]
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebx
xor ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], edi
add edx, dword [esp + 0x54]
add edi, 0x6ed9eba1
add ecx, edx
mov ebp, ebx
add edi, ecx
shr ebx, 2
mov ecx, dword [esp + 0x14]
mov edx, edi
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x20]
shl ebp, 0x1e
or ebp, ebx
ror edx, 0x1b
mov ebx, ecx
add edx, dword [esp + 0x58]
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov dword [esp + 0x54], ebp
mov ecx, ebp
mov dword [esp + 0x20], ebx
xor ecx, esi
add ebx, 0x6ed9eba1
xor ecx, dword [esp + 0x5c]
add ecx, edx
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x24]
add edx, dword [esp + 0x5c]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x58]
xor ecx, edi
mov ebp, dword [esp + 0x58]
add ecx, edx
mov dword [esp + 0x4c], esi
add esi, 0x6ed9eba1
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, esi
shr edi, 2
or ecx, edi
ror edx, 0x1b
add edx, dword [esp + 0x54]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x1c]
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x5c]
xor ecx, ebx
mov dword [esp + 0x50], edi
add ecx, edx
add edi, 0x6ed9eba1
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
shr ebx, 2
or ecx, ebx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x3c]
mov edx, edi
xor ecx, dword [esp + 0x20]
mov ebx, ecx
ror edx, 0x1b
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
add edx, ebp
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x58]
xor ecx, esi
mov dword [esp + 0x3c], ebx
add ecx, edx
add ebx, 0x6ed9eba1
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
mov ebp, ebx
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x4c]
add edx, dword [esp + 0x5c]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
shl ebp, 0x1e
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x78]
xor ecx, edi
mov dword [esp + 0x40], esi
add ecx, edx
add esi, 0x6ed9eba1
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, esi
shr edi, 2
or ecx, edi
ror edx, 0x1b
add edx, dword [esp + 0x58]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x50]
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebx
xor ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x5c]
add ecx, edx
mov dword [esp + 0x44], edi
add edi, 0x6ed9eba1
shr ebx, 2
add edi, ecx
or ebp, ebx
mov ecx, dword [esp + 0x18]
mov edx, edi
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x3c]
mov ebx, ecx
mov dword [esp + 0x54], ebp
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
ror edx, 0x1b
mov ecx, ebp
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 0x5c]
xor ecx, esi
add edx, dword [esp + 0x78]
xor ecx, ebp
add ecx, edx
add ebx, 0x6ed9eba1
add ebx, ecx
mov edx, esi
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x1c]
shl edx, 0x1e
shr esi, 2
or edx, esi
mov esi, ecx
mov dword [esp + 0x5c], edx
add ecx, ecx
or edx, edi
shr esi, 0x1f
and edx, dword [esp + 0x54]
or esi, ecx
mov ecx, dword [esp + 0x5c]
and ecx, edi
mov dword [esp + 0x78], esi
or edx, ecx
mov esi, ebx
mov ecx, dword [esp + 0x34]
add edx, ebp
add edx, dword [esp + 0x78]
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x20]
ror esi, 0x1b
lea ebp, [esi - 0x70e44324]
add ebp, edx
mov edx, edi
shl edx, 0x1e
mov esi, ebp
shr edi, 2
or edx, edi
ror esi, 0x1b
mov dword [esp + 0x58], edx
mov edi, ecx
or edx, ebx
shr edi, 0x1f
and edx, dword [esp + 0x5c]
add ecx, ecx
or edi, ecx
mov ecx, dword [esp + 0x58]
and ecx, ebx
mov dword [esp + 0x2c], edi
or edx, ecx
mov ecx, dword [esp + 0x38]
add edx, dword [esp + 0x54]
xor ecx, dword [esp + 0x30]
add edx, edi
xor ecx, dword [esp + 0x48]
lea edi, [esi - 0x70e44324]
xor ecx, dword [esp + 0x4c]
add edi, edx
mov edx, ebx
mov esi, edi
shl edx, 0x1e
shr ebx, 2
or edx, ebx
ror esi, 0x1b
mov dword [esp + 0x54], edx
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
or edx, ebp
and edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
and ecx, ebp
mov dword [esp + 0x30], ebx
or edx, ecx
add edx, dword [esp + 0x5c]
add edx, ebx
lea ebx, [esi - 0x70e44324]
add ebx, edx
mov edx, ebp
mov ecx, dword [esp + 0x10]
mov esi, ebx
xor ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x50]
shl edx, 0x1e
shr ebp, 2
or edx, ebp
ror esi, 0x1b
mov dword [esp + 0x5c], edx
mov ebp, ecx
or edx, edi
shr ebp, 0x1f
and edx, dword [esp + 0x54]
add ecx, ecx
or ebp, ecx
mov ecx, dword [esp + 0x5c]
and ecx, edi
mov dword [esp + 0x34], ebp
or edx, ecx
add ebp, 0x8f1bbcdc
add edx, dword [esp + 0x58]
mov ecx, edi
shl ecx, 0x1e
add ebp, edx
shr edi, 2
add ebp, esi
or ecx, edi
mov edi, ebp
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x3c]
mov edx, ecx
ror edi, 0x1b
shr edx, 0x1f
add ecx, ecx
or edx, ecx
mov ecx, ebx
and ecx, dword [esp + 0x58]
mov dword [esp + 0x24], edx
mov edx, ebx
or edx, dword [esp + 0x58]
and edx, dword [esp + 0x5c]
or edx, ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x10]
add edx, 0x8f1bbcdc
add edx, dword [esp + 0x54]
add edx, dword [esp + 0x24]
xor ecx, dword [esp + 0x30]
add edi, edx
xor ecx, dword [esp + 0x40]
mov edx, ebx
shl edx, 0x1e
mov esi, edi
shr ebx, 2
or edx, ebx
ror esi, 0x1b
mov dword [esp + 0x54], edx
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
or edx, ebp
and edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
and ecx, ebp
mov dword [esp + 0x38], ebx
or edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [esp + 0x5c]
add edx, ebx
lea ebx, [esi - 0x70e44324]
add ebx, edx
mov edx, ebp
shl edx, 0x1e
shr ebp, 2
or edx, ebp
mov dword [esp + 0x5c], edx
xor ecx, dword [esp + 0x34]
or edx, edi
xor ecx, dword [esp + 0x44]
mov esi, ebx
xor ecx, dword [esp + 0x1c]
and edx, dword [esp + 0x54]
mov ebp, ecx
add ecx, ecx
shr ebp, 0x1f
or ebp, ecx
ror esi, 0x1b
mov ecx, dword [esp + 0x5c]
and ecx, edi
mov dword [esp + 0x28], ebp
or edx, ecx
mov ecx, dword [esp + 0x18]
add edx, dword [esp + 0x58]
xor ecx, dword [esp + 0x24]
add edx, ebp
xor ecx, dword [esp + 0x48]
lea ebp, [esi - 0x70e44324]
xor ecx, dword [esp + 0x20]
add ebp, edx
mov edx, edi
mov esi, ebp
shl edx, 0x1e
shr edi, 2
or edx, edi
ror esi, 0x1b
mov edi, ecx
mov dword [esp + 0x58], edx
or edx, ebx
shr edi, 0x1f
and edx, dword [esp + 0x5c]
add ecx, ecx
or edi, ecx
mov ecx, dword [esp + 0x58]
and ecx, ebx
mov dword [esp + 0x14], edi
or edx, ecx
mov ecx, dword [esp + 0x38]
add edx, dword [esp + 0x54]
xor ecx, dword [esp + 0x78]
add edx, edi
xor ecx, dword [esp + 0x4c]
lea edi, [esi - 0x70e44324]
xor ecx, dword [esp + 0x1c]
add edi, edx
mov edx, ebx
mov esi, edi
shl edx, 0x1e
shr ebx, 2
or edx, ebx
ror esi, 0x1b
mov ebx, ecx
mov dword [esp + 0x18], edx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
or edx, ebp
and edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
and ecx, ebp
mov dword [esp + 0x10], ebx
or edx, ecx
mov ecx, dword [esp + 0x28]
add edx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x2c]
add edx, ebx
xor ecx, dword [esp + 0x50]
lea ebx, [esi - 0x70e44324]
xor ecx, dword [esp + 0x20]
add ebx, edx
mov edx, ebp
shr ebp, 2
shl edx, 0x1e
or edx, ebp
mov ebp, ecx
shr ebp, 0x1f
add ecx, ecx
mov dword [esp + 0x5c], edx
or ebp, ecx
or edx, edi
and edx, dword [esp + 0x18]
mov esi, ebx
mov ecx, dword [esp + 0x5c]
and ecx, edi
mov dword [esp + 0x54], ebp
or edx, ecx
ror esi, 0x1b
add edx, dword [esp + 0x58]
mov ecx, edi
shl ecx, 0x1e
add ebp, 0x8f1bbcdc
add ebp, edx
shr edi, 2
or ecx, edi
add ebp, esi
mov dword [esp + 0x58], ecx
mov edi, ebp
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x4c]
mov edx, ecx
ror edi, 0x1b
shr edx, 0x1f
add ecx, ecx
or edx, ecx
mov ecx, ebx
and ecx, dword [esp + 0x58]
mov dword [esp + 0x20], edx
mov edx, ebx
or edx, dword [esp + 0x58]
and edx, dword [esp + 0x5c]
or edx, ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x40]
add edx, 0x8f1bbcdc
add edx, dword [esp + 0x18]
add edx, dword [esp + 0x20]
xor ecx, dword [esp + 0x50]
add edi, edx
xor ecx, dword [esp + 0x10]
mov edx, ebx
shl edx, 0x1e
mov esi, edi
shr ebx, 2
or edx, ebx
ror esi, 0x1b
mov ebx, ecx
mov dword [esp + 0x1c], edx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
or edx, ebp
and edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
and ecx, ebp
mov dword [esp + 0x50], ebx
or edx, ecx
mov ecx, dword [esp + 0x24]
add edx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x44]
add edx, ebx
xor ecx, dword [esp + 0x3c]
lea ebx, [esi - 0x70e44324]
xor ecx, dword [esp + 0x54]
add ebx, edx
mov edx, ebp
mov esi, ebx
shr ebp, 2
shl edx, 0x1e
or edx, ebp
ror esi, 0x1b
mov ebp, ecx
mov dword [esp + 0x5c], edx
shr ebp, 0x1f
add ecx, ecx
or ebp, ecx
or edx, edi
mov dword [esp + 0x4c], ebp
and edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
and ecx, edi
or edx, ecx
mov ecx, dword [esp + 0x38]
add edx, dword [esp + 0x58]
xor ecx, dword [esp + 0x48]
add edx, ebp
xor ecx, dword [esp + 0x40]
lea ebp, [esi - 0x70e44324]
xor ecx, dword [esp + 0x20]
add ebp, edx
mov edx, edi
mov esi, ebp
shl edx, 0x1e
shr edi, 2
or edx, edi
ror esi, 0x1b
mov dword [esp + 0x58], edx
mov edi, ecx
or edx, ebx
shr edi, 0x1f
and edx, dword [esp + 0x5c]
add ecx, ecx
or edi, ecx
mov ecx, dword [esp + 0x58]
and ecx, ebx
mov dword [esp + 0x40], edi
or edx, ecx
mov ecx, dword [esp + 0x28]
add edx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x78]
add edx, edi
xor ecx, dword [esp + 0x44]
lea edi, [esi - 0x70e44324]
xor ecx, dword [esp + 0x50]
add edi, edx
mov edx, ebx
mov esi, edi
shl edx, 0x1e
shr ebx, 2
or edx, ebx
ror esi, 0x1b
mov ebx, ecx
mov dword [esp + 0x3c], edx
or edx, ebp
shr ebx, 0x1f
and edx, dword [esp + 0x58]
add ecx, ecx
or ebx, ecx
mov ecx, dword [esp + 0x3c]
and ecx, ebp
mov dword [esp + 0x44], ebx
or edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x2c]
add edx, ebx
xor ecx, dword [esp + 0x48]
lea ebx, [esi - 0x70e44324]
xor ecx, dword [esp + 0x4c]
add ebx, edx
mov edx, ebp
mov esi, ebx
shl edx, 0x1e
shr ebp, 2
or edx, ebp
ror esi, 0x1b
mov ebp, ecx
mov dword [esp + 0x5c], edx
add ecx, ecx
shr ebp, 0x1f
or ebp, ecx
or edx, edi
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x5c]
and ecx, edi
mov dword [esp + 0x48], ebp
or edx, ecx
add edx, dword [esp + 0x58]
add ebp, 0x8f1bbcdc
add ebp, edx
mov ecx, edi
shl ecx, 0x1e
add ebp, esi
shr edi, 2
or ecx, edi
mov edi, ebp
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x10]
mov edx, ecx
ror edi, 0x1b
shr edx, 0x1f
add ecx, ecx
or edx, ecx
mov ecx, ebx
and ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], edx
mov edx, ebx
or edx, dword [esp + 0x58]
and edx, dword [esp + 0x5c]
or edx, ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x2c]
add edx, 0x8f1bbcdc
add edx, dword [esp + 0x3c]
add edx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x44]
add edi, edx
xor ecx, dword [esp + 0x54]
mov edx, ebx
shl edx, 0x1e
mov esi, edi
shr ebx, 2
or edx, ebx
ror esi, 0x1b
mov dword [esp + 0x78], edx
mov ebx, ecx
or edx, ebp
shr ebx, 0x1f
and edx, dword [esp + 0x58]
add ecx, ecx
or ebx, ecx
mov ecx, dword [esp + 0x78]
and ecx, ebp
mov dword [esp + 0x3c], ebx
or edx, ecx
mov ecx, dword [esp + 0x24]
add edx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x30]
add edx, ebx
xor ecx, dword [esp + 0x48]
mov ebx, ebp
xor ecx, dword [esp + 0x20]
shr ebp, 2
shl ebx, 0x1e
or ebx, ebp
mov ebp, ecx
shr ebp, 0x1f
add ecx, ecx
or ebp, ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], ebp
lea ebp, [esi - 0x70e44324]
add ebp, edx
mov edx, ebx
or edx, edi
and ebx, edi
and edx, dword [esp + 0x78]
mov esi, ebp
or edx, ebx
ror esi, 0x1b
add edx, dword [esp + 0x58]
add edx, dword [esp + 0x18]
lea ebx, [esi - 0x70e44324]
add ebx, edx
mov edx, edi
shl edx, 0x1e
shr edi, 2
mov ecx, dword [esp + 0x38]
or edx, edi
xor ecx, dword [esp + 0x34]
mov esi, ebx
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 0x5c], edx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
ror esi, 0x1b
mov ecx, dword [esp + 0x5c]
or edx, ebp
and edx, dword [esp + 0x2c]
and ecx, ebp
or edx, ecx
mov dword [esp + 0x34], edi
add edx, dword [esp + 0x78]
add edi, 0x8f1bbcdc
mov ecx, dword [esp + 0x28]
add edx, edi
xor ecx, dword [esp + 0x24]
add esi, edx
xor ecx, dword [esp + 0x3c]
mov edi, ebp
xor ecx, dword [esp + 0x4c]
mov edx, esi
shr ebp, 2
shl edi, 0x1e
or edi, ebp
ror edx, 0x1b
add edx, dword [esp + 0x2c]
mov ebp, ecx
add ecx, ecx
shr ebp, 0x1f
or ebp, ecx
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x5c]
xor ecx, edi
mov dword [esp + 0x30], ebp
xor ecx, ebx
lea edi, [edx - 0x359d3e2a]
add ecx, ebp
mov ebp, dword [esp + 0x78]
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
add edx, dword [esp + 0x5c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x40]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x58]
xor ecx, esi
mov dword [esp + 0x38], ebx
add ecx, ebx
lea ebx, [edx - 0x359d3e2a]
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
shr esi, 2
or ecx, esi
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x10]
mov esi, ecx
shr esi, 0x1f
add ecx, ecx
or esi, ecx
mov edx, ebx
ror edx, 0x1b
mov ecx, edi
xor ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x5c]
add ecx, esi
mov dword [esp + 0x2c], esi
add ecx, 0xca62c1d6
lea esi, [edx + ebp]
add esi, ecx
mov ebp, edi
mov ecx, dword [esp + 0x14]
mov edx, esi
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x54]
shr edi, 2
shl ebp, 0x1e
or ebp, edi
ror edx, 0x1b
add edx, dword [esp + 0x58]
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebp
xor ecx, ebx
mov dword [esp + 0x78], edi
xor ecx, dword [esp + 0x5c]
add ecx, edi
lea edi, [edx - 0x359d3e2a]
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x10]
add edx, dword [esp + 0x5c]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x58]
add ebp, 0xca62c1d6
xor ecx, esi
mov dword [esp + 0x28], ebx
add ecx, ebx
lea ebx, [edx - 0x359d3e2a]
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x54]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x24]
xor ecx, edi
mov dword [esp + 0x54], esi
add ecx, ebp
add esi, edx
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
mov ebp, dword [esp + 0x24]
mov edx, esi
shr edi, 2
or ecx, edi
ror edx, 0x1b
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x20]
mov edi, ecx
add edx, dword [esp + 0x58]
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x5c]
xor ecx, ebx
mov dword [esp + 0x20], edi
add ecx, edi
lea edi, [edx - 0x359d3e2a]
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x28]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x24]
xor ecx, esi
mov dword [esp + 0x14], ebx
add ecx, ebx
lea ebx, [edx + ebp]
add ecx, 0xca62c1d6
mov ebp, dword [esp + 0x24]
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
add edx, dword [esp + 0x5c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x54]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, edi
xor ecx, ebp
mov dword [esp + 0x4c], esi
xor ecx, dword [esp + 0x58]
add ecx, esi
lea esi, [edx - 0x359d3e2a]
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
shr edi, 2
or ecx, edi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x20]
mov edi, ecx
shr edi, 0x1f
add ecx, ecx
or edi, ecx
mov edx, esi
mov ecx, dword [esp + 0x50]
xor ecx, ebx
ror edx, 0x1b
xor ecx, dword [esp + 0x58]
add ecx, edi
mov dword [esp + 0x40], edi
add ecx, 0xca62c1d6
lea edi, [edx + ebp]
mov ebp, dword [esp + 0x50]
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x14]
add edx, dword [esp + 0x58]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x5c]
xor ecx, esi
mov dword [esp + 0x44], ebx
add ecx, ebx
lea ebx, [edx - 0x359d3e2a]
add ebx, ecx
mov ecx, esi
shl ecx, 0x1e
mov edx, ebx
shr esi, 2
or ecx, esi
ror edx, 0x1b
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x4c]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x50]
xor ecx, edi
mov dword [esp + 0x48], esi
add ecx, esi
lea esi, [edx + ebp]
add ecx, 0xca62c1d6
mov ebp, dword [esp + 0x50]
add esi, ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, esi
shr edi, 2
or ecx, edi
ror edx, 0x1b
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x28]
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
or edi, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x58]
xor ecx, ebx
mov dword [esp + 0x24], edi
add ecx, edi
add edx, dword [esp + 0x5c]
lea edi, [edx - 0x359d3e2a]
add edi, ecx
mov ecx, ebx
shl ecx, 0x1e
mov edx, edi
shr ebx, 2
or ecx, ebx
ror edx, 0x1b
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x54]
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x5c]
xor ecx, esi
mov dword [esp + 0x3c], ebx
add ecx, ebx
lea ebx, [edx + ebp]
add ecx, 0xca62c1d6
mov ebp, esi
add ebx, ecx
shl ebp, 0x1e
mov ecx, dword [esp + 0x30]
mov edx, ebx
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x20]
shr esi, 2
or ebp, esi
ror edx, 0x1b
add edx, dword [esp + 0x58]
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov dword [esp + 0x50], ebp
mov ecx, edi
mov dword [esp + 0x20], esi
xor ecx, dword [esp + 0x5c]
xor ecx, ebp
mov ebp, edi
add ecx, esi
shl ebp, 0x1e
lea esi, [edx - 0x359d3e2a]
shr edi, 2
add esi, ecx
or ebp, edi
mov ecx, dword [esp + 0x38]
mov edx, esi
xor ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x14]
mov edi, ecx
mov dword [esp + 0x58], ebp
xor ebp, ebx
shr edi, 0x1f
xor ebp, dword [esp + 0x50]
add ecx, ecx
or edi, ecx
ror edx, 0x1b
add edx, dword [esp + 0x5c]
add ebp, edi
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x4c]
mov dword [esp + 0x34], edi
lea edi, [edx - 0x359d3e2a]
add edi, ebp
mov ebp, ebx
shr ebx, 2
shl ebp, 0x1e
or ebp, ebx
mov ebx, ecx
shr ebx, 0x1f
add ecx, ecx
mov dword [esp + 0x5c], ebp
or ebx, ecx
mov edx, edi
mov ecx, dword [esp + 0x58]
xor ecx, ebp
ror edx, 0x1b
add edx, dword [esp + 0x50]
xor ecx, esi
add ecx, ebx
mov dword [esp + 0x4c], ebx
mov ebp, esi
shr esi, 2
shl ebp, 0x1e
or ebp, esi
lea ebx, [edx - 0x359d3e2a]
mov esi, dword [esp + 0x78]
add ebx, ecx
xor esi, dword [esp + 0x38]
mov edx, ebx
xor esi, dword [esp + 0x20]
xor esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
xor ecx, ebp
ror esi, 0x1f
add esi, dword [esp + 0x58]
xor ecx, edi
ror edx, 0x1b
add ecx, 0xca62c1d6
mov dword [esp + 0x50], ebp
lea ebp, [esi + edx]
mov esi, edi
add ebp, ecx
shr edi, 2
mov ecx, dword [esp + 0x50]
mov edx, ebp
shl esi, 0x1e
or esi, edi
ror edx, 0x1b
mov edi, dword [esp + 0x2c]
xor ecx, esi
xor edi, dword [esp + 0x34]
xor ecx, ebx
xor edi, dword [esp + 0x44]
add ecx, 0xca62c1d6
xor edi, dword [esp + 0x28]
ror edi, 0x1f
add edi, dword [esp + 0x5c]
mov dword [esp + 0x58], esi
lea esi, [edi + edx]
mov edi, ebx
add esi, ecx
shr ebx, 2
mov ecx, dword [esp + 0x78]
mov edx, esi
xor ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x54]
add esi, dword [esp + 0x64]
ror ecx, 0x1f
add ecx, dword [esp + 0x50]
mov dword [esp + 0x78], ecx
shl edi, 0x1e
or edi, ebx
ror edx, 0x1b
mov ebx, dword [esp + 0x58]
mov ecx, ebx
add edx, dword [esp + 0x78]
xor ecx, edi
xor ecx, ebp
mov dword [esp + 0x54], esi
add ecx, 0xca62c1d6
ror ebp, 2
add ecx, dword [esp + 0x60]
add ebp, dword [esp + 0x68]
add edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], edx
add ecx, edi
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [esp + 0x58], ebp
mov dword [eax + 8], ebp
add ebx, dword [esp + 0x70]
sub dword [esp + 0x80], 1
mov dword [esp + 0x78], ecx
mov dword [eax + 0xc], ecx
mov dword [esp + 0x50], ebx
mov dword [eax + 0x10], ebx
jne 0x10106954
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret