Function at 0x407e30
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov edi, edx
mov dword [esp], edx
mov esi, dword [ecx]
mov dword [esp + 0x80], esi
mov ebx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x70], edx
mov ebp, ecx
mov dword [esp + 0x84], ecx
mov ecx, eax
xor ecx, ebx
lea eax, [edx + esi]
add eax, ecx
and ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, dword [edi]
mov dword [esp + 0x50], ecx
add eax, ecx
rol eax, 0xb
mov ebp, dword [ebp + 0x10]
mov edx, ebp
neg edx
lea ecx, [ebp - 1]
and ecx, eax
not eax
and eax, edx
sub ecx, eax
mov edx, ecx
and edx, ebx
lea eax, [ecx + ebx]
mov dword [esp + 0x74], ebx
mov esi, eax
not esi
lea edx, [esi + edx*2]
and edx, ebx
add edx, edx
sub eax, edx
mov dword [esp + 0x7c], ebp
mov edx, ebp
not edx
mov esi, dword [esp + 0x78]
rol esi, 0xa
mov dword [esp + 0xc], esi
xor eax, esi
mov edi, dword [esp]
mov esi, dword [edi + 4]
mov dword [esp + 0x30], esi
add eax, esi
or edx, eax
add edx, ebp
xor eax, ebp
lea eax, [eax + edx*2]
add eax, 2
rol eax, 0xe
mov edx, eax
not edx
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
mov eax, esi
mov ebx, dword [esp + 0x70]
and eax, ebx
xor esi, ebx
mov ebp, ebx
lea ebx, [esi + eax*2]
mov edx, ecx
and edx, 0x42bb153
or edx, 0xfac44800
mov eax, ecx
and eax, 0xfbd44eac
xor eax, edx
mov esi, dword [esp + 0x74]
rol esi, 0xa
mov dword [esp + 0x1c], esi
mov edx, ebx
and edx, 0xfbd44eac
xor eax, edx
mov edx, ebx
and edx, 0x42bb153
or edx, 0x31c40ea4
xor eax, edx
xor eax, esi
xor eax, 0xcb0046a4
mov edx, dword [edi + 8]
mov dword [esp + 0x4c], edx
add edx, ebp
add eax, edx
rol eax, 0xf
mov edi, dword [esp + 0xc]
add eax, edi
add eax, 0x8262f1e3
mov edx, eax
xor edx, 0x7d9d0e1c
and eax, 0xfd9d0e1c
lea edx, [edx + eax*2]
inc edx
rol ecx, 0xa
mov eax, ecx
not eax
lea esi, [eax + eax]
not esi
add esi, eax
mov ebp, edx
xor ebp, ebx
and esi, ebp
or ebp, ecx
xor ebp, esi
mov esi, dword [esp]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x58], eax
add eax, edi
add ebp, eax
rol ebp, 0xc
mov edi, ebx
rol edi, 0xa
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x1c]
add ebp, ebx
mov dword [esp + 0x18], ebp
mov eax, edx
xor eax, edi
xor eax, ebp
mov edi, dword [esi + 0x10]
mov dword [esp + 0x34], edi
add eax, edi
add eax, ebx
mov ebx, eax
shl ebx, 5
mov esi, ebx
xor esi, 0x5131e275
mov ebp, ebx
or ebx, 0xaece1d80
and ebx, esi
and ebp, 0x5131e260
xor ebp, 0x5131e275
or ebx, ebp
shr eax, 0x1b
mov esi, eax
and esi, 0xfffffff5
or esi, 0x204e1508
and eax, 0xa
xor eax, esi
xor eax, 0x717ff77d
mov esi, eax
and esi, ebx
add ebx, ecx
add ebx, eax
add esi, esi
sub ebx, esi
rol edx, 0xa
mov eax, dword [esp + 0x18]
xor eax, edx
xor eax, ebx
mov edi, dword [esp]
mov esi, dword [edi + 0x14]
mov dword [esp + 0x48], esi
add ecx, esi
add ecx, eax
rol ecx, 8
mov eax, ecx
mov esi, dword [esp + 4]
and eax, esi
xor ecx, esi
lea ebp, [ecx + eax*2]
mov ecx, dword [esp + 0x18]
rol ecx, 0xa
mov dword [esp + 0x18], ecx
mov eax, ebx
xor eax, ecx
xor eax, ebp
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x20], ecx
add esi, ecx
add esi, eax
rol esi, 7
rol ebx, 0xa
add esi, edx
mov dword [esp + 4], esi
mov eax, ebp
xor eax, ebx
xor eax, esi
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x3c], ecx
add edx, ecx
add edx, eax
mov ecx, edx
shl ecx, 9
mov eax, edx
shl edx, 0xa
not edx
add edx, ecx
mov esi, ecx
not esi
or esi, 0x3a0914d8
lea edi, [esi + ecx]
inc edi
shr eax, 0x17
lea esi, [eax + eax]
not esi
add esi, eax
xor esi, edx
add esi, edx
and edx, 0xc5f6eb27
or edi, edx
mov ecx, eax
not ecx
or ecx, 0x3a0914d8
add ecx, eax
inc ecx
not esi
add esi, eax
and eax, 0x127
xor eax, 0xc5f6eb27
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add edx, eax
sub edx, ecx
xor edx, edi
or esi, edx
mov edx, dword [esp + 0x18]
add esi, edx
rol ebp, 0xa
mov edi, dword [esp + 4]
mov eax, edi
xor eax, ebp
xor eax, esi
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x2c], ecx
add edx, ecx
add edx, eax
rol edx, 0xb
add edx, ebx
mov dword [esp + 0x18], edx
mov eax, edx
and eax, esi
lea ecx, [edx + esi]
not ecx
lea ecx, [ecx + eax*2]
rol edi, 0xa
mov dword [esp + 4], edi
lea eax, [edi + edi]
not eax
add eax, edi
xor eax, ecx
mov ecx, eax
not ecx
mov edx, dword [esp]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x38], edx
or ecx, edx
lea edx, [eax + ecx]
inc edx
mov edi, edx
and edi, 2
mov ecx, edx
or edx, 2
imul edx, edi
xor edi, 2
and ecx, 0xfffffffd
imul ecx, edi
xor eax, dword [esp + 0x38]
add eax, ebx
add eax, edx
add eax, ecx
rol eax, 0xd
add eax, ebp
mov ecx, eax
mov edx, dword [esp + 0x18]
and ecx, edx
add ecx, ecx
sub edx, ecx
rol esi, 0xa
add edx, eax
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x28], ecx
add ebp, ecx
add ebp, esi
add ebp, edx
and edx, esi
add edx, edx
sub ebp, edx
rol ebp, 0xe
mov ecx, ebp
mov edi, dword [esp + 4]
and ecx, edi
xor ebp, edi
lea ebp, [ebp + ecx*2]
mov ebx, dword [esp + 0x18]
shl ebx, 0xa
mov ecx, ebx
xor ecx, 0x3ff4d4ca
mov edx, ebx
or ebx, 0xc00b2800
and ebx, ecx
and edx, 0x3ff4d400
xor edx, 0x3ff4d4ca
or ebx, edx
mov ecx, dword [esp + 0x18]
shr ecx, 0x16
xor ebx, ecx
xor ebx, 0x3ff4d4ca
mov ecx, eax
xor ecx, ebx
xor ecx, ebp
mov edx, dword [esp]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x18], edx
add edi, edx
add edi, ecx
rol edi, 0xf
add edi, esi
mov dword [esp + 4], edi
mov ecx, edi
and ecx, ebp
add ecx, ecx
lea edx, [edi + ebp]
sub edx, ecx
rol eax, 0xa
xor edx, eax
mov edi, dword [esp]
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x24], ecx
add esi, ecx
add esi, edx
rol esi, 6
add esi, ebx
rol ebp, 0xa
mov ecx, dword [esp + 4]
xor ecx, ebp
xor ecx, esi
mov edx, dword [edi + 0x34]
mov dword [esp + 0x5c], edx
add ebx, edx
add ebx, ecx
rol ebx, 7
add ebx, eax
mov edx, dword [esp + 4]
rol edx, 0xa
mov dword [esp + 4], edx
mov ecx, esi
xor ecx, edx
xor ecx, ebx
mov edx, dword [esp]
mov edi, dword [edx + 0x38]
mov dword [esp + 0x54], edi
mov edx, ecx
xor ecx, edi
add ecx, eax
and edx, edi
lea ecx, [ecx + edx*2]
rol ecx, 9
add ecx, ebp
mov dword [esp + 8], ecx
rol esi, 0xa
xor ecx, ebx
mov edx, ecx
xor ecx, 0x31111fc7
mov edi, esi
xor edi, 0xceeee038
and edi, ecx
xor edx, 0xceeee038
mov ecx, esi
xor ecx, 0x31111fc7
and ecx, edx
or ecx, edi
mov eax, dword [esp]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x40], eax
add ebp, eax
add ebp, ecx
rol ebp, 8
mov eax, dword [esp + 4]
add ebp, eax
mov ecx, ebp
mov edi, dword [esp + 8]
and ecx, edi
not ecx
lea edx, [ecx + ecx]
not edx
add edx, ecx
rol ebx, 0xa
mov ecx, ebp
not ecx
and ecx, ebx
or ecx, edx
add eax, dword [esp + 0x3c]
add ecx, eax
add ecx, 0x5a827999
rol ecx, 7
mov edx, ecx
and edx, esi
xor ecx, esi
lea edx, [ecx + edx*2]
mov dword [esp], edx
mov eax, edi
rol eax, 0xa
mov dword [esp + 8], eax
mov ecx, ebp
xor ecx, eax
and ecx, edx
xor ecx, eax
mov eax, dword [esp + 0x34]
mov edx, eax
neg edx
xor edx, ecx
lea edi, [eax - 1]
and edi, ecx
sub esi, edx
lea ecx, [esi + edi*2]
add ecx, 0x5a827999
mov esi, ebp
shl esi, 0xa
mov edx, ebp
shl ebp, 0xb
not ebp
add ebp, esi
and ebp, 0x7dcb2f14
mov eax, esi
and esi, 0x8234d000
or esi, ebp
not eax
and eax, 0x7dcb2c00
or esi, eax
shr edx, 0x16
xor esi, edx
rol ecx, 6
add ecx, ebx
xor esi, 0x7dcb2f14
mov eax, ecx
not eax
and eax, esi
add ebx, dword [esp + 0x5c]
add ebx, eax
mov eax, ecx
mov edi, dword [esp]
and eax, edi
lea edx, [eax + ebx]
add edx, 0x5a827999
rol edx, 8
mov ebp, dword [esp + 8]
add edx, ebp
rol edi, 0xa
mov dword [esp], edi
mov eax, edx
not eax
mov ebx, edx
and ebx, ecx
and eax, edi
add eax, dword [esp + 0x30]
add eax, ebx
add eax, 0x5a827999
mov edi, ebp
add edi, 0xa06bec39
mov ebx, eax
and ebx, edi
xor edi, eax
lea ebx, [edi + ebx*2]
add ebx, 0x5f9413c7
rol ebx, 0xd
add ebx, esi
rol ecx, 0xa
mov eax, ebx
not eax
and eax, ecx
mov dword [esp + 4], ecx
add esi, dword [esp + 0x28]
add esi, eax
mov eax, ebx
and eax, edx
add esi, eax
add esi, 0x5a827999
rol esi, 0xb
rol edx, 0xa
mov edi, dword [esp]
add esi, edi
mov eax, esi
not eax
or eax, ebx
add eax, esi
inc eax
lea ebp, [esi + esi]
not ebp
add ebp, esi
and ebp, edx
or ebp, eax
mov eax, edi
add eax, dword [esp + 0x20]
lea edi, [eax + ebp]
add edi, 0x5a827999
rol edi, 9
mov ebp, edi
and ebp, 1
xor edi, 1
add edi, ecx
lea ecx, [edi + ebp*2]
lea edi, [edi + ebp*2]
dec edi
rol ebx, 0xa
mov dword [esp], ebx
lea ebp, [ecx + ebx]
neg ecx
not ebx
and ebx, ecx
lea ebp, [ebp + ebx*2]
not ebp
and ebp, ecx
mov eax, edi
and eax, esi
or ebp, eax
mov eax, ebp
mov ebx, dword [esp + 0x40]
xor ebp, ebx
add ebp, dword [esp + 4]
and eax, ebx
lea eax, [eax*2 + 0x5a827999]
add eax, ebp
rol eax, 7
add eax, edx
rol esi, 0xa
mov ecx, eax
and ecx, 0xea940fdb
mov ebx, eax
xor ebx, 0xea940fdb
lea ebp, [ebx + ecx*2]
add ebp, 0x156bf025
mov ecx, eax
and ecx, edi
not ebp
and ebp, esi
add edx, dword [esp + 0x58]
add edx, ecx
add edx, ebp
and ebp, ecx
add edx, ebp
mov ecx, ebp
add ecx, ebp
not ecx
add ecx, edx
add ecx, 0x5a82799a
rol ecx, 0xf
mov ebx, dword [esp]
add ecx, ebx
rol edi, 0xa
mov edx, ecx
not edx
and edx, edi
add ebx, dword [esp + 0x24]
add ebx, edx
mov edx, ecx
and edx, eax
add edx, ebx
add edx, 0x5a827999
rol edx, 7
rol eax, 0xa
add edx, esi
mov dword [esp + 8], edx
mov ebx, edx
and ebx, ecx
lea ebp, [edx + edx]
not ebp
add ebp, edx
and ebp, eax
or ebp, ebx
add esi, dword [esp + 0x50]
lea edx, [esi + ebp]
add edx, 0x5a827999
rol edx, 0xc
add edx, edi
mov dword [esp + 4], edx
mov esi, edx
and esi, 0xfffffffd
mov ebp, edx
and ebp, 2
mov ebx, edx
or ebx, 2
imul ebx, ebp
xor ebp, 2
imul ebp, esi
add ebx, ebp
rol ecx, 0xa
mov esi, edx
mov ebp, dword [esp + 8]
and esi, ebp
not ebx
add ebx, edx
and ebx, ecx
or ebx, esi
mov esi, ebx
mov edx, dword [esp + 0x38]
xor ebx, edx
add ebx, edi
and esi, edx
lea edi, [ebx + esi*2]
add edi, 0x5a827999
rol ebp, 0xa
mov ebx, ebp
not ebx
mov esi, ebp
add esi, ebp
not esi
add esi, ebp
mov edx, ebp
mov dword [esp + 8], ebp
and esi, ebx
rol edi, 0xf
add edi, eax
mov ebx, edi
mov ebp, dword [esp + 4]
and ebx, ebp
or esi, edi
not esi
or esi, ebx
add eax, dword [esp + 0x48]
add esi, eax
add esi, 0x5a827999
rol esi, 9
rol ebp, 0xa
mov dword [esp + 4], ebp
add esi, ecx
mov eax, esi
not eax
and eax, ebp
add ecx, dword [esp + 0x4c]
add ecx, eax
mov eax, esi
and eax, edi
add eax, ecx
add eax, 0x5a827999
rol eax, 0xb
add eax, edx
mov dword [esp], eax
rol edi, 0xa
mov ebx, eax
not ebx
and eax, esi
mov ebp, edi
and ebp, ebx
or ebp, eax
add ebp, dword [esp + 0x54]
mov eax, ebp
not eax
or eax, 0x5a827999
add eax, ebp
inc eax
mov edx, eax
and edx, 2
mov ecx, eax
or eax, 2
imul eax, edx
xor edx, 2
and ecx, 0xfffffffd
imul ecx, edx
add eax, ecx
xor ebp, 0x5a827999
mov ecx, eax
and ecx, ebp
xor ebp, eax
add ebp, dword [esp + 8]
lea edx, [ecx*2]
add edx, ebp
rol edx, 7
mov ebp, dword [esp + 4]
add edx, ebp
mov eax, edx
xor eax, dword [esp]
and ebx, edx
lea ecx, [eax + edx]
not ecx
add ecx, ebx
or ecx, eax
rol esi, 0xa
not ecx
mov eax, edx
not eax
and eax, esi
or eax, ecx
mov ecx, ebp
add ecx, dword [esp + 0x18]
add eax, ecx
add eax, 0x5a827999
rol eax, 0xd
add eax, edi
mov ecx, dword [esp]
rol ecx, 0xa
mov dword [esp], ecx
not ecx
or ecx, eax
mov ebx, ecx
not ebx
lea ecx, [ecx + ebx*2]
mov ebp, 0xfffffffe
sub ebp, ecx
mov ecx, eax
and ecx, edx
and ebp, ecx
xor ebx, ecx
add edi, dword [esp + 0x2c]
add edi, ecx
add edi, ebx
sub edi, ebp
add edi, 0x5a827999
rol edi, 0xc
lea ecx, [esi + edi]
add ecx, 0xcfad1e83
mov edi, ecx
xor edi, 0x3052e17c
and ecx, 0x3052e17c
lea ebx, [edi + ecx*2]
lea ebp, [edi + ecx*2]
inc ebp
mov edi, edx
shr edx, 0x16
lea ecx, [edx + edx]
not ecx
add ecx, edx
and ecx, 0x6ee23798
and edx, 0x67
or edx, ecx
shl edi, 0xa
xor edx, edi
xor edx, 0x6ee23798
lea edi, [eax + eax]
not edi
add edi, eax
mov dword [esp + 4], ebp
or edi, ebp
add esi, dword [esp + 0x58]
add esi, edx
add esi, edi
and edi, edx
add edi, edi
sub esi, edi
mov edi, ebp
not edi
mov ecx, edi
or ecx, 0x92cc106
add ecx, ebx
add ecx, 2
add esi, 0x6ed9eba1
rol esi, 0xb
add esi, dword [esp]
mov ebp, esi
not ebp
mov ebx, ebp
and ebx, edi
and edi, 0xf6d33ef9
or edi, ecx
mov ecx, dword [esp + 4]
xor ecx, ebp
add ecx, ebp
sub ecx, ebx
xor edi, esi
xor edi, 0xf6d33ef9
and ecx, edi
rol eax, 0xa
xor ecx, eax
not ecx
mov edi, dword [esp]
add edi, dword [esp + 0x28]
add edi, ecx
add edi, 0x6ed9eba1
rol edi, 0xd
add edi, edx
mov ecx, dword [esp + 4]
rol ecx, 0xa
mov dword [esp + 4], ecx
or ebp, edi
xor ebp, ecx
add edx, dword [esp + 0x54]
lea ebx, [edx + ebp]
add ebx, 0x6ed9eba1
rol ebx, 6
rol esi, 0xa
add ebx, eax
mov ecx, edi
mov edx, edi
not ecx
or ecx, ebx
xor ecx, esi
add eax, dword [esp + 0x34]
add eax, ecx
add eax, 0x6ed9eba1
mov ebp, eax
shl ebp, 7
mov ecx, eax
shr ecx, 0x19
lea edi, [ecx + ecx]
not edi
add edi, ecx
and edi, ebp
shl eax, 8
mov ebp, dword [esp + 4]
add ecx, ebp
add ecx, eax
rol edx, 0xa
mov dword [esp + 8], edx
sub ecx, edi
lea eax, [ebx + ebx]
not eax
add eax, ebx
or eax, ecx
xor eax, edx
mov edx, ebp
add edx, dword [esp + 0x38]
lea edi, [eax + edx]
add edi, 0x6ed9eba1
rol edi, 0xe
rol ebx, 0xa
add edi, esi
mov eax, ecx
not eax
or eax, edi
mov ebp, eax
not ebp
lea ebp, [eax + ebp*2]
inc ebp
mov edx, ebx
not edx
and edx, eax
and ebp, ebx
add edx, dword [esp + 0x40]
lea eax, [edx + ebp]
add eax, 0x6ed9eba1
mov edx, eax
and edx, esi
xor esi, eax
lea eax, [esi + edx*2]
rol eax, 9
mov ebp, dword [esp + 8]
add eax, ebp
mov dword [esp], eax
rol ecx, 0xa
mov edx, edi
not edx
or edx, eax
xor edx, ecx
mov eax, dword [esp + 0x2c]
add edx, eax
add edx, 0x6ed9eba1
mov esi, edx
mov eax, ebp
and esi, ebp
xor eax, edx
rol edi, 0xa
lea ebp, [eax + esi*2]
mov edx, edi
not edx
lea esi, [edx + edx]
not esi
add esi, edx
rol ebp, 0xd
and esi, edi
add ebp, ebx
mov edx, dword [esp]
not edx
or edx, ebp
xor edx, esi
add ebx, dword [esp + 0x30]
lea edi, [edx + ebx]
add edi, 0x6ed9eba1
mov edx, ebp
not edx
lea ebx, [edx*2]
add ebx, ebp
mov eax, 0xfffffffe
sub eax, ebx
rol edi, 0xf
add edi, ecx
mov ebx, edi
and ebx, ebp
or edx, edi
add edx, ebx
and eax, edi
sub edx, eax
mov eax, dword [esp]
rol eax, 0xa
xor edx, eax
mov ebx, eax
mov dword [esp], eax
add edx, dword [esp + 0x4c]
mov eax, edx
xor edx, 0x6ed9eba1
add edx, ecx
and eax, 0xeed9eba1
lea eax, [edx + eax*2]
mov ecx, edi
not ecx
rol eax, 0xe
add eax, esi
mov dword [esp + 4], eax
rol ebp, 0xa
or ecx, eax
xor ecx, ebp
mov eax, ecx
mov edx, dword [esp + 0x3c]
xor ecx, edx
add ecx, esi
and eax, edx
lea eax, [ecx + eax*2]
add eax, 0x6ed9eba1
rol eax, 8
mov dword [esp + 8], eax
add ebx, eax
mov eax, ebx
xor eax, 0x28120955
mov edx, dword [esp + 4]
mov esi, edx
xor esi, 0x28120955
and esi, eax
mov ecx, edx
xor ecx, 0xd7edf6aa
mov eax, ebx
xor eax, 0xd7edf6aa
and eax, ecx
not edx
and edx, ebx
or edx, esi
rol edi, 0xa
or edx, eax
xor edx, edi
add edx, dword [esp + 0x50]
lea eax, [edx + edx]
and eax, 0xddb3d742
sub edx, eax
add edx, 0x6ed9eba1
mov esi, edx
and esi, eax
xor edx, eax
lea eax, [edx + esi*2]
mov esi, dword [esp]
mov ecx, esi
not ecx
or ecx, eax
add ecx, esi
or eax, esi
add eax, ecx
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
lea ecx, [eax + esi - 1]
lea eax, [ebx + ebx]
mov edx, ebx
mov ebx, ecx
xor ebx, eax
not eax
and eax, ecx
add eax, eax
sub eax, ebx
mov ebx, dword [esp + 0x14]
rol ebx, 0xd
add ebx, ebp
mov ecx, dword [esp + 4]
rol ecx, 0xa
mov dword [esp + 4], ecx
or eax, ebx
xor eax, ecx
add ebp, dword [esp + 0x20]
add eax, ebp
add eax, 0x6ed9eba1
rol eax, 6
mov ecx, eax
and ecx, 1
xor eax, 1
add eax, edi
lea esi, [eax + ecx*2]
mov dword [esp + 0x14], esi
lea esi, [eax + ecx*2]
dec esi
mov dword [esp], esi
mov ecx, ebx
and ecx, 2
mov eax, ebx
or eax, 2
imul eax, ecx
xor ecx, 2
mov ebp, ebx
and ebp, 0xfffffffd
imul ebp, ecx
add eax, ebp
rol edx, 0xa
mov dword [esp + 8], edx
not eax
add eax, ebx
or eax, esi
add edi, dword [esp + 0x5c]
add edi, edx
add edi, eax
and eax, edx
add eax, eax
sub edi, eax
add edi, 0x6ed9eba1
mov esi, edi
shl esi, 5
mov ebp, esi
not ebp
mov edx, ebp
and edx, 0xa4e44a80
mov ecx, ebp
or ecx, 0x5b1bb57f
lea eax, [ecx + esi]
inc eax
mov ecx, edx
xor ecx, eax
not eax
and eax, edx
add ecx, edx
sub ecx, eax
and esi, 0x12c94ee0
and ebp, 0xed36b113
or ebp, esi
mov eax, edi
shr eax, 0x1b
xor ebp, eax
mov edx, eax
xor eax, 0x1f
xor edx, 0x5b1bb57f
or edx, eax
xor edx, ecx
xor ebp, 0xed36b113
rol edi, 5
not edi
or edi, ebp
lea eax, [edi + edi]
not eax
add eax, edi
not edx
or eax, edx
mov ecx, eax
mov ebp, dword [esp + 4]
and ecx, ebp
xor eax, ebp
lea edi, [eax + ecx*2]
mov ecx, ebx
shl ecx, 0xa
mov eax, ebx
shl ebx, 0xb
not ebx
add ebx, ecx
shr eax, 0x16
not eax
and eax, ebx
mov edx, dword [esp + 0x14]
lea ecx, [edx + edx]
add ecx, 0xfffffffe
not ecx
add ecx, edx
dec ecx
or ecx, edi
mov edx, ecx
not edx
or edx, eax
lea ebx, [edx + edx]
not ebx
add ebx, edx
mov esi, eax
not esi
or ecx, esi
lea eax, [ecx + ecx]
not eax
add eax, ecx
or eax, ebx
not eax
add ebp, dword [esp + 0x18]
lea ecx, [eax + ebp]
add ecx, 0x6ed9eba1
mov eax, edi
and eax, 0x199cb1d2
or eax, 0x86034009
mov ebp, edi
and ebp, 0xe6634e2d
xor ebp, eax
mov eax, ecx
rol eax, 0xc
mov edx, dword [esp + 8]
add eax, edx
mov dword [esp + 4], eax
mov ecx, dword [esp]
rol ecx, 0xa
mov dword [esp], ecx
xor ebp, 0x79fcbff6
or ebp, eax
lea eax, [ecx + ecx]
not eax
add eax, ecx
or eax, ebp
not ebp
or ebp, ecx
and ebp, eax
mov eax, ebp
add eax, ebp
not eax
add ebp, dword [esp + 0x48]
add ebp, eax
mov eax, ebp
and eax, 0x9126145e
mov ebx, ebp
xor ebx, 0x6ed9eba1
add ebx, ebp
sub ebx, eax
and ebp, 0x6ed9eba1
add ebx, ebp
mov eax, ebx
xor eax, edx
or ebx, edx
xor ebx, eax
mov edx, ebx
and edx, 2
mov ebp, ebx
or ebx, 2
imul ebx, edx
xor edx, 2
and ebp, 0xfffffffd
imul ebp, edx
add ebx, eax
add ebx, ebp
mov ecx, dword [esp + 4]
mov edx, ecx
not edx
lea eax, [edx + edx]
not eax
add eax, edx
or eax, ecx
not eax
or eax, edx
rol ebx, 7
rol edi, 0xa
add ebx, esi
or eax, ebx
xor eax, edi
add esi, dword [esp + 0x24]
add eax, esi
add eax, 0x6ed9eba1
rol eax, 5
mov edx, eax
mov esi, dword [esp]
and edx, esi
xor eax, esi
rol ecx, 0xa
lea ebp, [eax + edx*2]
mov eax, ecx
not eax
mov edx, ebx
xor edx, eax
mov esi, ebx
xor esi, ecx
mov dword [esp + 4], ecx
and esi, 0xfc8f8fef
and edx, 0x3707010
or edx, esi
xor edx, 0x3707010
or eax, ebx
and eax, edx
mov edx, ebp
not edx
or edx, ecx
mov esi, eax
not esi
lea ecx, [edx + ebp]
inc ecx
and esi, ecx
xor eax, ecx
lea ecx, [edx + ebp]
mov edx, dword [esp + 0x30]
add ecx, edx
inc ecx
add ecx, eax
sub ecx, esi
add ecx, 0x794f0d3b
mov eax, ecx
and eax, 0xf1bbcdc
xor ecx, 0x8f1bbcdc
lea eax, [ecx + eax*2]
mov edx, 0x794f0d3a
sub edx, eax
lea ecx, [eax - 0x794f0d3b]
add eax, 0x6b0f2c5
mov esi, dword [esp]
and eax, esi
xor edx, ecx
and edx, esi
xor edx, ecx
rol ebx, 0xa
lea eax, [edx + eax*2]
lea edx, [ebx + ebx]
lea ecx, [ebx - 1]
mov esi, ecx
xor esi, edx
not edx
and edx, ecx
add edx, edx
sub edx, esi
mov ecx, eax
rol ecx, 0xb
add ecx, edi
mov dword [esp], ecx
and ecx, ebx
and edx, ebp
or edx, ecx
add edi, dword [esp + 0x38]
add edx, edi
add edx, 0x8f1bbcdc
rol edx, 0xc
mov eax, dword [esp + 4]
add edx, eax
rol ebp, 0xa
mov edi, edx
and edi, ebp
mov dword [esp + 0x14], ebp
not edi
lea esi, [edi + edi]
not esi
add esi, edi
mov edi, dword [esp]
lea ecx, [edi + edi]
not ecx
add ecx, edi
or ecx, ebp
not ecx
or esi, ecx
add esi, dword [esp + 0x18]
mov ecx, esi
xor ecx, 0x70e44323
add eax, esi
mov edi, esi
or esi, 0x8f1bbcdc
and esi, ecx
not edi
or edi, 0x70e44323
add edi, eax
lea eax, [esi + edi]
add eax, 0x8f1bbcdd
mov dword [esp + 4], eax
mov ebp, dword [esp]
rol ebp, 0xa
mov ecx, ebp
not ecx
mov esi, edx
xor esi, ebp
mov dword [esp], ebp
or ecx, edx
mov edi, ecx
not edi
or edi, esi
add ecx, edi
inc ecx
mov eax, dword [esp + 4]
rol eax, 0xe
add eax, ebx
mov esi, eax
and esi, ebp
xor ecx, esi
mov edi, ecx
and edi, esi
add ecx, esi
mov esi, ecx
xor esi, edi
not edi
and edi, ecx
mov ecx, dword [esp + 0x28]
sub ecx, esi
lea ecx, [ecx + edi*2]
add ecx, 0x8f1bbcdc
mov esi, ecx
and esi, ebx
xor ebx, ecx
lea ecx, [ebx + esi*2]
rol ecx, 0xf
mov edi, dword [esp + 0x14]
add ecx, edi
mov dword [esp + 8], ecx
rol edx, 0xa
and ecx, edx
mov ebp, eax
mov ebx, eax
not ebx
or ebx, edx
mov esi, ecx
xor esi, 0xb429f9a
mov eax, ebx
xor eax, 0xf4bd6065
and eax, esi
xor ecx, 0xf4bd6065
xor ebx, 0xb429f9a
and ebx, ecx
or ebx, eax
not ebx
mov eax, dword [esp + 0x50]
add eax, ebx
add eax, 0x8f1bbcdc
mov ecx, eax
mov esi, edi
and ecx, edi
xor esi, eax
lea edi, [esi + ecx*2]
mov esi, ebp
rol esi, 0xa
mov dword [esp + 4], esi
mov eax, esi
not eax
mov ecx, dword [esp + 8]
or eax, ecx
mov ebp, esi
sub ebp, ecx
add ebp, eax
rol edi, 0xe
add edi, dword [esp]
mov ecx, edi
and ecx, esi
lea ebx, [ecx + ecx]
not ebx
add ebx, ecx
mov eax, ebx
and eax, 0x1e187593
and ecx, 0xe1e78a6c
or ecx, eax
xor ecx, ebp
or ebx, ebp
xor ecx, 0xe1e78a6c
not ebx
or ebx, ecx
mov eax, dword [esp]
add eax, dword [esp + 0x2c]
add eax, ebx
add eax, 0x8f1bbcdc
rol eax, 0xf
add eax, edx
mov esi, dword [esp + 8]
rol esi, 0xa
mov ecx, esi
not ecx
and ecx, edi
add edx, dword [esp + 0x24]
add edx, ecx
mov ecx, eax
and ecx, esi
mov ebx, esi
lea ebp, [ecx + edx]
add ebp, 0x8f1bbcdc
rol ebp, 9
add ebp, dword [esp + 4]
rol edi, 0xa
mov edx, ebp
and edx, edi
lea ecx, [edi + edi]
not ecx
add ecx, edi
and ecx, eax
or ecx, edx
add ecx, 0x76d1a2ca
mov edx, ecx
mov esi, dword [esp + 0x34]
xor ecx, esi
add ecx, dword [esp + 4]
and edx, esi
lea esi, [ecx + edx*2]
add esi, 0x184a1a12
rol esi, 8
add esi, ebx
rol eax, 0xa
mov ecx, eax
not ecx
and ecx, ebp
add ebx, dword [esp + 0x5c]
add ebx, ecx
mov ecx, esi
and ecx, eax
add ecx, ebx
add ecx, 0x8f1bbcdc
mov edx, ecx
shr ecx, 0x17
mov ebx, ecx
not ebx
lea ebx, [ecx + ebx*2]
inc ebx
shl edx, 9
not ebx
or ebx, edx
rol ebp, 0xa
add ebx, edi
mov ecx, ebp
not ecx
and ecx, esi
add edi, dword [esp + 0x58]
add edi, ecx
mov ecx, ebx
and ecx, ebp
add edi, ecx
add edi, 0x8f1bbcdc
rol edi, 0xe
add edi, eax
mov dword [esp], edi
rol esi, 0xa
mov ecx, esi
not ecx
or edi, esi
mov edx, ebx
and edx, ecx
sub ecx, dword [esp]
add ecx, edi
add eax, dword [esp + 0x3c]
add eax, edx
not edx
or edx, ecx
sub eax, ecx
add eax, edx
add eax, 0x8f1bbcdc
rol ebx, 0xa
mov edx, ebx
and edx, 1
xor ebx, 1
lea ecx, [ebx + edx*2]
mov dword [esp + 4], ecx
lea ebx, [ebx + edx*2]
dec ebx
rol eax, 5
mov edi, ebx
sub edi, ecx
sub edi, ecx
add eax, ebp
mov edx, eax
and edx, ebx
inc edi
mov ecx, dword [esp]
and edi, ecx
or edi, edx
add ebp, dword [esp + 0x40]
add edi, ebp
add edi, 0x8f1bbcdc
rol edi, 6
add edi, esi
mov ebp, ecx
rol ebp, 0xa
mov edx, ebp
not edx
and edx, eax
add esi, dword [esp + 0x54]
add esi, edx
mov edx, edi
and edx, ebp
add edx, esi
add edx, 0x8f1bbcdc
rol edx, 8
mov ecx, dword [esp + 4]
add ecx, edx
dec ecx
rol eax, 0xa
mov edx, ecx
and edx, eax
mov esi, eax
not esi
and esi, edi
add esi, dword [esp + 0x48]
add edx, esi
add edx, 0x8f1bbcdc
mov esi, edx
and esi, ebx
xor edx, ebx
lea edx, [edx + esi*2]
rol edx, 6
neg edx
mov esi, ebp
neg esi
mov ebx, edx
and ebx, esi
xor esi, edx
lea edx, [esi + ebx*2]
neg edx
rol edi, 0xa
mov esi, edi
not esi
mov ebx, edx
and ebx, edi
and esi, ecx
add esi, dword [esp + 0x20]
add esi, ebx
add esi, 0x559f7a6
mov ebx, esi
xor esi, 0x8f1bbcdc
add esi, ebp
and ebx, 0xf1bbcdc
rol ecx, 0xa
mov dword [esp + 4], ecx
lea esi, [esi + ebx*2]
add esi, 0xfaa6085a
mov ebx, ecx
not ebx
lea ebp, [ecx + ecx]
inc ebp
and ebp, ebx
lea ebx, [ecx + ecx]
xor ebx, 0xfffffffe
and ebx, ecx
sub ebx, ebp
rol esi, 5
add esi, eax
mov ebp, esi
and ebp, ecx
and ebx, edx
or ebx, ebp
add ebx, dword [esp + 0x4c]
mov ebp, ebx
xor ebx, 0x8f1bbcdb
add ebx, eax
and ebp, 0xf1bbcdb
lea ebp, [ebx + ebp*2]
inc ebp
rol ebp, 0xc
add ebp, edi
mov eax, edx
rol eax, 0xa
mov dword [esp + 8], eax
not eax
or eax, esi
xor eax, ebp
add edi, dword [esp + 0x34]
lea ecx, [eax + edi]
add ecx, 0xa953fd4e
rol ecx, 9
add ecx, dword [esp + 4]
rol esi, 0xa
mov eax, ecx
not eax
mov ebx, ecx
mov dword [esp], ecx
and ebx, 0x2006000d
mov edi, eax
and edi, 0x83404580
add ebx, edi
add ebx, 0x4c283050
and eax, 0x4c283050
mov edi, ecx
and edi, 0x10918a22
add edi, eax
add edi, 0x2006000d
mov eax, esi
not eax
or eax, ebp
xor edi, eax
xor edi, ebx
mov ebx, edi
xor ebx, 0xa346458d
mov eax, dword [esp + 0x50]
mov edx, eax
not edx
mov dword [esp + 0x60], edx
mov ecx, ebx
and ebx, edx
add ebx, dword [esp + 4]
xor edi, 0x5cb9ba72
and edi, eax
add ebx, edi
and ecx, eax
lea eax, [ebx + ecx*2]
add eax, 0xa953fd4e
rol eax, 0xf
mov ecx, dword [esp + 8]
add eax, ecx
rol ebp, 0xa
mov edi, ebp
not edi
mov edx, dword [esp]
or edi, edx
xor edi, eax
add ecx, dword [esp + 0x48]
lea ebx, [edi + ecx]
add ebx, 0xa953fd4e
rol ebx, 5
add ebx, esi
rol edx, 0xa
mov dword [esp], edx
not edx
or edx, eax
xor edx, ebx
add esi, dword [esp + 0x38]
add esi, edx
add esi, 0xa953fd4e
rol esi, 0xb
neg esi
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + ebp]
neg ebp
mov edi, esi
and edi, ebp
xor ebp, esi
lea ebp, [ebp + edi*2]
rol eax, 0xa
neg ebp
lea esi, [eax + eax]
not esi
add esi, eax
or esi, ebx
xor esi, ebp
rol ebx, 0xa
mov dword [esp + 0x44], ebx
lea edi, [esi + edx]
add edi, 0xa953fd4e
lea edx, [ebx + ebx]
not edx
add edx, ebx
mov esi, ebp
and esi, ebx
sub edx, esi
lea esi, [edx + esi*2]
mov dword [esp + 8], esi
rol edi, 6
mov edx, dword [esp]
add edi, edx
mov dword [esp + 4], edi
and edi, esi
mov ebx, edi
and ebx, 0xfffffffd
mov esi, edi
or esi, 0xfffffffd
inc esi
imul esi, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
sub esi, edi
add edx, dword [esp + 0x24]
add edx, dword [esp + 8]
mov edi, dword [esp + 4]
add edx, edi
add edx, esi
add edx, 0xa953fd4e
rol edx, 8
rol ebp, 0xa
mov dword [esp + 0x10], ebp
add edx, eax
mov ecx, ebp
not ecx
or ecx, edi
mov ebp, edi
xor ecx, edx
mov edi, edx
mov dword [esp + 0x14], edx
mov edx, ecx
mov esi, dword [esp + 0x4c]
xor ecx, esi
add ecx, eax
and edx, esi
lea eax, [ecx + edx*2]
add eax, 0xa953fd4e
rol eax, 0xd
add eax, dword [esp + 0x44]
mov dword [esp + 0x68], eax
rol ebp, 0xa
mov dword [esp + 4], ebp
not ebp
or ebp, edi
xor ebp, eax
add ebp, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov ecx, ebp
xor ecx, 0x56ac02b1
mov eax, ebp
or eax, 0xa953fd4e
and eax, ecx
mov ecx, ebp
and ecx, 2
mov edx, eax
or eax, 2
imul eax, ecx
xor ecx, 2
and edx, 0xfffffffd
imul edx, ecx
add eax, edx
mov dword [esp], eax
mov edx, dword [esp + 0x70]
lea ecx, [edx + edx]
not ecx
add ecx, edx
mov ebp, edx
or ecx, dword [esp + 0x78]
mov edx, ecx
mov esi, dword [esp + 0x74]
and edx, esi
add edx, edx
sub ecx, edx
add ecx, esi
mov ebx, esi
mov eax, dword [esp + 0x48]
mov edx, eax
neg edx
lea esi, [eax - 1]
and esi, ecx
not ecx
and ecx, edx
sub esi, ecx
mov ecx, esi
or ecx, 0x50a28be5
and esi, 0x50a28be5
add ecx, dword [esp + 0x80]
add ecx, esi
inc ecx
mov edx, ecx
shr ecx, 0x18
mov esi, ecx
not esi
and esi, 4
xor ecx, 0xa5be5604
or ecx, esi
shl edx, 8
xor ecx, edx
xor ecx, 0xa5be5604
mov edi, dword [esp + 0x7c]
add ecx, edi
mov eax, dword [esp + 0xc]
mov edx, eax
not edx
or edx, ebx
mov esi, ecx
and esi, edx
add edx, dword [esp + 0x54]
add edx, ecx
add esi, esi
sub edx, esi
mov esi, edx
and esi, 0xd0a28be6
xor edx, 0x50a28be6
lea edx, [edx + esi*2]
mov esi, edx
and esi, edi
xor edx, edi
lea ebx, [edx + esi*2]
rol ebx, 9
add ebx, ebp
mov edx, dword [esp + 0x1c]
not edx
or edx, ecx
xor edx, ebx
mov esi, dword [esp + 0x3c]
add esi, ebp
lea ebp, [edx + esi]
add ebp, 0x50a28be6
mov edx, dword [esp + 8]
xor edx, 0xa953fd4e
mov esi, dword [esp]
mov edi, esi
and edi, edx
mov dword [esp + 0x64], edi
rol ebp, 9
xor edx, esi
mov dword [esp + 8], edx
mov edx, eax
add ebp, eax
rol ecx, 0xa
mov eax, ecx
not eax
or eax, ebx
xor eax, ebp
add edx, dword [esp + 0x50]
lea edi, [eax + edx]
add edi, 0x50a28be6
rol ebx, 0xa
mov edx, ebx
and edx, 0xfffffffd
mov esi, ebx
and esi, 2
mov eax, ebx
or eax, 2
imul eax, esi
xor esi, 2
imul esi, edx
sub eax, ebx
add eax, esi
mov edx, ebp
not edx
and eax, edx
lea edx, [eax + eax]
not edx
add edx, eax
rol edi, 0xb
mov eax, dword [esp + 0x1c]
add edi, eax
xor edx, edi
add eax, dword [esp + 0x38]
lea esi, [edx + eax]
add esi, 0x50a28be6
rol ebp, 0xa
mov eax, edi
not eax
or eax, ebp
mov dword [esp + 0x1c], ebp
mov edx, edi
sub edx, ebp
add edx, eax
rol esi, 0xd
add esi, ecx
mov dword [esp], esi
xor edx, esi
mov eax, dword [esp + 0x4c]
add eax, edx
add eax, 0xc3b99e8
mov edx, eax
xor eax, 0xf3c46618
add eax, ecx
and edx, 0xf3c46618
lea eax, [eax + edx*2]
add eax, 0x50a28be6
mov dword [esp + 0xc], eax
mov edx, edi
shl edx, 0xa
mov esi, edi
shr esi, 0x16
shl edi, 0xb
not edi
add edi, edx
lea eax, [esi + esi]
not eax
add eax, esi
mov ecx, eax
or eax, edi
and edi, 0x66d4b8ea
and edx, 0x992b4400
or edx, edi
and ecx, 0x66d4b8ea
and esi, 0x315
or esi, ecx
xor esi, edx
not eax
or eax, esi
mov edx, dword [esp]
mov ecx, edx
not ecx
or ecx, eax
sub edx, eax
add edx, ecx
mov ebp, dword [esp + 0xc]
rol ebp, 0xf
add ebp, ebx
mov edi, ebp
and edi, edx
mov ecx, edi
and ecx, 0xfffffffd
mov esi, edi
or esi, 0xfffffffd
inc esi
imul esi, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
sub esi, edi
add ebx, dword [esp + 0x18]
add ebx, edx
add ebx, ebp
lea edx, [esi + ebx]
add edx, 0x50a28be6
rol edx, 0xf
mov esi, dword [esp + 8]
add esi, dword [esp + 0x44]
add edx, dword [esp + 0x1c]
mov ecx, dword [esp]
rol ecx, 0xa
mov dword [esp], ecx
not ecx
or ecx, ebp
xor ecx, edx
mov edi, dword [esp + 0x1c]
add edi, dword [esp + 0x34]
add edi, ecx
add edi, 0x50a28be6
rol edi, 5
mov ecx, dword [esp + 0x64]
lea ecx, [esi + ecx*2]
mov dword [esp + 0x1c], ecx
add edi, eax
rol ebp, 0xa
mov dword [esp + 0xc], ebp
not ebp
or ebp, edx
xor ebp, edi
add eax, dword [esp + 0x5c]
add eax, ebp
add eax, 0x50a28be6
rol eax, 7
mov ebp, dword [esp]
lea ecx, [eax + ebp]
add ecx, 0xdd7266b8
mov esi, ecx
xor esi, 0x228d9947
and ecx, 0x228d9947
lea eax, [esi + ecx*2]
lea ebx, [esi + ecx*2]
inc ebx
rol edx, 0xa
mov esi, edx
not esi
or esi, edi
mov ecx, ebx
and ecx, esi
add esi, dword [esp + 0x20]
add esi, ebx
add ecx, ecx
sub esi, ecx
add esi, 0x50a28be6
mov ecx, esi
and ecx, ebp
xor esi, ebp
lea ebp, [esi + ecx*2]
rol edi, 0xa
mov dword [esp + 8], edi
mov esi, edi
not esi
mov dword [esp + 0x44], esi
mov ecx, ebx
xor ecx, esi
add eax, ecx
inc eax
mov ecx, ebx
and ecx, edi
sub eax, ecx
rol ebp, 7
mov ecx, dword [esp + 0xc]
add ebp, ecx
xor eax, ebp
add ecx, dword [esp + 0x40]
add eax, ecx
add eax, 0x50a28be6
rol eax, 8
mov ecx, eax
and ecx, edx
xor eax, edx
lea edi, [eax + ecx*2]
mov eax, ebx
rol eax, 0xa
mov dword [esp + 0xc], eax
not eax
mov esi, ebp
and esi, eax
not esi
add eax, ebp
mov ebx, eax
xor eax, 1
add eax, esi
and ebx, 1
lea esi, [eax + ebx*2]
mov eax, edi
and eax, esi
mov ebx, eax
and ebx, 0xfffffffd
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
xor ecx, 2
imul ecx, ebx
add eax, ecx
add esi, edi
mov ecx, esi
not ecx
and ecx, eax
not eax
and eax, esi
sub eax, ecx
add eax, dword [esp + 0x2c]
mov ecx, eax
xor eax, 0x50a28be6
add eax, edx
and ecx, 0xd0a28be6
lea eax, [eax + ecx*2]
rol eax, 0xb
mov ecx, dword [esp + 8]
add eax, ecx
add eax, 0xba14a0c7
mov ecx, eax
or ecx, 0x45eb5f38
and eax, 0x45eb5f38
lea ebx, [ecx + eax]
inc ebx
mov edx, ebp
shr ebp, 0x16
mov eax, ebp
not eax
mov ecx, eax
and ecx, 0xe3424cfe
and ebp, 0x301
or ebp, ecx
shl edx, 0xa
xor ebp, edx
sub eax, edx
xor ebp, 0x1cbdb301
or eax, ebp
lea ebp, [eax + eax]
not ebp
add ebp, eax
mov ecx, ebp
and ecx, 0xa1e5b4e0
mov edx, eax
and edx, 0x5e1a4b1f
or edx, ecx
xor edx, 0xa1e5b4e0
or edx, edi
mov esi, edi
mov ecx, ebx
mov dword [esp], ebx
and ebx, edx
add ebx, ebx
add edx, dword [esp + 0x30]
add edx, ecx
sub ebx, edx
lea ecx, [ebx - 0x50a28be6]
and ecx, dword [esp + 0x44]
mov edi, 0x50a28be5
sub edi, ebx
and edi, dword [esp + 8]
sub edi, ecx
rol edi, 0xe
mov edx, dword [esp + 0xc]
add edi, edx
mov ecx, dword [esp + 0x28]
add ecx, edx
rol esi, 0xa
mov dword [esp + 8], esi
not esi
mov ebx, dword [esp]
or esi, ebx
xor esi, edi
add ecx, esi
add ecx, 0x50a28be6
mov esi, 0xfffffffe
sub esi, eax
inc eax
rol ecx, 0xe
and esi, ecx
not ecx
and ecx, eax
sub esi, ecx
rol ebx, 0xa
mov dword [esp], ebx
lea eax, [ebx + ebx]
not eax
add eax, ebx
or eax, edi
xor eax, esi
add ebp, dword [esp + 0x58]
lea ecx, [eax + ebp]
add ecx, 0x50a28be6
rol ecx, 0xc
mov eax, dword [esp + 8]
mov ebx, eax
neg ebx
xor ebx, ecx
lea edx, [eax - 1]
mov ebp, eax
and edx, ecx
mov eax, dword [esp + 0x1c]
rol eax, 0xc
add edx, edx
sub edx, ebx
rol edi, 0xa
mov ecx, edi
not ecx
or ecx, esi
xor ecx, edx
add ebp, dword [esp + 0x24]
add ecx, ebp
add ecx, 0x50a28be6
mov ebp, dword [esp + 0x10]
add eax, ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
rol eax, 0xa
mov dword [esp + 0x14], eax
not eax
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x68]
or ebx, eax
xor ebx, dword [esp + 0x1c]
add ebp, dword [esp + 0x54]
rol ecx, 6
lea eax, [ebx + ebp]
add eax, 0xa953fd4e
mov dword [esp + 0x44], eax
mov eax, dword [esp]
add ecx, eax
rol esi, 0xa
mov ebx, ecx
and ebx, esi
mov ebp, esi
not ebp
and ebp, edx
add ebp, dword [esp + 0x20]
add ebx, ebp
add ebx, 0x5c4dd124
mov ebp, eax
not ebp
or ebp, ebx
add ebp, eax
or eax, ebx
add eax, ebp
inc eax
rol eax, 9
add eax, edi
rol edx, 0xa
mov ebx, edx
not ebx
and ebx, ecx
add edi, dword [esp + 0x18]
add edi, ebx
mov ebx, eax
and ebx, edx
add edi, ebx
add edi, 0x5c4dd124
rol edi, 0xd
add edi, esi
rol ecx, 0xa
mov ebx, ecx
not ebx
mov ebp, edi
and ebp, ecx
and ebx, eax
add ebx, dword [esp + 0x58]
add ebx, ebp
add ebx, 0x5c4dd124
mov ebp, ebx
and ebp, esi
xor esi, ebx
lea ebx, [esi + ebp*2]
rol ebx, 0xf
add ebx, edx
mov dword [esp], ebx
mov ebp, eax
rol ebp, 0xa
mov dword [esp + 8], ebp
and ebx, ebp
not ebp
and ebp, edi
add ebp, dword [esp + 0x3c]
add ebp, ebx
add ebp, 0x5c4dd124
mov ebx, ebp
and ebx, edx
mov esi, ebx
and esi, 0xfffffffd
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
xor eax, 2
imul eax, esi
xor edx, ebp
add edx, ebx
add edx, eax
rol edx, 7
rol edi, 0xa
add edx, ecx
mov eax, edi
not eax
mov ebp, dword [esp]
and eax, ebp
add ecx, dword [esp + 0x50]
add ecx, eax
mov eax, edx
and eax, edi
add eax, ecx
add eax, 0x5c4dd124
mov ecx, dword [esp + 0x68]
rol ecx, 0xa
mov dword [esp + 0x68], ecx
mov ebx, ecx
not ebx
mov esi, dword [esp + 0x1c]
mov ecx, esi
not ecx
or ecx, ebx
add ecx, esi
inc ecx
xor ebx, esi
rol eax, 0xc
or ebx, ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 8]
add eax, ecx
add eax, 0xdc390dd2
mov ecx, eax
xor ecx, 0x23c6f22d
and eax, 0x23c6f22d
mov ebx, ebp
rol ebx, 0xa
mov dword [esp], ebx
lea esi, [ecx + eax*2]
lea ebp, [ecx + eax*2]
inc ebp
mov eax, ebp
not eax
or eax, ebx
add eax, esi
add eax, 2
mov ecx, ebx
not ecx
and ecx, edx
or ecx, eax
mov eax, ecx
and eax, 0xfa6ed67f
xor ecx, 0x7a6ed67f
add ecx, dword [esp + 0x5c]
lea eax, [ecx + eax*2]
add eax, 0xe1defaa5
mov ecx, eax
mov esi, dword [esp + 8]
and ecx, esi
xor esi, eax
lea ebx, [esi + ecx*2]
rol ebx, 8
add ebx, edi
rol edx, 0xa
mov eax, edx
not eax
and eax, ebp
add edi, dword [esp + 0x48]
add edi, eax
mov eax, ebx
and eax, edx
lea esi, [eax + edi]
add esi, 0x5c4dd124
mov eax, ebp
shl eax, 0xa
mov ecx, ebp
shr ecx, 0x16
lea edi, [ecx + ecx]
not edi
add edi, ecx
and edi, eax
shl ebp, 0xb
or ebp, ecx
sub ebp, edi
mov ecx, esi
rol ecx, 9
mov edi, dword [esp]
add ecx, edi
mov eax, ecx
mov esi, ecx
and eax, ebp
mov ecx, ebp
add ecx, ebp
not ecx
add ecx, ebp
and ecx, ebx
or ecx, eax
mov eax, edi
add eax, dword [esp + 0x28]
add ecx, eax
add ecx, 0x5c4dd124
rol ecx, 0xb
add ecx, edx
rol ebx, 0xa
mov eax, ecx
mov edi, ecx
and eax, ebx
mov ecx, esi
not ecx
or ecx, ebx
xor ecx, eax
add edx, dword [esp + 0x54]
rol esi, 0xa
mov dword [esp], esi
sub edx, ecx
mov eax, edi
not eax
or eax, esi
lea ecx, [eax + eax]
not ecx
add ecx, eax
add edx, 0x5c4dd123
rol edx, 7
add edx, ebp
mov eax, edx
and eax, esi
or ecx, eax
add ebp, dword [esp + 0x40]
lea esi, [ecx + ebp]
add esi, 0x5c4dd124
rol edi, 0xa
lea ecx, [edi + edi]
not ecx
add ecx, edi
mov dword [esp + 0x10], edi
mov eax, edx
and eax, ecx
lea ebp, [edx + ecx]
not ebp
lea eax, [eax*2]
add eax, ebp
or ecx, edx
and ecx, eax
mov eax, esi
rol eax, 7
add eax, ebx
mov dword [esp + 8], eax
and eax, edi
or ecx, eax
add ebx, dword [esp + 0x2c]
lea esi, [ecx + ebx]
add esi, 0x5c4dd124
mov ebp, esi
shl ebp, 0xc
mov ebx, esi
shl ebx, 0xd
not ebx
add ebx, ebp
mov ecx, ebx
xor ecx, 0x66d34d38
mov eax, ebx
or eax, 0x992cb2c7
and eax, ecx
mov ecx, ebp
and ecx, 0x66d34000
or ecx, eax
and ebp, 0x35346000
and ebx, 0xcacb993f
or ebx, ebp
mov eax, esi
shr eax, 0x14
xor ecx, eax
xor ebx, eax
rol esi, 0xc
xor ebx, 0x353466c0
and ebx, esi
xor ecx, 0x992cb2c7
or ebx, ecx
mov esi, dword [esp]
add ebx, esi
rol edx, 0xa
mov eax, ebx
xor eax, edx
mov ecx, ebx
sub ecx, eax
mov eax, ebx
not eax
and eax, edx
add ecx, eax
mov eax, edx
not eax
mov edi, dword [esp + 8]
and eax, edi
or eax, ecx
mov ecx, esi
add ecx, dword [esp + 0x24]
lea esi, [eax + ecx]
add esi, 0x5c4dd124
rol edi, 0xa
mov eax, edi
mov dword [esp + 8], edi
not eax
mov ecx, ebx
and ecx, eax
or eax, ebx
mov ebp, edi
sub ebp, ebx
add ebp, eax
not ebp
or ebp, ecx
rol esi, 7
mov ecx, dword [esp + 0x10]
add esi, ecx
mov eax, esi
not eax
or eax, edi
add eax, esi
inc eax
or ebp, eax
add ecx, dword [esp + 0x34]
lea eax, [ecx + ebp]
add eax, 0x5c4dd124
rol eax, 6
mov ebp, eax
mov eax, ebx
shl eax, 0xa
mov ecx, eax
not ecx
lea edi, [eax + ecx*2]
shr ebx, 0x16
not edi
and edi, 0xfffffc00
or edi, ebx
add ebp, edx
mov eax, edi
not eax
and eax, esi
add edx, dword [esp + 0x38]
add edx, eax
mov eax, ebp
mov dword [esp], ebp
and eax, edi
lea ebx, [eax + edx]
add ebx, 0x5c4dd124
rol esi, 0xa
lea eax, [esi + esi]
not eax
add eax, esi
mov ecx, esi
and ecx, 0x816561c
and eax, 0xf7e9a9e3
or eax, ecx
xor eax, esi
xor eax, 0x816561c
and eax, esi
rol ebx, 0xf
mov esi, dword [esp + 8]
add ebx, esi
mov ecx, eax
not ecx
mov edx, ebx
and edx, eax
and ecx, ebp
add ecx, dword [esp + 0x30]
add ecx, edx
add ecx, 0x5c4dd124
mov edx, ecx
and edx, esi
xor esi, ecx
lea ebp, [esi + edx*2]
rol ebp, 0xd
mov edx, dword [esp]
rol edx, 0xa
mov dword [esp], edx
add ebp, edi
mov ecx, ebp
xor ecx, ebx
and ecx, edx
xor ecx, ebx
add ecx, dword [esp + 0x4c]
mov esi, ecx
xor esi, 0x5c4dd123
and ecx, 0xdc4dd123
lea ecx, [esi + ecx*2]
inc ecx
mov dword [esp + 8], ecx
and ecx, edi
mov esi, ecx
and esi, 0xfffffffd
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
xor edx, 2
imul edx, esi
xor edi, dword [esp + 8]
add edi, ecx
add edi, edx
rol edi, 0xb
mov edx, edi
and edx, 1
xor edi, 1
add edi, eax
lea ecx, [edi + edx*2]
lea esi, [edi + edx*2]
dec esi
mov edx, ebp
not edx
rol ebx, 0xa
or edx, esi
mov edi, esi
mov dword [esp + 0x10], esi
xor edx, ebx
add eax, dword [esp + 0x40]
lea esi, [edx + eax]
add esi, 0x6d703ef3
rol esi, 9
lea eax, [ecx + ecx]
add eax, 0xfffffffe
not eax
add ecx, eax
dec ecx
and ecx, 0xff56f203
mov eax, edi
and eax, 0xa90dfc
or eax, ecx
mov edx, dword [esp]
add esi, edx
lea ecx, [esi + esi]
not ecx
add ecx, esi
xor eax, 0xff56f203
and eax, ecx
lea ecx, [eax + eax]
not ecx
add ecx, eax
rol ebp, 0xa
xor ecx, ebp
mov eax, edx
add eax, dword [esp + 0x48]
lea edi, [ecx + eax]
add edi, 0x6d703ef3
mov ecx, esi
not ecx
rol edi, 7
add edi, ebx
mov eax, dword [esp + 0x10]
rol eax, 0xa
mov dword [esp + 0x10], eax
or ecx, edi
xor ecx, eax
mov eax, dword [esp + 0x30]
add ebx, eax
add ebx, ecx
add ebx, 0x6d703ef3
rol ebx, 0xf
add ebx, ebp
rol esi, 0xa
mov ecx, edi
not ecx
or ecx, ebx
xor ecx, esi
add ebp, dword [esp + 0x58]
add ebp, ecx
add ebp, 0x6d703ef3
mov edx, dword [esp + 0x44]
rol edx, 5
mov ecx, eax
neg ecx
add edx, dword [esp + 4]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0xc]
xor eax, edx
neg eax
mov edx, eax
and edx, ecx
mov dword [esp + 0x6c], edx
rol ebp, 0xb
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add ebp, eax
rol edi, 0xa
mov ecx, ebx
not ecx
or ecx, ebp
mov dword [esp + 8], ebp
xor ecx, edi
add eax, dword [esp + 0x3c]
add eax, ecx
add eax, 0x6d703ef3
rol eax, 8
add eax, esi
mov dword [esp], eax
rol ebx, 0xa
mov ecx, ebp
not ecx
or ecx, eax
xor ecx, ebx
mov edx, ecx
mov eax, dword [esp + 0x54]
xor ecx, eax
add ecx, esi
and edx, eax
lea ebp, [ecx + edx*2]
add ebp, 0x6d703ef3
rol ebp, 6
mov esi, dword [esp + 8]
rol esi, 0xa
mov dword [esp + 8], esi
add ebp, edi
mov eax, dword [esp]
lea ecx, [eax + eax]
not ecx
add ecx, eax
or ecx, ebp
not esi
mov edx, ecx
or edx, esi
lea eax, [edx + edx]
not eax
add eax, edx
and esi, ecx
or esi, eax
add edi, dword [esp + 0x20]
add edi, esi
add edi, 0x6d703ef3
rol edi, 6
mov edx, dword [esp]
rol edx, 0xa
mov dword [esp], edx
add edi, ebx
mov eax, ebp
not eax
or eax, edi
xor eax, edx
add ebx, eax
mov ecx, eax
mov edx, dword [esp + 0x38]
or eax, edx
add eax, ebx
not ecx
or ecx, edx
lea edx, [ecx + eax]
add edx, 0x6d703ef4
rol edx, 0xe
rol ebp, 0xa
mov esi, dword [esp + 8]
add edx, esi
mov ebx, edx
not ebx
lea eax, [edx + ebx*2]
inc eax
not eax
lea ecx, [edi + edi]
not ecx
add ecx, edi
or ecx, eax
xor ecx, ebp
add esi, dword [esp + 0x18]
lea eax, [ecx + esi]
add eax, 0x6d703ef3
rol eax, 0xc
mov esi, edi
rol esi, 0xa
mov dword [esp + 0x10], esi
mov edi, dword [esp]
add eax, edi
or ebx, eax
xor ebx, esi
add ebx, dword [esp + 0x2c]
mov ecx, ebx
xor ebx, 0x6d703ef3
add ebx, edi
and ecx, 0xed703ef3
lea esi, [ebx + ecx*2]
rol esi, 0xd
add esi, ebp
mov dword [esp + 8], esi
mov ecx, esi
and ecx, eax
mov edi, esi
not edi
mov ebx, edi
xor ebx, eax
add ebx, esi
sub ebx, ecx
rol edx, 0xa
xor ebx, edx
add ebx, dword [esp + 0x24]
mov ecx, ebx
not ecx
or ecx, 0x6d703ef3
add ebp, ebx
add ebp, ecx
or ebx, 0x6d703ef3
lea esi, [ebx + ebp]
inc esi
mov ebx, eax
shl ebx, 0xa
mov ecx, eax
shl eax, 0xb
not eax
add eax, ebx
and eax, 0xaf28f6e
and ebx, 0xf50d7000
or ebx, eax
shr ecx, 0x16
xor ebx, ecx
rol esi, 5
mov ebp, dword [esp + 0x10]
add esi, ebp
mov eax, ebx
xor eax, 0xaf28f6e
or edi, esi
xor ebx, 0xf50d7091
and ebx, edi
not edi
and edi, eax
add ebx, dword [esp + 0x4c]
lea ecx, [edi + ebx]
add ecx, 0x11f0e618
mov edi, ecx
xor ecx, 0x5b7f58db
add ecx, ebp
and edi, 0xdb7f58db
lea ebp, [ecx + edi*2]
rol ebp, 0xe
mov edi, dword [esp + 8]
rol edi, 0xa
mov dword [esp + 8], edi
add ebp, edx
lea ecx, [esi + esi]
not ecx
add ecx, esi
or ecx, ebp
xor ecx, edi
add edx, dword [esp + 0x28]
add edx, ecx
add edx, 0x6d703ef3
rol edx, 0xd
add edx, eax
mov dword [esp], edx
mov edi, edx
not edi
lea ecx, [edx + edx]
not ecx
add ecx, edx
or ecx, edi
rol esi, 0xa
and ecx, ebp
xor ecx, esi
not ecx
add eax, dword [esp + 0x50]
lea ebx, [ecx + eax]
add ebx, 0x6d703ef3
mov ecx, ebp
shr ecx, 0x16
mov edx, ebp
shl edx, 0xb
or edx, ecx
rol ebx, 0xd
shl ebp, 0xa
sub edx, ebp
add ebx, dword [esp + 8]
mov ebp, ebx
not ebp
mov eax, dword [esp]
mov edi, eax
or edi, ebp
mov ecx, ebx
sub ecx, eax
add ecx, edi
mov edi, edx
xor edi, 0xed20a856
mov eax, edx
or eax, 0x12df57a9
and eax, edi
mov edi, edx
not edi
and edi, 0xed20a856
add eax, edi
xor eax, ecx
xor eax, 0xed20a856
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x34]
add eax, ecx
add eax, 0x6d703ef3
rol eax, 7
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0xc]
lea ecx, [edi + ecx*2]
mov dword [esp + 8], ecx
mov ecx, eax
and ecx, esi
xor eax, esi
lea edi, [eax + ecx*2]
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
and ecx, ebp
mov eax, dword [esp]
rol eax, 0xa
mov dword [esp], eax
or ecx, edi
mov ebp, ecx
and ebp, eax
add ebp, ebp
sub ebp, eax
mov eax, ecx
not eax
and eax, ebp
not ebp
and ebp, ecx
mov ecx, dword [esp + 0x5c]
sub ecx, eax
lea eax, [ecx + ebp]
add eax, 0x6d703ef3
mov ecx, eax
and ecx, esi
xor esi, eax
lea ebp, [esi + ecx*2]
rol ebp, 5
rol ebx, 0xa
lea eax, [ebx + ebx]
not eax
add eax, ebx
not ebx
or ebx, eax
add ebp, edx
lea eax, [ebx + ebx]
not eax
add eax, ebx
mov ecx, ebp
not ecx
and ecx, eax
add edx, dword [esp + 0x2c]
add edx, ecx
mov ecx, ebp
and ecx, edi
add ecx, edx
add ecx, 0x7a6d76e9
mov edx, edi
shl edx, 0xa
mov esi, edx
not esi
lea edx, [edx + esi*2]
inc edx
shr edi, 0x16
xor edx, edi
mov dword [esp + 0x6c], edx
rol ecx, 0xf
add ecx, dword [esp]
mov edi, edx
not edi
mov dword [esp + 0xc], edi
mov edx, ecx
mov esi, ecx
mov dword [esp + 0x10], ecx
and edx, ebp
not esi
and esi, edi
add esi, dword [esp + 0x20]
add edx, esi
add edx, 0x94b870a
mov esi, edx
xor edx, 0x7a6d76e9
add edx, dword [esp]
and esi, 0xfa6d76e9
lea edx, [edx + esi*2]
add edx, 0xf6b478f6
mov esi, dword [esp + 8]
neg esi
rol edx, 5
mov ecx, dword [esp + 4]
add ecx, esi
add ecx, 0xa953fd4e
mov dword [esp + 8], ecx
and ebx, 0x3873986
mov esi, eax
and esi, 0xfc78c679
or esi, ebx
xor esi, edx
and edx, eax
add edx, edx
xor esi, 0x3873986
mov edi, edx
and edi, esi
xor esi, edx
lea edi, [esi + edi*2]
rol ebp, 0xa
mov ebx, edi
and ebx, dword [esp + 0x10]
lea esi, [edi + edi]
not esi
add esi, edi
and esi, ebp
mov edx, esi
not edx
and edx, ebx
xor esi, ebx
add ebx, dword [esp + 0x34]
add ebx, esi
sub ebx, edx
mov edx, ebx
xor edx, 0x85928916
or ebx, 0x7a6d76e9
and edx, ebx
add ebx, eax
add ebx, edx
mov eax, ebx
shl eax, 8
mov edx, ebx
shl edx, 9
not edx
add edx, eax
mov eax, ebx
shr eax, 0x18
lea ecx, [eax + eax]
not ecx
add ecx, eax
rol ebx, 8
and ecx, edx
not ecx
and ecx, ebx
mov eax, dword [esp + 0x6c]
sub eax, ecx
add ecx, dword [esp + 0xc]
mov ebx, ecx
mov dword [esp], ecx
mov esi, eax
and eax, 0xd76d662
and ebx, 0xf289299d
or ebx, eax
mov edx, dword [esp + 0x10]
rol edx, 0xa
mov dword [esp + 0x10], edx
lea eax, [edx + edx]
not eax
add eax, edx
and edx, 0x31d69805
and eax, 0xce2967fa
or eax, edx
xor eax, ebx
xor ebx, 0xf289299d
xor eax, 0xc35fb198
and eax, ebx
not esi
and esi, edi
or eax, esi
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x30]
add ecx, eax
add ecx, 0x7a6d76e9
rol ecx, 0xb
rol edi, 0xa
add ecx, ebp
mov eax, ecx
not eax
and eax, edi
add ebp, dword [esp + 0x58]
add ebp, eax
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0xc], ecx
mov esi, dword [esp]
and eax, esi
add ebp, eax
add ebp, 0x7a6d76e9
rol ebp, 0xe
mov edx, dword [esp + 0x10]
add ebp, edx
rol esi, 0xa
mov ecx, ebp
and ecx, ebx
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
and eax, esi
or eax, ecx
mov ecx, eax
not ecx
lea ebx, [ecx + ecx]
not ebx
add ebx, ecx
and ebx, eax
mov eax, edx
add eax, dword [esp + 0x18]
add ebx, eax
add ebx, 0x7a6d76e9
mov edx, dword [esp + 8]
rol edx, 0xc
add edx, dword [esp + 0x14]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x1c]
rol eax, 0xa
mov dword [esp + 0x1c], eax
mov ecx, eax
not ecx
or ecx, dword [esp + 0x44]
mov eax, edx
and eax, ecx
add ecx, dword [esp + 0x58]
add ecx, edx
add eax, eax
rol ebx, 0xe
sub ecx, eax
mov dword [esp], ecx
add ebx, edi
mov eax, dword [esp + 0xc]
rol eax, 0xa
mov dword [esp + 0xc], eax
mov ecx, ebx
not ecx
mov dword [esp + 0x10], ecx
and eax, ecx
add edi, dword [esp + 0x40]
add edi, eax
mov eax, ebx
and eax, ebp
add eax, edi
add eax, 0x7a6d76e9
mov dword [esp + 4], eax
mov edi, ebp
shl edi, 0xa
shr ebp, 0x16
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
mov ecx, eax
and ecx, 0x6aba988a
and ebp, 0x375
mov edx, edi
xor edi, 0x6aba988a
or ebp, ecx
and ecx, edi
add ebp, edi
add ecx, ecx
sub ebp, ecx
not edx
or eax, edx
lea edi, [eax + eax]
not edi
add edi, eax
mov edx, dword [esp + 4]
rol edx, 6
or edi, ebp
add edx, esi
mov dword [esp + 4], edx
lea ebp, [edx + edx]
not ebp
add ebp, edx
mov eax, edx
and eax, 0x94d419b3
mov ecx, ebp
and ebp, 0x6b2be64c
or ebp, eax
mov eax, edx
not eax
mov edx, dword [esp + 0x10]
or edx, eax
xor ebp, edi
xor ebp, 0x94d419b3
and eax, edi
or eax, ebp
xor ecx, edi
not eax
or eax, ecx
and eax, edx
mov ecx, dword [esp + 0x60]
xor ecx, eax
add ecx, esi
not eax
and eax, dword [esp + 0x50]
lea esi, [ecx + eax*2]
add esi, 0x7a6d76e9
rol esi, 0xe
add esi, dword [esp + 0xc]
mov dword [esp + 0x10], esi
mov ebp, esi
not ebp
mov eax, ebp
and eax, 2
mov ecx, esi
and ecx, 0xfffffffd
imul ecx, eax
mov edx, esi
and edx, 2
mov eax, esi
or eax, 2
imul eax, edx
add eax, ecx
rol ebx, 0xa
mov ecx, esi
and ecx, dword [esp + 4]
not eax
add eax, esi
and eax, ebx
or eax, ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x48]
lea esi, [eax + ecx]
add esi, 0x7a6d76e9
rol esi, 6
add esi, edi
mov eax, esi
not eax
or eax, ebp
mov ebp, eax
not ebp
mov edx, ebp
add edx, ebp
not edx
add edx, ebp
and eax, edx
lea ebp, [eax + eax]
not ebp
add ebp, eax
and eax, 0xed5dfede
and ebp, 0x12a20121
or ebp, eax
mov eax, dword [esp + 4]
rol eax, 0xa
mov dword [esp + 4], eax
not eax
or eax, esi
xor ebp, eax
or eax, edx
xor ebp, 0x12a20121
not eax
or eax, ebp
add edi, dword [esp + 0x24]
lea ecx, [eax + edi]
add ecx, 0x7a6d76e9
rol ecx, 9
add ecx, ebx
mov eax, ecx
mov dword [esp + 0xc], esi
xor eax, esi
lea edx, [eax + eax]
not edx
add edx, eax
mov eax, ecx
or eax, esi
and eax, edx
mov esi, dword [esp + 0x10]
rol esi, 0xa
mov dword [esp + 0x10], esi
mov edx, ecx
and edx, 0x55e60654
or edx, 0x8a01a12a
mov edi, ecx
mov dword [esp + 0x60], ecx
and edi, 0xaa19f9ab
xor edi, edx
xor edi, 0x75fe5ed5
and edi, esi
or edi, eax
mov eax, dword [esp + 0x4c]
add eax, edi
add eax, 0x7a6d76e9
add ebx, 0xa8810223
mov edx, eax
and edx, ebx
xor ebx, eax
lea ebp, [ebx + edx*2]
add ebp, 0x577efddd
rol ebp, 0xc
mov esi, dword [esp + 4]
add ebp, esi
mov edx, dword [esp + 0xc]
rol edx, 0xa
mov dword [esp + 0xc], edx
mov eax, ebp
and eax, ecx
not edx
or edx, ebp
xor edx, eax
mov eax, edx
not eax
mov ecx, dword [esp + 0x5c]
add eax, ecx
lea edi, [eax + eax]
add eax, esi
and edi, 0xf4daedd2
sub eax, edi
sub edx, ecx
not edx
and edx, 0xfa6d76e9
lea edx, [eax + edx*2]
add edx, 0x7a6d76e9
mov ebx, edx
shl ebx, 9
mov esi, ebx
not esi
mov ecx, esi
and ecx, 0xe78bb58
mov edi, ebx
and edi, 0xf1874400
or edi, ecx
and ebx, 0xb437b000
and esi, 0x4bc84e38
or esi, ebx
mov ecx, edx
shr ecx, 0x17
xor edi, ecx
xor esi, ecx
rol edx, 9
xor esi, 0xb437b1c7
and esi, edx
xor edi, 0xe78bb58
or esi, edi
mov eax, dword [esp + 0x60]
rol eax, 0xa
mov dword [esp + 0x60], eax
add esi, dword [esp + 0x10]
mov ecx, esi
not ecx
or ecx, ebp
lea edi, [ecx + esi]
inc edi
lea edx, [esi + esi]
not edx
add edx, esi
and edx, eax
lea ecx, [edx + edx]
not ecx
add ecx, edx
and ecx, edi
mov ebx, edx
not ebx
and ebx, edi
add edx, dword [esp + 0x38]
sub edx, ecx
lea ecx, [edx + ebx*2]
mov edx, ecx
xor ecx, 0x7a6d76e9
add ecx, dword [esp + 0x10]
and edx, 0xfa6d76e9
lea edi, [ecx + edx*2]
mov eax, 0x56ac02b2
sub eax, dword [esp]
rol edi, 0xc
and eax, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0xc]
add edi, ebx
rol ebp, 0xa
mov ecx, edi
not ecx
mov edx, esi
or edx, ecx
add edx, edi
inc edx
and ecx, ebp
or ecx, edx
mov eax, dword [esp + 0x3c]
add ecx, eax
add ecx, 0x7a6d76e9
mov edx, ecx
mov eax, ebx
and edx, ebx
xor eax, ecx
lea edx, [eax + edx*2]
rol edx, 5
rol esi, 0xa
add edx, dword [esp + 0x60]
mov dword [esp + 0xc], edx
mov ecx, edx
and ecx, edi
not edx
mov ebx, esi
and ebx, edx
or ebx, ecx
mov ecx, dword [esp + 0x28]
lea eax, [ebx + ecx]
mov dword [esp + 4], eax
mov eax, 0x85928917
sub eax, dword [esp + 4]
add ecx, ebx
add ecx, 0x7a6d76e8
mov ebx, dword [esp + 0x60]
and ecx, ebx
not ebx
and eax, ebx
sub ecx, eax
mov eax, dword [esp]
add eax, 0xa953fd4d
rol ecx, 0xf
and eax, dword [esp + 0x14]
mov dword [esp], eax
add ecx, ebp
rol edi, 0xa
mov eax, ecx
and eax, edx
add edx, ecx
add eax, eax
sub edx, eax
and edx, ecx
lea eax, [ecx + ecx]
not eax
add eax, ecx
mov ebx, ecx
and eax, edi
or eax, edx
mov ecx, dword [esp + 0x54]
add eax, ecx
add eax, 0x7a6d76e9
mov edx, eax
and edx, ebp
xor ebp, eax
lea ecx, [edx*2]
add ecx, ebp
rol ecx, 8
add ecx, esi
mov eax, ecx
and eax, ebx
add eax, eax
lea edx, [ecx + ebx]
mov ebp, ecx
mov dword [esp + 0x14], ecx
sub edx, eax
mov eax, dword [esp + 0xc]
rol eax, 0xa
mov dword [esp + 0xc], eax
xor edx, eax
mov eax, edx
mov ecx, dword [esp + 0x24]
and eax, ecx
xor edx, ecx
add edx, esi
lea ecx, [edx + eax*2]
rol ecx, 8
rol ebx, 0xa
mov dword [esp + 0x10], ebx
add ecx, edi
mov eax, ebp
xor eax, ebx
xor eax, ecx
mov dword [esp + 4], ecx
add edi, dword [esp + 0x40]
add edi, eax
rol edi, 5
mov eax, dword [esp + 0x64]
sub dword [esp], eax
mov esi, dword [esp + 0xc]
add edi, esi
mov eax, edi
xor eax, ecx
mov ebx, edi
sub ebx, eax
mov eax, edi
not eax
mov edx, ecx
and edx, eax
add ebx, edx
mov ebp, edi
or ebp, ecx
mov edx, ebp
add edx, ebp
not edx
add edx, ebp
and ebp, ebx
xor edx, ebx
add edx, ebx
not edx
add edx, ebp
mov ecx, esi
add ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
rol esi, 0xa
xor edx, esi
mov ebp, esi
add ecx, edx
rol ecx, 0xc
mov edx, eax
and edx, 0xcf20fee0
or eax, 0x30df011f
add eax, edi
inc eax
or eax, edx
mov ebx, dword [esp + 0x10]
add ecx, ebx
mov dword [esp + 0xc], ecx
lea edx, [ecx + ecx]
not edx
add edx, ecx
and edx, 0xcf20fee0
mov esi, ecx
and esi, 0x30df011f
or esi, edx
mov ecx, dword [esp + 4]
rol ecx, 0xa
mov dword [esp + 4], ecx
xor eax, ecx
xor eax, esi
mov ecx, ebx
add ecx, dword [esp + 0x34]
mov ebx, dword [esp]
rol ebx, 0xd
add ecx, eax
rol ecx, 9
add ecx, ebp
mov dword [esp + 0x10], ecx
add ebp, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x44]
rol ecx, 0xa
mov edx, dword [esp + 8]
mov eax, edx
sub eax, ecx
not edx
or edx, ecx
add edx, eax
mov eax, ebx
add eax, dword [esp + 0x68]
mov dword [esp], eax
not eax
lea esi, [edx + edx]
not esi
add esi, edx
not edx
and esi, edx
or esi, eax
and edx, eax
xor edx, esi
mov eax, edx
mov ebp, dword [esp + 0x2c]
and eax, ebp
mov esi, eax
and esi, 0xfffffffd
mov ebx, eax
and ebx, 2
or eax, 2
imul eax, ebx
xor ebx, 2
imul ebx, esi
xor edx, ebp
add edx, dword [esp + 0x68]
add edx, eax
lea eax, [ebx + edx]
add eax, 0xa953fd4e
rol eax, 0xe
mov edx, eax
mov esi, dword [esp + 0x1c]
and edx, esi
xor eax, esi
lea ebp, [eax + edx*2]
mov eax, dword [esp + 8]
rol eax, 0xa
mov dword [esp + 8], eax
not eax
mov ebx, dword [esp]
or eax, ebx
xor eax, ebp
add esi, dword [esp + 0x18]
add eax, esi
add eax, 0xa953fd4e
rol eax, 0xb
xor eax, 0x7df21b36
mov edx, eax
and edx, 0x15b94f06
xor edx, 0xfff6bbff
and eax, 0xea46b0f9
xor eax, 0x68421030
add edx, eax
inc edx
mov esi, edx
and esi, ecx
xor edx, ecx
lea eax, [edx + esi*2]
mov dword [esp + 0x30], eax
lea eax, [edx + esi*2]
add eax, 0x15b94f06
mov dword [esp + 0x28], eax
rol ebx, 0xa
mov dword [esp], ebx
lea edx, [ebx + ebx]
not edx
add edx, ebx
or edx, ebp
xor edx, eax
add edx, dword [esp + 0x20]
mov esi, edx
and esi, 0x2953fd4e
xor edx, 0xa953fd4e
lea edx, [edx + esi*2]
mov esi, edx
and esi, ecx
xor ecx, edx
lea edx, [ecx + esi*2]
rol edx, 8
mov esi, edx
mov eax, dword [esp + 8]
xor esi, eax
or edx, eax
xor esi, edx
rol ebp, 0xa
add esi, edx
mov dword [esp + 0x34], esi
mov edx, ebp
and edx, 0xfffffffd
mov esi, ebp
or esi, 0xfffffffd
inc esi
imul esi, edx
mov edx, ebp
and edx, 2
mov ebx, ebp
mov ecx, ebp
mov dword [esp + 0x24], ebp
or ebx, 2
imul ebx, edx
sub esi, ebx
mov edx, 0xea46b0f9
sub edx, dword [esp + 0x30]
mov eax, edx
and eax, 0xa31632f2
mov ebp, dword [esp + 0x28]
mov ebx, ebp
and ebx, 0x5ce9cd0d
or ebx, eax
lea eax, [ecx + esi]
dec eax
xor ebx, eax
mov esi, ebp
or esi, eax
sub edx, eax
add edx, esi
xor ebx, 0xa31632f2
not edx
or edx, ebx
mov ecx, dword [esp + 0x34]
xor edx, ecx
add edx, dword [esp + 0x40]
mov eax, edx
xor edx, 0xa953fd4e
add edx, dword [esp + 8]
and eax, 0x2953fd4e
lea ebx, [edx + eax*2]
rol ebx, 5
rol ebp, 0xa
mov dword [esp + 0x28], ebp
mov eax, ebp
not eax
lea edx, [eax*2]
add edx, ebp
mov esi, 0xfffffffe
sub esi, edx
and esi, 0x85e2e0c6
lea edx, [eax*2 + 1]
add edx, ebp
and eax, 0x7a1d1f39
or eax, esi
xor eax, ecx
xor eax, 0x85e2e0c6
and edx, ecx
or edx, eax
mov eax, ebx
add eax, dword [esp]
mov dword [esp + 0x40], eax
mov ecx, eax
and ecx, 0x4548d63a
xor ecx, edx
and eax, 0xbab729c5
xor ecx, eax
mov dword [esp + 0x30], ecx
mov eax, edi
shr edi, 0x16
lea edx, [edi + edi]
not edx
add edx, edi
and edx, 0x2da4903d
and edi, 0xffffffc2
or edi, edx
shl eax, 0xa
xor edi, eax
mov ebx, dword [esp + 0x10]
mov edx, ebx
mov esi, dword [esp + 0xc]
xor edx, esi
mov eax, edi
xor edi, 0xd25b6fc2
and edi, edx
mov ebp, dword [esp + 0x14]
add ebp, edi
xor eax, 0x2da4903d
not edx
and edx, eax
add ebp, edx
rol ebp, 0xc
mov ecx, dword [esp + 4]
add ebp, ecx
add ecx, dword [esp + 0x48]
rol esi, 0xa
mov dword [esp + 0xc], esi
mov edi, ebx
mov edx, ebx
xor edx, esi
xor edx, ebp
mov ebx, ebp
mov dword [esp + 0x14], ebp
add ecx, edx
mov edx, edi
shl edx, 0xa
mov esi, edx
not esi
lea edx, [edx + esi*2]
inc edx
rol ecx, 5
shr edi, 0x16
not edi
and edi, edx
mov ebp, edi
add ecx, eax
mov dword [esp + 4], ecx
add eax, dword [esp + 0x2c]
add edi, edi
not edi
add edi, ebp
mov edx, ecx
xor edx, ebx
add eax, edi
add eax, edx
not edx
mov esi, edi
or esi, edx
sub edx, esi
lea ebx, [eax + edx*2]
rol ebx, 0xe
mov esi, dword [esp + 0xc]
add ebx, esi
mov eax, ebx
and eax, ecx
add eax, eax
lea edx, [ebx + ecx]
sub edx, eax
add esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
rol eax, 0xa
mov dword [esp + 0x14], eax
xor edx, eax
add esi, edx
rol esi, 6
mov eax, 0x7ffffffe
sub eax, ebp
lea ecx, [ebp + 1]
xor ecx, esi
and eax, esi
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, ebx
mov edx, ecx
and edx, 2
mov esi, ecx
or ecx, 2
imul ecx, edx
xor edx, 2
and esi, 0xfffffffd
imul esi, edx
add ecx, esi
lea edx, [eax + ebx]
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
not ecx
add ecx, esi
mov ebp, dword [esp + 4]
rol ebp, 0xa
mov dword [esp + 4], ebp
mov edx, ecx
and edx, ebp
lea esi, [edx + edx]
not esi
add esi, edx
or ecx, ebp
and ecx, esi
add edi, dword [esp + 0x20]
not ecx
add edi, ecx
rol edi, 8
mov ebp, dword [esp + 0x14]
add edi, ebp
mov ecx, edi
mov esi, edi
mov dword [esp + 0x20], edi
not ecx
mov edx, eax
not edx
or edx, ecx
or esi, eax
and esi, edx
rol ebx, 0xa
mov edx, esi
and edx, ebx
add esi, ebx
add edx, edx
sub esi, edx
mov edx, esi
mov edi, dword [esp + 0x4c]
and edx, edi
xor esi, edi
add esi, ebp
lea edx, [esi + edx*2]
rol edx, 0xd
mov ebp, dword [esp + 4]
add edx, ebp
mov dword [esp + 0x2c], edx
mov esi, edx
not esi
or esi, ecx
or edx, dword [esp + 0x20]
and edx, esi
rol eax, 0xa
mov ecx, edx
and ecx, eax
mov edi, ecx
and edi, 2
mov esi, ecx
or ecx, 2
imul ecx, edi
xor edi, 2
and esi, 0xfffffffd
imul esi, edi
add ecx, esi
add edx, eax
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
mov edx, dword [esp + 0x5c]
add dword [esp], edx
mov edi, ebp
add edi, edx
add edi, ecx
sub edi, esi
rol edi, 6
add edi, ebx
mov ecx, edi
mov ebp, dword [esp + 0x2c]
and ecx, ebp
add ecx, ecx
lea edx, [edi + ebp]
sub edx, ecx
mov esi, dword [esp + 0x20]
rol esi, 0xa
add ebx, dword [esp + 0x54]
add ebx, esi
add ebx, edx
and edx, esi
add edx, edx
sub ebx, edx
rol ebx, 5
mov ecx, dword [esp]
mov edx, dword [esp + 0x30]
add ecx, edx
add ecx, 0xa953fd4e
mov dword [esp + 0x3c], ecx
add ebx, eax
rol ebp, 0xa
add eax, dword [esp + 0x50]
mov ecx, edi
xor ecx, ebp
xor ecx, ebx
add eax, ecx
mov edx, eax
shl edx, 0xf
mov ecx, eax
shl eax, 0x10
not eax
add eax, edx
not edx
or eax, edx
lea edx, [eax + eax]
not edx
add edx, eax
shr ecx, 0x11
or edx, ecx
mov eax, edx
mov ecx, esi
and eax, esi
xor edx, esi
lea edx, [edx + eax*2]
add ecx, dword [esp + 0x58]
rol edi, 0xa
mov dword [esp + 4], edi
mov eax, edx
mov dword [esp], edx
xor eax, ebx
add ecx, edi
add ecx, eax
and eax, edi
add eax, eax
sub ecx, eax
rol ecx, 0xd
mov esi, ebp
add ecx, ebp
mov dword [esp + 0x20], ecx
add esi, dword [esp + 0x38]
rol ebx, 0xa
mov dword [esp + 0x38], ebx
mov eax, edx
xor eax, ebx
xor eax, ecx
add esi, eax
mov ebp, esi
mov dword [esp + 0x2c], esi
shl ebp, 0xb
mov ebx, ebp
not ebx
mov eax, ebx
and eax, 0xc1ce2ffb
mov edx, ebp
and edx, 0x3e31d000
or edx, eax
shr esi, 0x15
lea eax, [esi + esi]
not eax
add eax, esi
mov edi, eax
and edi, 0xc1ce2ffb
mov ecx, esi
and ecx, 4
or ecx, edi
xor ecx, edx
and ebp, 0xe0e05000
and ebx, 0x1f1fa844
or ebx, ebp
and esi, 0xffffffbb
and eax, 0x1f1fa844
or eax, esi
xor eax, ebx
mov edx, dword [esp + 0x2c]
rol edx, 0xb
not edx
or edx, eax
mov eax, ecx
xor eax, edx
and edx, ecx
not eax
mov esi, dword [esp + 4]
add ecx, esi
add ecx, eax
sub ecx, edx
mov edx, ecx
add esi, dword [esp + 0x18]
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x24]
add edi, ebx
add ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
rol eax, 6
mov ecx, dword [esp]
rol ecx, 0xa
mov dword [esp], ecx
add ebx, eax
add ebx, edx
mov dword [esp + 0x24], ebx
mov eax, edx
mov ebx, dword [esp + 0x20]
xor eax, ebx
add esi, ecx
add esi, eax
and eax, ecx
mov ecx, eax
and ecx, 0xfffffffd
mov edx, eax
and edx, 2
or eax, 2
imul eax, edx
xor edx, 2
imul edx, ecx
add eax, edx
mov edx, esi
sub edx, eax
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x70]
rol edx, 0xb
mov ecx, dword [esp + 0x38]
add eax, ecx
mov ebp, eax
lea eax, [ecx - 1]
neg ecx
xor ecx, edx
and eax, edx
add eax, eax
sub ecx, eax
mov esi, dword [esp + 0x40]
mov eax, esi
mov edx, dword [esp + 0x74]
and eax, edx
xor esi, edx
rol ebx, 0xa
add esi, ebx
lea eax, [esi + eax*2]
mov edx, dword [esp + 0x34]
rol edx, 0xa
add edx, dword [esp + 0x78]
add edx, dword [esp]
mov esi, dword [esp + 0x84]
mov dword [esi + 4], edx
mov dword [esi + 8], ebp
mov edx, edi
not edx
and edx, ecx
not ecx
and ecx, edi
sub ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x10], ecx
mov dword [esi], eax
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret