Function at 0x407740
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov dword [esp + 0x1c], edx
mov ebx, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x6c], esi
xor esi, edi
mov dword [esp + 8], esi
mov dword [esp + 0x74], edi
mov eax, esi
xor eax, ebx
mov dword [esp + 0x70], ebx
mov ebp, dword [ecx]
mov dword [esp + 0x78], ebp
mov esi, ecx
mov dword [esp + 0x84], ecx
mov ecx, dword [edx]
mov dword [esp + 0x30], ecx
add ecx, ebp
add eax, ecx
rol eax, 0xb
mov esi, dword [esi + 0x10]
mov ecx, esi
neg ecx
xor ecx, eax
lea edx, [esi - 1]
mov dword [esp + 0x7c], esi
and edx, eax
add edx, edx
sub edx, ecx
mov eax, edi
rol eax, 0xa
mov ecx, eax
mov ebp, ebx
xor ecx, ebx
xor ecx, edx
mov edi, dword [esp + 0x1c]
mov edi, dword [edi + 4]
mov dword [esp + 0x24], edi
add esi, edi
add ecx, esi
rol ecx, 0xe
mov esi, ecx
mov edi, dword [esp + 0x6c]
and esi, edi
xor ecx, edi
lea ebx, [ecx + esi*2]
mov ecx, ebp
rol ecx, 0xa
mov dword [esp + 0xc], ecx
mov ebp, edx
xor ebp, ecx
xor ebp, ebx
mov dword [esp], ebx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 8]
mov dword [esp + 0x58], ecx
add ecx, edi
add ebp, ecx
rol ebp, 0xf
add ebp, eax
rol edx, 0xa
xor ebx, edx
xor ebx, ebp
mov edi, dword [esi + 0xc]
mov dword [esp + 0x4c], edi
add eax, edi
add eax, ebx
rol eax, 0xc
mov ecx, eax
mov ebx, dword [esp + 0xc]
xor ecx, ebx
or eax, ebx
xor ecx, eax
add ecx, eax
mov eax, dword [esp]
rol eax, 0xa
mov dword [esp], eax
mov edi, ebp
xor edi, eax
xor edi, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x38], eax
add eax, ebx
add edi, eax
rol edi, 5
add edi, edx
rol ebp, 0xa
mov eax, ecx
xor eax, ebp
xor eax, edi
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x54], ecx
add edx, ecx
add edx, eax
rol edx, 8
add edx, dword [esp]
mov eax, edx
mov esi, edx
and eax, edi
mov edx, eax
and edx, 0xfffffffd
mov ebx, eax
or ebx, 0xfffffffd
inc ebx
imul ebx, edx
mov edx, eax
and edx, 2
or eax, 2
imul eax, edx
sub ebx, eax
mov ecx, dword [esp + 0x20]
rol ecx, 0xa
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], esi
add ebx, esi
add ebx, edi
xor ebx, ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp]
add ecx, eax
add ecx, ebx
rol ecx, 7
add ecx, ebp
rol edi, 0xa
mov eax, esi
xor eax, edi
xor eax, ecx
mov ebx, ecx
mov dword [esp], ecx
mov ecx, dword [edx + 0x1c]
mov esi, edx
mov dword [esp + 0x40], ecx
add ebp, ecx
add ebp, eax
rol ebp, 9
mov ecx, dword [esp + 0x20]
add ebp, ecx
mov dword [esp + 4], ebp
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
and eax, 0x65d4ca1d
and ebp, 0x9a2b35e2
or ebp, eax
xor ebx, 0x65d4ca1d
mov eax, ebp
and eax, ebx
add ebx, ebp
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x28]
rol eax, 0xa
mov dword [esp + 0x28], eax
xor ebx, eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x50], eax
add ebx, eax
mov eax, ebx
and eax, ecx
mov ebp, ecx
mov edx, eax
and edx, 0xfffffffd
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
xor ecx, 2
imul ecx, edx
xor ebx, ebp
add ebx, eax
add ebx, ecx
rol ebx, 0xb
mov edx, dword [esp]
rol edx, 0xa
mov dword [esp], edx
add ebx, edi
mov eax, ebx
xor eax, dword [esp + 4]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x44], ecx
add edi, ecx
add edi, edx
add edi, eax
and eax, edx
add eax, eax
sub edi, eax
rol edi, 0xd
add edi, dword [esp + 0x28]
mov eax, edi
and eax, ebx
add eax, eax
mov ecx, ebx
sub ecx, eax
add ecx, edi
lea esi, [ecx + ecx]
not esi
add esi, ecx
and esi, ebx
mov ecx, esi
or ecx, 0xfffffffd
inc ecx
mov eax, esi
and eax, 0xfffffffd
imul eax, ecx
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
sub eax, esi
add eax, edi
add eax, ebx
mov ecx, dword [esp + 4]
rol ecx, 0xa
mov dword [esp + 4], ecx
xor eax, ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x20], edx
lea ecx, [eax + edx]
neg ecx
mov ebp, dword [esp + 0x28]
xor ecx, ebp
lea esi, [eax + edx]
dec esi
and esi, ebp
add esi, esi
sub esi, ecx
rol esi, 0xe
mov edx, dword [esp]
add esi, edx
mov eax, esi
and eax, edi
add eax, eax
lea ecx, [esi + edi]
sub ecx, eax
rol ebx, 0xa
xor ecx, ebx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x3c], eax
add edx, eax
add edx, ecx
rol edx, 0xf
mov ebp, dword [esp + 4]
add edx, ebp
mov dword [esp], edx
rol edi, 0xa
mov eax, esi
xor eax, edi
xor eax, edx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x28], ecx
add ebp, ecx
add ebp, eax
rol ebp, 6
mov eax, ebp
and eax, ebx
mov ecx, eax
and ecx, 2
mov edx, eax
or eax, 2
imul eax, ecx
xor ecx, 2
and edx, 0xfffffffd
imul edx, ecx
xor ebp, ebx
add ebp, eax
add ebp, edx
mov dword [esp + 4], ebp
rol esi, 0xa
mov eax, dword [esp]
xor eax, esi
xor eax, ebp
neg eax
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x34]
mov dword [esp + 0x48], ecx
neg ecx
mov edx, eax
and edx, ecx
xor ecx, eax
lea eax, [ecx + edx*2]
sub ebx, eax
rol ebx, 7
mov ecx, dword [esp]
rol ecx, 0xa
add ebx, edi
mov edx, ebx
xor edx, dword [esp + 4]
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x34], eax
add edi, eax
mov dword [esp], ecx
add edi, ecx
add edi, edx
and edx, ecx
mov eax, edx
and eax, 0xfffffffd
mov ecx, edx
or ecx, 0xfffffffd
inc ecx
imul ecx, eax
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
sub ecx, edx
add edi, ecx
rol edi, 9
add edi, esi
mov eax, edi
and eax, ebx
lea ecx, [edi + ebx]
not ecx
lea edx, [ecx + eax*2]
and edx, ebx
add edx, edx
sub edx, ebx
mov eax, edi
not eax
and eax, edx
not edx
and edx, edi
sub edx, eax
mov eax, dword [esp + 4]
rol eax, 0xa
mov dword [esp + 4], eax
xor edx, eax
mov ecx, dword [ebp + 0x3c]
mov dword [esp + 0x1c], ecx
mov eax, edx
xor edx, ecx
add edx, esi
and eax, ecx
lea ebp, [edx + eax*2]
mov eax, ebp
shl eax, 8
mov dword [esp + 0x10], eax
mov esi, ebp
shr esi, 0x18
shl ebp, 9
not ebp
add ebp, eax
mov edx, esi
xor edx, ebp
mov ecx, esi
sub esi, ebp
mov eax, ebp
xor ebp, 0x78eacbfb
and eax, ebp
xor ecx, 0x87153404
and ebp, ecx
or ecx, dword [esp + 0x10]
or ecx, eax
xor ecx, ebp
add esi, edx
or esi, ecx
mov ecx, dword [esp]
add esi, ecx
rol ebx, 0xa
mov eax, esi
not eax
and eax, ebx
add ecx, dword [esp + 0x40]
add ecx, eax
mov eax, esi
and eax, edi
add ecx, eax
add ecx, 0x5a827999
rol ecx, 7
rol edi, 0xa
mov edx, dword [esp + 4]
add ecx, edx
mov eax, ecx
mov dword [esp], ecx
not eax
and eax, edi
add edx, dword [esp + 0x38]
add edx, eax
mov eax, ecx
and eax, esi
add eax, edx
add eax, 0x5a827999
rol eax, 6
add eax, ebx
mov dword [esp + 4], eax
rol esi, 0xa
xor ecx, esi
and ecx, eax
xor ecx, esi
add ecx, dword [esp + 0x48]
mov edx, ecx
xor ecx, 0x5a827999
add ecx, ebx
and edx, 0xda827999
lea ecx, [ecx + edx*2]
rol ecx, 8
mov ebx, edi
neg ebx
xor ebx, ecx
lea edx, [edi - 1]
and edx, ecx
add edx, edx
sub edx, ebx
mov ecx, edx
and ecx, 0xfffffffd
mov ebp, edx
and ebp, 2
mov ebx, edx
or ebx, 2
imul ebx, ebp
xor ebp, 2
imul ebp, ecx
add ebx, ebp
mov eax, dword [esp]
rol eax, 0xa
mov dword [esp], eax
mov ecx, edx
mov ebp, dword [esp + 4]
and ecx, ebp
not ebx
add ebx, edx
and ebx, eax
or ebx, ecx
add ebx, dword [esp + 0x24]
mov ecx, ebx
xor ebx, 0x5a827999
add ebx, edi
and ecx, 0xda827999
lea ebx, [ebx + ecx*2]
rol ebx, 0xd
add ebx, esi
mov eax, ebp
rol eax, 0xa
mov dword [esp + 4], eax
mov ecx, ebx
not ecx
and ecx, eax
add esi, dword [esp + 0x20]
add esi, ecx
mov ecx, ebx
and ecx, edx
add esi, ecx
add esi, 0x5a827999
rol esi, 0xb
rol edx, 0xa
add esi, dword [esp]
mov ebp, esi
not ebp
mov ecx, esi
and ecx, ebx
mov edi, edx
and edi, ebp
or edi, ecx
mov ecx, edi
mov eax, dword [esp + 0x2c]
xor edi, eax
add edi, dword [esp]
and ecx, eax
lea ecx, [edi + ecx*2]
add ecx, 0x5a827999
rol ecx, 9
mov edi, ecx
mov eax, dword [esp + 4]
and edi, eax
xor ecx, eax
lea eax, [ecx + edi*2]
mov dword [esp], eax
mov edi, ebx
shl edi, 0xa
mov eax, ebx
mov ecx, ebx
shl ebx, 0xb
not ebx
add ebx, edi
shr eax, 0x16
lea edi, [eax + eax]
not edi
add edi, eax
rol ecx, 0xa
and edi, ebx
not edi
and edi, ecx
mov ecx, dword [esp]
mov ebx, ecx
not ebx
and ebp, ebx
mov eax, ecx
xor eax, esi
or eax, ebp
mov ebp, ecx
and ebp, esi
mov ecx, ebp
add ecx, ebp
not ecx
add ecx, ebp
and ecx, eax
mov eax, edi
and eax, ebx
not ecx
or ecx, eax
add ecx, dword [esp + 0x1c]
mov eax, ecx
xor ecx, 0x5a827999
add ecx, dword [esp + 4]
and eax, 0xda827999
lea eax, [ecx + eax*2]
rol eax, 7
add eax, edx
mov dword [esp + 4], eax
lea ebp, [eax + eax]
not ebp
add ebp, eax
mov eax, ebp
mov ecx, dword [esp]
and eax, ecx
xor ebx, ebp
add ebx, ebp
sub ebx, eax
mov eax, dword [esp + 4]
and eax, ecx
not ebx
or ebx, eax
rol esi, 0xa
mov eax, esi
not eax
mov ecx, ebp
xor ecx, esi
and eax, ebp
add ebp, ecx
not ebp
add ebp, eax
or ebp, ecx
and ebx, ebp
not ebp
add edx, dword [esp + 0x4c]
add edx, ebp
sub edx, ebx
lea ecx, [edx + ebx*2]
add ecx, 0x5a827999
rol ecx, 0xf
add ecx, edi
mov dword [esp + 0x10], ecx
mov ebx, dword [esp]
rol ebx, 0xa
mov eax, ecx
mov ebp, dword [esp + 4]
and eax, ebp
not ecx
and ecx, ebx
mov dword [esp], ebx
mov edx, eax
not edx
or eax, ecx
sub edx, ecx
add edx, eax
not edx
or edx, eax
add edi, dword [esp + 0x28]
add edx, edi
add edx, 0x5a827999
rol edx, 7
rol ebp, 0xa
mov dword [esp + 4], ebp
add edx, esi
mov dword [esp + 0x64], edx
mov ecx, edx
not ecx
and ebp, ecx
add esi, dword [esp + 0x30]
add esi, ebp
mov eax, edx
mov edx, dword [esp + 0x10]
and eax, edx
lea edi, [eax + esi]
add edi, 0x5a827999
rol edi, 0xc
add edi, ebx
lea eax, [edi + edi]
not eax
add eax, edi
or eax, ecx
rol edx, 0xa
mov dword [esp + 0x10], edx
mov ecx, edx
not ecx
and ecx, edi
mov ebp, edi
xor ebp, edx
sub ebp, ecx
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov edx, eax
and edx, 0x6704a403
and ecx, 0x98fb5bfc
or ecx, edx
mov edx, ebp
not edx
mov ebx, eax
xor ebx, edx
mov esi, ebp
xor esi, 0x6704a403
add ebx, eax
and eax, ebp
or ebp, 0x98fb5bfc
and ebp, esi
and edx, 0x6704a403
xor ebp, edx
xor ebp, ecx
sub ebx, eax
mov eax, ebp
and eax, ebx
xor ebx, ebp
mov edx, dword [esp]
add edx, dword [esp + 0x44]
add edx, ebp
not ebx
add edx, ebx
sub edx, eax
add edx, 0x5a827999
rol edx, 0xf
mov esi, dword [esp + 0x64]
rol esi, 0xa
mov ebx, dword [esp + 4]
add edx, ebx
mov eax, edx
and eax, edi
lea ecx, [edx + edx]
not ecx
add ecx, edx
mov ebp, edx
and ecx, esi
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add eax, dword [esp + 0x54]
add eax, ecx
sub eax, edx
add eax, 0x5a827999
mov ecx, eax
and ecx, ebx
xor eax, ebx
lea ebx, [eax + ecx*2]
mov eax, ebx
shl eax, 9
mov ecx, ebx
shl ebx, 0xa
not ebx
add ebx, eax
mov edx, eax
and edx, 0x178adc00
and ebx, 0xe8752200
or ebx, edx
xor ebx, eax
xor ebx, 0x178adc00
and ebx, eax
shr ecx, 0x17
or ebx, ecx
rol edi, 0xa
mov ecx, dword [esp + 0x10]
add ebx, ecx
mov eax, ebx
not eax
and eax, edi
add ecx, dword [esp + 0x58]
add ecx, eax
mov eax, ebx
mov edx, ebp
and eax, ebp
lea ebp, [eax + ecx]
add ebp, 0x5a827999
rol ebp, 0xb
mov ecx, esi
add ebp, esi
rol edx, 0xa
mov eax, ebp
not eax
and eax, edx
mov dword [esp], edx
add ecx, dword [esp + 0x34]
add ecx, eax
mov eax, ebp
and eax, ebx
add ecx, eax
add ecx, 0x5a827999
rol ecx, 7
add ecx, edi
rol ebx, 0xa
mov eax, ebp
xor eax, ebx
and eax, ecx
mov esi, ecx
xor eax, ebx
mov ecx, eax
xor ecx, 0x7063b3e
add edi, dword [esp + 0x3c]
add edi, ecx
and eax, 0x7063b3e
lea ecx, [edi + eax*2]
add ecx, 0x537c3e5b
rol ecx, 0xd
add ecx, edx
mov dword [esp + 4], ecx
mov edx, ecx
mov edi, esi
mov dword [esp + 0x10], esi
xor edx, esi
mov eax, ecx
sub eax, edx
mov edx, ecx
not edx
and esi, edx
add eax, esi
mov esi, ecx
and esi, edi
or eax, esi
rol ebp, 0xa
mov esi, ecx
xor esi, 0xfffffffe
mov edi, ecx
or edi, ebp
add edi, esi
lea esi, [edx + edx]
and esi, 2
add edi, esi
or edi, eax
mov eax, edi
mov ecx, dword [esp + 0x50]
xor edi, ecx
add edi, dword [esp]
and eax, ecx
lea eax, [edi + eax*2]
add eax, 0x5a827999
rol eax, 0xc
mov ecx, dword [esp + 4]
lea esi, [ecx + edx*2]
mov edx, 0xfffffffe
sub edx, esi
add eax, ebx
mov esi, dword [esp + 0x10]
rol esi, 0xa
or edx, ecx
not edx
or edx, eax
add ebx, dword [esp + 0x4c]
mov dword [esp + 0x10], esi
add ebx, esi
add ebx, edx
and edx, esi
mov esi, edx
and esi, 0xfffffffd
mov edi, edx
or edi, 0xfffffffd
inc edi
imul edi, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
sub edi, edx
lea edx, [edi + ebx]
add edx, 0x6ed9eba1
rol edx, 0xb
rol ecx, 0xa
mov dword [esp + 4], ecx
add edx, ebp
lea esi, [eax + eax]
not esi
add esi, eax
or esi, edx
xor esi, ecx
add ebp, dword [esp + 0x20]
add esi, ebp
add esi, 0x6ed9eba1
mov ebx, eax
shl ebx, 0xa
shr eax, 0x16
mov edi, ebx
xor edi, 0xceaea5ed
mov ebp, eax
xor ebp, 0xceaea5ed
and ebp, edi
xor ebx, 0x31515a12
xor eax, 0x31515a12
and eax, ebx
or eax, ebp
rol esi, 0xd
mov ecx, dword [esp + 0x10]
add esi, ecx
lea edi, [edx + edx]
not edi
add edi, edx
or edi, esi
not edi
mov ebx, esi
not ebx
and ebx, edx
or ebx, edi
mov ebp, eax
not ebp
mov edi, ebp
add edi, ebp
not edi
add edi, ebp
and edi, eax
or edi, ebx
and ebx, eax
xor ebx, edi
mov eax, dword [esp + 0x34]
add eax, ebx
add eax, 0x2096e16f
mov edi, eax
xor eax, 0xdf691e91
add eax, ecx
and edi, 0xdf691e91
lea ebx, [eax + edi*2]
add ebx, 0x6ed9eba1
lea edi, [esi + esi]
inc edi
xor edi, esi
lea eax, [esi + esi]
xor eax, 0x7ffffffe
and eax, esi
add eax, eax
sub eax, edi
rol ebx, 6
add ebx, dword [esp + 4]
mov edi, ebx
not edi
mov ecx, ebx
mov dword [esp], ebx
xor ecx, eax
and eax, edi
sub ebx, ecx
add ebx, eax
or ebx, ecx
rol edx, 0xa
mov ecx, dword [esp + 4]
mov eax, ecx
and eax, 0x3ce07a06
xor ecx, 0xbce07a06
add ecx, dword [esp + 0x38]
lea eax, [ecx + eax*2]
xor ebx, edx
lea ecx, [ebx + eax]
add ecx, 0xb1f9719b
mov ebx, esi
shl ebx, 0xa
rol esi, 0xa
add esi, ebx
mov eax, esi
xor eax, ebx
not ebx
and ebx, esi
add ebx, ebx
sub ebx, eax
rol ecx, 7
add ecx, ebp
or edi, ecx
mov eax, ecx
xor edi, ebx
add ebp, dword [esp + 0x44]
lea ecx, [edi + ebp]
add ecx, 0x6ed9eba1
mov edi, eax
mov dword [esp + 4], eax
add eax, eax
sub edi, eax
rol ecx, 0xe
add ecx, edx
mov eax, ecx
not eax
mov esi, eax
and esi, 0x3b0672a1
or eax, 0xc4f98d5e
lea ebp, [eax + ecx]
inc ebp
or ebp, esi
lea eax, [edi + edi]
add eax, 0xfffffffe
neg eax
lea esi, [edi + eax]
add esi, 0xfffffffe
dec edi
mov eax, edi
xor eax, 0x3b0672a1
or edi, 0xc4f98d5e
and edi, eax
mov eax, esi
and eax, 0x3b0672a1
or edi, eax
mov eax, ebp
and eax, edi
add edi, ebp
add eax, eax
sub edi, eax
not esi
and esi, ecx
or esi, edi
mov eax, dword [esp]
rol eax, 0xa
add edx, dword [esp + 0x1c]
add edx, eax
add edx, esi
and esi, eax
mov ebp, eax
mov dword [esp], eax
mov eax, esi
and eax, 0xfffffffd
mov edi, esi
or edi, 0xfffffffd
inc edi
imul edi, eax
mov eax, esi
and eax, 2
or esi, 2
imul esi, eax
sub edi, esi
lea esi, [edi + edx]
add esi, 0x6ed9eba1
rol esi, 9
mov edx, dword [esp + 4]
rol edx, 0xa
mov dword [esp + 4], edx
add esi, ebx
lea eax, [ecx + ecx]
not eax
add eax, ecx
or eax, esi
xor eax, edx
add ebx, dword [esp + 0x50]
lea edi, [eax + ebx]
add edi, 0x6ed9eba1
rol edi, 0xd
add edi, ebp
lea ebx, [esi + esi]
not ebx
add ebx, esi
lea eax, [ebx + ebx]
not eax
add eax, ebx
and eax, edi
xor ebx, edi
add ebx, edi
sub ebx, eax
rol ecx, 0xa
mov dword [esp + 0x10], ecx
xor ebx, ecx
add ebx, dword [esp + 0x24]
mov eax, ebx
not eax
or eax, 0x6ed9eba1
lea edx, [eax + ebx]
inc edx
mov eax, edx
and eax, 0xfffffffd
mov ebp, edx
and ebp, 2
or edx, 2
imul edx, ebp
xor ebp, 2
imul ebp, eax
xor ebx, 0x6ed9eba1
add ebx, dword [esp]
add ebx, edx
add ebx, ebp
rol ebx, 0xf
add ebx, 0x9d1d35ae
mov eax, ebx
mov ecx, dword [esp + 4]
and eax, ecx
xor ebx, ecx
lea eax, [ebx + eax*2]
mov edx, eax
or edx, 0x62e2ca51
and eax, 0x62e2ca51
lea ebp, [edx + eax]
inc ebp
mov dword [esp], ebp
mov edx, esi
shr esi, 0x16
mov eax, esi
and eax, 0x256
or eax, 0x20080921
and esi, 0x1a9
xor esi, eax
shl edx, 0xa
xor edx, 0x5cf17256
xor esi, 0x7cf97b77
mov eax, esi
and eax, edx
add esi, edx
add eax, eax
sub esi, eax
not ebp
mov edx, edi
and edx, ebp
mov eax, edx
not eax
mov ebx, esi
and ebx, eax
add ebx, ebx
add eax, esi
sub edx, esi
and edx, ebx
not ebx
and ebx, eax
add ecx, dword [esp + 0x58]
sub ecx, edx
add ebx, ecx
add ebx, 0x6ed9eba1
rol ebx, 0xe
add ebx, dword [esp + 0x10]
rol edi, 0xa
or ebp, ebx
mov eax, dword [esp + 0x40]
add eax, edi
add eax, ebp
and ebp, edi
add ebp, ebp
sub eax, ebp
mov ecx, 0x1126145e
sub ecx, eax
add eax, 0x6ed9eba1
and ecx, 0x11c9455a
and eax, 0xee36baa5
or eax, ecx
xor eax, 0xee36baa5
mov edx, 0xfffffffe
sub edx, eax
mov ecx, dword [esp + 0x10]
and edx, ecx
not ecx
inc eax
and eax, ecx
sub edx, eax
lea eax, [ebx + ebx]
not eax
add eax, ebx
mov ecx, eax
not ecx
and eax, 2
and ecx, 0xfffffffd
imul ecx, eax
mov ebp, ebx
and ebp, 2
mov eax, ebx
or eax, 2
imul eax, ebp
rol edx, 8
add eax, ecx
add edx, esi
mov ebp, dword [esp]
rol ebp, 0xa
mov dword [esp], ebp
not eax
add eax, ebx
or eax, edx
mov ecx, eax
and ecx, ebp
add ecx, ecx
add eax, ebp
mov ebp, eax
not ebp
and ebp, ecx
not ecx
and ecx, eax
add esi, dword [esp + 0x30]
sub esi, ebp
add ecx, esi
add ecx, 0x6ed9eba1
mov eax, ebx
shr eax, 0x16
mov esi, ebx
shl esi, 0xb
or esi, eax
shl ebx, 0xa
sub esi, ebx
mov ebp, esi
mov dword [esp + 4], esi
rol ecx, 0xd
add ecx, edi
mov eax, edx
not eax
mov esi, ecx
and esi, eax
add eax, ecx
sub eax, esi
sub eax, esi
or eax, esi
xor eax, ebp
add edi, dword [esp + 0x2c]
lea ebp, [eax + edi]
add ebp, 0x6ed9eba1
rol ebp, 6
rol edx, 0xa
add ebp, dword [esp]
mov esi, ecx
not esi
or esi, ebp
mov edi, esi
xor edi, edx
lea ebx, [edi + edi]
not ebx
add ebx, edi
and ebx, edx
mov edi, ebx
and edi, 0xfffffffd
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
xor eax, 2
imul eax, edi
sub ebx, edx
add ebx, eax
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
mov esi, dword [esp]
add esi, dword [esp + 0x48]
sub esi, eax
add esi, ebx
add esi, 0x6ed9eba1
rol esi, 5
add esi, dword [esp + 4]
rol ecx, 0xa
mov eax, esi
and eax, ebp
mov ebx, ebp
xor ebx, esi
not ebx
add ebx, esi
sub ebx, eax
mov eax, dword [esp + 0x3c]
lea edi, [eax + ecx]
add edi, ebx
and ebx, ecx
add ebx, ebx
sub edi, ebx
add edi, 0x2d1f9205
mov eax, edi
xor edi, 0x41ba599c
add edi, dword [esp + 4]
and eax, 0xc1ba599c
lea edi, [edi + eax*2]
rol edi, 0xc
rol ebp, 0xa
add edi, edx
mov eax, edi
not eax
and eax, esi
xor eax, ebp
add edx, dword [esp + 0x54]
sub edx, eax
mov eax, edi
and eax, 0x1b390034
or eax, 0x6046bb8b
mov ebx, edi
and ebx, 0xe4c6ffcb
xor ebx, eax
add edx, 0x6ed9eba0
rol edx, 7
add edx, ecx
mov dword [esp + 4], edx
rol esi, 0xa
mov eax, ebx
xor eax, 0x9fb94474
xor ebx, 0x6046bb8b
and ebx, edx
sub eax, ebx
lea eax, [eax + ebx*2]
xor eax, esi
add ecx, dword [esp + 0x28]
lea edx, [eax + ecx]
add edx, 0x6ed9eba1
rol edx, 5
rol edi, 0xa
add edx, ebp
mov eax, edi
mov dword [esp], edi
not eax
mov ecx, dword [esp + 4]
and eax, ecx
add ebp, dword [esp + 0x24]
add ebp, eax
mov eax, edx
and eax, edi
add eax, ebp
add eax, 0x8f1bbcdc
rol eax, 0xb
mov ebx, eax
not ebx
lea ebp, [ebx + ebx]
not ebp
add ebp, ebx
and ebp, eax
add ebp, esi
mov edi, ecx
rol edi, 0xa
mov ebx, ebp
and ebx, edi
lea eax, [edi + edi]
not eax
add eax, edi
and eax, edx
or eax, ebx
mov ebx, eax
mov ecx, dword [esp + 0x44]
xor eax, ecx
add eax, esi
and ebx, ecx
lea ecx, [eax + ebx*2]
add ecx, 0x8f1bbcdc
rol ecx, 0xc
rol edx, 0xa
add ecx, dword [esp]
mov eax, edx
not eax
mov ebx, ecx
and ebx, edx
mov esi, ebx
not esi
and eax, ebp
or esi, eax
add esi, ebx
inc esi
or eax, ebx
or eax, esi
mov esi, dword [esp]
add esi, dword [esp + 0x3c]
add eax, esi
add eax, 0x8f1bbcdc
rol eax, 0xe
add eax, edi
mov ebx, eax
rol ebp, 0xa
mov eax, ebp
not eax
and eax, ecx
add edi, dword [esp + 0x20]
add edi, eax
mov eax, ebx
and eax, ebp
lea esi, [eax + edi]
add esi, 0x8f1bbcdc
rol esi, 0xf
rol ecx, 0xa
add esi, edx
mov eax, ecx
not eax
and eax, ebx
add edx, dword [esp + 0x30]
add edx, eax
mov eax, esi
and eax, ecx
mov edi, ecx
add eax, edx
add eax, 0x8f1bbcdc
rol eax, 0xe
add eax, ebp
mov edx, ebx
rol edx, 0xa
mov dword [esp + 4], edx
mov ecx, eax
mov ebx, eax
xor ecx, esi
and ecx, edx
xor ecx, esi
add ecx, dword [esp + 0x50]
add ebp, ecx
mov eax, ecx
or ecx, 0x8f1bbcdc
add ecx, ebp
not eax
or eax, 0x8f1bbcdc
lea edx, [eax + ecx]
inc edx
rol edx, 0xf
mov ebp, edi
add edx, edi
rol esi, 0xa
mov eax, edx
not eax
or eax, esi
add eax, edx
inc eax
mov ecx, edx
mov edi, edx
xor ecx, ebx
and ecx, esi
xor ecx, ebx
mov edx, ebx
or ecx, eax
mov eax, ecx
not eax
lea ebx, [eax + eax]
not ebx
add ebx, eax
and ebx, ecx
mov eax, ebp
add eax, dword [esp + 0x28]
lea ecx, [ebx + eax]
add ecx, 0x8f1bbcdc
rol ecx, 9
add ecx, dword [esp + 4]
rol edx, 0xa
mov dword [esp], edx
mov eax, ecx
xor eax, edi
and eax, edx
xor eax, edi
mov edx, dword [esp + 0x38]
mov ebx, edx
neg ebx
xor ebx, eax
lea ebp, [edx - 1]
and ebp, eax
add ebp, ebp
sub ebp, ebx
mov eax, ebp
xor ebp, 0x8f1bbcdc
add ebp, dword [esp + 4]
and eax, 0xf1bbcdc
lea edx, [eax*2]
add edx, ebp
rol edx, 8
add edx, esi
rol edi, 0xa
mov dword [esp + 0x10], edi
mov eax, edx
xor eax, ecx
and eax, edi
xor eax, ecx
mov edi, eax
mov ebx, dword [esp + 0x48]
xor eax, ebx
add eax, esi
and edi, ebx
lea esi, [eax + edi*2]
add esi, 0x8f1bbcdc
rol esi, 9
rol ecx, 0xa
add esi, dword [esp]
mov eax, esi
mov edi, esi
mov dword [esp + 4], esi
xor eax, ecx
lea ebp, [eax + eax]
not ebp
add ebp, eax
or edi, ecx
and edi, ebp
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
mov ebx, edx
not ebx
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
or eax, ebx
and ebp, ebx
mov esi, ecx
xor esi, ebx
add esi, ebx
sub esi, ebp
and esi, eax
mov eax, edi
not eax
or eax, esi
sub edi, esi
add edi, eax
mov eax, edi
or eax, 0xe87dd7a3
mov esi, dword [esp]
add esi, dword [esp + 0x4c]
add esi, eax
and edi, 0xe87dd7a3
add esi, edi
add esi, 0xa69de539
mov eax, edx
shr eax, 0x16
mov edi, edx
shl edi, 0xb
or edi, eax
shl edx, 0xa
sub edi, edx
mov eax, esi
rol eax, 0xe
mov ebx, dword [esp + 0x10]
add eax, ebx
mov edx, eax
mov dword [esp], eax
not edx
mov esi, edi
not esi
and edx, esi
xor eax, edi
or eax, edx
mov ebp, dword [esp + 4]
and esi, ebp
not eax
or eax, esi
add eax, dword [esp + 0x40]
mov edx, eax
xor eax, 0x8f1bbcdc
add eax, ebx
and edx, 0xf1bbcdc
lea esi, [eax + edx*2]
rol esi, 5
add esi, ecx
mov edx, ebp
rol edx, 0xa
mov eax, edx
mov ebx, edx
mov dword [esp + 4], edx
not eax
mov edx, esi
and edx, ebx
and eax, dword [esp]
add eax, dword [esp + 0x1c]
lea ebx, [edx + eax]
add ebx, 0x8f1bbcdc
mov eax, ebx
and eax, ecx
mov edx, eax
and edx, 0xfffffffd
mov ebp, eax
and ebp, 2
or eax, 2
imul eax, ebp
xor ebp, 2
imul ebp, edx
xor ecx, ebx
add ecx, eax
add ecx, ebp
rol ecx, 6
mov ebx, dword [esp]
rol ebx, 0xa
mov dword [esp], ebx
add ecx, edi
mov eax, ecx
mov dword [esp + 0x10], ecx
not eax
not ebx
or eax, ebx
lea edx, [eax + eax]
not edx
add edx, eax
lea eax, [ecx + ecx]
not eax
add eax, ecx
mov ebp, eax
xor ebp, ebx
add ebp, eax
mov ecx, dword [esp]
and eax, ecx
not ebp
add ebp, eax
or ebp, edx
lea eax, [esi + esi]
not eax
add eax, esi
or eax, ecx
and ebx, esi
not eax
or eax, ebx
mov edx, ebp
xor edx, eax
not eax
and eax, ebp
add edi, dword [esp + 0x34]
add edi, ebp
add edi, edx
sub edi, eax
add edi, 0x8f1bbcdc
rol edi, 8
mov eax, edi
not eax
mov edx, dword [esp + 4]
or eax, edx
add eax, edi
or edi, edx
lea ebx, [edi + eax]
inc ebx
rol esi, 0xa
mov eax, esi
not eax
mov ecx, dword [esp + 0x10]
and eax, ecx
add edx, dword [esp + 0x54]
add edx, eax
mov eax, ebx
and eax, esi
lea edi, [eax + edx]
add edi, 0x8f1bbcdc
rol edi, 6
mov ebp, dword [esp]
add edi, ebp
rol ecx, 0xa
lea eax, [edi + edi]
not eax
add eax, edi
lea edx, [ecx + ecx]
not edx
add edx, ecx
or edx, eax
mov eax, ebx
not eax
or eax, ecx
and eax, edx
add ebp, dword [esp + 0x2c]
sub ebp, eax
rol ebx, 0xa
lea eax, [ebx + ebx]
not eax
add eax, ebx
mov edx, edi
or edx, ebx
mov dword [esp + 4], ebx
and edx, eax
add ebp, 0x8f1bbcdb
rol ebp, 5
add ebp, esi
lea eax, [edx + edx]
not eax
add eax, edx
add esi, dword [esp + 0x58]
add esi, edx
mov edx, ebp
and edx, ebx
and eax, edx
sub esi, eax
lea edx, [esi + edx*2]
add edx, 0x8f1bbcdc
rol edx, 0xc
mov eax, edx
and eax, ecx
mov ebx, eax
and ebx, 2
mov esi, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and esi, 0xfffffffd
imul esi, ebx
xor edx, ecx
add edx, eax
rol edi, 0xa
add edx, esi
mov eax, ebp
and eax, edi
mov esi, edi
xor esi, ebp
not esi
add esi, ebp
sub esi, eax
xor esi, edx
mov eax, dword [esp + 0x38]
add eax, esi
add eax, 0xa953fd4e
mov esi, eax
and esi, ecx
xor ecx, eax
lea esi, [ecx + esi*2]
rol esi, 9
mov ebx, dword [esp + 4]
add esi, ebx
mov eax, ebp
rol eax, 0xa
mov dword [esp], eax
not eax
or eax, edx
mov ecx, esi
and ecx, eax
add eax, dword [esp + 0x30]
add eax, esi
add ecx, ecx
sub eax, ecx
mov ecx, eax
xor eax, 0xa953fd4e
add eax, ebx
and ecx, 0x2953fd4e
lea ebp, [eax + ecx*2]
rol edx, 0xa
mov ecx, edx
and ecx, 2
mov eax, edx
or eax, 2
imul eax, ecx
xor ecx, 2
mov ebx, edx
and ebx, 0xfffffffd
imul ebx, ecx
add eax, ebx
rol ebp, 0xf
add ebp, edi
not eax
add eax, edx
or eax, esi
mov ecx, ebp
add ecx, ebp
not ecx
add ecx, ebp
and ecx, eax
not eax
and eax, ebp
add edi, dword [esp + 0x54]
add edi, eax
lea ebx, [ecx + edi]
add ebx, 0xa953fd4e
rol esi, 0xa
mov dword [esp + 0x10], esi
mov eax, ebp
and eax, esi
mov ecx, esi
xor ecx, ebp
not ecx
add ecx, ebp
sub ecx, eax
rol ebx, 5
mov esi, dword [esp]
add ebx, esi
xor ecx, ebx
mov edi, dword [esp + 0x44]
lea eax, [ecx + edi]
add eax, 0xa953fd4e
add ecx, edi
add ecx, 0x2953fd4e
or ecx, eax
and ecx, esi
xor esi, eax
lea esi, [esi + ecx*2]
rol esi, 0xb
rol ebp, 0xa
mov dword [esp + 4], ebp
add esi, edx
mov edi, ebp
add edi, ebp
not edi
add edi, ebp
or edi, ebx
mov ebp, esi
and ebp, edi
mov ecx, ebp
or ecx, 0xfffffffd
inc ecx
mov eax, ebp
and eax, 0xfffffffd
imul eax, ecx
mov ecx, ebp
and ecx, 2
or ebp, 2
imul ebp, ecx
sub eax, ebp
add edx, dword [esp + 0x40]
add edx, edi
add edx, esi
lea edi, [eax + edx]
add edi, 0xa953fd4e
rol edi, 6
mov ecx, dword [esp + 0x10]
add edi, ecx
rol ebx, 0xa
mov eax, ebx
not eax
or eax, esi
lea edx, [edi + edi]
not edx
add edx, edi
xor edx, edi
and edx, eax
xor edx, edi
add edx, dword [esp + 0x28]
mov eax, edx
xor edx, 0xa953fd4e
add edx, ecx
and eax, 0x2953fd4e
lea eax, [edx + eax*2]
rol eax, 8
mov ebp, dword [esp + 4]
add eax, ebp
rol esi, 0xa
mov dword [esp], esi
mov edx, esi
not edx
or edx, edi
mov ecx, eax
and ecx, edx
add edx, dword [esp + 0x58]
add edx, eax
add ecx, ecx
sub edx, ecx
mov ecx, edx
xor ecx, 0x56ac02b1
or edx, 0xa953fd4e
and ecx, edx
add edx, ebp
add edx, ecx
rol edx, 0xd
add edx, ebx
rol edi, 0xa
mov ecx, edi
not ecx
or ecx, eax
mov esi, edx
and esi, ecx
add ebx, dword [esp + 0x20]
add ebx, ecx
add ebx, edx
add esi, esi
sub ebx, esi
rol eax, 0xa
mov ecx, edx
not ecx
or ecx, eax
mov esi, edx
sub esi, eax
add esi, ecx
lea ecx, [esi + esi]
not ecx
add ecx, esi
mov ebp, ecx
xor ebp, 0xc63046ba
or ecx, 0x39cfb945
and ecx, ebp
add ebx, 0xa953fd4e
rol ebx, 0xc
and esi, 0xc63046ba
or esi, ecx
mov ecx, dword [esp]
add ebx, ecx
xor esi, ebx
xor esi, 0x39cfb945
add ecx, dword [esp + 0x34]
add ecx, esi
add ecx, 0xa953fd4e
rol ecx, 5
mov esi, ecx
and esi, edi
xor ecx, edi
lea ebp, [ecx + esi*2]
rol edx, 0xa
mov ecx, edx
not ecx
and ecx, ebx
mov esi, ebx
sub esi, edx
add esi, ecx
add ecx, ecx
not ecx
add esi, ecx
xor esi, ebp
add edi, dword [esp + 0x24]
add edi, esi
add edi, 0xa953fd4e
rol edi, 0xc
add edi, eax
rol ebx, 0xa
mov ecx, ebx
not ecx
or ecx, ebp
mov esi, edi
and esi, ecx
add ecx, dword [esp + 0x4c]
add ecx, edi
add esi, esi
sub ecx, esi
mov esi, ecx
xor ecx, 0xa953fd4e
add ecx, eax
and esi, 0x2953fd4e
lea eax, [ecx + esi*2]
rol eax, 0xd
mov ecx, eax
not ecx
lea esi, [ecx + ecx]
not esi
add esi, ecx
and esi, eax
mov dword [esp + 0x10], esi
mov esi, ebp
mov eax, ebp
shl eax, 0xa
shr esi, 0x16
mov ecx, esi
mov ebp, esi
xor ecx, 0x904f25a5
lea esi, [eax + 0x1a5]
or eax, 0x25a
and eax, ecx
xor ebp, 0x6fb0da5a
and ebp, esi
or ebp, eax
mov dword [esp + 0x60], ebp
mov ecx, dword [esp + 0x10]
add ecx, edx
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
or eax, edi
xor eax, ecx
mov esi, ecx
mov dword [esp + 0x10], ecx
add edx, dword [esp + 0x50]
add edx, eax
add edx, 0xa953fd4e
rol edi, 0xa
mov dword [esp + 4], edi
mov ecx, edi
xor ecx, 0xfd42098d
lea eax, [edi + edi]
and eax, 0x57bece4
sub ecx, eax
rol edx, 0xe
add edx, ebx
mov dword [esp], edx
add ecx, 0x2bdf672
or ecx, esi
mov eax, edx
and eax, ecx
add ecx, dword [esp + 0x3c]
add ecx, edx
add eax, eax
sub ecx, eax
mov eax, ecx
xor ecx, 0xa953fd4e
add ecx, ebx
and eax, 0x2953fd4e
lea eax, [ecx + eax*2]
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x6c]
mov eax, ebx
mov ebp, dword [esp + 0x74]
and eax, ebp
mov edx, dword [esp + 8]
not edx
add edx, ebp
sub edx, eax
mov ecx, dword [esp + 0x70]
lea eax, [ecx + edx]
and edx, ecx
add edx, edx
sub eax, edx
mov ecx, dword [esp + 0x54]
lea edx, [eax + ecx]
add edx, 0x50a28be6
mov eax, edx
mov edi, dword [esp + 0x78]
and eax, edi
mov ecx, eax
and ecx, 2
mov esi, eax
or eax, 2
imul eax, ecx
xor ecx, 2
and esi, 0xfffffffd
imul esi, ecx
xor edx, edi
add edx, eax
add edx, esi
mov eax, ebp
mov ecx, ebp
shl ecx, 0xa
shr eax, 0x16
mov esi, ecx
and esi, 0xc23a7c00
xor esi, 0xc23a7f23
and ecx, 0x3dc58000
xor eax, 0xc23a7f23
mov edi, esi
and edi, eax
or eax, ecx
add eax, esi
add edi, edi
sub eax, edi
mov esi, dword [esp + 0x70]
mov ecx, esi
not ecx
or ecx, eax
sub esi, eax
add esi, ecx
rol edx, 8
mov edi, dword [esp + 0x7c]
add edx, edi
xor esi, edx
mov ecx, esi
mov ebp, dword [esp + 0x34]
and ecx, ebp
xor esi, ebp
add esi, edi
lea edi, [esi + ecx*2]
add edi, 0x50a28be6
mov ebp, dword [esp]
not ebp
mov ecx, dword [esp + 0x10]
rol ecx, 0xa
mov dword [esp + 0x10], ecx
and ebp, ecx
mov esi, ebp
add esi, ebp
not esi
add esi, ebp
mov ecx, ebp
and ecx, 0x255bf8e3
and esi, 0xdaa4071c
rol edi, 9
or esi, ecx
mov dword [esp + 0x14], esi
mov esi, edi
add esi, ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0xc]
not ecx
or ecx, edx
mov edi, esi
and edi, ecx
add ecx, esi
add edi, edi
sub ecx, edi
mov edi, ecx
mov esi, dword [esp + 0x40]
and edi, esi
xor ecx, esi
add ecx, ebx
lea edi, [ecx + edi*2]
add edi, 0x50a28be6
mov ecx, edx
shr edx, 0x16
lea ebx, [edx + edx]
not ebx
add ebx, edx
and ebx, 0x868f164d
and edx, 0x1b2
or edx, ebx
shl ecx, 0xa
xor edx, ecx
rol edi, 9
add edi, eax
mov ebx, edx
xor edx, 0x7970e9b2
mov ecx, dword [esp + 8]
or edx, ecx
xor edx, edi
add eax, dword [esp + 0x30]
lea esi, [edx + eax]
add esi, 0x50a28be6
mov eax, dword [esp + 0x64]
rol eax, 0xb
add eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
or eax, ebp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
xor eax, 0xdaa4071c
rol esi, 0xb
rol ecx, 0xa
mov dword [esp + 8], ecx
or eax, ebp
mov dword [esp + 0x14], eax
mov eax, ecx
not eax
mov edx, edi
not edx
or edx, eax
xor eax, edi
add eax, edi
add eax, edx
inc eax
mov ecx, dword [esp + 0xc]
add esi, ecx
mov dword [esp + 0x18], esi
xor eax, esi
add ecx, dword [esp + 0x44]
add eax, ecx
add eax, 0x50a28be6
xor ebx, 0x868f164d
rol eax, 0xd
mov ebp, eax
and ebp, 0x35034058
xor eax, 0xb5034058
add eax, ebx
lea edx, [eax + ebp*2]
mov dword [esp + 0xc], edx
lea esi, [eax + ebp*2]
add esi, 0x4afcbfa8
mov ecx, 0x5034057
sub ecx, edx
and ecx, 0x8400214
mov eax, esi
and eax, 0xf7bffdeb
or eax, ecx
rol edi, 0xa
mov ecx, edi
not ecx
mov edx, dword [esp + 0x18]
or ecx, edx
xor eax, ecx
xor eax, 0x8400214
add eax, dword [esp + 0x58]
mov ecx, eax
xor eax, 0x50a28be6
add eax, ebx
and ecx, 0xd0a28be6
lea ebp, [eax + ecx*2]
rol edx, 0xa
mov dword [esp + 0x18], edx
not edx
mov ebx, esi
and ebx, edx
mov eax, dword [esp + 0xc]
lea ecx, [edx + eax]
add ecx, 0x4afcbfa8
sub ecx, ebx
sub ecx, ebx
rol ebp, 0xf
or ecx, ebx
mov ebx, dword [esp + 8]
add ebp, ebx
xor ecx, ebp
mov edx, ecx
mov eax, dword [esp + 0x3c]
xor ecx, eax
add ecx, ebx
and edx, eax
lea ebx, [ecx + edx*2]
add ebx, 0x50a28be6
rol esi, 0xa
mov ecx, ebp
not ecx
or ecx, esi
mov edx, ebp
sub edx, esi
add edx, ecx
rol ebx, 0xf
add ebx, edi
xor edx, ebx
add edi, dword [esp + 0x38]
lea eax, [edx + edi]
add eax, 0x50a28be6
rol eax, 5
mov edx, dword [esp + 0x18]
add eax, edx
rol ebp, 0xa
mov ecx, ebp
not ecx
or ecx, ebx
xor ecx, eax
mov edi, eax
mov dword [esp + 0xc], eax
mov eax, edx
add eax, dword [esp + 0x48]
add eax, ecx
add eax, 0x50a28be6
rol eax, 7
mov dword [esp + 8], esi
add eax, esi
mov dword [esp + 0x18], eax
rol ebx, 0xa
mov edx, edi
not edx
and edx, ebx
xor edx, eax
not edx
mov eax, dword [esp + 0x2c]
lea edi, [eax + edx]
add edi, 0x50a28be6
and edi, esi
mov esi, edi
and esi, 2
mov ecx, edi
or ecx, 2
imul ecx, esi
xor esi, 2
mov eax, edi
and eax, 0xfffffffd
imul eax, esi
mov esi, dword [esp + 0x2c]
add edx, esi
mov esi, dword [esp + 8]
add edx, esi
add edx, 0x50a28be6
add edi, edi
sub edx, edi
add edx, ecx
add edx, eax
rol edx, 7
add edx, ebp
mov esi, edx
mov dword [esp + 8], edx
mov eax, dword [esp + 0xc]
rol eax, 0xa
mov dword [esp + 0xc], eax
not eax
mov ecx, dword [esp + 0x18]
or eax, ecx
xor eax, edx
add ebp, dword [esp + 0x1c]
lea edx, [eax + ebp]
add edx, 0x50a28be6
mov eax, ecx
rol eax, 0xa
mov edi, eax
mov ebp, eax
not edi
mov eax, esi
and eax, edi
lea ecx, [esi + edi]
sub ecx, eax
sub ecx, eax
or ecx, eax
rol edx, 8
add edx, ebx
xor ecx, edx
add ebx, dword [esp + 0x50]
lea esi, [ebx + ecx]
lea eax, [ecx + ebx]
add eax, 0x18302f80
mov ecx, 0xe7cfd07f
sub ecx, esi
and ecx, 0xc78da39a
and eax, 0x38725c65
sub eax, ecx
rol eax, 0xb
mov ecx, eax
mov esi, dword [esp + 0xc]
and ecx, esi
xor eax, esi
mov ebx, esi
lea esi, [eax + ecx*2]
mov eax, dword [esp + 8]
rol eax, 0xa
mov dword [esp + 8], eax
mov ecx, eax
not ecx
mov dword [esp + 0x18], ecx
mov eax, edx
or eax, ecx
xor eax, esi
add ebx, dword [esp + 0x24]
add ebx, eax
add ebx, 0x50a28be6
rol ebx, 0xe
sub edi, ebx
add ebx, ebp
and edi, 0xbc9c3e43
mov eax, ebx
and eax, 0x4363c1bc
or eax, edi
rol edx, 0xa
mov dword [esp + 0xc], edx
lea ecx, [edx + edx]
not ecx
add ecx, edx
or ecx, esi
xor eax, ecx
xor eax, 0xbc9c3e43
add ebp, dword [esp + 0x20]
lea ecx, [eax + ebp]
add ecx, 0x50a28be6
mov eax, ecx
shl eax, 0xe
shr ecx, 0x12
mov ebp, eax
not ebp
lea edi, [ecx + ecx]
not edi
add edi, ecx
or edi, ebp
and edi, 0xffffc000
or edi, ecx
xor edi, 0xffffc000
or edi, eax
mov eax, edi
mov ecx, dword [esp + 8]
and eax, ecx
xor edi, ecx
lea edx, [edi + eax*2]
rol esi, 0xa
lea edi, [esi + esi]
not edi
add edi, esi
mov eax, esi
and eax, 0xfffffffd
and edi, 2
imul edi, eax
mov eax, esi
and eax, 2
mov ebp, esi
or ebp, 2
imul ebp, eax
lea ecx, [edi + ebp]
lea eax, [edi + ebp]
inc eax
xor eax, esi
xor ecx, 0x7ffffffe
and ecx, esi
add ecx, ecx
sub ecx, eax
or ecx, ebx
mov ebp, edx
xor ecx, edx
mov edx, dword [esp + 0x4c]
lea eax, [ecx + edx]
add eax, 0x50a28be6
add ecx, edx
mov edi, 0xaf5d7419
sub edi, ecx
and eax, dword [esp + 8]
and edi, dword [esp + 0x18]
or edi, eax
not edi
lea edi, [edi + eax*2]
rol edi, 0xc
rol ebx, 0xa
mov edx, dword [esp + 0xc]
add edi, edx
mov eax, ebx
not eax
or eax, ebp
mov ecx, edi
and ecx, eax
add edx, dword [esp + 0x28]
add edx, eax
add edx, edi
add ecx, ecx
sub edx, ecx
mov eax, dword [esp + 0x5c]
lea ecx, [eax + eax]
not ecx
add edx, 0x50a28be6
rol edx, 6
add ecx, eax
mov dword [esp + 8], ecx
add edx, esi
mov dword [esp + 0xc], edx
mov ecx, ebp
rol ecx, 0xa
mov eax, edx
not eax
or eax, ecx
mov dword [esp + 0x68], ecx
add eax, edx
inc eax
not ecx
and ecx, edi
or ecx, eax
add esi, dword [esp + 0x2c]
add ecx, esi
add ecx, 0x5c4dd124
mov eax, edi
shl eax, 0xa
mov edx, edi
shl edi, 0xb
not edi
add edi, eax
and edi, 0x944eb56f
and eax, 0x6bb14800
or eax, edi
shr edx, 0x16
mov edi, edx
xor edi, 0x944eb56f
mov ebp, edx
or edx, 0x290
and edx, edi
and ebp, 0x16f
xor ebp, 0x944eb56f
or edx, ebp
xor edx, eax
mov ebp, ecx
rol ebp, 9
add ebp, ebx
mov ecx, edx
not ecx
mov dword [esp + 0x5c], ecx
mov esi, dword [esp + 0xc]
mov eax, esi
and eax, ecx
add ebx, dword [esp + 0x3c]
add ebx, eax
mov eax, ebp
and eax, edx
lea edi, [eax + ebx]
add edi, 0x5c4dd124
rol esi, 0xa
mov dword [esp + 0xc], esi
mov eax, esi
and eax, 0xd92072b6
lea ebx, [eax + eax]
sub eax, ebx
lea ebx, [esi + esi]
not ebx
add ebx, esi
and ebx, 0x26df8d49
add eax, ebx
add eax, 0xd92072b6
rol edi, 0xd
mov ebx, ebp
not ebx
or ebx, eax
mov ecx, dword [esp + 0x68]
add edi, ecx
mov eax, edi
mov dword [esp + 0x18], edi
and eax, esi
add ebx, ebp
inc ebx
or ebx, eax
add ecx, dword [esp + 0x4c]
lea eax, [ebx + ecx]
add eax, 0x5c4dd124
rol ebp, 0xa
mov esi, ebp
and esi, 0xfffffffd
mov ecx, ebp
and ecx, 2
mov ebx, ebp
or ebx, 2
imul ebx, ecx
xor ecx, 2
imul ecx, esi
add ebx, ecx
rol eax, 0xf
add eax, edx
mov ecx, eax
not ecx
or ecx, ebp
not ebx
add ebx, ebp
and ebx, edi
lea esi, [ebx + ebx]
not esi
add esi, ebx
lea edi, [ecx + eax]
inc edi
and esi, edi
xor ebx, edi
add ecx, eax
mov edi, dword [esp + 0x40]
add ecx, edi
inc ecx
add ecx, ebx
sub ecx, esi
add ecx, 0x5c4dd124
mov esi, dword [esp + 0x5c]
or esi, ecx
add esi, edx
xor ecx, edx
lea edx, [ecx + esi*2]
add edx, 2
mov ecx, dword [esp + 0x14]
and ecx, dword [esp + 0x64]
rol edx, 7
mov edi, dword [esp + 8]
or edi, ecx
mov ebx, dword [esp + 0xc]
add edx, ebx
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x18]
rol esi, 0xa
mov dword [esp + 0x18], esi
mov ecx, edx
xor ecx, eax
and ecx, esi
xor ecx, eax
mov edx, ebx
add edx, dword [esp + 0x30]
add ecx, edx
add ecx, 0x5c4dd124
mov ebx, eax
shl ebx, 0xa
shr eax, 0x16
mov edx, eax
and edx, 0x240
xor edx, 0x270cca40
and eax, 0x1bf
xor ebx, 0x270cca40
mov esi, edx
and esi, ebx
or ebx, eax
add ebx, edx
add esi, esi
sub ebx, esi
rol ecx, 0xc
add ecx, ebp
mov eax, ebx
not eax
mov esi, dword [esp + 0x14]
and eax, esi
add ebp, dword [esp + 0x48]
add ebp, eax
mov eax, ecx
and eax, ebx
add ebp, eax
add ebp, 0x5c4dd124
mov eax, edi
add eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
xor eax, 0xa953fd4e
rol ebp, 8
add eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x18]
add ebp, edx
mov dword [esp + 0xc], ebp
rol esi, 0xa
mov dword [esp + 0x14], esi
mov eax, esi
not eax
and eax, ecx
add edx, dword [esp + 0x54]
add edx, eax
mov eax, ebp
and eax, esi
lea esi, [eax + edx]
add esi, 0x5c4dd124
mov edi, ecx
shl edi, 0xa
mov eax, ecx
shl ecx, 0xb
not ecx
add ecx, edi
and edi, 0xe0fba400
and ecx, 0x1f0459d3
or ecx, edi
shr eax, 0x16
xor ecx, 0x1f0459d3
or ecx, eax
mov eax, ecx
and eax, 0xfffffffd
mov edi, ecx
and edi, 2
mov ebp, ecx
or ebp, 2
imul ebp, edi
xor edi, 2
imul edi, eax
rol esi, 9
add ebp, edi
add esi, ebx
mov eax, esi
and eax, ecx
not ebp
add ebp, ecx
and ebp, dword [esp + 0xc]
or ebp, eax
mov eax, dword [esp + 0x20]
add eax, ebp
add eax, 0x1167b26f
mov edi, eax
and edi, 0xdc4dd124
xor eax, 0x5c4dd124
lea eax, [eax + edi*2]
add eax, 0xee984d91
mov edi, eax
and edi, ebx
xor ebx, eax
lea edx, [ebx + edi*2]
rol edx, 0xb
mov ebp, dword [esp + 0x14]
add edx, ebp
mov ebx, dword [esp + 0xc]
rol ebx, 0xa
mov dword [esp + 0xc], ebx
mov edi, edx
not edi
or edi, ebx
add edi, edx
inc edi
not ebx
and ebx, esi
or ebx, edi
mov edi, ebx
mov eax, dword [esp + 0x34]
xor ebx, eax
add ebx, ebp
and edi, eax
lea edi, [ebx + edi*2]
add edi, 0x5c4dd124
mov ebx, esi
shl ebx, 0xa
mov ebp, esi
shr ebp, 0x16
mov eax, ebp
add eax, ebp
not eax
add eax, ebp
and eax, ebx
shl esi, 0xb
or esi, ebp
sub esi, eax
rol edi, 7
add edi, ecx
mov eax, esi
not eax
and eax, edx
add ecx, dword [esp + 0x1c]
add ecx, eax
mov eax, edi
and eax, esi
add eax, ecx
add eax, 0x5c4dd124
rol eax, 7
mov ecx, eax
mov ebp, dword [esp + 0xc]
and ecx, ebp
xor eax, ebp
rol edx, 0xa
lea ebx, [eax + ecx*2]
mov eax, ebx
and eax, edx
mov ecx, edx
not ecx
and ecx, edi
add ecx, dword [esp + 0x50]
add eax, ecx
add eax, 0x5c4dd124
mov ecx, eax
and ecx, ebp
xor ebp, eax
lea ecx, [ecx*2]
add ecx, ebp
rol ecx, 0xc
rol edi, 0xa
add ecx, esi
mov eax, edi
not eax
and eax, ebx
add esi, dword [esp + 0x28]
add esi, eax
mov eax, ecx
and eax, edi
lea ebp, [eax + esi]
add ebp, 0x5c4dd124
mov eax, dword [esp + 0x5c]
and eax, 0x2953fd4e
rol ebp, 7
mov esi, dword [esp + 8]
lea eax, [esi + eax*2]
mov dword [esp + 0xc], eax
add ebp, edx
rol ebx, 0xa
mov dword [esp + 0x80], ebx
mov eax, ebx
not eax
and eax, ecx
add edx, dword [esp + 0x38]
add edx, eax
mov eax, ebp
and eax, ebx
add edx, eax
add edx, 0x5c4dd124
rol edx, 6
mov esi, ecx
rol esi, 0xa
mov dword [esp + 0x18], esi
add edx, edi
mov dword [esp + 0x14], edx
not edx
not esi
mov ebx, edx
or ebx, esi
lea eax, [ebx + ebx]
not eax
add eax, ebx
and esi, ebp
or esi, eax
add edi, dword [esp + 0x44]
lea eax, [esi + edi]
add eax, 0x757ba3f5
mov esi, eax
xor esi, 0xe6d22d2e
and eax, 0xe6d22d2e
lea ebx, [esi + eax*2]
inc ebx
mov eax, dword [esp]
rol eax, 0xa
not eax
mov dword [esp], eax
lea esi, [eax + eax]
not esi
add esi, eax
mov dword [esp + 0x5c], esi
lea edi, [esi + esi]
not edi
add edi, esi
mov eax, esi
and eax, 0x1848affd
and edi, 0xe7b75002
rol ebx, 0xf
or edi, eax
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 0x80]
add ebx, ecx
mov eax, ebx
not eax
lea esi, [ebx + ebx]
not esi
add esi, ebx
mov dword [esp + 8], ebx
and esi, eax
rol ebp, 0xa
mov dword [esp + 0x60], ebp
mov eax, ebp
not eax
or eax, esi
mov esi, eax
not esi
or edx, ebp
mov edi, eax
and edi, edx
or edx, esi
add eax, edx
inc eax
or eax, edi
not eax
add ecx, dword [esp + 0x24]
lea edi, [eax + ecx]
add edi, 0x5c4dd124
rol edi, 0xd
add edi, dword [esp + 0x18]
mov eax, edi
not eax
mov esi, 0xfffffffe
lea edx, [edi + eax*2]
sub esi, edx
mov edx, dword [esp + 0x14]
rol edx, 0xa
mov dword [esp + 0x14], edx
mov ecx, edx
not ecx
lea ebp, [edx + edx]
not ebp
add ebp, edx
and ebp, ecx
and esi, edx
and ebp, ebx
or ebp, esi
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x58]
lea esi, [ecx + ebp]
add esi, 0x5c4dd124
rol esi, 0xb
mov ebx, dword [esp + 0x60]
add esi, ebx
mov ecx, esi
and ecx, eax
mov ebp, esi
not ebp
and eax, ebp
mov edx, esi
and edx, edi
or edx, eax
add edx, ecx
mov eax, dword [esp + 8]
rol eax, 0xa
mov dword [esp + 8], eax
xor edx, eax
mov ecx, dword [esp + 0x1c]
lea eax, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, 0x928fc10d
sub eax, dword [esp + 0x18]
xor eax, ebx
lea ebx, [edx + ecx]
add ebx, 0x6d703ef2
and ebx, dword [esp + 0x60]
add ebx, ebx
sub ebx, eax
rol ebx, 9
rol edi, 0xa
mov eax, dword [esp + 0x14]
add ebx, eax
or ebp, ebx
xor ebp, edi
add eax, dword [esp + 0x54]
add eax, ebp
add eax, 0x6d703ef3
rol eax, 7
mov ebp, eax
and ebp, 1
xor eax, 1
add eax, dword [esp + 8]
lea edx, [eax + ebp*2]
lea eax, [eax + ebp*2]
dec eax
mov dword [esp + 0x14], eax
mov ecx, esi
shr esi, 0x16
lea ebp, [esi + esi]
not ebp
add ebp, esi
mov eax, esi
and eax, 0x295
and ebp, 0x16a
or ebp, eax
xor ebp, esi
xor ebp, 0x16a
not esi
or esi, ebp
shl ecx, 0xa
xor esi, ecx
mov ecx, esi
not ecx
mov eax, ebx
not eax
or eax, dword [esp + 0x14]
xor eax, ecx
mov ebp, ecx
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x24]
add eax, ecx
add eax, 0x6d703ef3
rol eax, 0xf
rol ebx, 0xa
add eax, edi
neg edx
or edx, eax
mov ecx, eax
xor edx, ebx
add edi, dword [esp + 0x4c]
lea eax, [edx + edi]
add eax, 0x6d703ef3
rol eax, 0xb
add ebp, eax
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0x14]
rol edi, 0xa
mov dword [esp + 0x14], edi
mov edx, ecx
not edx
or edx, ebp
xor edx, edi
mov edi, dword [esp + 0x40]
sub edi, esi
add edx, edi
add edx, 0x336d4e7d
mov edi, edx
xor edi, 0x3a02f074
and edx, 0x3a02f074
lea ebp, [edi + edx*2]
inc ebp
rol ebp, 8
sub esi, eax
add ebp, ebx
mov edx, ecx
rol edx, 0xa
mov dword [esp + 8], edx
or esi, ebp
mov eax, edx
not eax
mov edi, esi
or edi, eax
sub eax, edi
mov ecx, dword [esp + 0x34]
add esi, edx
add esi, ecx
lea edx, [esi + eax*2]
mov esi, edx
and esi, 0x6d703ef1
mov eax, edx
and eax, 2
mov edi, eax
xor edi, 2
imul edi, esi
or esi, 2
imul esi, eax
xor edx, 0x6d703ef3
add edx, ebx
add edx, edi
add edx, esi
rol edx, 6
mov ebx, dword [esp + 0x14]
add edx, ebx
mov edi, dword [esp + 0x18]
rol edi, 0xa
mov dword [esp + 0x18], edi
mov eax, edx
not eax
or eax, ebp
mov ecx, edx
sub ecx, ebp
add ecx, eax
mov eax, dword [esp + 0x2c]
lea esi, [eax + edi]
add esi, ecx
and ecx, edi
add ecx, ecx
sub esi, ecx
add esi, 0x6d703ef3
mov ecx, esi
and ecx, ebx
mov eax, ecx
and eax, 2
mov edi, ecx
or ecx, 2
imul ecx, eax
xor eax, 2
and edi, 0xfffffffd
imul edi, eax
xor esi, ebx
add esi, ecx
add esi, edi
rol esi, 6
mov ecx, esi
mov ebx, dword [esp + 8]
and ecx, ebx
mov eax, ecx
and eax, 2
mov edi, ecx
or ecx, 2
imul ecx, eax
xor eax, 2
and edi, 0xfffffffd
imul edi, eax
xor esi, ebx
add esi, ecx
add esi, edi
rol ebp, 0xa
lea ecx, [edx + edx]
not ecx
add ecx, edx
or ecx, esi
not ecx
mov eax, ebp
and eax, ecx
lea edi, [eax + eax]
not edi
add edi, eax
or ecx, ebp
and ecx, edi
not ecx
mov eax, ebx
add eax, dword [esp + 0x44]
add eax, ecx
add eax, 0x6d703ef3
rol eax, 0xe
mov edi, dword [esp + 0x18]
add eax, edi
mov dword [esp + 8], eax
rol edx, 0xa
mov ecx, esi
not ecx
or ecx, eax
mov eax, edx
not eax
and eax, ecx
mov ebx, ecx
xor ebx, edx
add ebx, ecx
sub ebx, eax
lea eax, [ebx + ebx]
not eax
add eax, ebx
and ecx, edx
or eax, ecx
not eax
mov ecx, dword [esp + 0x3c]
add eax, ecx
add eax, 0x6d703ef3
mov ecx, eax
and ecx, edi
xor edi, eax
lea eax, [edi + ecx*2]
rol eax, 0xc
mov ebx, eax
not ebx
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
and ecx, eax
add ecx, ebp
rol esi, 0xa
mov edi, dword [esp + 8]
lea eax, [edi + edi]
not eax
add eax, edi
or eax, ecx
xor eax, esi
add ebp, dword [esp + 0x50]
add ebp, eax
add ebp, 0x6d703ef3
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
xor edi, eax
xor edi, 0x1848affd
mov ebx, edi
mov edi, dword [esp]
and edi, eax
mov eax, ebp
rol eax, 0xd
or edi, ebx
mov dword [esp], edi
add eax, edx
mov dword [esp + 0x14], eax
mov ebx, eax
and ebx, ecx
mov edi, eax
not edi
mov ebp, edi
xor ebp, ecx
add ebp, eax
sub ebp, ebx
mov eax, dword [esp + 8]
rol eax, 0xa
mov dword [esp + 8], eax
add edx, dword [esp + 0x28]
add edx, eax
add edx, ebp
and ebp, eax
mov ebx, ebp
or ebx, 0xfffffffd
inc ebx
mov eax, ebp
and eax, 0xfffffffd
imul eax, ebx
mov ebx, ebp
and ebx, 2
or ebp, 2
imul ebp, ebx
sub eax, ebp
lea ebp, [eax + edx]
add ebp, 0x6d703ef3
mov eax, edi
and eax, 0xb0616e39
or edi, 0x4f9e91c6
mov edx, dword [esp + 0x14]
add edx, edi
inc edx
or edx, eax
rol ebp, 5
add ebp, esi
rol ecx, 0xa
xor edx, 0x4f9e91c6
or edx, ebp
xor edx, ecx
add esi, dword [esp + 0x58]
add esi, edx
add esi, 0x6d703ef3
mov edi, dword [esp + 0xc]
rol edi, 8
rol esi, 0xe
mov ebx, dword [esp + 8]
add esi, ebx
mov edx, dword [esp + 0x14]
rol edx, 0xa
mov dword [esp + 0x14], edx
mov eax, ebp
not eax
or eax, esi
xor eax, edx
add ebx, dword [esp + 0x20]
lea edx, [eax + ebx]
add edx, 0x6d703ef3
add edi, dword [esp + 4]
mov dword [esp + 0xc], edi
mov ebx, dword [esp]
and edi, ebx
add edi, edi
mov eax, edi
not eax
and eax, ebx
mov dword [esp + 8], eax
not ebx
rol edx, 0xd
and edi, ebx
add edx, ecx
mov ebx, edx
sub ebx, esi
mov eax, edx
not eax
or eax, esi
add eax, ebx
rol ebp, 0xa
xor eax, ebp
add ecx, dword [esp + 0x30]
add eax, ecx
add eax, 0x6d703ef3
rol eax, 0xd
mov ebx, dword [esp + 0x14]
add eax, ebx
mov ecx, eax
mov dword [esp], eax
rol esi, 0xa
lea eax, [edx + edx]
not eax
add eax, edx
or eax, ecx
xor eax, esi
add ebx, dword [esp + 0x38]
add ebx, eax
add ebx, 0x6d703ef3
rol ebx, 7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
add eax, ecx
sub eax, edi
mov dword [esp + 0x14], eax
add ebx, ebp
mov ecx, ebx
mov edi, dword [esp]
and ecx, edi
xor edi, ebx
not edi
add edi, ebx
sub edi, ecx
rol edx, 0xa
xor edi, edx
add ebp, dword [esp + 0x48]
add edi, ebp
add edi, 0x6d703ef3
rol edi, 5
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
add ecx, eax
add ecx, 0xa953fd4e
mov dword [esp + 0x60], ecx
add edi, esi
mov ebp, dword [esp]
rol ebp, 0xa
mov dword [esp], ebp
mov eax, edi
not eax
and eax, ebp
add esi, dword [esp + 0x50]
add esi, eax
mov eax, edi
mov ebp, edi
mov dword [esp + 8], edi
and eax, ebx
lea edi, [eax + esi]
add edi, 0x7a6d76e9
mov esi, ecx
and esi, dword [esp + 4]
mov eax, esi
and eax, 2
mov ecx, esi
or esi, 2
imul esi, eax
mov dword [esp + 0x18], esi
xor eax, 2
and ecx, 0xfffffffd
mov esi, edi
rol esi, 0xf
imul ecx, eax
mov dword [esp + 0x14], ecx
add esi, edx
rol ebx, 0xa
mov ecx, ebx
not ecx
or ecx, esi
lea eax, [ecx + ecx]
not eax
add eax, ecx
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
or ecx, esi
not ecx
xor eax, ecx
and ecx, ebx
add ecx, eax
mov eax, esi
mov edi, esi
and eax, ebp
or ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, ecx
xor eax, 0x5928916
mov esi, ecx
or ecx, 0x7a6d76e9
and ecx, eax
xor esi, 0x7a6d76e9
lea eax, [esi + ecx*2]
mov ecx, eax
and ecx, edx
xor edx, eax
add ecx, ecx
mov eax, ecx
and eax, edx
xor edx, ecx
lea eax, [edx + eax*2]
mov ecx, eax
shl ecx, 5
mov esi, eax
shr esi, 0x1b
lea edx, [esi + esi]
not edx
add edx, esi
and edx, ecx
shl eax, 6
add esi, dword [esp]
add esi, eax
sub esi, edx
mov eax, esi
xor eax, edi
mov edx, esi
sub edx, eax
mov eax, esi
not eax
mov ecx, edi
and ecx, eax
add edx, ecx
mov ecx, esi
and ecx, edi
or ecx, edx
not ecx
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
and ecx, 0xa7b2f66c
and ebp, 0x584d0993
or ebp, ecx
mov ecx, dword [esp + 8]
rol ecx, 0xa
mov dword [esp + 8], ecx
and eax, ecx
xor ebp, eax
and eax, edx
xor ebp, 0xa7b2f66c
or eax, ebp
mov ecx, eax
mov edx, dword [esp + 0x38]
xor eax, edx
add eax, dword [esp]
and ecx, edx
lea eax, [eax + ecx*2]
add eax, 0x7a6d76e9
rol eax, 8
rol edi, 0xa
mov dword [esp], edi
add eax, ebx
mov ecx, eax
and ecx, esi
lea edx, [eax + eax]
not edx
add edx, eax
and edx, edi
or edx, ecx
mov ecx, dword [esp + 0x24]
add ecx, edx
add ecx, 0x149b4268
mov edx, ecx
xor ecx, 0x7a6d76e9
add ecx, ebx
and edx, 0xfa6d76e9
lea edx, [ecx + edx*2]
add edx, 0xeb64bd98
rol edx, 0xb
add edx, dword [esp + 8]
rol esi, 0xa
mov ecx, edx
not ecx
mov ebx, eax
or ebx, ecx
lea ebp, [ebx + edx]
inc ebp
and ecx, esi
mov ebx, ecx
not ebx
mov edi, ebp
xor edi, ecx
or ecx, ebp
sub ebx, ebp
add ebx, ecx
not ebx
or ebx, edi
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x4c]
lea edi, [ebx + ecx]
add edi, 0x7a6d76e9
rol edi, 0xe
rol eax, 0xa
add edi, dword [esp]
mov ecx, edx
xor ecx, eax
and ecx, edi
xor ecx, eax
mov ebx, ecx
mov ebp, dword [esp + 0x3c]
xor ecx, ebp
add ecx, dword [esp]
and ebx, ebp
lea ebx, [ecx + ebx*2]
add ebx, 0x7a6d76e9
rol ebx, 0xe
add ebx, esi
rol edx, 0xa
mov ecx, edi
xor ecx, edx
and ecx, ebx
xor ecx, edx
add ecx, dword [esp + 0x1c]
mov ebp, ecx
xor ebp, 0x8206866c
add ebp, esi
and ecx, 0x206866c
lea ecx, [ecx*2 - 0x7990f83]
add ecx, ebp
rol ecx, 6
add ecx, eax
rol edi, 0xa
mov esi, ecx
not esi
and esi, edi
add eax, dword [esp + 0x30]
add eax, esi
mov esi, ecx
mov ebp, ebx
and esi, ebx
lea ebx, [esi + eax]
add ebx, 0x7a6d76e9
rol ebx, 0xe
add ebx, edx
rol ebp, 0xa
mov dword [esp], ebp
mov esi, ebx
not esi
mov eax, ebp
not eax
mov ebp, esi
and ebp, eax
add eax, esi
add ebp, ebp
sub eax, ebp
and eax, esi
mov esi, ebx
and esi, ecx
add edx, dword [esp + 0x54]
add edx, esi
add eax, edx
add eax, 0x7a6d76e9
rol eax, 6
mov edx, eax
and edx, edi
xor eax, edi
lea ebp, [eax + edx*2]
rol ecx, 0xa
mov eax, ebp
not eax
and eax, ecx
add edi, dword [esp + 0x28]
add edi, eax
mov eax, ebp
and eax, ebx
lea edx, [eax + edi]
add edx, 0x7a6d76e9
rol edx, 9
mov eax, dword [esp + 0x60]
xor dword [esp + 4], eax
mov esi, dword [esp]
add edx, esi
rol ebx, 0xa
mov eax, edx
not eax
and eax, ebx
add esi, dword [esp + 0x58]
add esi, eax
mov eax, edx
and eax, ebp
add eax, esi
add eax, 0x7a6d76e9
rol eax, 0xc
rol ebp, 0xa
add eax, ecx
mov dword [esp], eax
mov esi, eax
and esi, edx
lea edi, [eax + eax]
not edi
add edi, eax
and edi, ebp
mov eax, edi
and eax, esi
xor edi, esi
add ecx, dword [esp + 0x48]
add ecx, edi
sub ecx, eax
lea ecx, [ecx + eax*2]
add ecx, 0x7a6d76e9
rol ecx, 9
mov eax, dword [esp + 0x18]
add dword [esp + 4], eax
add ecx, ebx
rol edx, 0xa
mov eax, ecx
not eax
and eax, edx
add ebx, dword [esp + 0x44]
add ebx, eax
mov eax, ecx
mov esi, dword [esp]
and eax, esi
lea edi, [eax + ebx]
add edi, 0x7a6d76e9
rol edi, 0xc
rol esi, 0xa
mov dword [esp], esi
add edi, ebp
mov eax, edi
not eax
and eax, esi
add ebp, dword [esp + 0x40]
add ebp, eax
mov eax, edi
and eax, ecx
lea ebx, [eax + ebp]
add ebx, 0x7a6d76e9
rol ebx, 5
add ebx, edx
rol ecx, 0xa
mov eax, ebx
and eax, edi
mov esi, ebx
mov dword [esp + 8], ebx
not esi
and esi, ecx
add esi, dword [esp + 0x20]
add eax, esi
add eax, 0x7a6d76e9
mov esi, eax
and esi, edx
xor edx, eax
lea edx, [edx + esi*2]
mov eax, edx
shl eax, 0xf
shr edx, 0x11
add edx, dword [esp]
add edx, eax
rol edi, 0xa
mov eax, ebx
xor eax, edi
and eax, edx
xor eax, edi
mov esi, eax
xor esi, 0x76d99e83
and eax, 0xf6d99e83
add esi, dword [esp + 0x34]
lea ebx, [esi + eax*2]
lea ebp, [esi + eax*2]
add ebp, 0x8926617d
mov esi, 0x76d99e82
sub esi, ebx
mov eax, esi
and esi, 0x22e8e110
mov ebx, ebp
and ebp, 0xdd171eef
or ebp, esi
not eax
xor ebp, 0x588597f9
and eax, 0x7a6d76e9
or eax, ebp
and ebx, 0x7a6d76e9
add ebx, dword [esp]
add ebx, eax
rol ebx, 8
add ebx, ecx
add ecx, dword [esp + 0x28]
mov esi, dword [esp + 8]
rol esi, 0xa
mov dword [esp + 8], esi
mov eax, edx
xor eax, esi
mov esi, ebx
xor eax, ebx
add ecx, eax
rol ecx, 8
mov eax, dword [esp + 0x14]
add dword [esp + 4], eax
add ecx, edi
not ebx
lea eax, [esi + esi]
not eax
add eax, esi
and eax, ebx
mov ebp, ecx
and ebp, esi
mov dword [esp], esi
not ebp
or ebp, eax
and ebx, ecx
mov eax, ecx
xor eax, esi
add eax, ecx
sub eax, ebx
and eax, ebp
rol edx, 0xa
xor eax, edx
add eax, dword [esp + 0x1c]
mov esi, eax
and esi, edi
xor eax, edi
lea edi, [eax + esi*2]
rol edi, 5
mov ebx, dword [esp + 8]
add edi, ebx
mov ebp, dword [esp]
rol ebp, 0xa
lea eax, [ecx + ecx]
not eax
add eax, ecx
xor eax, ecx
and eax, edi
mov esi, ecx
xor esi, ebp
mov dword [esp], ebp
xor esi, eax
mov eax, ebx
or eax, 0x8be885c4
add eax, dword [esp + 0x20]
and ebx, 0x8be885c4
add eax, ebx
lea ebx, [esi + eax]
add ebx, 0x74177a3c
mov esi, dword [esp + 0x64]
rol esi, 0xa
mov eax, esi
and eax, 1
xor esi, 1
rol ebx, 0xc
lea eax, [esi + eax*2]
mov dword [esp + 0x28], eax
add ebx, edx
rol ecx, 0xa
add edx, dword [esp + 0x38]
mov eax, ebx
xor eax, edi
mov esi, eax
and esi, ecx
add eax, ecx
add esi, esi
add edx, eax
sub eax, esi
mov esi, ecx
not esi
or esi, eax
lea edx, [edx + esi*2]
add edx, 2
rol edx, 9
add edx, ebp
mov eax, edx
mov ebp, edx
xor eax, 0xd1f47e13
mov edx, ebx
xor edx, 0x2e0b81ec
and edx, eax
mov eax, ebp
mov dword [esp + 0x20], ebp
xor eax, 0x2e0b81ec
mov esi, ebx
xor esi, 0xd1f47e13
and esi, eax
or esi, edx
mov eax, dword [esp]
add eax, dword [esp + 0x24]
rol edi, 0xa
xor esi, edi
add eax, esi
mov edx, dword [esp + 0x54]
add edx, ecx
rol eax, 0xc
add eax, ecx
mov dword [esp], eax
not eax
mov ecx, ebp
not ecx
mov esi, eax
or esi, ecx
and ecx, eax
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
and ebp, esi
rol ebx, 0xa
xor ebp, ebx
add ebp, edx
mov esi, dword [esp]
mov ecx, esi
xor ecx, 0x476c8930
or esi, 0xb89376cf
and esi, ecx
rol ebp, 5
and eax, 0x476c8930
or esi, eax
add ebp, edi
mov eax, dword [esp + 0x20]
rol eax, 0xa
mov dword [esp + 0x20], eax
xor esi, eax
xor esi, ebp
xor esi, 0x476c8930
add esi, dword [esp + 0x50]
mov eax, esi
and eax, edi
xor esi, edi
lea eax, [esi + eax*2]
rol eax, 0xe
add eax, ebx
mov edx, eax
mov dword [esp + 0x24], eax
add ebx, dword [esp + 0x40]
mov ecx, dword [esp]
rol ecx, 0xa
mov dword [esp], ecx
mov eax, ebp
xor eax, ecx
xor eax, edx
add ebx, eax
mov ecx, ebx
shl ecx, 6
shr ebx, 0x1a
not ecx
lea eax, [ebx + ebx]
not eax
add eax, ebx
not ebx
and ebx, ecx
and eax, ecx
mov edx, eax
not edx
and edx, ebx
xor eax, ebx
add eax, ebx
not eax
mov edi, dword [esp + 0x20]
add edx, edi
add edx, eax
rol ebp, 0xa
mov eax, dword [esp + 0x24]
xor eax, ebp
xor eax, edx
mov ecx, eax
not ecx
mov esi, dword [esp + 0x2c]
or ecx, esi
add ecx, eax
xor eax, esi
add eax, edi
lea ecx, [eax + ecx*2]
add ecx, 2
rol ecx, 8
mov eax, dword [esp]
mov esi, eax
neg esi
xor esi, ecx
lea edi, [eax - 1]
and edi, ecx
add edi, edi
sub edi, esi
mov esi, edi
and esi, edx
add esi, esi
mov ecx, edx
sub ecx, esi
add eax, dword [esp + 0x58]
mov esi, dword [esp + 0x24]
rol esi, 0xa
add ecx, edi
add eax, esi
add eax, ecx
and ecx, esi
add ecx, ecx
sub eax, ecx
rol eax, 0xd
rol edx, 0xa
add eax, ebp
mov ecx, eax
mov dword [esp], eax
xor ecx, edi
add ebp, dword [esp + 0x48]
add ebp, edx
add ebp, ecx
and ecx, edx
add ecx, ecx
sub ebp, ecx
rol edi, 0xa
lea ecx, [edi + edi]
not ecx
add ecx, edi
lea ebx, [ecx + ecx]
not ebx
add ebx, ecx
rol ebp, 6
add ebp, esi
mov ecx, ebp
xor ecx, eax
and ebx, ecx
or ecx, edi
xor ecx, ebx
add esi, dword [esp + 0x34]
mov ebx, dword [esp + 4]
rol ebx, 5
add esi, ecx
mov ecx, dword [esp + 0x10]
add ebx, ecx
mov dword [esp + 4], ebx
rol esi, 5
add ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
add esi, edx
mov dword [esp + 0x24], esi
mov eax, esi
not eax
mov ecx, ebp
not ecx
or ecx, eax
mov ebx, esi
or ebx, ebp
and ebx, ecx
mov ecx, dword [esp]
rol ecx, 0xa
mov dword [esp], ecx
xor ebx, ecx
mov esi, dword [esp + 0x30]
lea ecx, [ebx + esi]
add ebx, esi
dec ebx
neg ecx
xor ecx, edx
and ebx, edx
add ebx, ebx
sub ebx, ecx
rol ebx, 0xf
add ebx, edi
mov ecx, dword [esp + 0x24]
xor ecx, eax
and ecx, ebx
xor ecx, eax
add edi, dword [esp + 0x4c]
rol ebp, 0xa
not ecx
mov esi, ebp
and esi, ecx
add edi, ebp
add edi, ecx
add esi, esi
sub edi, esi
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
add eax, ecx
dec eax
mov dword [esp + 0x30], eax
neg ecx
or ecx, dword [esp + 0xc]
xor ecx, dword [esp + 4]
rol edi, 0xd
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, 0xa953fd4e
mov dword [esp + 0x2c], eax
mov edx, dword [esp]
add edi, edx
mov eax, dword [esp + 0x24]
rol eax, 0xa
mov dword [esp + 0x24], eax
mov ecx, ebx
xor ecx, eax
xor ecx, edi
add ecx, dword [esp + 0x44]
mov eax, edx
not eax
or eax, ecx
add eax, edx
or ecx, edx
lea edx, [ecx + eax]
inc edx
rol edx, 0xb
add edx, ebp
mov ecx, edx
and ecx, edi
mov esi, ecx
and esi, 0xfffffffd
mov eax, ecx
or eax, 0xfffffffd
inc eax
imul eax, esi
mov esi, ecx
and esi, 2
or ecx, 2
imul ecx, esi
sub eax, ecx
add eax, edx
add eax, edi
add ebp, dword [esp + 0x3c]
rol ebx, 0xa
xor eax, ebx
add ebp, eax
rol edi, 0xa
add edi, dword [esp + 0x70]
add edi, dword [esp + 4]
add ebx, dword [esp + 0x74]
mov eax, dword [esp + 0xc]
rol eax, 0xa
add ebx, eax
mov ecx, dword [esp + 0x84]
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0x30]
mov eax, ebx
mov esi, dword [esp + 0x24]
and eax, esi
xor ebx, esi
lea eax, [ebx + eax*2]
mov dword [ecx + 8], eax
add esi, dword [esp + 0x7c]
rol ebp, 0xb
mov eax, ebp
xor ebp, 0x2e9e457d
add esi, ebp
and eax, 0x2e9e457d
lea eax, [esi + eax*2]
mov esi, dword [esp + 0x5c]
add eax, esi
add eax, 0xd161ba83
mov dword [ecx + 0xc], eax
add edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x2c]
rol ebx, 6
add edx, esi
mov eax, ebx
xor ebx, 0x52928094
add edx, ebx
and eax, 0xd2928094
lea eax, [edx + eax*2]
add eax, 0xad6d7f6c
mov dword [ecx + 0x10], eax
mov dword [ecx], edi
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret