Function at 0x4076b0
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov esi, edx
mov edx, ecx
mov ebx, dword [ecx]
mov dword [esp + 0x78], ebx
mov edi, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x80], ecx
mov eax, ebp
and eax, edi
lea ecx, [edi + ebp]
mov dword [esp + 0x7c], ebp
add eax, eax
sub ecx, eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x74], eax
xor ecx, eax
mov eax, dword [esi]
mov dword [esp + 0x18], esi
mov dword [esp + 0x44], eax
add eax, ebx
add ecx, eax
rol ecx, 0xb
mov eax, dword [edx + 0x10]
add ecx, eax
mov dword [esp + 0x20], ecx
mov ebx, eax
mov dword [esp + 0x70], eax
mov edx, ebp
rol edx, 0xa
mov eax, ecx
xor eax, edi
mov ebp, edi
mov dword [esp + 0x6c], edi
mov ecx, dword [esi + 4]
mov dword [esp + 0x24], ecx
add ebx, ecx
add ebx, edx
add ebx, eax
and eax, edx
mov ecx, eax
and ecx, 0xfffffffd
mov esi, eax
or esi, 0xfffffffd
inc esi
imul esi, ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
sub esi, eax
add ebx, esi
rol ebx, 0xe
mov edi, dword [esp + 0x74]
add ebx, edi
rol ebp, 0xa
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x20]
mov esi, ecx
xor esi, ebp
xor esi, ebx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
add eax, edi
add esi, eax
rol esi, 0xf
mov dword [esp + 8], edx
add esi, edx
mov eax, ecx
rol eax, 0xa
mov ebp, eax
mov ecx, eax
mov dword [esp + 0x20], eax
not ebp
mov edi, esi
xor edi, ebx
mov eax, edi
not eax
or eax, ebp
or edi, ecx
and edi, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x38], eax
add eax, edx
add edi, eax
rol edi, 0xc
rol ebx, 0xa
mov edx, dword [esp + 0xc]
add edi, edx
mov eax, esi
xor eax, ebx
xor eax, edi
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x3c], ecx
add eax, ecx
mov ecx, eax
and ecx, edx
xor eax, edx
lea edx, [eax + ecx*2]
rol edx, 5
mov eax, edx
not eax
or eax, ebp
mov ebp, eax
not ebp
and eax, 2
mov ecx, ebp
and ecx, 0xfffffffd
imul ecx, eax
mov eax, ebp
and eax, 2
or ebp, 2
imul ebp, eax
xor edx, dword [esp + 0x20]
add edx, ecx
add edx, ebp
mov eax, edx
and eax, edi
add eax, eax
lea ebp, [edx + edi]
sub ebp, eax
rol esi, 0xa
mov dword [esp + 0x28], esi
xor ebp, esi
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], eax
add ebp, eax
mov eax, ebp
mov esi, dword [esp + 0x20]
and eax, esi
mov ecx, eax
and ecx, 0xfffffffd
mov dword [esp + 0x30], ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
xor ecx, 2
imul ecx, dword [esp + 0x30]
xor ebp, esi
add ebp, eax
add ebp, ecx
rol ebp, 8
mov eax, ebp
and eax, ebx
xor ebp, ebx
lea ebp, [ebp + eax*2]
rol edi, 0xa
mov eax, ebp
and eax, edx
lea ecx, [edx + ebp]
not ecx
lea eax, [ecx + eax*2]
xor eax, edi
not eax
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x5c], ecx
add ebx, ecx
add ebx, eax
rol ebx, 7
mov eax, ebx
and eax, 0x2f23e6e3
xor ebx, 0xaf23e6e3
mov esi, dword [esp + 0x28]
add ebx, esi
lea ecx, [ebx + eax*2]
add ecx, 0x50dc191d
rol edx, 0xa
mov eax, ebp
xor eax, edx
xor eax, ecx
mov ebx, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x50], ecx
add esi, ecx
add esi, eax
rol esi, 9
add esi, edi
mov eax, esi
and eax, ebx
mov ecx, eax
and ecx, 0xfffffffd
mov ebx, eax
or ebx, 0xfffffffd
inc ebx
imul ebx, ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
sub ebx, eax
mov eax, dword [esp + 0x2c]
add eax, esi
mov dword [esp + 0x28], esi
add ebx, eax
rol ebp, 0xa
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x20], ecx
add edi, ecx
add edi, ebp
add edi, ebx
and ebx, ebp
add ebx, ebx
sub edi, ebx
rol edi, 0xb
add edi, edx
mov eax, dword [esp + 0x2c]
rol eax, 0xa
mov ecx, edi
xor ecx, esi
mov ebx, ecx
and ebx, eax
mov dword [esp + 0x2c], eax
add ebx, ebx
sub eax, ebx
add eax, ecx
mov ecx, eax
not ecx
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 0x24]
mov dword [esp + 0x40], esi
or ecx, esi
add edx, eax
add edx, ecx
or eax, esi
add edx, eax
inc edx
rol edx, 0xd
add edx, ebp
mov ecx, dword [esp + 0x28]
rol ecx, 0xa
mov dword [esp + 0x28], ecx
mov eax, edi
xor eax, ecx
xor eax, edx
mov dword [esp], edx
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x4c], ecx
add ebp, ecx
add ebp, eax
rol ebp, 0xe
add ebp, dword [esp + 0x2c]
rol edi, 0xa
mov eax, edi
xor eax, edx
xor eax, ebp
not eax
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x30], edx
mov eax, ecx
and eax, edx
mov ebx, eax
and ebx, 0xfffffffd
mov esi, eax
and esi, 2
mov edx, eax
or edx, 2
imul edx, esi
xor esi, 2
imul esi, ebx
add ecx, dword [esp + 0x30]
add eax, eax
sub ecx, eax
add ecx, edx
add ecx, esi
mov eax, ecx
mov esi, dword [esp + 0x2c]
and eax, esi
mov edx, ecx
not edx
and edx, esi
xor ecx, esi
add ecx, esi
sub ecx, edx
add ecx, eax
rol ecx, 0xf
mov ebx, dword [esp + 0x28]
add ecx, ebx
mov edx, dword [esp]
rol edx, 0xa
mov dword [esp], edx
mov eax, ebp
xor eax, edx
xor eax, ecx
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x30]
mov dword [esp + 0x2c], edx
add ebx, edx
add ebx, eax
rol ebx, 6
rol ebp, 0xa
add ebx, edi
mov eax, ecx
xor eax, ebp
xor eax, ebx
mov edx, dword [esi + 0x34]
mov dword [esp + 0x60], edx
add edi, edx
add edi, eax
mov eax, edi
shl eax, 7
shr edi, 0x19
mov esi, dword [esp]
add edi, esi
add edi, eax
rol ecx, 0xa
mov eax, ebx
xor eax, ecx
xor eax, edi
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x38]
mov dword [esp + 0x28], edx
add esi, edx
add esi, eax
rol esi, 9
rol ebx, 0xa
add esi, ebp
mov eax, esi
mov dword [esp], esi
mov esi, ebx
not esi
xor eax, edi
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x18], edx
add ebp, edx
add ebp, eax
and eax, ebx
add eax, eax
mov edx, eax
and eax, esi
sub ebp, eax
not edx
and edx, ebx
add ebp, edx
rol ebp, 8
add ebp, ecx
rol edi, 0xa
mov edx, ebp
and edx, dword [esp]
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
mov dword [esp + 4], ebp
and eax, edi
mov esi, eax
not esi
and esi, edx
xor eax, edx
add edx, dword [esp + 0x50]
add edx, eax
sub edx, esi
add edx, 0x5a827999
mov eax, edx
and eax, ecx
xor edx, ecx
lea eax, [edx + eax*2]
rol eax, 7
mov edx, dword [esp]
rol edx, 0xa
mov dword [esp], edx
add eax, ebx
mov ecx, eax
not ecx
and ecx, edx
add ebx, dword [esp + 0x3c]
add ebx, ecx
mov ecx, eax
and ecx, ebp
add ecx, ebx
add ecx, 0x5a827999
mov edx, ecx
shl edx, 6
mov esi, edx
not esi
mov ebx, esi
or esi, 0x53814a31
lea ebp, [esi + edx]
add edx, esi
inc edx
and ebx, 0xac7eb5ce
and edx, ebx
lea esi, [ebx + ebp]
inc esi
sub esi, edx
shr ecx, 0x1a
xor esi, ecx
xor esi, 0xac7eb5ce
mov ecx, edi
neg ecx
xor ecx, esi
lea edx, [edi - 1]
and edx, esi
add edx, edx
mov ebx, dword [esp + 4]
rol ebx, 0xa
sub edx, ecx
mov ecx, edx
not ecx
mov esi, ebx
and esi, ecx
add edi, dword [esp + 0x60]
add edi, esi
mov esi, edx
and esi, eax
lea ebp, [esi + edi]
add ebp, 0x5a827999
rol ebp, 8
mov edi, dword [esp]
add ebp, edi
mov esi, ebp
not esi
or esi, ecx
rol eax, 0xa
mov ecx, ebp
add ecx, ebp
not ecx
add ecx, ebp
and ecx, eax
not esi
or esi, ecx
mov ecx, edi
add ecx, dword [esp + 0x24]
lea edi, [esi + ecx]
add edi, 0x5a827999
rol edi, 0xd
mov ecx, ebx
add edi, ebx
rol edx, 0xa
mov esi, edi
not esi
and esi, edx
add ecx, dword [esp + 0x4c]
add ecx, esi
mov esi, edi
and esi, ebp
add ecx, esi
add ecx, 0x5a827999
rol ecx, 0xb
rol ebp, 0xa
add ecx, eax
mov esi, ecx
not esi
and esi, ebp
add eax, dword [esp + 0x5c]
add eax, esi
mov esi, ecx
mov ebx, ecx
and esi, edi
add eax, esi
add eax, 0x5a827999
mov esi, eax
shr eax, 0x17
not eax
lea ecx, [eax + eax]
not ecx
add ecx, eax
shl esi, 9
or ecx, esi
add ecx, edx
rol edi, 0xa
mov eax, ecx
not eax
and eax, edi
add edx, dword [esp + 0x18]
add edx, eax
mov eax, ecx
mov esi, ecx
mov dword [esp], ecx
and eax, ebx
lea ecx, [eax + edx]
add ecx, 0x5a827999
rol ecx, 7
rol ebx, 0xa
mov dword [esp + 0x1c], ebx
add ecx, ebp
mov eax, ecx
not eax
and eax, ebx
add ebp, dword [esp + 0x38]
add ebp, eax
mov eax, ecx
mov ebx, ecx
and eax, esi
add eax, ebp
add eax, 0x5a827999
rol eax, 0xf
mov edx, edi
neg edx
xor edx, eax
lea ecx, [edi - 1]
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
mov dword [esp + 4], ecx
not eax
mov edx, ebx
or edx, eax
lea esi, [eax + eax]
not esi
add esi, eax
mov eax, dword [esp]
rol eax, 0xa
mov dword [esp], eax
add esi, esi
sub esi, ecx
not eax
or eax, esi
add edx, ecx
inc edx
mov esi, edx
xor esi, eax
and eax, edx
add edi, dword [esp + 0x2c]
add edi, edx
not esi
add edi, esi
sub edi, eax
mov ecx, ebx
mov edx, ebx
shl edx, 0xa
mov eax, edx
not eax
mov dword [esp + 0x14], ebx
shl ebx, 0xb
not ebx
add ebx, edx
mov esi, ebx
and esi, 0xe5ecb67d
or eax, 0x1a134982
add eax, edx
inc eax
or eax, esi
mov dword [esp + 0x58], eax
mov esi, ecx
shr esi, 0x16
lea ebp, [esi + esi]
not ebp
add ebp, esi
mov ecx, ebp
and ecx, 0xe5ecb67d
mov eax, esi
and eax, 0x182
or eax, ecx
xor eax, dword [esp + 0x58]
and edx, 0x12a40c00
and ebx, 0xed5bf24a
or ebx, edx
and esi, 0x1b5
and ebp, 0xed5bf24a
or ebp, esi
xor ebp, ebx
mov ecx, dword [esp + 0x14]
rol ecx, 0xa
not ebp
and ebp, ecx
or ebp, eax
add edi, 0x5a827999
rol edi, 7
mov esi, dword [esp + 0x1c]
add edi, esi
mov eax, edi
not eax
mov ecx, dword [esp + 4]
or ecx, eax
add ecx, edi
lea edx, [ecx + ecx]
sub edx, ecx
and eax, ebp
inc edx
or edx, eax
mov eax, esi
add eax, dword [esp + 0x44]
lea ebx, [edx + eax]
add ebx, 0x5a827999
rol ebx, 0xc
mov ecx, dword [esp]
add ebx, ecx
mov edx, dword [esp + 4]
rol edx, 0xa
mov eax, ebx
not eax
and eax, edx
add ecx, dword [esp + 0x40]
add ecx, eax
mov eax, ebx
and eax, edi
lea esi, [eax + ecx]
add esi, 0x5a827999
rol esi, 0xf
add esi, ebp
rol edi, 0xa
lea eax, [edi + edi]
not eax
add eax, edi
mov ecx, esi
and ecx, edi
xor eax, esi
add eax, esi
not eax
add eax, ecx
mov ecx, esi
and ecx, ebx
add ebp, dword [esp + 0x48]
add ebp, ecx
add ebp, eax
and eax, ecx
add ebp, eax
add eax, eax
not eax
add ebp, eax
add ebp, 0x5a82799a
rol ebp, 9
rol ebx, 0xa
mov ecx, edx
add ebp, edx
mov eax, ebp
not eax
and eax, ebx
add ecx, dword [esp + 0x54]
add ecx, eax
mov eax, ebp
and eax, esi
mov edx, esi
add eax, ecx
add eax, 0x5a827999
rol eax, 0xb
mov ecx, edi
neg ecx
xor ecx, eax
lea esi, [edi - 1]
and esi, eax
add esi, esi
sub esi, ecx
rol edx, 0xa
mov dword [esp + 4], edx
mov eax, esi
and eax, ebp
lea ecx, [edx + edx]
not ecx
add ecx, edx
or ecx, esi
not ecx
or ecx, eax
add edi, dword [esp + 0x28]
lea eax, [ecx + edi]
add eax, 0x5a827999
rol eax, 7
mov ecx, eax
and ecx, ebx
xor eax, ebx
lea ecx, [eax + ecx*2]
mov dword [esp], ecx
rol ebp, 0xa
mov dword [esp + 0x1c], ebp
mov eax, ecx
not eax
and eax, ebp
add ebx, dword [esp + 0x30]
add ebx, eax
mov eax, ecx
and eax, esi
lea edx, [eax + ebx]
add edx, 0x5a827999
rol edx, 0xd
mov eax, edx
mov ebp, dword [esp + 4]
and eax, ebp
mov edi, eax
and edi, 2
mov ebx, eax
or ebx, 2
imul ebx, edi
xor edi, 2
mov ecx, eax
and ecx, 0xfffffffd
imul ecx, edi
add edx, ebp
add eax, eax
sub edx, eax
add edx, ebx
add edx, ecx
mov eax, esi
shl eax, 0xa
mov ecx, esi
shr ecx, 0x16
lea edi, [ecx + ecx]
not edi
add edi, ecx
and edi, eax
shl esi, 0xb
or esi, ecx
sub esi, edi
mov eax, edx
not eax
mov ecx, dword [esp]
or ecx, eax
add ecx, edx
inc ecx
mov edi, esi
and edi, eax
or edi, ecx
mov ecx, dword [esp + 0x20]
add ecx, edi
add ecx, 0x5a827999
add ebp, 0x752e89fc
mov edi, ecx
and edi, ebp
xor ebp, ecx
lea ecx, [edi*2 - 0x752e89fc]
add ecx, ebp
rol ecx, 0xc
mov edi, ecx
mov ebp, dword [esp + 0x1c]
and edi, ebp
xor ecx, ebp
lea ebx, [ecx + edi*2]
mov dword [esp + 4], ebx
not ebx
mov ecx, edx
or ecx, ebx
lea edi, [ecx + ecx]
not edi
add edi, ecx
xor eax, dword [esp + 4]
or edi, eax
mov eax, dword [esp]
rol eax, 0xa
mov dword [esp], eax
xor edi, eax
add ebp, dword [esp + 0x38]
lea eax, [edi + ebp]
add eax, 0xf2ea26dc
mov ecx, eax
xor ecx, 0x7befc4c4
and eax, 0xfbefc4c4
lea eax, [ecx + eax*2]
inc eax
rol eax, 0xb
mov ecx, eax
and ecx, esi
xor eax, esi
lea ebp, [eax + ecx*2]
mov eax, edx
shr edx, 0x16
mov ecx, edx
not ecx
and ecx, 0x313
xor edx, 0xf252eb13
or edx, ecx
shl eax, 0xa
xor edx, eax
xor edx, 0xf252eb13
or ebx, ebp
xor ebx, edx
add esi, dword [esp + 0x4c]
add ebx, esi
add ebx, 0x6ed9eba1
rol ebx, 0xd
mov esi, dword [esp]
add ebx, esi
mov eax, ebx
and eax, ebp
mov edi, ebx
not edi
mov ecx, edi
xor ecx, ebp
add ecx, ebx
sub ecx, eax
mov eax, dword [esp + 4]
rol eax, 0xa
mov dword [esp + 4], eax
xor ecx, eax
mov eax, esi
add eax, dword [esp + 0x28]
add eax, ecx
add eax, 0x6ed9eba1
rol ebp, 0xa
mov esi, ebp
add esi, ebp
not esi
add esi, ebp
lea ecx, [esi + esi]
not ecx
add ecx, esi
rol eax, 6
and ecx, ebp
add eax, edx
mov dword [esp + 0x1c], eax
or edi, eax
xor edi, ecx
mov esi, edi
mov eax, dword [esp + 0x3c]
and esi, eax
add esi, esi
xor edi, eax
mov ebp, esi
and ebp, edi
xor edi, esi
lea esi, [edi + ebp*2]
mov edi, esi
xor esi, 0x6ed9eba1
add esi, edx
and edi, 0xeed9eba1
lea esi, [esi + edi*2]
rol esi, 7
mov ebp, dword [esp + 4]
add esi, ebp
rol ebx, 0xa
mov eax, dword [esp + 0x1c]
lea edx, [eax + eax]
not edx
add edx, eax
mov edi, eax
or edx, esi
xor edx, ebx
mov eax, ebp
add eax, dword [esp + 0x40]
add eax, edx
add eax, 0x6ed9eba1
rol eax, 0xe
add eax, ecx
rol edi, 0xa
mov dword [esp + 0x1c], edi
mov edx, esi
not edx
or edx, eax
mov dword [esp], eax
xor edx, edi
add edx, dword [esp + 0x18]
mov edi, edx
xor edx, 0x6ed9eba1
add edx, ecx
and edi, 0xeed9eba1
lea edx, [edx + edi*2]
rol edx, 9
add edx, ebx
mov ebp, edx
not ebp
mov ecx, eax
or ecx, ebp
mov edi, edx
sub edi, eax
add edi, ecx
mov eax, esi
rol eax, 0xa
mov dword [esp + 4], eax
mov ecx, eax
xor ecx, 0xc84b6fca
mov esi, eax
or esi, 0x37b49035
and esi, ecx
mov ecx, eax
not ecx
and ecx, 0xc84b6fca
add ecx, esi
and esi, 0xc84b6fca
sub ecx, esi
xor ecx, edi
xor ecx, 0xc84b6fca
mov esi, ecx
mov eax, dword [esp + 0x20]
and esi, eax
xor ecx, eax
lea edi, [ecx + esi*2]
lea ecx, [edi + edi]
and ecx, 0xddb3d742
xor edi, 0x9126145e
sub edi, ecx
inc edi
mov ecx, ebx
not ecx
and ecx, edi
not edi
and edi, ebx
sub edi, ecx
rol edi, 0xd
mov eax, dword [esp]
rol eax, 0xa
mov dword [esp], eax
add edi, dword [esp + 0x1c]
or ebp, edi
xor ebp, eax
mov ebx, ebp
mov eax, dword [esp + 0x24]
and ebx, eax
mov ecx, ebx
and ecx, 2
mov esi, ebx
or ebx, 2
imul ebx, ecx
xor ecx, 2
and esi, 0xfffffffd
imul esi, ecx
xor ebp, eax
add ebp, dword [esp + 0x1c]
add ebp, ebx
lea ecx, [esi + ebp]
add ecx, 0x6ed9eba1
rol ecx, 0xf
mov ebp, dword [esp + 4]
add ecx, ebp
mov ebx, ecx
not ebx
mov esi, edi
and esi, ebx
lea eax, [esi + esi]
not eax
add eax, esi
rol edx, 0xa
mov esi, ebp
add esi, dword [esp + 0x54]
add esi, edx
add esi, eax
and eax, edx
add eax, eax
sub esi, eax
mov dword [esp + 4], esi
lea eax, [ecx + ecx]
inc eax
and eax, ebx
lea ebx, [ecx + ecx]
xor ebx, 0xfffffffe
and ebx, ecx
sub ebx, eax
lea ebp, [ebx + ebx]
not ebp
add ebp, ebx
mov eax, ebx
not eax
or eax, 0xca4d0acc
add eax, ebx
inc eax
mov esi, ebp
and esi, 0x35b2f533
or eax, esi
mov esi, dword [esp + 4]
add esi, 0x6ed9eba1
rol esi, 0xe
add esi, dword [esp]
mov dword [esp + 4], esi
mov ebx, esi
not ebx
xor eax, esi
xor eax, 0x35b2f533
or ebp, ebx
mov esi, ebp
add esi, ebp
not esi
add esi, ebp
xor esi, eax
not ebp
and ebp, eax
add ebp, esi
rol edi, 0xa
mov eax, dword [esp]
add eax, dword [esp + 0x50]
add eax, edi
add eax, ebp
and ebp, edi
add ebp, ebp
sub eax, ebp
mov ebp, eax
mov eax, ecx
shl eax, 0xa
mov esi, ecx
shl ecx, 0xb
not ecx
add ecx, eax
and ecx, 0x6014dab9
and eax, 0x9feb2400
add eax, ecx
add eax, 0x102
shr esi, 0x16
xor eax, esi
mov esi, ebp
add esi, 0x6ed9eba1
rol esi, 8
add esi, edx
mov dword [esp], esi
mov ecx, esi
mov ebp, dword [esp + 4]
and ecx, ebp
xor ebx, esi
add ebx, esi
not ebx
add ebx, ecx
xor eax, 0x6014dbbb
xor ebx, eax
add edx, dword [esp + 0x44]
sub edx, ebx
add edx, 0x6ed9eba0
rol edx, 0xd
add edx, edi
mov esi, ebp
rol esi, 0xa
mov dword [esp + 4], esi
mov ebp, dword [esp]
mov ecx, ebp
not ecx
or ecx, edx
xor ecx, esi
add edi, dword [esp + 0x5c]
lea ebx, [ecx + edi]
add ebx, 0x6ed9eba1
rol ebx, 6
add ebx, eax
mov esi, ebp
rol esi, 0xa
mov dword [esp], esi
mov ecx, edx
not ecx
or ecx, ebx
xor ecx, esi
add eax, dword [esp + 0x60]
add eax, ecx
add eax, 0x6ed9eba1
mov ecx, eax
shl ecx, 5
mov esi, ecx
not esi
mov edi, eax
shl eax, 6
not eax
add eax, ecx
or esi, 0x65f6a37
add ecx, esi
inc ecx
and eax, 0xf9a095c8
mov ebp, eax
xor ebp, ecx
not ecx
and ecx, eax
add ebp, eax
sub ebp, ecx
shr edi, 0x1b
xor ebp, edi
xor ebp, 0x65f6a37
inc ebp
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 4]
lea edi, [eax + esi]
neg esi
mov ecx, ebp
and ecx, esi
xor esi, ebp
lea eax, [esi + ecx*2]
lea esi, [esi + ecx*2]
dec esi
mov ecx, ebx
not ecx
rol edx, 0xa
neg eax
mov dword [esp + 0x1c], eax
or ecx, eax
add edi, edx
add edi, ecx
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x6ed9eba1
rol edi, 0xc
mov eax, dword [esp]
add edi, eax
mov ecx, edi
and ecx, esi
add esi, edi
sub esi, ecx
sub esi, ecx
or esi, ecx
mov ecx, eax
or ecx, 0x41222fa9
and eax, 0x41222fa9
add ecx, dword [esp + 0x48]
add ecx, eax
rol ebx, 0xa
mov dword [esp], ebx
xor esi, ebx
lea ebp, [esi + ecx]
add ebp, 0x2db7bbf8
rol ebp, 7
add ebp, edx
mov eax, dword [esp + 0x1c]
rol eax, 0xa
mov dword [esp + 0x1c], eax
lea ecx, [edi + edi]
not ecx
add ecx, edi
or ecx, ebp
xor ecx, eax
add edx, dword [esp + 0x2c]
lea ebx, [ecx + edx]
add ebx, 0x6ed9eba1
rol ebx, 5
add ebx, dword [esp]
rol edi, 0xa
mov ecx, ebx
xor ecx, ebp
and ecx, edi
xor ecx, ebp
mov edx, ecx
and edx, dword [esp + 0x24]
mov esi, edx
and esi, 0xfffffffd
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
xor eax, 2
imul eax, esi
xor ecx, dword [esp + 0x24]
add ecx, dword [esp]
add ecx, edx
add eax, ecx
add eax, 0x8f1bbcdc
rol eax, 0xb
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov edx, eax
mov dword [esp + 4], eax
rol ebp, 0xa
mov eax, ebp
not eax
and eax, ebx
add ecx, dword [esp + 0x40]
add ecx, eax
mov eax, edx
and eax, ebp
add ecx, eax
add ecx, 0x8f1bbcdc
mov edx, ebx
shr edx, 0x16
rol ebx, 0xa
mov eax, ebx
and eax, 0xfffffffd
and edx, 2
mov esi, ebx
or esi, 2
imul esi, edx
xor edx, 2
imul edx, eax
add esi, edx
mov eax, ecx
rol eax, 0xc
add eax, edi
mov dword [esp], eax
and eax, ebx
not esi
add esi, ebx
and esi, dword [esp + 4]
or esi, eax
mov eax, dword [esp + 0x30]
add eax, esi
add eax, 0x8f1bbcdc
mov edx, eax
and edx, edi
xor edi, eax
lea ecx, [edi + edx*2]
mov edx, ecx
shl edx, 0xe
shr ecx, 0x12
add ecx, ebp
add ecx, edx
mov eax, dword [esp + 4]
rol eax, 0xa
mov dword [esp + 4], eax
mov edx, ecx
mov esi, dword [esp]
xor edx, esi
and edx, eax
xor edx, esi
mov esi, edx
or esi, 0xfab890b3
add ebp, dword [esp + 0x4c]
add ebp, esi
and edx, 0xfab890b3
lea eax, [edx + ebp]
add eax, 0x94632c29
rol eax, 0xf
mov edi, ecx
not edi
add eax, ebx
mov edx, dword [esp]
rol edx, 0xa
mov dword [esp], edx
mov esi, eax
mov ebp, eax
mov dword [esp + 0x14], eax
and esi, edx
or edi, edx
not edi
or edi, esi
mov esi, edi
mov eax, dword [esp + 0x44]
and esi, eax
xor edi, eax
lea esi, [edi + esi*2]
mov edi, esi
xor esi, 0x8f1bbcdc
add esi, ebx
and edi, 0xf1bbcdc
lea edi, [esi + edi*2]
rol edi, 0xe
mov edx, dword [esp + 4]
add edi, edx
rol ecx, 0xa
mov esi, edi
not esi
or esi, ecx
mov ebx, ebp
not ebx
or ebx, ecx
lea ebp, [esi + edi]
inc ebp
not ebp
or ebp, ebx
mov eax, dword [esp + 0x20]
sub eax, ebx
add esi, edi
add eax, esi
inc eax
add eax, ebp
mov esi, eax
xor eax, 0x8f1bbcdc
add eax, edx
and esi, 0xf1bbcdc
lea eax, [eax + esi*2]
rol eax, 0xf
mov edx, dword [esp]
add eax, edx
add eax, 0xb3117d3a
mov esi, eax
xor esi, 0x4cee82c5
and eax, 0xccee82c5
lea ebx, [esi + eax*2]
lea eax, [esi + eax*2]
inc eax
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x14]
rol edx, 0xa
xor eax, edi
and eax, edx
xor eax, edi
add eax, dword [esp + 0x2c]
mov ebp, eax
xor eax, 0x8f1bbcdc
add eax, dword [esp]
and ebp, 0xf1bbcdc
lea eax, [eax + ebp*2]
rol eax, 9
add eax, ecx
mov dword [esp], eax
rol edi, 0xa
and eax, edi
not eax
lea ebp, [eax + eax]
not ebp
add ebp, eax
mov eax, ebx
not eax
lea eax, [ebx + eax*2]
sub ebx, edi
add ebx, eax
not eax
or eax, edi
add eax, ebx
add eax, 2
lea ebx, [eax + ebp]
inc ebx
and ebp, eax
not ebp
mov eax, ebx
and eax, ebp
xor ebp, ebx
add ebp, dword [esp + 0x3c]
lea esi, [eax*2]
add esi, ebp
lea ebx, [eax*2 - 0x70e44324]
add ebx, ebp
mov eax, 0x70e44323
sub eax, esi
and eax, 0xb915e8b8
mov esi, ebx
and ebx, 0x46ea1747
or ebx, eax
and esi, ecx
xor ebx, ecx
xor ebx, 0xb915e8b8
mov eax, esi
not eax
and eax, ebx
lea ebx, [eax + esi*2]
mov ecx, ebx
shl ecx, 8
mov eax, ebx
shl ebx, 9
not ebx
add ebx, ecx
not ecx
or ebx, ecx
shr eax, 0x18
not eax
and eax, ebx
mov ecx, edx
neg ecx
and ecx, eax
not eax
lea ebp, [edx - 1]
mov ebx, edx
and ebp, eax
sub ebp, ecx
mov esi, dword [esp + 0x1c]
rol esi, 0xa
mov dword [esp + 0x1c], esi
mov eax, ebp
not eax
lea ecx, [esi + esi]
not ecx
add ecx, esi
or ecx, eax
lea eax, [ecx + ecx]
not eax
add eax, ecx
mov edx, dword [esp]
mov ecx, edx
and ecx, esi
add ecx, ecx
add esi, edx
sub esi, ecx
and esi, edx
or esi, eax
add ebx, dword [esp + 0x60]
add ebx, esi
add ebx, 0x8f1bbcdc
mov eax, ebx
shl eax, 9
mov ecx, eax
not ecx
mov edx, ecx
or ecx, 0x36ddaadd
lea esi, [ecx + eax]
add eax, ecx
inc eax
and edx, 0xc9225522
and eax, edx
lea ecx, [edx + esi]
inc ecx
sub ecx, eax
shr ebx, 0x17
xor ecx, ebx
xor ecx, 0xc9225522
add ecx, edi
mov dword [esp + 4], ecx
mov eax, dword [esp]
rol eax, 0xa
mov ebx, eax
mov edx, eax
mov dword [esp], eax
not ebx
mov eax, ecx
and eax, ebx
add ebx, ecx
add eax, eax
sub ebx, eax
and ebx, ecx
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
or eax, edx
not eax
or eax, ebx
mov esi, dword [esp + 0x38]
mov edx, 0x70e44324
sub edx, eax
sub edx, esi
xor edx, edi
add eax, esi
add eax, 0xf1bbcdb
and eax, edi
add eax, eax
sub eax, edx
mov edx, ebp
shr ebp, 0x16
mov ecx, ebp
not ecx
mov esi, ecx
and esi, 0xb6503812
or ecx, 0x49aa8468
lea edi, [ecx + ebp]
inc edi
and ebp, 0xffffff85
or ebp, esi
xor ebp, 0x54385
or edi, ebp
shl edx, 0xa
xor edi, edx
mov edx, dword [esp + 4]
lea ecx, [edx + edx]
not ecx
add ecx, edx
lea esi, [ecx + ecx]
not esi
add esi, ecx
rol eax, 0xe
mov edx, dword [esp + 0x1c]
add eax, edx
mov ecx, edi
xor ecx, 0x49aa8468
mov dword [esp + 0x14], ecx
xor edi, 0xb6557b97
mov dword [esp + 0x58], edi
and esi, ecx
mov ecx, eax
and ecx, edi
add esi, dword [esp + 0x50]
lea edi, [esi + ecx]
lea ebp, [ecx + esi]
add ebp, 0x8f1bbcdc
and ebp, edx
mov ecx, ebp
and ecx, 0xfffffffd
mov esi, ebp
and esi, 2
mov ebx, ebp
or ebx, 2
imul ebx, esi
xor esi, 2
imul esi, ecx
add edx, edi
add edx, 0x8f1bbcdc
add ebp, ebp
sub edx, ebp
add edx, ebx
add edx, esi
mov edi, dword [esp + 4]
rol edi, 0xa
mov ecx, edi
and ecx, 2
mov esi, edi
or esi, 2
imul esi, ecx
xor ecx, 2
mov ebx, edi
and ebx, 0xfffffffd
imul ebx, ecx
add esi, ebx
mov ebp, esi
not ebp
add ebp, edi
mov ebx, eax
not ebx
or ebx, ebp
sub esi, edi
mov dword [esp + 4], edi
mov ecx, eax
or ecx, ebp
and ebp, 0x790572a8
and esi, 0x86fa8d57
or esi, ebp
add ebx, eax
mov ebp, ebx
not ebp
lea ebx, [ebx*2 + 2]
add ebx, ebp
xor esi, eax
xor esi, 0x790572a8
and esi, ecx
rol edx, 5
or esi, ebx
mov ebx, dword [esp]
add edx, ebx
mov ecx, edx
and ecx, edi
or ecx, esi
add ebx, dword [esp + 0x18]
add ecx, ebx
add ecx, 0x8f1bbcdc
mov esi, eax
shl esi, 0xa
mov ebx, eax
shl eax, 0xb
not eax
add eax, esi
shr ebx, 0x16
mov esi, ebx
not esi
lea esi, [ebx + esi*2]
inc esi
and esi, eax
lea ebx, [esi + esi]
not ebx
add ebx, esi
mov eax, edx
xor eax, ebx
or esi, edx
and esi, eax
rol ecx, 6
mov ebp, dword [esp + 0x14]
sub ebp, ecx
lea eax, [ebx + ebx]
not eax
add eax, ebx
or eax, ebp
not eax
or esi, eax
mov edi, dword [esp + 0x58]
lea eax, [ecx + edi]
mov dword [esp + 0x1c], eax
add esi, dword [esp + 0x28]
mov eax, esi
xor esi, 0x8f1bbcdc
add esi, edi
and eax, 0xf1bbcdc
lea eax, [esi + eax*2]
rol edx, 0xa
lea ecx, [edx + edx]
not ecx
add ecx, edx
not edx
or ecx, edx
lea edx, [ecx + ecx]
not edx
add edx, ecx
or edx, ebp
rol eax, 8
mov esi, dword [esp + 4]
add eax, esi
mov ebp, ecx
not ebp
mov edi, eax
not edi
mov ecx, edi
or ecx, ebp
add ecx, eax
inc ecx
not edx
or edx, ecx
add esi, dword [esp + 0x48]
lea ecx, [edx + esi]
add ecx, 0x8f1bbcdc
lea edx, [eax + eax]
not edx
add edx, eax
mov esi, eax
and esi, 0xb4523885
and edx, 0x4badc77a
or edx, esi
mov esi, dword [esp + 0x1c]
rol esi, 0xa
mov dword [esp + 0x1c], esi
xor edx, esi
xor edx, 0xb4523885
and edi, esi
or edi, edx
rol ecx, 6
add ecx, ebx
mov edx, ecx
and edx, esi
not edi
or edi, edx
add ebx, dword [esp + 0x5c]
lea edx, [edi + ebx]
add edx, 0x8f1bbcdc
rol edx, 5
add edx, ebp
rol eax, 0xa
mov dword [esp + 0x14], eax
mov edi, eax
not edi
mov esi, edx
and esi, eax
mov eax, ecx
mov ebx, ecx
and ebx, edi
or ebx, esi
mov esi, ebx
or esi, 0xca134bef
add ebp, dword [esp + 0x54]
add ebp, esi
and ebx, 0xca134bef
rol eax, 0xa
add ebx, ebp
add ebx, 0xc50870ed
mov esi, eax
and esi, 0xfffffffd
mov ecx, eax
mov ebp, eax
mov dword [esp], eax
and ecx, 2
or eax, 2
imul eax, ecx
xor ecx, 2
imul ecx, esi
add eax, ecx
rol ebx, 0xc
mov ecx, dword [esp + 0x1c]
add ebx, ecx
not eax
add eax, ebp
or eax, edx
xor eax, ebx
add ecx, dword [esp + 0x3c]
add eax, ecx
add eax, 0xa953fd4e
rol eax, 9
add eax, dword [esp + 0x14]
mov dword [esp + 4], eax
rol edx, 0xa
mov ebp, edx
not ebp
or ebp, ebx
mov ecx, eax
and ecx, ebp
add ebp, dword [esp + 0x44]
add ebp, eax
add ecx, ecx
sub ebp, ecx
lea ecx, [ebp - 0x56ac02b2]
mov esi, ecx
or esi, edi
and ecx, edi
mov edi, 0x56ac02b1
sub edi, ebp
mov eax, dword [esp + 0x14]
add esi, eax
and edi, eax
or edi, ecx
lea edi, [edi + esi*2]
add edi, 2
rol ebx, 0xa
mov esi, dword [esp + 4]
mov ecx, esi
not ecx
or ecx, ebx
sub esi, ebx
add esi, ecx
rol edi, 0xf
mov ecx, dword [esp]
add edi, ecx
xor esi, edi
mov eax, dword [esp + 0x48]
lea ebp, [esi + eax]
add ebp, 0xa953fd4e
mov esi, ebp
and esi, ecx
mov ecx, esi
and ecx, 0xfffffffd
mov eax, esi
and eax, 2
or esi, 2
imul esi, eax
xor eax, 2
imul eax, ecx
mov ecx, dword [esp]
xor ecx, ebp
add ecx, esi
add ecx, eax
rol ecx, 5
mov eax, dword [esp + 4]
rol eax, 0xa
mov dword [esp + 4], eax
add ecx, edx
mov dword [esp], ecx
not eax
or eax, edi
xor eax, ecx
mov ecx, eax
mov esi, dword [esp + 0x40]
xor eax, esi
add eax, edx
and ecx, esi
lea eax, [eax + ecx*2]
add eax, 0xa953fd4e
mov ecx, ebx
neg ecx
rol eax, 0xb
lea esi, [ebx - 1]
and esi, eax
not eax
and eax, ecx
sub esi, eax
mov eax, edi
shl eax, 0xa
mov ecx, edi
shr ecx, 0x16
lea edx, [ecx + ecx]
not edx
add edx, ecx
and edx, eax
shl edi, 0xb
or edi, ecx
sub edi, edx
mov ebp, edi
not ebp
mov eax, dword [esp]
and ebp, eax
mov edx, ebp
not edx
sub eax, edi
add edx, eax
sub ebp, eax
and ebp, 0xab08260a
and edx, 0x54f7d9f5
or edx, ebp
mov eax, esi
xor eax, 0xab08260a
mov ecx, esi
xor ecx, 0x54f7d9f5
or ecx, edx
not edx
or edx, eax
and ecx, edx
neg ecx
mov eax, dword [esp + 0x50]
add eax, ecx
add eax, 0x13feac24
mov ecx, eax
or ecx, 0xec0153da
add ecx, ebx
and eax, 0xec0153da
mov ebp, dword [esp]
rol ebp, 0xa
mov dword [esp], ebp
lea ebx, [eax + ecx]
add ebx, 0xa953fd4f
mov eax, esi
and eax, ebp
mov ecx, esi
not ecx
mov edx, ebp
and edx, ecx
xor ecx, ebp
add ecx, esi
sub ecx, eax
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
or ebp, edx
rol ebx, 6
add ebx, dword [esp + 4]
mov edx, ebx
not edx
lea eax, [ebx + edx*2]
inc eax
mov ecx, ebx
xor ecx, eax
and ecx, ebp
xor ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, ecx
or eax, 0xa953fd4d
add eax, dword [esp + 4]
and ecx, 0xa953fd4d
add eax, ecx
add eax, 0xc105ef99
mov ecx, eax
and ecx, 0x3efa1068
xor eax, 0x3efa1068
rol esi, 0xa
lea ebp, [eax + ecx*2]
or edx, esi
mov eax, ebx
sub eax, esi
add eax, edx
rol ebp, 8
add ebp, edi
xor eax, ebp
add eax, dword [esp + 0x54]
mov ecx, eax
xor eax, 0xa953fd4e
add eax, edi
and ecx, 0x2953fd4e
rol ebx, 0xa
lea edx, [eax + ecx*2]
mov eax, ebp
and eax, ebx
mov ecx, ebx
xor ecx, ebp
not ecx
add ecx, ebp
sub ecx, eax
rol edx, 0xd
mov eax, dword [esp]
add edx, eax
xor ecx, edx
add eax, dword [esp + 0x4c]
add ecx, eax
add ecx, 0xa953fd4e
mov eax, ecx
shl eax, 0xc
rol ecx, 0xc
add ecx, eax
mov edi, ecx
xor edi, eax
not eax
and eax, ecx
add eax, eax
sub eax, edi
rol ebp, 0xa
mov ecx, edx
not ecx
or ecx, ebp
mov edi, edx
sub edi, ebp
add edi, ecx
add eax, esi
mov ecx, eax
and ecx, edi
add esi, dword [esp + 0x28]
add esi, edi
add esi, eax
add ecx, ecx
sub esi, ecx
add esi, 0xa953fd4e
rol esi, 5
mov ecx, esi
and ecx, ebx
xor esi, ebx
lea esi, [esi + ecx*2]
mov dword [esp + 4], esi
rol edx, 0xa
lea ecx, [edx + edx]
not ecx
add ecx, edx
or ecx, eax
xor ecx, esi
add ebx, dword [esp + 0x24]
add ecx, ebx
add ecx, 0xa953fd4e
rol eax, 0xa
mov esi, eax
not esi
mov dword [esp], esi
and esi, 2
mov edi, eax
and edi, 0xfffffffd
imul edi, esi
mov ebx, eax
and ebx, 2
mov esi, eax
or esi, 2
imul esi, ebx
add esi, edi
mov edi, ecx
rol edi, 0xc
add edi, ebp
not esi
add esi, eax
mov ecx, dword [esp + 4]
or esi, ecx
xor esi, edi
mov ebx, edi
mov dword [esp + 0x64], edi
add ebp, dword [esp + 0x38]
add ebp, esi
add ebp, 0xa953fd4e
rol ebp, 0xd
add ebp, edx
rol ecx, 0xa
mov dword [esp + 4], ecx
lea edi, [ecx + ecx]
not edi
add edi, ecx
or edi, ebx
lea esi, [edi + edi]
not esi
add esi, edi
mov ebx, ebp
or ebx, edi
and edi, 0x8f684466
and esi, 0x7097bb99
or esi, edi
xor esi, 0x7097bb99
and esi, ebp
xor esi, ebx
add edx, dword [esp + 0x20]
lea ebx, [esi + edx]
add ebx, 0xa953fd4e
rol ebx, 0xe
mov edx, ebx
and edx, eax
mov esi, edx
and esi, 0xfffffffd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
xor ebx, eax
add ebx, edx
add ebx, edi
mov dword [esp + 0x58], ebx
mov edx, dword [esp + 0x64]
rol edx, 0xa
mov dword [esp + 0x64], edx
mov ecx, dword [esp]
and ecx, 0x94ed96cc
and eax, 0x6b126933
sub eax, ecx
mov ecx, edx
not ecx
or ecx, ebp
xor ecx, ebx
mov edx, dword [esp + 0x30]
add ecx, edx
add ecx, 0xa953fd4e
mov edx, ecx
and edx, eax
xor eax, ecx
lea eax, [eax + edx*2]
add eax, 0x94ed96cc
mov dword [esp], eax
mov edi, ebp
rol edi, 0xa
mov dword [esp + 0x1c], edi
lea ecx, [edi + edi]
not ecx
add ecx, edi
mov eax, edi
and eax, 0xfffffffd
and ecx, 2
imul ecx, eax
mov dword [esp + 0x10], ecx
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x74]
mov eax, edi
not eax
or eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x6c]
add ecx, esi
add ecx, dword [esp + 0x48]
add ecx, eax
and eax, esi
mov edx, esi
mov esi, eax
or esi, 0xfffffffd
inc esi
mov ebx, eax
and ebx, 0xfffffffd
imul ebx, esi
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
sub ebx, eax
lea ebp, [ebx + ecx]
add ebp, 0x50a28be6
mov ecx, ebp
shl ecx, 8
shr ebp, 0x18
mov eax, dword [esp + 0x70]
add ebp, eax
add ebp, ecx
mov ecx, edx
not ecx
mov edx, dword [esp + 8]
and ecx, edx
xor ecx, ebp
neg ecx
mov esi, dword [esp + 0x28]
add ecx, esi
add ecx, 0x50a28be5
mov esi, ecx
xor esi, eax
or ecx, eax
xor esi, ecx
add esi, ecx
rol esi, 9
add esi, edi
mov ecx, dword [esp + 0xc]
not ecx
or ecx, ebp
xor ecx, esi
mov ebx, dword [esp + 0x50]
add ebx, edi
add ebx, ecx
add ebx, 0x50a28be6
rol ebx, 9
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
lea eax, [ecx + edi]
mov dword [esp + 0x14], eax
lea eax, [ecx + edi]
inc eax
mov dword [esp + 0x34], eax
mov eax, edx
add ebx, edx
rol ebp, 0xa
mov edx, ebp
not edx
or edx, esi
mov edi, ebx
and edi, edx
add eax, dword [esp + 0x44]
add eax, edx
add eax, ebx
add edi, edi
sub eax, edi
rol esi, 0xa
lea edi, [esi + esi]
not edi
add edi, esi
mov edx, esi
and edx, 0x425e94e2
and edi, 0xbda16b1d
or edi, edx
mov ecx, ebx
mov dword [esp + 0x10], ebx
not ebx
and ebx, esi
lea edx, [ebx + ebx]
not edx
add edx, ebx
xor edi, 0x425e94e2
or edi, ecx
and edx, edi
add eax, 0x50a28be6
rol eax, 0xb
mov ecx, dword [esp + 0xc]
add eax, ecx
mov edi, eax
mov dword [esp + 8], eax
and edi, edx
add edi, edi
sub edx, edi
add edx, eax
mov edi, edx
mov eax, dword [esp + 0x40]
xor edi, eax
or edx, eax
xor edx, edi
mov ebx, edx
and ebx, 2
mov eax, edx
or edx, 2
imul edx, ebx
xor ebx, 2
and eax, 0xfffffffd
imul eax, ebx
add edi, ecx
add edi, edx
lea ebx, [eax + edi]
add ebx, 0x50a28be6
rol ebx, 0xd
add ebx, ebp
mov eax, dword [esp + 0x10]
rol eax, 0xa
mov dword [esp + 0x10], eax
not eax
mov ecx, dword [esp + 8]
or eax, ecx
xor eax, ebx
mov edx, eax
or edx, 0x8bcc47ce
add ebp, dword [esp + 0x54]
add ebp, edx
and eax, 0x8bcc47ce
lea edi, [eax + ebp]
add edi, 0xc4d64418
mov eax, dword [esp + 0x1c]
not eax
rol edi, 0xf
and eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
rol ecx, 0xa
mov dword [esp + 8], ecx
mov eax, ebx
not eax
or eax, ecx
mov edx, ebx
sub edx, ecx
add edx, eax
add edi, esi
xor edx, edi
mov eax, dword [esp + 0x30]
add eax, edx
add eax, 0xa28a6935
mov edx, eax
and edx, 0x2e1822b1
xor eax, 0xae1822b1
lea edx, [eax + edx*2]
mov eax, edx
and eax, esi
mov ebp, eax
and ebp, 2
mov ecx, eax
or eax, 2
imul eax, ebp
xor ebp, 2
and ecx, 0xfffffffd
imul ecx, ebp
xor esi, edx
add esi, eax
add esi, ecx
rol ebx, 0xa
mov dword [esp + 0xc], ebx
mov ecx, ebx
xor ecx, 0x60fe701f
mov eax, edi
xor eax, 0x60fe701f
and eax, ecx
mov ecx, edi
xor ecx, 0x9f018fe0
mov edx, ebx
xor edx, 0x9f018fe0
and edx, ecx
mov ecx, ebx
not ecx
and ecx, edi
or ecx, edx
rol esi, 0xf
or ecx, eax
mov eax, dword [esp + 0x10]
add esi, eax
xor ecx, esi
add eax, dword [esp + 0x3c]
lea ebx, [ecx + eax]
add ebx, 0x50a28be6
rol ebx, 5
mov ebp, dword [esp + 8]
add ebx, ebp
mov eax, edi
rol eax, 0xa
mov dword [esp + 0x10], eax
not eax
or eax, esi
mov ecx, ebx
and ecx, eax
add ebp, dword [esp + 0x60]
add ebp, eax
add ebp, ebx
add ecx, ecx
sub ebp, ecx
mov eax, esi
shr esi, 0x16
lea ecx, [esi + esi]
not ecx
add ecx, esi
mov edx, ecx
and edx, 0x8482d1d3
and esi, 0x22c
or esi, edx
shl eax, 0xa
mov edx, eax
and edx, 0x8482d000
or edx, 0x6008222c
mov edi, eax
and eax, 0x7b7d2c00
xor eax, edx
xor eax, esi
not edi
or ecx, edi
xor eax, 0xe48af3ff
mov edx, eax
and edx, ecx
xor ecx, eax
not ecx
add ecx, eax
sub ecx, edx
lea edx, [ebx + ebx]
not edx
add edx, ebx
mov eax, ecx
or eax, edx
and edx, 0x27e849b7
mov esi, ebx
and esi, 0xd817b648
or esi, edx
mov edx, ecx
and edx, 0x27e849b7
xor edx, esi
mov esi, ecx
and esi, 0xd817b648
or esi, 0x27a80992
xor esi, edx
lea edx, [eax + eax]
not edx
add edx, eax
xor esi, 0xffbfbfda
or edx, esi
add ebp, 0x50a28be6
rol ebp, 7
mov edi, dword [esp + 0xc]
add ebp, edi
mov eax, edx
and eax, ebp
add eax, eax
sub edx, eax
add edx, ebp
mov esi, ebp
mov eax, edx
xor edx, 0x3bef7af3
add edi, dword [esp + 0x5c]
add edi, edx
and eax, 0x3bef7af3
lea edx, [edi + eax*2]
add edx, 0x14b310f3
rol edx, 7
mov edi, dword [esp + 0x10]
add edx, edi
rol ebx, 0xa
mov dword [esp + 0xc], ebx
not ebx
mov dword [esp + 0x68], ebx
or ebx, esi
xor ebx, edx
add edi, dword [esp + 0x18]
lea ebp, [ebx + edi]
add ebp, 0x50a28be6
rol ebp, 8
add ebp, ecx
mov eax, esi
rol eax, 0xa
mov dword [esp + 8], eax
lea esi, [eax + eax]
not esi
add esi, eax
or esi, edx
mov ebx, ebp
and ebx, esi
add esi, ebp
add ebx, ebx
sub esi, ebx
mov ebx, esi
mov eax, dword [esp + 0x20]
xor esi, eax
add esi, ecx
and ebx, eax
lea edi, [esi + ebx*2]
add edi, 0x50a28be6
rol edi, 0xb
add edi, dword [esp + 0xc]
rol edx, 0xa
mov dword [esp + 0x10], edx
not edx
or edx, ebp
xor edx, edi
mov ecx, dword [esp + 0x24]
mov eax, 0xaf5d741a
sub eax, edx
sub eax, ecx
and eax, dword [esp + 0x68]
lea esi, [edx + ecx]
add esi, 0x50a28be5
and esi, dword [esp + 0xc]
sub esi, eax
mov eax, edi
not eax
lea ebx, [eax + eax]
not ebx
add ebx, eax
rol ebp, 0xa
mov dword [esp + 0xc], ebp
mov edx, ebp
add edx, ebp
not edx
add edx, ebp
or edx, ebx
rol esi, 0xe
mov ecx, dword [esp + 8]
add esi, ecx
mov eax, esi
and eax, edx
add eax, eax
lea ebx, [esi + edx]
sub ebx, eax
mov eax, ecx
add eax, dword [esp + 0x4c]
add eax, edx
mov ecx, eax
not edx
or edx, ebx
mov eax, edx
and eax, 2
mov ebx, edx
or edx, 2
inc edx
imul edx, eax
not ebx
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
sub edx, ebx
add ecx, esi
lea ebx, [edx + ecx]
add ebx, 0x50a28be6
mov eax, edi
shr edi, 0x16
lea edx, [edi + edi]
not edx
add edx, edi
not edi
or edx, edi
shl eax, 0xa
not eax
and edx, eax
mov ecx, edx
not ecx
mov dword [esp + 0x68], ecx
mov eax, esi
and eax, ecx
mov ebp, esi
xor ebp, edx
add ebp, esi
sub ebp, eax
rol ebx, 0xe
mov edi, dword [esp + 0x10]
add ebx, edi
xor ebp, ebx
mov ecx, dword [esp + 0x38]
mov eax, ecx
neg eax
dec ecx
and ecx, ebp
not ebp
and ebp, eax
sub edi, ebp
rol esi, 0xa
add edi, ecx
add edi, 0x50a28be6
mov eax, ebx
and eax, esi
mov ecx, esi
xor ecx, ebx
not ecx
add ecx, ebx
sub ecx, eax
rol edi, 0xc
mov ebp, dword [esp + 0xc]
add edi, ebp
xor ecx, edi
mov eax, edi
add ebp, dword [esp + 0x2c]
lea edi, [ecx + ebp]
add edi, 0x50a28be6
mov ebp, edi
shr ebp, 0x1a
xor ebp, 0x3ddeae12
sub ebp, edx
mov ecx, edi
shl ecx, 6
xor ecx, 0x3ddeae12
add ebp, ecx
rol edi, 6
add edi, edi
or edi, 0x8442a3db
rol ebx, 0xa
mov dword [esp + 8], ebx
add ebp, edi
mov ecx, ebx
not ecx
and ecx, eax
mov edx, dword [esp + 0x68]
add edx, dword [esp + 0x5c]
add edx, ecx
mov ecx, ebp
and ecx, ebx
lea edi, [ecx + edx]
add edi, 0x5c4dd124
rol eax, 0xa
mov edx, ebp
and edx, eax
mov dword [esp + 0x10], eax
add edx, edx
lea ecx, [eax + ebp]
sub ecx, edx
rol edi, 9
add edi, esi
mov edx, edi
and edx, eax
and ecx, ebp
or ecx, edx
add ecx, dword [esp + 0x30]
lea edx, [ecx + ecx]
and edx, 0xb89ba248
xor ecx, 0x5c4dd124
mov eax, edx
and eax, ecx
xor ecx, edx
lea eax, [ecx + eax*2]
neg eax
neg esi
mov ecx, eax
and ecx, esi
xor esi, eax
lea edx, [esi + ecx*2]
rol ebp, 0xa
mov eax, ebp
not eax
mov dword [esp + 0xc], eax
and eax, 2
mov ebx, ebp
and ebx, 0xfffffffd
imul ebx, eax
mov eax, ebp
and eax, 2
mov esi, ebp
or esi, 2
imul esi, eax
add esi, ebx
mov eax, edi
not eax
sub esi, ebp
or esi, eax
neg edx
rol edx, 0xd
mov ebx, dword [esp + 8]
add edx, ebx
mov eax, ebp
and eax, esi
not esi
add ebx, dword [esp + 0x38]
add ebx, esi
and eax, edx
sub ebx, eax
lea eax, [ebx + eax*2]
add eax, 0x5c4dd124
rol eax, 0xf
mov esi, eax
mov ebx, dword [esp + 0x10]
and esi, ebx
xor eax, ebx
lea eax, [eax + esi*2]
mov dword [esp + 8], eax
rol edi, 0xa
and eax, edi
lea esi, [edi + edi]
not esi
add esi, edi
and esi, edx
or esi, eax
add ebx, dword [esp + 0x50]
lea eax, [esi + ebx]
add eax, 0x5c4dd124
rol eax, 7
add eax, ebp
add eax, 0xad1c87f1
mov esi, eax
xor esi, 0x52e3780e
and eax, 0xd2e3780e
lea ecx, [esi + eax*2]
mov dword [esp + 0x10], ecx
lea ebx, [esi + eax*2]
inc ebx
mov eax, edx
shl eax, 0xa
shr edx, 0x16
xor eax, 0x61b384d3
xor edx, 0x61b384d3
mov esi, eax
and esi, edx
add edx, eax
add esi, esi
sub edx, esi
mov esi, edx
not esi
mov eax, esi
or eax, 0x59e17f37
add eax, edx
inc eax
and esi, 0xa61e80c8
or esi, eax
mov ecx, dword [esp + 8]
lea eax, [ecx + ecx]
not eax
add eax, ecx
xor esi, 0xa61e80c8
or esi, eax
mov eax, ebx
and eax, edx
not esi
or esi, eax
mov eax, dword [esp + 0x44]
add eax, esi
add eax, 0x5c4dd124
mov ecx, dword [esp + 0xc]
or ecx, eax
add ecx, ebp
or ebp, eax
lea eax, [ecx + ebp]
inc eax
rol eax, 0xc
mov ebp, dword [esp + 8]
rol ebp, 0xa
mov dword [esp + 8], ebp
mov ecx, ebx
and ecx, ebp
mov esi, dword [esp + 0x10]
add esi, ebp
inc esi
add ecx, ecx
sub esi, ecx
add eax, edi
mov ecx, eax
and ecx, ebp
and esi, ebx
or esi, ecx
add edi, dword [esp + 0x60]
add edi, esi
add edi, 0x5c4dd124
rol edi, 8
rol ebx, 0xa
mov dword [esp + 0xc], ebx
add edi, edx
mov ecx, ebx
not ecx
mov esi, edi
not esi
or esi, ecx
mov ebx, edi
or ebx, dword [esp + 0xc]
mov ebp, eax
and ebp, ecx
sub ecx, edi
add ecx, ebx
lea ebx, [esi + esi]
not ebx
add ebx, esi
not ecx
or ecx, ebp
or ecx, ebx
add edx, dword [esp + 0x48]
lea ebx, [ecx + edx]
add ebx, 0x5c4dd124
mov ecx, dword [esp + 0x14]
xor ecx, 0xfffffffe
and ecx, dword [esp + 0x1c]
rol ebx, 9
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 8]
add ebx, ebp
rol eax, 0xa
mov edx, ebx
and edx, eax
lea esi, [eax + eax]
not esi
add esi, eax
mov ecx, edi
and esi, edi
or esi, edx
mov edx, ebp
add edx, dword [esp + 0x4c]
lea ebp, [esi + edx]
add ebp, 0x5c4dd124
rol ebp, 0xb
mov edi, dword [esp + 0xc]
add ebp, edi
rol ecx, 0xa
mov dword [esp + 0x10], ecx
mov esi, ebp
and esi, ecx
lea edx, [ecx + ecx]
not edx
add edx, ecx
and edx, ebx
or edx, esi
add edx, dword [esp + 0x28]
mov esi, 0xa3b22edc
sub esi, edx
mov ecx, edi
neg ecx
mov edx, esi
and edx, ecx
xor esi, ecx
lea edi, [esi + edx*2]
neg edi
rol edi, 7
add edi, eax
rol ebx, 0xa
mov edx, ebx
not edx
and edx, ebp
add eax, dword [esp + 0x18]
add eax, edx
mov ecx, dword [esp]
rol ecx, 0xb
mov edx, edi
and edx, ebx
add edx, eax
add edx, 0x5c4dd124
add ecx, dword [esp + 4]
mov dword [esp], ecx
mov eax, dword [esp + 0x14]
or eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
and ecx, eax
mov dword [esp + 0xc], ecx
mov eax, ecx
or eax, 0xfffffffd
inc eax
and ecx, 0xfffffffd
rol edx, 7
imul ecx, eax
mov dword [esp + 0x34], ecx
add edx, dword [esp + 0x10]
mov dword [esp + 8], edx
rol ebp, 0xa
mov eax, edx
not eax
or eax, ebp
add edx, eax
inc edx
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
and eax, edi
or eax, edx
add eax, dword [esp + 0x20]
mov esi, eax
mov edx, eax
mov ecx, eax
add eax, dword [esp + 0x10]
xor ecx, 0x5c4dd124
add eax, ecx
and edx, 0xa3b22edb
sub eax, edx
and esi, 0x5c4dd124
add eax, esi
mov ecx, eax
shl ecx, 0xc
shr eax, 0x14
not ecx
add eax, ebx
add eax, ecx
add ecx, ecx
not ecx
add eax, ecx
rol edi, 0xa
mov dword [esp + 0x10], edi
lea ecx, [edi + edi]
not ecx
add ecx, edi
and ecx, 0x16907c
mov edx, edi
and edx, 0xffe96f83
or edx, ecx
mov ecx, eax
and ecx, edi
xor edx, 0xffe96f83
mov esi, dword [esp + 8]
and edx, esi
or edx, ecx
add ebx, dword [esp + 0x2c]
add edx, ebx
add edx, 0x5c4dd124
rol edx, 7
add edx, ebp
rol esi, 0xa
mov dword [esp + 8], esi
mov ecx, edx
xor ecx, eax
and ecx, esi
xor ecx, eax
mov esi, ecx
and esi, 1
xor ecx, 1
lea edi, [ecx + esi*2]
mov esi, dword [esp + 0x3c]
lea ecx, [esi + edi]
dec ecx
add edi, esi
mov esi, edi
add edi, ebp
or ecx, 0x5c4dd124
add edi, ecx
neg esi
or esi, 0x5c4dd124
add edi, esi
mov ebp, eax
shr eax, 0x16
lea ecx, [eax + eax]
not ecx
add ecx, eax
and ecx, 0x5da222cf
and eax, 0x130
or eax, ecx
shl ebp, 0xa
mov ecx, ebp
xor ecx, 0x5da222cf
or ebp, 0x130
xor ebp, ecx
and ebp, eax
xor ebp, ecx
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
mov ecx, edx
xor ecx, eax
mov esi, ebp
not esi
and esi, eax
not ecx
or esi, edx
and esi, ecx
rol edi, 6
mov ebx, dword [esp + 0x10]
add edi, ebx
mov eax, edi
and eax, ebp
or esi, eax
mov eax, dword [esp + 0x40]
add eax, esi
add eax, 0xe340ca6d
mov ecx, eax
xor eax, 0x1cbf3593
add eax, ebx
and ecx, 0x1cbf3593
lea esi, [eax + ecx*2]
add esi, 0x5c4dd124
rol esi, 0xf
mov ecx, dword [esp + 8]
add esi, ecx
rol edx, 0xa
mov eax, edx
not eax
and eax, edi
add ecx, dword [esp + 0x24]
add ecx, eax
mov eax, esi
and eax, edx
add eax, ecx
add eax, 0x5c4dd124
rol eax, 0xd
add eax, ebp
mov ebx, eax
rol edi, 0xa
mov eax, edi
not eax
and eax, esi
add ebp, dword [esp + 0x54]
add ebp, eax
mov eax, ebx
and eax, edi
add ebp, eax
add ebp, 0x5c4dd124
mov ecx, dword [esp + 0xc]
mov eax, ecx
and eax, 2
or ecx, 2
rol ebp, 0xb
imul ecx, eax
mov dword [esp + 0xc], ecx
add ebp, edx
rol esi, 0xa
mov eax, ebx
not eax
or eax, ebp
xor eax, esi
add edx, dword [esp + 0x18]
lea ecx, [eax + edx]
add ecx, 0x6d703ef3
rol ecx, 9
add ecx, edi
mov dword [esp + 8], ecx
rol ebx, 0xa
mov dword [esp + 0x10], ebx
mov eax, ebp
not eax
or eax, ecx
xor eax, ebx
mov ecx, dword [esp + 0x48]
add eax, ecx
add eax, 0x6d703ef3
mov edx, eax
xor edx, edi
or edi, eax
xor edi, edx
lea eax, [edx + edi*2]
rol eax, 7
mov edx, eax
mov dword [esp + 0x68], esi
and edx, esi
xor eax, esi
lea ebx, [eax + edx*2]
mov edx, ebx
not edx
mov esi, dword [esp + 8]
mov edi, esi
or edi, edx
mov eax, ebx
sub eax, esi
mov ecx, eax
and ecx, edi
xor eax, edi
lea edi, [eax + ecx*2]
rol ebp, 0xa
mov eax, edi
and eax, ebp
add edi, ebp
add eax, eax
sub edi, eax
mov eax, edi
mov ecx, dword [esp + 0x24]
xor eax, ecx
or edi, ecx
xor eax, edi
add edi, dword [esp + 0x68]
add edi, eax
add edi, 0x6d703ef3
rol edi, 0xf
mov eax, dword [esp + 0x10]
add edi, eax
rol esi, 0xa
mov dword [esp + 8], esi
or edx, edi
xor edx, esi
add eax, dword [esp + 0x38]
add eax, edx
add eax, 0x6d703ef3
mov edx, ebx
shr ebx, 0x16
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
and ecx, 0x7fe1db28
and ebx, 0xd7
or ebx, ecx
shl edx, 0xa
xor ebx, edx
rol eax, 0xb
add eax, ebp
mov edx, eax
mov dword [esp + 0x10], eax
not edx
mov ecx, edi
or ecx, edx
sub eax, edi
mov esi, eax
and esi, ecx
xor eax, ecx
lea eax, [eax + esi*2]
xor ebx, 0x7fe1db28
add ebp, dword [esp + 0x50]
add ebp, ebx
add ebp, eax
and eax, ebx
add eax, eax
sub ebp, eax
add ebp, 0x6d703ef3
rol ebp, 8
add ebp, dword [esp + 8]
rol edi, 0xa
or edx, ebp
mov esi, ebp
xor edx, edi
mov eax, edx
mov ecx, dword [esp + 0x28]
xor edx, ecx
add edx, dword [esp + 8]
and eax, ecx
lea ecx, [edx + eax*2]
add ecx, 0x6d703ef3
rol ecx, 6
mov eax, dword [esp + 0xc]
sub dword [esp + 0x34], eax
add ecx, ebx
mov dword [esp + 8], ecx
mov edx, ebp
add edx, ebp
not edx
add edx, ebp
mov ebp, ecx
not ebp
mov eax, esi
or eax, ebp
add edx, ecx
mov ecx, edx
xor edx, 1
add edx, eax
mov eax, dword [esp + 0x10]
rol eax, 0xa
mov dword [esp + 0x10], eax
and ecx, 1
lea edx, [edx + ecx*2]
xor edx, eax
mov ecx, dword [esp + 0x5c]
add ebx, ecx
add edx, ebx
add edx, 0x6d703ef3
mov eax, dword [esp + 0x14]
add eax, ecx
add eax, dword [esp]
rol edx, 6
mov ecx, dword [esp + 0x34]
add ecx, eax
add ecx, 0xa953fd4e
add edx, edi
rol esi, 0xa
or ebp, edx
mov ebx, edx
add edi, dword [esp + 0x40]
add edi, esi
add edi, ebp
and ebp, esi
add ebp, ebp
sub edi, ebp
mov edx, ecx
mov eax, dword [esp + 4]
xor edx, eax
mov dword [esp + 0x34], edx
add edi, 0x6d703ef3
rol edi, 0xe
or eax, ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x10]
add edi, edx
mov eax, edi
not eax
or eax, ebx
mov ecx, edi
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 8]
rol eax, 0xa
mov dword [esp + 8], eax
xor ecx, eax
mov eax, edx
add eax, dword [esp + 0x30]
add eax, ecx
add eax, 0x6d703ef3
rol eax, 0xc
mov ecx, esi
neg ecx
lea edx, [esi - 1]
and edx, eax
not eax
and eax, ecx
sub edx, eax
mov dword [esp + 0xc], edx
lea eax, [edi + edi]
not eax
add eax, edi
lea ecx, [eax + eax]
not ecx
add ecx, eax
and ecx, edx
xor eax, edx
add eax, edx
sub eax, ecx
rol ebx, 0xa
mov ecx, eax
and ecx, ebx
mov edx, ebx
mov dword [esp + 0x14], ebx
mov ebx, ecx
and ebx, 2
mov ebp, ecx
or ecx, 2
imul ecx, ebx
xor ebx, 2
and ebp, 0xfffffffd
imul ebp, ebx
sub ecx, edx
add ecx, ebp
mov ebx, eax
not ebx
and ebx, ecx
not ecx
and ecx, eax
add esi, dword [esp + 0x20]
sub esi, ebx
lea ebp, [esi + ecx]
add ebp, 0x6d703ef3
rol ebp, 0xd
mov esi, dword [esp + 8]
add ebp, esi
mov dword [esp + 0x10], ebp
mov ecx, ebp
add ecx, ebp
not ecx
add ecx, ebp
mov eax, ecx
and eax, 0xde41cc22
and ebp, 0x21be33dd
or ebp, eax
mov ebx, dword [esp + 0xc]
mov edx, ebx
and edx, 0xde41cc22
mov eax, ebx
and eax, 0x21be33dd
or eax, 0xd0004420
xor eax, edx
xor eax, ebp
xor eax, 0xf1be77fd
or ecx, ebx
not ecx
or ecx, eax
rol edi, 0xa
mov eax, ecx
not eax
mov edx, edi
not edx
or edx, eax
lea ebp, [edi + edi]
not ebp
add ebp, edi
or ebp, eax
lea eax, [ecx + ebp]
inc eax
lea ecx, [edi + edx]
inc ecx
or eax, ecx
add esi, dword [esp + 0x2c]
lea ecx, [eax + esi]
add ecx, 0x6d703ef3
rol ecx, 5
mov esi, dword [esp + 0x14]
add ecx, esi
mov edx, ebx
rol edx, 0xa
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x10]
not eax
or eax, ecx
mov ebx, ecx
xor eax, edx
mov ecx, esi
add ecx, dword [esp + 0x54]
lea ebp, [eax + ecx]
add ebp, 0x6d703ef3
rol ebp, 0xe
add ebp, edi
lea eax, [ebx + ebx]
not eax
add eax, ebx
or eax, ebp
not eax
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov eax, ebx
not eax
or eax, ebp
and eax, ecx
mov ecx, dword [esp + 0x10]
rol ecx, 0xa
mov dword [esp + 0x10], ecx
xor eax, ecx
mov ecx, dword [esp + 0x4c]
add eax, ecx
add eax, 0x6d703ef3
mov ecx, eax
and ecx, edi
xor edi, eax
lea edi, [edi + ecx*2]
mov ecx, ebp
and ecx, 0xfffffffd
mov edx, ebp
and edx, 2
mov eax, ebp
or eax, 2
imul eax, edx
xor edx, 2
imul edx, ecx
add eax, edx
xor eax, 0xfffffffe
lea ecx, [eax + ebp]
mov edx, 0xfffffffe
sub edx, ecx
mov esi, edx
or edx, 0xffce0ca0
add ecx, edx
add ecx, 2
and esi, 0x31f35f
or ecx, esi
rol edi, 0xd
add edi, dword [esp + 0xc]
mov dword [esp + 0x14], edi
xor ecx, edi
xor ecx, 0x31f35f
lea esi, [eax + ebp]
inc esi
and esi, edi
or esi, ecx
rol ebx, 0xa
mov eax, esi
not eax
or eax, ebx
mov dword [esp + 8], ebx
add eax, esi
inc eax
mov edx, eax
or edx, 0xfffffffd
inc edx
mov ecx, eax
and ecx, 0xfffffffd
imul ecx, edx
mov edx, eax
and edx, 2
or eax, 2
imul eax, edx
sub ecx, eax
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x44]
add eax, ebx
add eax, esi
lea ebx, [ecx + eax]
add ebx, 0x6d703ef3
rol ebx, 0xd
mov ecx, ebx
not ecx
mov edi, dword [esp + 0x10]
or ecx, edi
add ecx, ebx
inc ecx
mov edx, ecx
and edx, 2
mov esi, ecx
or ecx, 2
imul ecx, edx
xor edx, 2
and esi, 0xfffffffd
imul esi, edx
xor ebx, edi
add ebx, ecx
add ebx, esi
mov ecx, dword [esp + 0x14]
not ecx
lea esi, [ecx + ecx]
not esi
add esi, ecx
rol ebp, 0xa
lea edx, [esi + esi]
not edx
add edx, esi
or edx, ebx
mov ecx, edx
xor ecx, ebp
lea esi, [ecx + ecx]
not esi
add esi, ecx
mov eax, dword [esp + 0x3c]
add edx, eax
add edx, ebp
and esi, ebp
add esi, esi
sub edx, esi
add edx, 0x6d703ef3
mov ecx, edx
and ecx, edi
xor edx, edi
lea ecx, [edx + ecx*2]
rol ecx, 7
mov esi, ecx
or esi, 0x793eba99
and ecx, 0x793eba99
mov eax, dword [esp + 8]
add esi, eax
lea edx, [esi + ecx]
lea edi, [ecx + esi]
add edi, 0x86c14567
mov dword [esp + 0x10], edi
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
and ecx, 0x2a6fbc68
mov esi, ebx
and esi, 0xd5904397
or esi, ecx
mov ecx, esi
xor esi, 0x2a6fbc68
or esi, edi
sub esi, edx
xor ecx, 0xd5904397
add esi, 0x793eba99
or ecx, edi
not esi
and esi, ecx
mov ecx, dword [esp + 0x14]
rol ecx, 0xa
mov dword [esp + 0x14], ecx
mov edi, eax
add edi, dword [esp + 0x60]
add edi, ecx
add edi, esi
and esi, ecx
add esi, esi
sub edi, esi
add edi, 0x6d703ef3
rol edi, 5
add edi, ebp
mov edx, edi
xor edx, 0x114bbfd1
lea ecx, [edi + edi]
and ecx, 0xdd68805c
sub edx, ecx
rol ebx, 0xa
mov ecx, edi
mov dword [esp + 8], edi
not ecx
or ecx, dword [esp + 0x10]
add edx, 0xeeb4402e
and edx, ebx
mov esi, edx
not esi
lea eax, [ecx + edi]
inc eax
and esi, eax
xor edx, eax
lea eax, [edi + ecx]
add eax, edx
inc eax
sub eax, esi
mov ecx, eax
mov edx, dword [esp + 0x20]
and ecx, edx
xor eax, edx
lea eax, [eax + ecx*2]
mov ecx, eax
xor eax, 0x7a6d76e9
add eax, ebp
and ecx, 0xfa6d76e9
lea esi, [eax + ecx*2]
mov ecx, dword [esp + 0x5c]
mov edx, ecx
neg edx
rol esi, 0xf
mov ebp, dword [esp + 0x10]
rol ebp, 0xa
mov dword [esp + 0x10], ebp
mov edi, dword [esp + 0x14]
add esi, edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 8]
xor eax, ebp
and eax, esi
xor eax, ebp
xor edx, eax
dec ecx
and ecx, eax
sub edi, edx
lea esi, [edi + ecx*2]
add esi, 0x7a6d76e9
rol esi, 5
add esi, ebx
mov ecx, dword [esp + 8]
rol ecx, 0xa
mov dword [esp + 8], ecx
mov eax, esi
not eax
or eax, dword [esp + 0xc]
not ecx
or ecx, esi
lea edi, [eax + esi]
inc edi
mov ebp, edi
and ebp, ecx
xor ecx, edi
add eax, esi
not ecx
mov edi, dword [esp + 0x3c]
add edi, eax
inc edi
add edi, ecx
sub edi, ebp
add edi, 0x7a6d76e9
mov eax, ebx
not eax
or eax, edi
add eax, ebx
xor edi, ebx
add eax, eax
add eax, 2
mov ecx, eax
and ecx, edi
xor edi, eax
lea ecx, [edi + ecx*2]
rol ecx, 8
mov edx, dword [esp + 0x10]
add ecx, edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc]
rol eax, 0xa
mov dword [esp + 0xc], eax
not eax
or eax, ecx
lea ebp, [eax + eax]
not ebp
add ebp, eax
mov eax, ecx
and eax, esi
or ebp, eax
add ebp, dword [esp + 0x24]
mov eax, ebp
not eax
or eax, 0x85928916
mov ecx, ebp
or ebp, 0x7a6d76e9
and ebp, eax
and ecx, 0xfa6d76e9
lea edi, [edx + ecx*2]
add edi, ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 4]
xor ecx, eax
rol edi, 0xb
lea eax, [eax + ecx*2]
mov dword [esp + 4], eax
mov ebx, edi
mov edx, dword [esp + 8]
and ebx, edx
mov eax, ebx
and eax, 0xfffffffd
mov ecx, ebx
and ecx, 2
mov ebp, ebx
or ebp, 2
imul ebp, ecx
xor ecx, 2
imul ecx, eax
add edi, edx
add ebx, ebx
sub edi, ebx
add edi, ebp
add edi, ecx
rol esi, 0xa
mov eax, edi
and eax, esi
mov ecx, esi
xor ecx, edi
not ecx
add ecx, edi
sub ecx, eax
mov eax, edi
and eax, dword [esp + 0x14]
lea ebx, [esi + esi]
not ebx
add ebx, esi
or ebx, edi
and ebx, ecx
mov ebp, eax
not ebp
or ebp, ecx
sub eax, ebx
mov ecx, eax
and ecx, ebp
xor eax, ebp
add edx, dword [esp + 0x38]
add edx, eax
lea eax, [edx + ecx*2]
add eax, 0x7a6d76e9
mov ecx, eax
shl ecx, 0xe
mov ebp, eax
shr ebp, 0x12
mov ebx, ebp
add ebx, ebp
not ebx
add ebx, ebp
and ebx, ecx
shl eax, 0xf
mov edx, dword [esp + 0xc]
add ebp, edx
add ebp, eax
sub ebp, ebx
mov ecx, dword [esp + 0x14]
rol ecx, 0xa
mov dword [esp + 0x14], ecx
mov eax, ebp
not eax
and eax, ecx
mov ecx, edx
add ecx, dword [esp + 0x30]
add ecx, eax
mov eax, ebp
and eax, edi
add eax, ecx
add eax, 0x7a6d76e9
rol eax, 0xe
add eax, esi
mov ecx, eax
not ecx
mov edx, ebp
or edx, ecx
mov dword [esp + 8], edx
lea ebx, [eax + ecx*2]
mov edx, eax
mov eax, 0x3ffffffe
sub eax, ebx
lea ecx, [edx + ecx*2]
inc ecx
and ecx, 0xd72b98b7
and eax, 0x28d46748
or eax, ecx
rol edi, 0xa
xor eax, edi
xor eax, 0xd72b98b7
mov ecx, 0xfffffffe
sub ecx, ebx
and ecx, edi
or ecx, eax
lea eax, [ecx + ebx]
add eax, 2
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 8]
add ecx, edx
inc ecx
or eax, ecx
add esi, dword [esp + 0x18]
add esi, eax
add esi, 0x7a6d76e9
rol esi, 6
mov ebx, dword [esp + 0x14]
add esi, ebx
mov eax, esi
xor eax, edx
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov eax, esi
or eax, edx
and eax, ecx
mov ecx, esi
not ecx
lea edx, [ecx + ecx]
not edx
add edx, ecx
lea ecx, [edx + edx]
not ecx
add ecx, edx
rol ebp, 0xa
and ecx, ebp
or ecx, eax
mov eax, ebx
add eax, dword [esp + 0x44]
lea edx, [ecx + eax]
add edx, 0x7a6d76e9
rol edx, 0xe
add edx, edi
mov ecx, dword [esp + 0xc]
rol ecx, 0xa
mov dword [esp + 0xc], ecx
mov eax, esi
xor eax, ecx
and eax, edx
xor eax, ecx
mov ecx, eax
mov ebx, dword [esp + 0x48]
xor eax, ebx
add eax, edi
and ecx, ebx
lea ebx, [eax + ecx*2]
add ebx, 0x7a6d76e9
mov ecx, dword [esp + 4]
rol ecx, 8
mov eax, dword [esp + 0x58]
rol eax, 0xa
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x64]
add ecx, edi
mov dword [esp + 4], ecx
not eax
or eax, dword [esp]
xor eax, ecx
add edi, dword [esp + 0x18]
rol ebx, 6
add edi, eax
add edi, 0xa953fd4e
add ebx, ebp
rol esi, 0xa
mov dword [esp + 0x14], esi
mov eax, edx
xor eax, esi
and eax, ebx
xor eax, esi
add eax, dword [esp + 0x2c]
mov ecx, eax
xor ecx, 0x79efa19d
add ecx, ebp
and eax, 0xf9efa19d
lea eax, [ecx + eax*2]
add eax, 0x7dd54c
mov esi, edi
rol esi, 5
add esi, dword [esp + 0x1c]
rol eax, 9
mov dword [esp + 8], esi
add esi, dword [esp + 0x6c]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xc]
mov esi, eax
add esi, ecx
rol edx, 0xa
mov dword [esp + 0x6c], edx
mov eax, esi
not eax
and eax, edx
add ecx, dword [esp + 0x54]
add ecx, eax
mov eax, esi
and eax, ebx
add eax, ecx
add eax, 0x7a6d76e9
rol eax, 0xc
rol ebx, 0xa
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x14]
add eax, edi
mov ecx, eax
and ecx, esi
mov edx, esi
lea ebp, [eax + eax]
not ebp
add ebp, eax
xor ebp, ebx
or ebp, eax
mov ebx, eax
not ebp
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
and eax, ecx
or ebp, ecx
add ecx, dword [esp + 0x60]
add ecx, ebp
sub ecx, eax
mov eax, ecx
xor eax, 0x7a6d76e9
add eax, edi
and ecx, 0xfa6d76e9
lea esi, [eax + ecx*2]
rol esi, 9
mov ecx, dword [esp + 0x6c]
add esi, ecx
rol edx, 0xa
mov dword [esp + 0x64], edx
mov eax, esi
not eax
and eax, edx
add ecx, dword [esp + 0x40]
add ecx, eax
mov ebp, dword [esp]
rol ebp, 0xa
mov dword [esp], ebp
mov eax, esi
and eax, ebx
lea edx, [eax + ecx]
add edx, 0x7a6d76e9
mov eax, ebp
and eax, 2
mov edi, ebp
or edi, 2
imul edi, eax
mov ecx, eax
xor ecx, 2
and ebp, 0xfffffffd
rol edx, 0xc
imul ebp, ecx
mov ecx, ebx
rol ecx, 0xa
lea eax, [ecx + ecx]
not eax
add eax, ecx
mov dword [esp + 0x14], ecx
not ecx
and ecx, eax
add edx, dword [esp + 0xc]
mov ebx, edx
and ebx, esi
or ecx, edx
lea eax, [ecx + ecx]
add ecx, ebx
not eax
add eax, ecx
mov ecx, eax
mov ebx, dword [esp + 0x50]
xor eax, ebx
add eax, dword [esp + 0xc]
and ecx, ebx
lea ebx, [eax + ecx*2]
add ebx, 0x7a6d76e9
rol ebx, 5
add edi, ebp
mov ebp, dword [esp + 0x64]
add ebx, ebp
rol esi, 0xa
mov eax, ebx
not eax
and eax, esi
mov ecx, dword [esp + 0x4c]
add ebp, ecx
add ebp, eax
mov eax, ebx
and eax, edx
lea ecx, [eax + ebp]
add ecx, 0x7a6d76e9
not edi
add edi, dword [esp]
or edi, dword [esp + 4]
mov ebp, edi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 8]
not edi
mov dword [esp + 8], edi
lea eax, [edi + edi]
not eax
add eax, edi
mov edi, ebp
add edi, ebp
not edi
add edi, ebp
rol ecx, 0xf
or edi, eax
mov dword [esp + 0xc], edi
add ecx, dword [esp + 0x14]
rol edx, 0xa
mov eax, ebx
xor eax, edx
and eax, ecx
xor eax, edx
mov ebp, dword [esp + 0x28]
lea edi, [eax + ebp]
add edi, 0x7a6d76e9
add eax, ebp
mov ebp, 0x85928916
sub ebp, eax
and ebp, 0x98c7098d
mov eax, edi
and edi, 0x6738f672
or edi, ebp
mov ebp, dword [esp + 0x14]
and eax, ebp
xor edi, ebp
xor edi, 0x98c7098d
or edi, eax
add edi, eax
rol edi, 8
add edi, esi
mov eax, edi
not eax
or eax, ecx
add eax, edi
add eax, eax
add eax, 2
lea ebp, [edi + ecx]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x14]
not ebp
and ebp, eax
not eax
and eax, dword [esp + 0x14]
sub eax, ebp
add esi, dword [esp + 0x2c]
rol ebx, 0xa
add esi, ebx
add esi, eax
and eax, ebx
add eax, eax
sub esi, eax
rol esi, 8
add esi, edx
mov eax, esi
not eax
or eax, edi
add eax, esi
inc eax
mov ebp, esi
or ebp, edi
not eax
and eax, ebp
add edx, dword [esp + 0x18]
rol ecx, 0xa
xor eax, ecx
add edx, eax
rol edx, 5
add edx, ebx
add ebx, dword [esp + 0x4c]
rol edi, 0xa
mov eax, esi
xor eax, edi
xor eax, edx
add ebx, eax
rol ebx, 0xc
mov eax, dword [esp + 0x64]
or dword [esp + 8], eax
add ebx, ecx
lea eax, [ebx + ebx]
not eax
add eax, ebx
lea ebp, [eax + eax]
not ebp
add ebp, eax
mov eax, ebx
not eax
mov dword [esp + 0x18], eax
and ebp, edx
lea eax, [edx + edx]
not eax
add eax, edx
and eax, dword [esp + 0x18]
or eax, ebp
add ecx, dword [esp + 0x3c]
rol esi, 0xa
xor eax, esi
not eax
add ecx, eax
rol edx, 0xa
lea eax, [edx + edx]
not eax
add eax, edx
and eax, 0xb6002aa6
mov ebp, edx
and ebp, 0x49ffd559
or ebp, eax
xor ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
neg eax
rol ecx, 9
add ecx, edi
mov dword [esp + 0x24], ecx
xor ebp, ecx
xor ebp, 0xb6002aa6
inc ebp
mov ecx, ebp
and ecx, eax
xor ebp, eax
lea eax, [ecx*2]
add eax, ebp
sub edi, eax
rol edi, 0xc
add edi, esi
add esi, dword [esp + 0x48]
rol ebx, 0xa
mov eax, dword [esp + 0x24]
xor eax, ebx
xor eax, edi
add esi, eax
rol esi, 5
neg esi
mov eax, edx
neg eax
mov ebp, esi
and ebp, eax
xor eax, esi
lea ecx, [eax + ebp*2]
neg ecx
mov eax, dword [esp + 0x24]
rol eax, 0xa
mov dword [esp + 0x24], eax
mov esi, edi
xor esi, eax
xor esi, ecx
mov eax, dword [esp + 0x20]
mov ebp, eax
neg ebp
dec eax
and eax, esi
not esi
and esi, ebp
sub eax, esi
add eax, edx
rol eax, 0xe
mov edx, dword [esp + 0xc]
and dword [esp + 8], edx
add eax, ebx
mov dword [esp + 0x20], eax
rol edi, 0xa
add ebx, dword [esp + 0x50]
mov edx, ecx
xor edx, edi
xor edx, eax
add ebx, edx
rol ebx, 6
add ebx, dword [esp + 0x24]
rol ecx, 0xa
mov edx, eax
xor edx, ecx
xor edx, ebx
mov esi, edx
mov eax, dword [esp + 0x5c]
and esi, eax
mov ebp, esi
and ebp, 0xfffffffd
mov dword [esp + 0x18], ebp
mov ebp, esi
and ebp, 2
or esi, 2
imul esi, ebp
xor ebp, 2
imul ebp, dword [esp + 0x18]
xor edx, eax
add edx, dword [esp + 0x24]
add edx, esi
add edx, ebp
rol edx, 8
add edx, edi
mov esi, edx
and esi, ebx
add esi, esi
sub esi, ebx
mov eax, edx
not eax
and eax, esi
not esi
and esi, edx
sub esi, eax
mov eax, dword [esp + 0x20]
rol eax, 0xa
mov dword [esp + 0x20], eax
xor esi, eax
add esi, dword [esp + 0x54]
mov eax, esi
and eax, edi
xor esi, edi
lea edi, [esi + eax*2]
mov eax, dword [esp + 0x60]
add dword [esp + 0x1c], eax
rol edi, 0xd
add edi, ecx
add ecx, eax
rol ebx, 0xa
mov esi, edi
mov eax, edi
mov dword [esp + 0x24], edi
xor esi, edx
add ecx, ebx
add ecx, esi
and esi, ebx
mov edi, esi
or edi, 0xfffffffd
inc edi
mov ebp, esi
and ebp, 0xfffffffd
imul ebp, edi
mov edi, esi
and edi, 2
or esi, 2
imul esi, edi
sub ebp, esi
add ecx, ebp
rol ecx, 6
add ecx, dword [esp + 0x20]
rol edx, 0xa
mov esi, ecx
xor esi, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, esi
and esi, edx
mov edi, esi
or edi, 0xfffffffd
inc edi
mov ebp, esi
and ebp, 0xfffffffd
imul ebp, edi
mov edi, esi
and edi, 2
or esi, 2
imul esi, edi
sub ebp, esi
add eax, ebp
mov esi, eax
mov edi, dword [esp + 0x20]
and esi, edi
xor eax, edi
lea edi, [eax + esi*2]
mov esi, dword [esp + 8]
not esi
rol edi, 5
mov eax, dword [esp + 0x1c]
add eax, esi
add eax, 0xa953fd4e
mov dword [esp + 0x18], eax
mov ebp, edi
and ebp, ebx
xor edi, ebx
lea edi, [edi + ebp*2]
mov dword [esp + 0x20], edi
mov ebp, ecx
not ebp
lea eax, [ecx + ecx]
not eax
add eax, ecx
and eax, ebp
mov ebp, edi
not ebp
or eax, ebp
mov esi, dword [esp + 0x24]
rol esi, 0xa
mov dword [esp + 0x24], esi
mov ebp, edi
or ebp, ecx
xor ebp, esi
xor ebp, eax
not ebp
add ebp, dword [esp + 0x44]
mov eax, ebp
and eax, ebx
mov edi, eax
and edi, 2
mov esi, eax
or eax, 2
imul eax, edi
xor edi, 2
and esi, 0xfffffffd
imul esi, edi
xor ebp, ebx
add ebp, eax
add ebp, esi
rol ebp, 0xf
add ebp, edx
add edx, dword [esp + 0x38]
rol ecx, 0xa
mov esi, dword [esp + 0x20]
mov eax, esi
xor eax, ecx
xor eax, ebp
add edx, eax
rol edx, 0xd
mov edi, dword [esp + 0x24]
add edx, edi
rol esi, 0xa
mov dword [esp + 0x20], esi
mov eax, ebp
xor eax, esi
xor eax, edx
add eax, dword [esp + 0x40]
mov esi, eax
and esi, edi
xor eax, edi
lea ebx, [eax + esi*2]
mov esi, ebp
shr ebp, 0x16
mov eax, ebp
and eax, 0xe8
or eax, 0xc80abc04
and ebp, 0x317
xor ebp, eax
shl esi, 0xa
mov eax, esi
xor eax, 0x22aea0e8
or esi, 0xe8
xor ebp, 0x155be313
or eax, ebp
and ebp, esi
rol ebx, 0xb
not eax
or eax, ebp
add ebx, ecx
add ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x58]
mov ebp, edi
mov esi, dword [esp + 0x70]
and ebp, esi
mov dword [esp + 0x30], ebp
xor esi, edi
mov dword [esp + 0x70], esi
add edi, dword [esp + 0x78]
add edi, ebx
mov ebp, edi
xor ebx, edx
add ecx, eax
add ecx, ebx
and ebx, eax
mov esi, ebx
and esi, 0xfffffffd
mov edi, ebx
or edi, 0xfffffffd
inc edi
imul edi, esi
mov esi, ebx
and esi, 2
or ebx, 2
imul ebx, esi
sub edi, ebx
add ecx, edi
rol edx, 0xa
mov edi, dword [esp + 0x10]
add edi, edx
mov esi, dword [esp + 4]
rol esi, 0xa
add esi, dword [esp + 0x7c]
add esi, eax
mov edx, dword [esp + 0x80]
mov dword [edx + 4], esi
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x20]
add eax, esi
add eax, dword [esp]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x70]
lea eax, [ebx + eax*2]
rol ecx, 0xb
add eax, esi
add eax, ecx
mov ecx, dword [esp + 0x18]
rol ecx, 6
mov dword [edx + 0xc], eax
add ebp, ecx
mov dword [edx + 0x10], ebp
mov dword [edx], edi
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret