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

Disassembly:
mov eax, dword [esp + 8]
lea edx, [esp + 0xec]
sub eax, dword [edx]
cmp eax, dword [edx - 0x60]
jne 0x1000b5fb
mov eax, dword [esp + 8]
add eax, dword [esp + 0x118]
mov dword [esp + 8], eax
mov dword [esp + 0x9d8], 0
jmp 0x10024afc
mov eax, dword [esp + 8]
lea edx, [esp + 0x80]
add eax, dword [edx]
cmp eax, dword [edx + 8]
jne 0x1000b631
mov eax, dword [esp + 0x9d8]
neg eax
lea ebx, [esp + 0xb8]
mov ecx, dword [ebx]
lea edx, [eax + 1]
imul edx, dword [ebx + 0x40]
sub ecx, edx
sub dword [esp + 8], ecx
jmp 0x10024afc
mov eax, dword [esp + 8]
lea edx, [esp + 0xa0]
xor eax, dword [edx]
cmp eax, dword [edx + 0x30]
jne 0x1000ddff
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x134]
xor ecx, 0x9e73776d
lea edx, [esp + 0xf28]
mov dword [edx], ecx
mov dword [esp + 0xf2c], eax
mov eax, dword [edx]
mov eax, dword [esp + 0x144]
mov esi, eax
bswap esi
mov dword [esp + 0x7e8], esi
not esi
mov dword [esp + 0xf30], esi
neg esi
not esi
shld eax, eax, 0x16
lea edi, [esi + 1]
bswap edi
mov ebx, edi
mov ecx, edi
mov edx, edi
not ebx
or ecx, 0xe799b3cd
and edx, 0xe799b3cd
and ebx, 0xe799b3cd
and edi, 0x18664c32
imul edx, ecx
imul edi, ebx
add edx, edi
imul ecx, edx, 0xe56b0660
not edx
imul esi, edx, 0x1a94f99f
not ecx
not esi
sub ecx, esi
mov edi, ecx
mov ebx, ecx
mov esi, ecx
not ecx
and edi, 0xaa2a7105
or ebx, 0xaa2a7105
and esi, 0x55d58efa
and ecx, 0xaa2a7105
imul ebx, edi
imul ecx, esi
add ecx, ebx
lea edx, [ecx + ecx]
xor ecx, 0xd12e0f1b
or edx, 0xa25c1e36
sub edx, ecx
neg edx
lea ecx, [edx - 1]
mov edi, ecx
mov esi, ecx
and edi, 0x9e5a1400
sub esi, edi
lea ebx, [esi - 0x61a5ec00]
mov esi, dword [esp + 0xfa0]
mov edi, ebx
not ebx
and ebx, ecx
xor edi, ecx
mov edx, esi
xor edx, eax
lea ecx, [ebx + ebx]
mov ebx, esi
sub edi, ecx
mov ecx, esi
and ecx, eax
neg ebx
mov eax, edi
add edx, ecx
mov ecx, dword [esp + 0xfa4]
mov esi, edx
imul ecx, edx
not esi
imul esi, ebx
neg ecx
not esi
not ecx
mov edx, edi
sub esi, ecx
mov ecx, edi
shld esi, esi, 0xa
and ecx, esi
mov ebx, edi
xor edx, ecx
xor eax, esi
or ebx, esi
sub ebx, eax
mov eax, ebx
not eax
add edx, esi
mov ecx, edx
and eax, edx
not ecx
and ecx, ebx
imul ecx, eax
mov eax, ebx
or eax, edx
and ebx, edx
imul ebx, eax
lea edx, [ecx + ebx]
mov ecx, esi
neg ecx
lea eax, [ecx - 1]
mov ecx, edi
or ecx, eax
sub ecx, eax
mov eax, edi
neg edi
xor eax, ecx
mov ecx, esi
mov ebx, eax
not ecx
lea edi, [edi - 1]
or ecx, edi
lea edi, [esi + ecx + 1]
mov esi, eax
mov ecx, eax
or esi, edi
and ecx, edi
not eax
imul ecx, esi
mov esi, edi
not esi
and eax, edi
and ebx, esi
imul eax, ebx
add eax, ecx
lea ebx, [eax + eax]
lea ecx, [edx + edx]
xor edx, eax
mov eax, dword [esp + 0x144]
or ebx, ecx
mov esi, eax
mov edi, eax
not esi
mov ecx, eax
mov dword [esp + 0xf38], esi
and esi, 0x9e5a1400
or edi, 0x9e5a1400
and ecx, 0x9e5a1400
sub edi, ecx
sub ebx, edx
mov dword [esp + 0xf34], ebx
lea ecx, [eax + esi]
mov esi, edi
shld eax, eax, 4
mov edx, ecx
not esi
neg edx
not ecx
neg edi
mov ebx, eax
imul esi, edx
lea edx, [eax - 0x1a5ebff7]
imul edi, ecx
or ebx, 0xe5a14009
mov ecx, eax
sub edx, ebx
not ecx
and ecx, edx
not edx
and edx, eax
not esi
not edi
sub esi, edi
add ecx, edx
lea eax, [ecx + ecx]
xor ecx, 0xe5a14009
and eax, 0xcb428012
lea esi, [esi - 1]
not esi
mov edx, esi
mov ebx, esi
neg edx
add eax, ecx
shrd eax, eax, 4
mov edi, eax
neg edi
lea ecx, [edi - 1]
not ecx
or ebx, ecx
sub ebx, ecx
lea ecx, [edx - 1]
mov edi, ecx
or ecx, eax
xor edi, eax
sub ecx, edi
mov edx, ecx
mov edi, ecx
or edx, ebx
and edi, ebx
imul edi, edx
mov edx, ecx
mov dword [esp + 0xf3c], edi
not edx
mov edi, ebx
not ebx
and edi, edx
and ecx, ebx
lea edx, [esp + 0xf40]
mov dword [edx], edi
mov ebx, eax
imul ecx, dword [edx]
not ebx
mov edi, dword [esp + 0xf3c]
lea edx, [edi + ecx]
mov ecx, esi
or ecx, ebx
mov ebx, esi
and ebx, eax
xor esi, eax
lea edi, [eax + ecx + 1]
add ebx, esi
mov esi, edi
mov ecx, ebx
not esi
not ecx
mov eax, ebx
and esi, ebx
and ecx, edi
or eax, edi
and ebx, edi
imul ecx, esi
mov edi, edx
imul ebx, eax
lea eax, [ecx + ebx]
or edi, eax
and edx, eax
lea ecx, [edi + edx]
mov edx, dword [esp + 0xf34]
mov eax, ecx
mov esi, edx
not eax
xor esi, ecx
or eax, edx
and esi, ecx
lea edi, [ecx + eax + 1]
mov ebx, edi
lea ecx, [edx + esi]
and ebx, ecx
or edi, ecx
add edi, ebx
mov dword [esp + 0xf44], edi
mov ecx, edi
mov eax, edi
xor ecx, 1
and eax, 1
mov dword [esp + 0xf48], ecx
lea ebx, [ecx + eax*2 - 1]
mov eax, dword [esp + 0x144]
not ebx
lea edx, [eax + eax]
mov dword [esp + 0x7ec], edx
lea ecx, [ebx + ebx]
and ecx, edx
mov edx, eax
and edx, ebx
lea esi, [eax + ebx]
xor edx, ebx
sub esi, ecx
lea ebx, [eax + edx]
mov edx, esi
mov ecx, ebx
xor esi, ebx
not ecx
and edx, ecx
lea ecx, [edx + edx]
mov edx, eax
sub ecx, esi
and edx, 0x13c8f06
lea ebx, [ecx - 1]
mov ecx, dword [esp + 0xf38]
and ecx, 0xfec370f9
not ebx
imul ecx, edx
mov edx, eax
or edx, 0xfec370f9
and eax, 0xfec370f9
imul eax, edx
lea esi, [ecx + eax]
mov ecx, esi
not ecx
imul ecx, ecx, 0xdb256923
imul eax, esi, 0x24da96de
not ecx
not eax
sub ecx, eax
mov edx, ecx
mov esi, ecx
or edx, 0xe7365149
and esi, 0xe7365149
imul esi, edx
mov edx, ecx
not ecx
and edx, 0x18c9aeb6
and ecx, 0xe7365149
imul ecx, edx
mov edx, edi
neg edx
lea eax, [esi + ecx]
mov esi, eax
and eax, 0xe9aef205
xor esi, 0xe9aef205
or edi, 1
lea ecx, [esi + eax*2 - 1]
not ecx
lea eax, [ecx + ecx]
neg eax
not eax
sub eax, ecx
lea ecx, [edx - 1]
mov esi, eax
and eax, ecx
xor esi, ecx
lea ecx, [esi + eax]
lea eax, [edi + edi]
sub eax, dword [esp + 0xf48]
lea edx, [ecx + ecx]
lea edi, [eax + eax]
xor eax, ecx
and edi, edx
mov edx, ebx
neg edx
lea ecx, [edi + eax]
mov esi, ecx
lea edi, [edx - 1]
neg esi
lea eax, [esi - 1]
mov esi, ebx
or esi, eax
sub esi, eax
mov eax, edi
xor esi, ebx
or eax, ecx
xor edi, ecx
mov edx, esi
xor eax, edi
mov edi, esi
and edx, eax
or edi, eax
imul edi, edx
mov edx, eax
not edx
and edx, esi
not esi
and eax, esi
imul eax, edx
mov edx, ecx
not edx
lea esi, [edi + eax]
mov edi, ebx
and edx, ebx
not edi
mov eax, edi
or eax, ecx
sub eax, edi
add edx, ecx
mov edi, edx
mov ecx, eax
not edi
not ecx
mov ebx, eax
and edi, eax
and ecx, edx
or ebx, edx
and eax, edx
imul ecx, edi
imul eax, ebx
mov edi, dword [esp + 0x7e8]
add eax, ecx
lea ebx, [eax + eax]
lea ecx, [esi + esi]
xor esi, eax
or ebx, ecx
sub ebx, esi
mov dword [esp + 0xf4c], ebx
mov ebx, dword [esp + 0xf44]
mov eax, ebx
bswap eax
mov edx, eax
mov ecx, eax
xor edx, edi
and ecx, edi
lea esi, [edx + ecx]
mov ecx, esi
not esi
and esi, eax
xor ecx, eax
lea eax, [esi + esi]
mov esi, ebx
sub ecx, eax
mov eax, ebx
or esi, 0x2bfab171
and eax, 0x2bfab171
imul eax, esi
lea edx, [ecx + edi]
add edi, edi
add ecx, ecx
and edi, ecx
mov ecx, ebx
not ecx
and ebx, 0xd4054e8e
and ecx, 0x2bfab171
sub edx, edi
imul ebx, ecx
bswap edx
lea edi, [eax + ebx]
mov eax, edi
not eax
imul esi, eax, 0xb965b5a5
imul ecx, edi, 0xb965b5a6
add ecx, esi
mov ebx, ecx
mov eax, ecx
not ebx
mov edi, ecx
and eax, 0x7b96106e
and ebx, 0x8469ef91
or edi, 0x8469ef91
and ecx, 0x8469ef91
imul ebx, eax
imul ecx, edi
mov edi, dword [esp + 0x144]
add ecx, ebx
mov eax, edi
lea esi, [ecx + ecx]
and esi, 0x17bbdaea
xor ecx, 0x8bdded75
add esi, ecx
or eax, esi
mov ecx, esi
sub eax, edi
sub ecx, edi
xor eax, esi
not esi
lea edi, [esi + esi]
mov esi, edx
and edi, dword [esp + 0x7ec]
not esi
lea ebx, [ecx + edi]
mov ecx, eax
or ecx, ebx
and eax, ebx
mov edi, esi
add eax, ecx
or edi, eax
and esi, eax
lea ebx, [edx + edi + 1]
mov edi, ebx
lea ecx, [esi + edx]
mov esi, ecx
not edi
not esi
and edi, ecx
and esi, ebx
imul esi, edi
mov edi, ecx
or edi, ebx
and ecx, ebx
mov ebx, eax
imul ecx, edi
neg ebx
add ecx, esi
lea esi, [ebx - 1]
mov edi, esi
or edi, edx
sub edi, esi
xor edi, edx
neg edx
mov esi, edi
not esi
lea ebx, [edx - 1]
mov edx, eax
or edx, ebx
sub edx, eax
mov eax, edi
xor edx, ebx
mov ebx, edx
and esi, edx
not ebx
and eax, ebx
mov ebx, edx
and ebx, edi
or edx, edi
imul eax, esi
imul edx, ebx
mov esi, dword [esp + 0xf4c]
add edx, eax
mov ebx, esi
lea edi, [edx + edx]
not ebx
lea eax, [ecx + ecx]
and edi, eax
xor ecx, edx
mov eax, esi
lea edx, [edi + ecx]
mov edi, esi
mov ecx, edx
xor edi, edx
or esi, edx
not ecx
sub esi, edi
and ebx, edx
and eax, ecx
lea edx, [esi + esi]
mov edi, edx
add eax, ebx
xor edi, eax
lea ecx, [edx + edx]
add eax, eax
and ecx, eax
add ecx, edi
mov dword [esp + 0x7f0], ecx
shld ecx, ecx, 0x13
mov edi, dword [esp + 0x144]
not ecx
shrd edi, edi, 4
shld ecx, ecx, 0xd
mov eax, edi
not eax
shrd ecx, ecx, 4
mov ebx, eax
and ebx, ecx
lea edx, [ebx + edi]
imul eax, edx
not edx
imul edx, edi
not eax
not edx
sub eax, edx
lea ebx, [eax + ecx]
and eax, ecx
lea esi, [eax + eax]
sub ebx, esi
mov edi, dword [esp + 0x144]
shld edi, edi, 7
not edi
shrd edi, edi, 7
bswap edi
mov eax, edi
mov esi, dword [esp + 0x7f0]
not eax
bswap esi
and eax, esi
mov ecx, ebx
shrd ecx, ecx, 0x1c
lea ebx, [eax + edi]
mov eax, ebx
not eax
imul eax, esi
not esi
imul esi, ebx
sub eax, esi
lea edx, [eax + edi]
lea ebx, [eax + eax]
lea eax, [edi + edi]
and ebx, eax
sub edx, ebx
bswap edx
mov eax, edx
mov ebx, edx
xor eax, ecx
and ebx, ecx
mov edi, edx
or edi, ecx
lea esi, [edx + ecx]
sub esi, edi
lea edi, [eax + ebx]
mov eax, esi
not eax
mov ebx, edi
and eax, edi
not ebx
mov dword [esp + 0xf50], eax
mov eax, esi
and eax, ebx
mov ebx, esi
or ebx, edi
and esi, edi
imul eax, dword [esp + 0xf50]
imul esi, ebx
lea edi, [eax + esi]
mov eax, edx
neg eax
lea ebx, [eax - 1]
not ebx
or ebx, ecx
neg ecx
add ebx, eax
mov esi, ebx
lea eax, [ecx - 1]
mov ecx, eax
or eax, edx
xor ecx, edx
not esi
sub eax, ecx
mov edx, eax
mov ecx, eax
not edx
and esi, eax
and edx, ebx
and ecx, ebx
or eax, ebx
imul edx, esi
imul eax, ecx
mov esi, dword [esp + 0x7f0]
lea ebx, [edx + eax]
mov eax, edi
and edi, ebx
xor eax, ebx
mov edx, dword [esp + 0x7ec]
lea ebx, [esi + esi]
and edx, ebx
lea ecx, [eax + edi*2]
mov dword [esp + 0xf54], ecx
mov edi, esi
mov ecx, dword [esp + 0x144]
mov ebx, ecx
and ebx, esi
xor edi, ebx
lea eax, [ecx + esi]
sub eax, edx
add edi, ecx
mov edx, edi
not edx
and edx, eax
xor eax, edi
lea ebx, [edx + edx]
mov edx, esi
sub ebx, eax
mov eax, esi
or edx, 0x8d6a4aa1
and eax, 0x8d6a4aa1
imul eax, edx
lea edi, [ebx - 1]
mov ebx, esi
not esi
and ebx, 0x7295b55e
and esi, 0x8d6a4aa1
not edi
imul esi, ebx
lea ebx, [eax + esi]
mov eax, ebx
xor ebx, 0xd8f34025
and eax, 0x270cbfda
add eax, eax
sub eax, ebx
mov edx, eax
mov esi, eax
or edx, 0x83701961
and esi, 0x83701961
imul esi, edx
mov edx, eax
not eax
and edx, 0x7c8fe69e
and eax, 0x83701961
imul eax, edx
lea ebx, [esi + eax]
mov esi, ecx
lea eax, [ebx + ebx]
xor ebx, 0xb6114fb
and eax, 0xe93dd608
sub eax, ebx
mov ebx, ecx
xor ebx, eax
and esi, eax
or ecx, eax
mov eax, edi
sub ecx, ebx
neg eax
lea edx, [ebx + esi*2]
mov esi, ecx
not esi
imul esi, edx
not edx
imul edx, ecx
not esi
not edx
sub esi, edx
lea ecx, [eax - 1]
mov ebx, esi
mov edx, esi
not ebx
neg edx
or ebx, ecx
mov ecx, edi
lea edx, [edx - 1]
lea eax, [ebx + esi + 1]
mov ebx, edi
or ebx, edx
xor ecx, ebx
xor ecx, edx
mov edx, eax
mov ebx, ecx
not edx
not ebx
and edx, ecx
and ebx, eax
imul edx, ebx
mov ebx, ecx
and ebx, eax
or ecx, eax
imul ecx, ebx
mov eax, esi
lea ebx, [edx + ecx]
mov edx, edi
not edx
or eax, edx
and esi, edx
lea eax, [edi + eax + 1]
lea ecx, [edi + esi]
mov esi, eax
not esi
mov edi, ecx
mov edx, ecx
and esi, ecx
not ecx
and edi, eax
or edx, eax
and ecx, eax
imul edx, edi
imul ecx, esi
mov eax, dword [esp + 0xf54]
lea esi, [edx + ecx]
mov edx, eax
mov ecx, eax
not edx
and ecx, 0x75e69a74
and edx, 0x8a19658b
imul ecx, edx
mov edx, eax
and edx, 0x8a19658b
or eax, 0x8a19658b
imul eax, edx
lea edi, [ecx + eax]
mov edx, edi
xor edi, 0xe2bc7a4a
not edx
lea eax, [edx + edx]
mov dword [esp + 0xf58], eax
and eax, 0xc578f494
sub edi, eax
mov eax, edi
mov ecx, edi
or eax, 0x7b851a23
and ecx, 0x7b851a23
imul ecx, eax
mov eax, edi
not eax
and edi, 0x847ae5dc
and eax, 0x7b851a23
imul edi, eax
add edi, ecx
mov ecx, edi
not ecx
imul eax, ecx, 0x3aa23c1e
imul ecx, edi, 0xc55dc3e3
not eax
not ecx
sub eax, ecx
lea edi, [ebx + ebx]
xor ebx, esi
lea ecx, [esi + esi]
and edi, ecx
add ebx, edi
lea edx, [ebx + edx*2]
mov esi, edx
not esi
mov ecx, esi
or ecx, eax
lea edi, [ecx + edx + 1]
lea ebx, [edi + edi]
lea ecx, [esi + esi]
lea edi, [eax + eax]
and ecx, edi
sub ecx, eax
lea eax, [ecx + edx]
mov edx, eax
and eax, ebx
or edx, ebx
sub edx, dword [esp + 0xf58]
lea ebx, [edx + eax]
mov dword [esp + 0xf5c], ebx
mov ebx, dword [esp + 0x144]
mov ecx, ebx
neg ecx
mov eax, ebx
xor eax, 0x41e6b4a2
mov dword [esp + 0xf64], eax
lea edi, [ecx - 1]
mov ecx, ebx
mov esi, edi
or ecx, 0x41e6b4a2
or esi, 0xbe194b5d
sub ecx, eax
mov dword [esp + 0xf60], edi
sub edi, esi
mov eax, ecx
mov edx, ecx
not eax
lea esi, [edi - 0x41e6b4a3]
mov edi, ecx
and edi, esi
or edx, esi
and eax, esi
not esi
and esi, ecx
mov ecx, ebx
imul edx, edi
or ecx, 0xbe194b5d
imul esi, eax
mov eax, ebx
lea edi, [edx + esi]
mov edx, ebx
sub eax, ecx
and edx, 0xbe194b5d
xor ebx, edx
mov dword [esp + 0xf68], edx
lea ecx, [eax - 0x41e6b4a3]
mov esi, ecx
lea edx, [ebx - 0x41e6b4a3]
mov ebx, ecx
mov eax, edx
or esi, edx
not eax
and ebx, edx
and eax, ecx
not ecx
and ecx, edx
imul ebx, esi
imul ecx, eax
mov eax, edi
lea edx, [ebx + ecx]
and eax, edx
xor edi, edx
lea esi, [edi + eax*2]
lea edi, [esi + esi]
mov ebx, edi
mov edx, edi
and edi, 0x575e2364
or ebx, 0x575e2364
sub edi, esi
sub edx, ebx
lea eax, [edi + 0x5450ee4d]
mov esi, eax
lea ecx, [edx + 0x575e2364]
not esi
xor eax, ecx
and esi, ecx
lea edx, [esi + esi]
sub edx, eax
mov eax, edx
mov ecx, edx
mov ebx, edx
not eax
or ecx, 0x8951b97d
and ebx, 0x8951b97d
and eax, 0x8951b97d
and edx, 0x76ae4682
imul ebx, ecx
imul edx, eax
add ebx, edx
lea eax, [ebx + ebx]
xor ebx, 0x9c2eb97f
or eax, 0x385d72fe
sub eax, ebx
mov edi, eax
mov esi, eax
not edi
mov ebx, eax
and edi, 0xc3fb47d5
and esi, 0x3c04b82a
and ebx, 0xc3fb47d5
or eax, 0xc3fb47d5
imul esi, edi
imul eax, ebx
add eax, esi
lea ecx, [eax + eax]
xor eax, 0x7b287055
and ecx, 0xf650e0aa
lea edx, [ecx + eax]
mov eax, edx
mov esi, edx
not eax
mov ebx, edx
mov edi, eax
or esi, 0x1b2860f5
and edi, 0x1b2860f5
xor ebx, 0x1b2860f5
xor esi, ebx
or eax, 0xe4d79f0a
mov ebx, esi
lea ecx, [edi + edx]
mov edi, esi
or edi, ecx
and ebx, ecx
imul ebx, edi
mov edi, esi
not edi
lea eax, [edx + eax + 1]
and edi, ecx
not ecx
and esi, ecx
neg edx
imul esi, edi
mov edi, eax
not edi
lea ecx, [ebx + esi]
lea ebx, [edx - 1]
or ebx, 0xe4d79f0a
lea esi, [ebx + 0x1b2860f6]
mov edx, esi
mov ebx, esi
not edx
and edi, esi
and edx, eax
or ebx, eax
and esi, eax
imul edx, edi
imul esi, ebx
mov ebx, ecx
lea eax, [edx + esi]
or ebx, eax
and ecx, eax
mov eax, dword [esp + 0xf68]
lea esi, [ebx + ecx]
lea edi, [eax + 0x65d8efb1]
mov ebx, edi
or edi, esi
sub edi, eax
not ebx
and ebx, esi
lea edx, [edi - 0x65d8efb1]
xor edx, esi
lea ecx, [eax + ebx + 0x65d8efb1]
mov esi, edx
lea ebx, [ecx + ecx]
neg eax
xor esi, ecx
sub eax, esi
mov dword [esp + 0xf6c], ebx
lea ecx, [edx + edx]
or ecx, ebx
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x7e8]
mov dword [esp + 0xf70], edx
lea ebx, [ecx - 1]
not ebx
lea eax, [ebx + ebx]
xor ebx, 1
and eax, 0xfffffffc
sub eax, ebx
mov ebx, edx
bswap eax
not ebx
and ebx, eax
lea esi, [ebx + ebx]
sub esi, eax
lea edi, [ebx + edx]
mov ebx, edi
not edi
lea eax, [esi + edx]
mov esi, dword [esp + 0xf30]
shrd edx, edx, 0x14
not edx
xor ebx, eax
shrd edx, edx, 0xc
bswap edx
add eax, eax
and esi, edx
add edi, edi
and eax, edi
sub ebx, eax
lea eax, [esi + esi]
mov esi, ecx
sub eax, edx
xor esi, edx
lea edi, [ecx + eax]
and ecx, esi
add edx, ecx
mov eax, edx
not eax
imul eax, edi
not edi
imul edi, edx
not eax
not edi
sub eax, edi
mov edi, ebx
lea eax, [eax - 1]
not eax
bswap eax
mov edx, eax
neg edx
lea ecx, [edx - 1]
or edi, ecx
lea esi, [ebx + edx - 1]
mov edx, ebx
sub esi, edi
neg edx
lea ecx, [edx - 1]
mov edx, esi
mov edi, ecx
or ecx, eax
xor edi, eax
not edx
xor edi, ecx
mov ecx, esi
and edx, edi
mov dword [esp + 0xf74], edx
mov edx, edi
not edx
and ecx, edx
mov edx, esi
or edx, edi
and esi, edi
imul ecx, dword [esp + 0xf74]
mov edi, ebx
imul esi, edx
not edi
lea edx, [ecx + esi]
mov dword [esp + 0xf78], edx
mov edx, ebx
and edx, eax
xor ebx, eax
mov ecx, edi
or ecx, eax
sub ecx, edi
mov eax, ecx
lea esi, [edx + ebx]
mov edx, esi
mov edi, ecx
not edx
or eax, esi
and edx, ecx
not ecx
and edi, esi
and ecx, esi
imul edi, eax
imul ecx, edx
mov eax, dword [esp + 0x144]
mov esi, eax
mov edx, eax
lea ebx, [edi + ecx]
mov dword [esp + 0xf7c], ebx
mov ebx, dword [esp + 0xf70]
and esi, ebx
xor edx, ebx
lea edi, [edx + esi*2]
add edx, esi
mov esi, edx
lea ecx, [edi + edi]
not esi
xor edi, edx
add esi, esi
and ecx, esi
sub ecx, edi
mov dword [esp + 0xf80], ecx
mov ecx, dword [esp + 0xf64]
rol eax, cl
mov edx, eax
neg edx
rol ebx, cl
mov dword [esp + 0xf84], eax
lea esi, [edx - 1]
or esi, ebx
lea edi, [ebx + edx - 1]
sub edi, esi
mov dword [esp + 0xf88], edi
or edi, eax
mov edx, edi
mov edi, dword [esp + 0xf88]
xor edi, dword [esp + 0xf84]
add edx, edx
sub edx, edi
ror edx, cl
mov esi, edx
neg esi
mov eax, dword [esp + 0xf80]
mov edi, eax
mov dword [esp + 0x214], 0
lea ebx, [esi - 1]
or edi, ebx
lea ecx, [eax + esi - 1]
mov esi, eax
sub ecx, edi
neg esi
lea ebx, [esi - 1]
mov edi, ebx
xor ebx, edx
or edi, edx
sub edi, ebx
mov ebx, ecx
mov esi, edi
not esi
and ebx, esi
mov esi, ecx
mov dword [esp + 0xf8c], ebx
not esi
mov ebx, edi
and ebx, esi
mov esi, edi
or esi, ecx
and edi, ecx
imul ebx, dword [esp + 0xf8c]
mov ecx, eax
imul edi, esi
xor ecx, edx
lea esi, [ebx + edi]
mov edi, eax
and eax, edx
or edi, edx
mov ebx, ecx
xor ebx, edi
mov edx, ebx
mov edi, ebx
add eax, ecx
mov ecx, ebx
not ecx
or edx, eax
and edi, eax
and ecx, eax
not eax
and ebx, eax
imul edi, edx
imul ebx, ecx
mov ecx, dword [esp + 0xf78]
lea eax, [edi + ebx]
lea edx, [eax + eax]
xor eax, esi
lea edi, [esi + esi]
mov esi, ecx
or edx, edi
mov edi, dword [esp + 0xf7c]
or esi, edi
sub edx, eax
xor ecx, edi
mov eax, dword [esp + 0xf6c]
lea ebx, [eax + esi*2]
sub ebx, ecx
mov ecx, edx
not ecx
mov esi, ebx
mov edi, ebx
and ecx, ebx
or esi, edx
xor edi, edx
xor esi, edi
mov edi, esi
mov ebx, dword [esp + 0x144]
add edx, ecx
xor edi, edx
sub edi, eax
lea eax, [edx + edx]
mov dword [esp + 0x3c8], ebx
lea edx, [esi + esi]
and eax, edx
lea ecx, [edi + eax]
mov dword [esp + 0x6a4], ecx
test ebx, ebx
je 0x1000c44a
test byte [esp + 0x6a4], 1
je 0x1000c430
mov eax, dword [esp + 0x214]
mov ecx, eax
mov edi, eax
mov edx, dword [esp + 0x3c8]
or ecx, edx
and edi, edx
lea esi, [ecx + edi]
mov dword [esp + 0xd88], esi
lea ecx, [eax + eax]
mov ebx, ecx
lea edx, [esi + esi]
ror ebx, cl
mov esi, ebx
not esi
ror edx, cl
mov edi, esi
and edi, edx
neg ecx
add edi, ebx
sub ebx, edi
and esi, edi
mov edi, eax
not eax
bswap edi
lea ebx, [ebx + esi*2]
lea esi, [ebx + edx]
add edx, edx
add ebx, ebx
and edx, ebx
sub esi, edx
mov edx, dword [esp + 0xd88]
bswap edx
ror esi, cl
mov ebx, edx
mov ecx, edx
xor ebx, edi
and ecx, edi
lea ebx, [ebx + ecx*2]
mov ecx, edx
or ecx, edi
sub ecx, edi
xor ecx, edx
lea edx, [ecx + ecx]
mov edi, edx
not edi
and edi, ebx
xor ebx, edx
mov edx, esi
not edx
lea ecx, [edi + edi]
sub ecx, ebx
bswap ecx
and edx, ecx
lea ebx, [edx + esi]
mov edx, esi
or edx, ecx
lea edi, [ebx + ebx]
add edx, edx
sub edx, esi
sub edx, ecx
mov ebx, edx
xor ebx, edi
not edi
lea ecx, [edx + edx]
lea edx, [eax + 1]
lea esi, [edi + edi]
and esi, ecx
lea eax, [eax + eax + 2]
sub ebx, esi
lea ecx, [ebx + ebx]
xor ebx, edx
and ecx, eax
lea edx, [ecx + ebx]
mov dword [esp + 0x214], edx
shr dword [esp + 0x6a4], 1
lea edx, [esp + 0x3c8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000c364
mov eax, dword [esp + 0x144]
mov dword [esp + 0x218], eax
mov dword [esp + 0x180], 0
test eax, eax
je 0x1000c51c
test byte [esp + 0x214], 1
je 0x1000c502
mov edi, dword [esp + 0x218]
bswap edi
mov eax, dword [esp + 0x180]
mov ebx, edi
mov edx, eax
not ebx
bswap edx
mov ecx, ebx
or ecx, edx
sub ecx, ebx
mov esi, ecx
and ecx, ebx
not esi
and esi, edi
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x218]
mov edi, ebx
or ebx, edx
and edi, edx
mov edx, eax
and edx, ecx
lea esi, [edi + ebx]
mov edi, ecx
xor edi, edx
mov ebx, eax
not ebx
bswap esi
lea edx, [eax + edi]
xor eax, edx
lea edi, [edx + edx]
add ebx, ebx
and edi, ebx
lea ebx, [esi + esi]
sub edi, eax
lea edx, [ecx + edi]
and ecx, edi
lea eax, [ecx + ecx]
sub edx, eax
mov ecx, edx
xor ecx, esi
lea edi, [edx + esi]
lea eax, [edx + edx]
or edx, esi
and ebx, eax
sub edx, ecx
sub edi, ebx
add edx, edx
lea esi, [edx + edx]
lea eax, [edi + edi]
xor edi, edx
or esi, eax
sub esi, edi
mov dword [esp + 0x180], esi
shr dword [esp + 0x214], 1
lea edx, [esp + 0x218]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000c46b
mov esi, dword [esp + 0x180]
mov eax, esi
and eax, 0x3c00ffff
mov edx, esi
or edx, 0x3c00ffff
sub edx, esi
lea edi, [esi + 0x3c00ffff]
xor edx, 0x3c00ffff
lea ebx, [eax + eax]
sub edi, ebx
mov ecx, edi
and edi, edx
or ecx, edx
lea ebx, [ecx + edi]
mov ecx, ebx
mov edx, ebx
not ecx
mov edi, ebx
and edx, 0x24425948
and ecx, 0xdbbda6b7
or edi, 0xdbbda6b7
and ebx, 0xdbbda6b7
imul ecx, edx
imul ebx, edi
lea eax, [ecx + ebx]
mov ecx, eax
lea edi, [eax + eax]
xor ecx, 0xf891df63
and edi, 0xedc4138
sub edi, ecx
mov eax, edi
mov edx, edi
mov ebx, edi
not eax
or edx, 0xe4da1707
and ebx, 0xe4da1707
and eax, 0xe4da1707
and edi, 0x1b25e8f8
imul ebx, edx
imul edi, eax
mov dword [esp + 0x1034], ecx
add ebx, edi
lea edx, [ebx + ebx]
xor ebx, 0x4d5d00b5
or edx, 0x9aba016a
sub edx, ebx
mov edi, edx
and edi, 0x3c00ffff
lea ecx, [edx + 0x3c00ffff]
neg edx
mov ebx, ecx
lea eax, [edi + edi]
sub ebx, eax
lea edi, [edx - 1]
mov edx, edi
xor edi, 0x3c00ffff
or edx, 0x3c00ffff
sub edx, edi
lea eax, [edx + edx]
lea edx, [esp + 0x818]
mov dword [edx], eax
mov eax, ebx
not ebx
mov edi, dword [edx]
mov edx, esi
not edi
neg esi
imul ebx, dword [esp + 0x818]
imul eax, edi
not eax
not ebx
sub eax, ebx
lea esi, [esi + 0x17e7f6a2]
rol eax, cl
mov edi, eax
rol edx, cl
not edi
and edi, edx
lea ebx, [edi + edi]
mov edi, eax
xor edi, edx
add edx, edx
neg edx
sub ebx, edi
add eax, eax
lea edi, [edx - 2]
mov edx, edi
or edx, eax
sub edx, eax
mov dword [esp + 0x1038], edx
xor edx, edi
lea edi, [ebx + ebx]
mov dword [esp + 0x103c], edi
lea eax, [edx + edx]
xor edx, ebx
or eax, edi
mov edi, esi
or edi, 1
and esi, 1
sub eax, edx
ror eax, cl
mov dword [esp + 0x2a4], eax
lea ecx, [edi + esi - 0x17e7f6a3]
mov ebx, ecx
neg ebx
lea edx, [ebx - 1]
mov ebx, edx
mov edi, edx
not ebx
mov esi, edx
mov eax, ebx
and edi, 0xfffffffe
and eax, 1
or esi, 1
and edx, 1
imul edi, eax
imul edx, esi
mov dword [esp + 0x1040], edi
lea eax, [edx + edi]
mov esi, ecx
mov edx, ecx
mov edi, ecx
not ecx
and esi, 0xfffffffe
or edx, 0xfffffffe
and edi, 1
and ecx, 0xfffffffe
imul edx, esi
mov esi, eax
imul ecx, edi
not eax
lea edi, [edx + ecx]
xor esi, edi
lea edx, [edi + edi]
lea edi, [eax + eax]
and edx, edi
sub esi, edx
mov ecx, esi
mov eax, esi
mov edi, esi
xor ecx, 0xc3ff0000
and eax, 0xc3ff0000
or edi, 0x3c00ffff
lea edx, [ecx + eax*2]
lea eax, [edi - 0x3c00ffff]
mov edi, edx
mov ecx, eax
not edi
not ecx
imul ecx, edx
mov edx, esi
mov dword [esp + 0x1044], edi
not ecx
imul edi, eax
sub ecx, ebx
not edi
sub ecx, edi
or edx, ecx
mov dword [esp + 0x81c], edx
lea edi, [edx + edx]
sub edi, esi
sub edi, ecx
neg ecx
mov edx, edi
not edi
lea eax, [ecx - 1]
mov ecx, esi
or ecx, eax
xor esi, eax
sub ecx, esi
lea eax, [ecx + ecx]
xor edx, eax
and edi, eax
add ebx, edx
lea esi, [edi + edi]
sub ebx, esi
mov edi, ebx
mov ecx, ebx
and edi, 0x3c00ffff
xor ecx, 0xc3ff0000
lea esi, [ebx + ebx]
mov eax, esi
or eax, 0x7801fffe
lea edx, [edi + edi]
sub ecx, edx
lea edi, [eax - 0x7801fffe]
xor esi, edi
lea ebx, [ecx + ecx]
lea edx, [esi + esi]
xor esi, ecx
and ebx, edx
mov ecx, dword [esp + 0x1038]
add esi, ebx
mov ebx, dword [esp + 0x2a4]
mov edi, esi
ror edi, cl
mov eax, edi
ror ebx, cl
not eax
and eax, ebx
mov edx, ebx
not edx
and edx, edi
mov dword [esp + 0x1048], esi
shrd esi, esi, 0x17
lea eax, [edi + eax*2]
sub eax, ebx
lea edi, [edx + ebx]
mov edx, eax
not eax
xor edx, edi
add edi, edi
lea ebx, [eax + eax]
and edi, ebx
sub edx, edi
mov dword [esp + 0x820], edx
mov ebx, dword [esp + 0x2a4]
shrd ebx, ebx, 0x17
mov edi, ebx
lea edx, [edx - 1]
not edx
and edi, esi
rol edx, cl
mov ecx, ebx
xor ecx, esi
mov eax, ebx
or eax, esi
xor eax, ebx
xor eax, esi
lea edi, [ecx + edi*2]
mov ecx, edx
mov esi, edi
not esi
imul esi, eax
not eax
imul eax, edi
sub esi, eax
mov edi, edx
shrd esi, esi, 9
and edi, esi
or ecx, esi
xor edi, esi
sub ecx, esi
xor ecx, edx
mov eax, ecx
mov ebx, ecx
add edi, edx
and eax, edi
or ebx, edi
imul ebx, eax
mov eax, ecx
not eax
and eax, edi
not edi
and edi, ecx
mov ecx, esi
imul edi, eax
neg ecx
not esi
add edi, ebx
lea ebx, [ecx - 1]
not ebx
or ebx, edx
neg edx
add ecx, ebx
mov ebx, esi
lea edx, [edx - 1]
or ebx, edx
mov edx, ecx
sub ebx, esi
not edx
mov esi, ebx
mov eax, ebx
and edx, ebx
not ebx
and esi, ecx
or eax, ecx
and ebx, ecx
imul eax, esi
imul ebx, edx
lea ecx, [eax + ebx]
mov ebx, dword [esp + 0x1048]
mov esi, ecx
and ecx, edi
xor esi, edi
mov edx, ebx
lea edi, [esi + ecx*2]
mov esi, dword [esp + 0x2a4]
not esi
mov dword [esp + 0x104c], edi
mov ecx, dword [esp + 0x1044]
ror edx, cl
lea edi, [esi + 1]
xor edi, 1
lea eax, [esi + esi + 2]
and eax, 0xfffffffc
mov esi, edx
sub eax, edi
ror eax, cl
and esi, eax
xor esi, eax
add esi, edx
mov edi, esi
not esi
xor edi, eax
add eax, eax
add esi, esi
and esi, eax
sub edi, esi
mov esi, ebx
mov eax, edi
and edi, edx
or eax, edx
mov edx, ebx
sub eax, edi
or edx, 0x349f9d7b
mov edi, eax
and esi, 0x349f9d7b
rol edi, cl
mov ecx, ebx
not ecx
and ebx, 0xcb606284
and ecx, 0x349f9d7b
imul esi, edx
imul ebx, ecx
add esi, ebx
mov edx, esi
xor esi, 0x97a7934
and edx, 0x97a7934
lea ecx, [esi + edx*2]
mov edx, dword [esp + 0x2a4]
mov ebx, ecx
mov esi, ecx
not ebx
and esi, 0x566a464c
and ebx, 0xa995b9b3
imul ebx, esi
mov esi, ecx
and esi, 0xa995b9b3
or ecx, 0xa995b9b3
imul ecx, esi
add ebx, ecx
mov ecx, dword [esp + 0x81c]
mov esi, ebx
not esi
imul esi, esi, 0x17d535c
imul ebx, ebx, 0x17d535d
rol edx, cl
add esi, ebx
mov eax, edx
lea ebx, [esi + esi]
and ebx, 2
xor esi, 1
lea esi, [ebx + esi - 1]
mov ebx, edx
not esi
rol esi, cl
neg ecx
or ebx, esi
xor eax, esi
add ebx, ebx
sub ebx, edx
and edx, esi
sub ebx, esi
mov esi, ebx
not ebx
add edx, eax
and ebx, edx
xor esi, edx
add ebx, ebx
sub esi, ebx
not esi
lea esi, [esi + 1]
rol esi, cl
mov edx, esi
mov ebx, esi
and edx, edi
not ebx
xor edx, esi
mov eax, ebx
or eax, edi
sub eax, ebx
mov ebx, eax
mov ecx, eax
add edx, edi
or ebx, edx
and ecx, edx
imul ecx, ebx
mov ebx, eax
not ebx
and ebx, edx
not edx
and edx, eax
imul edx, ebx
mov ebx, esi
neg ebx
add edx, ecx
lea ecx, [ebx - 1]
mov ebx, ecx
or ebx, edi
sub ebx, edi
neg edi
xor ebx, ecx
lea ecx, [edi - 1]
or ecx, esi
lea edi, [esi + edi - 1]
sub edi, ecx
mov eax, edi
mov esi, edi
or eax, ebx
and esi, ebx
imul esi, eax
mov eax, edi
not eax
and eax, ebx
not ebx
and ebx, edi
imul ebx, eax
mov ecx, dword [esp + 0x103c]
lea eax, [esi + ebx]
mov esi, eax
xor eax, edx
and esi, edx
lea edi, [esi + esi]
mov esi, dword [esp + 0x104c]
sub edi, ecx
lea ebx, [edi + eax]
mov edx, ebx
mov edi, ebx
and edx, esi
xor edi, esi
xor edx, ebx
or ebx, esi
sub ebx, edi
add edx, esi
mov esi, ebx
or esi, edx
xor ebx, edx
mov edx, dword [esp + 0x1094]
mov eax, edx
lea ecx, [ecx + esi*2]
sub ecx, ebx
mov ebx, dword [esp + 0x180]
bswap ebx
mov edi, ebx
mov dword [esp + 0x1050], ecx
mov ecx, dword [esp + 0x820]
rol eax, cl
rol edi, cl
mov esi, eax
mov ecx, edi
not esi
not ecx
imul esi, edi
imul ecx, eax
neg eax
sub esi, ecx
lea ecx, [eax - 1]
mov eax, ecx
or eax, edi
sub eax, edi
xor eax, ecx
mov ecx, edx
lea edi, [eax + eax]
mov eax, edx
or eax, ebx
sub eax, ebx
xor ecx, eax
mov eax, ecx
or ecx, ebx
and eax, ebx
not ecx
not eax
mov ebx, edx
sub eax, ecx
mov ecx, esi
or ebx, eax
and edx, eax
or ecx, edi
and esi, edi
add edx, ebx
mov ebx, dword [esp + 0x1040]
lea edi, [ecx + esi]
mov ecx, dword [esp + 0x820]
ror edi, cl
mov ecx, edx
neg ecx
lea esi, [edi + ebx]
lea edi, [ecx - 1]
mov eax, edi
lea ecx, [esi + edx]
or eax, esi
sub eax, edi
xor eax, esi
and esi, edx
lea edx, [esi + esi]
sub ecx, edx
lea edi, [eax + eax]
mov esi, ecx
xor ecx, edi
not esi
mov dword [esp + 0x1054], esi
lea eax, [ecx + ebx]
add esi, esi
mov dword [esp + 0x1058], esi
lea ebx, [edi + edi]
mov edi, dword [esp + 0x180]
and ebx, esi
sub eax, ebx
lea edx, [eax - 1]
mov ecx, edx
lea eax, [edi - 1]
xor ecx, 1
and edx, 1
not eax
mov dword [esp + 0x105c], eax
not eax
lea esi, [ecx + edx*2]
bswap esi
mov dword [esp + 0x824], esi
mov edx, dword [esp + 0x105c]
mov esi, 0xc3ff0000
mov ebx, eax
neg ebx
not ebx
lea eax, [edx + edx]
not eax
sub ebx, eax
mov ecx, dword [esp + 0x81c]
rol ebx, cl
rol esi, cl
mov edx, esi
and edx, ebx
lea eax, [ebx + ebx]
lea edi, [esi + esi]
or eax, edi
sub eax, ebx
sub eax, esi
xor esi, ebx
lea ebx, [edx + esi]
mov edx, eax
not eax
xor edx, ebx
and eax, ebx
lea edi, [eax + eax]
sub edx, edi
not edx
lea edi, [edx + 1]
ror edi, cl
mov ecx, dword [esp + 0x180]
mov eax, ecx
lea esi, [edi - 1]
or eax, esi
lea edx, [edi + edi - 2]
sub eax, ecx
xor eax, esi
lea esi, [ecx + ecx]
or edx, esi
sub edx, edi
sub edx, ecx
lea ebx, [eax + eax]
lea ecx, [edx + 1]
mov edx, ecx
and ecx, ebx
xor edx, ebx
lea eax, [edx + ecx*2 + 1]
mov edx, dword [esp + 0x824]
mov ebx, eax
mov esi, eax
or ebx, 1
xor esi, 1
mov ecx, edx
neg ecx
mov dword [esp + 0x1060], eax
lea edi, [ebx + ebx]
sub edi, esi
lea esi, [ecx - 1]
mov ecx, edx
or ecx, 1
lea ebx, [edi - 1]
not ebx
mov edi, ebx
xor ebx, esi
and edi, esi
lea esi, [edi + ebx]
mov edi, edx
bswap edx
lea ebx, [ecx + ecx]
mov dword [esp + 0x1064], edx
xor edi, 1
not edx
sub ebx, edi
bswap edx
mov edi, eax
mov ecx, ebx
and edi, edx
or ecx, esi
and ebx, esi
xor edi, edx
lea esi, [ecx + ebx]
lea ebx, [edi + eax]
mov ecx, ebx
or ecx, edx
add ecx, ecx
sub ecx, edx
lea edx, [eax + eax]
sub ecx, ebx
mov dword [esp + 0x1068], edx
lea ebx, [ecx + eax]
lea eax, [ecx + ecx]
mov ecx, esi
and edx, eax
neg ecx
sub ebx, edx
mov edx, ebx
mov edi, ebx
neg edx
lea eax, [ecx - 1]
or edi, eax
lea ecx, [ebx + ecx - 1]
sub ecx, edi
lea edi, [edx - 1]
not edi
mov eax, edi
or eax, esi
sub eax, edi
mov edi, ecx
mov edx, eax
not edi
not edx
and edx, ecx
mov dword [esp + 0x106c], edx
mov edx, eax
and edx, edi
mov edi, ecx
or edi, eax
and ecx, eax
imul edx, dword [esp + 0x106c]
mov eax, ebx
imul ecx, edi
or eax, esi
add edx, ecx
mov dword [esp + 0x1070], edx
mov edx, ebx
xor edx, esi
sub eax, esi
and edx, esi
mov ecx, ebx
xor ecx, eax
mov eax, ecx
mov edi, ecx
lea esi, [ebx + edx]
mov ebx, ecx
mov edx, esi
not ebx
not edx
and ebx, esi
and eax, edx
or edi, esi
and ecx, esi
imul eax, ebx
imul ecx, edi
mov edx, dword [esp + 0x824]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x1060]
mov eax, dword [esp + 0x1068]
mov dword [esp + 0x1074], esi
lea ebx, [edx + edx]
or eax, ebx
lea edi, [edx + ecx]
sub eax, edx
and edx, ecx
sub eax, ecx
sub edi, edx
mov ebx, dword [esp + 0x1064]
bswap ecx
lea edx, [eax + edi]
and eax, edi
mov edi, ebx
xor edi, ecx
lea esi, [eax + eax]
mov eax, ebx
or eax, ecx
sub edx, esi
sub eax, edi
mov edi, eax
or eax, ebx
and edi, ebx
not eax
not edi
sub edi, eax
mov ebx, edi
xor edi, ecx
and ebx, ecx
mov ecx, edx
neg ecx
lea edi, [edi + ebx*2]
bswap edi
lea eax, [ecx - 1]
mov ebx, edi
mov esi, eax
neg ebx
or esi, edi
sub esi, eax
mov ecx, edx
xor esi, edi
lea eax, [ebx - 1]
mov ebx, esi
or ecx, eax
not ebx
sub ecx, eax
xor ecx, edx
mov eax, ecx
and ebx, ecx
mov dword [esp + 0x1078], ebx
not eax
mov ebx, esi
and ebx, eax
mov eax, esi
and eax, ecx
or esi, ecx
imul ebx, dword [esp + 0x1078]
mov ecx, edx
imul esi, eax
or ecx, edi
add esi, ebx
mov eax, edx
lea ebx, [edx + edi]
and edx, edi
sub ecx, edi
sub ebx, edx
xor eax, ecx
mov ecx, ebx
mov edi, ebx
and ecx, eax
or edi, eax
imul edi, ecx
mov ecx, eax
not ecx
lea edx, [esi + esi]
and ecx, ebx
not ebx
and eax, ebx
imul eax, ecx
mov ebx, dword [esp + 0x1074]
add eax, edi
lea edi, [eax + eax]
xor eax, esi
mov esi, dword [esp + 0x1070]
and edx, edi
lea ecx, [ebx + ebx]
lea edi, [esi + esi]
xor esi, ebx
and ecx, edi
add edx, eax
mov eax, dword [esp + 0x1054]
lea edi, [ecx + eax*2]
mov eax, edx
mov ecx, edx
add esi, edi
and eax, esi
add edx, edx
mov edi, dword [esp + 0x1050]
lea ebx, [eax + eax]
sub ecx, ebx
lea ebx, [esi + esi]
mov eax, ebx
xor ebx, edx
or eax, edx
xor eax, ebx
add ecx, esi
lea ebx, [ecx + ecx]
lea edx, [eax + eax]
xor eax, ecx
or ebx, edx
lea edx, [edi + edi]
sub ebx, dword [esp + 0x1058]
sub ebx, eax
shld edx, edx, 0x16
shld edi, edi, 0x17
mov esi, edx
lea ecx, [ebx + ebx]
shld ecx, ecx, 0x16
shld ebx, ebx, 0x17
and esi, ecx
mov eax, esi
xor eax, ecx
add ecx, edx
add esi, esi
sub ecx, esi
add eax, edx
mov edx, ebx
not edx
mov dword [esp + 0x828], eax
lea eax, [edi + edi]
lea esi, [edx + edx]
mov edx, eax
neg eax
and edx, esi
mov esi, ebx
xor esi, edi
lea edi, [eax - 2]
sub edx, esi
lea eax, [ebx + ebx]
mov ebx, edi
mov esi, ecx
or ebx, eax
not esi
sub ebx, eax
mov eax, dword [esp + 0x828]
xor ebx, edi
not eax
mov edi, edx
imul esi, dword [esp + 0x828]
or edi, ebx
imul eax, ecx
and edx, ebx
not esi
not eax
sub esi, eax
shld esi, esi, 0xa
add edx, edi
mov edi, dword [esp + 0x1034]
sub esi, edi
shrd edx, edx, 0x17
lea ebx, [esi + esi]
mov eax, ebx
lea ecx, [edx + edx]
xor eax, ecx
and eax, ebx
lea ecx, [eax + edx*2]
mov ebx, ecx
lea eax, [esi + edx]
and esi, edx
not ebx
lea edx, [esi + esi]
sub eax, edx
imul ebx, eax
not eax
imul eax, ecx
add ebx, edi
sub ebx, eax
mov eax, dword [esp + 0xf5c]
mov esi, eax
lea edi, [eax + ebx]
lea ecx, [eax + eax]
lea edx, [ebx + ebx]
and ecx, edx
mov edx, edi
sub edx, ecx
mov ecx, eax
xor esi, edx
or ecx, edx
sub ecx, esi
mov edx, ebx
mov esi, ebx
and edx, ecx
xor esi, ecx
lea ecx, [esi + edx*2]
mov esi, eax
xor esi, ebx
mov edx, eax
and edx, esi
and eax, ebx
lea esi, [ebx + edx]
lea ebx, [eax + eax]
sub edi, ebx
mov edx, edi
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
mov ebx, edx
mov eax, edx
or ebx, ecx
and eax, ecx
sub ebx, edx
xor ebx, ecx
lea esi, [edx + ecx]
sub esi, eax
mov edx, ebx
or edx, esi
and ebx, esi
imul esi, dword [esp + 0x144], 0x70dbc7e7
mov eax, esi
lea ecx, [edx + ebx]
and eax, 0xf7a2afe7
mov ebx, esi
xor eax, esi
mov edx, esi
or ebx, 0xf7a2afe7
xor edx, 0xf7a2afe7
mov dword [esp + 0x107c], ecx
xor ebx, edx
mov edi, esi
or edi, 0x85d5018
lea ecx, [eax - 0x85d5019]
mov edx, ecx
mov eax, ebx
not edx
not eax
and edx, ebx
and eax, ecx
imul eax, edx
mov edx, ebx
and edx, ecx
or ebx, ecx
imul ebx, edx
add eax, ebx
lea ebx, [edi - 0x85d5018]
xor ebx, esi
neg esi
mov ecx, ebx
lea edi, [esi - 1]
mov esi, ebx
mov edx, edi
or edi, 0xf7a2afe7
xor edx, 0xf7a2afe7
sub edi, edx
mov edx, ebx
not edx
or esi, edi
and ecx, edi
and edx, edi
not edi
and ebx, edi
imul ecx, esi
imul ebx, edx
mov edx, eax
add ecx, ebx
or edx, ecx
and eax, ecx
mov dword [esp + 0x1080], eax
lea ebx, [edx + eax]
mov dword [esp + 0x1084], ebx
mov esi, ebx
lea eax, [ebx + ebx]
or esi, 0xbfad3793
and eax, 0x80a590d8
sub eax, ebx
lea ecx, [esi - 0x3fad3793]
xor ebx, ecx
lea eax, [eax + 0x3fad3793]
lea edi, [ebx + ebx]
mov ebx, edi
xor edi, eax
and ebx, eax
lea eax, [edi + ebx*2]
mov esi, eax
mov ecx, eax
neg esi
mov edi, eax
xor ecx, 0x59550c28
or edi, 0x59550c28
sub edi, ecx
lea ebx, [esi - 1]
not ebx
mov ecx, ebx
or ecx, 0xa6aaf3d7
sub ecx, ebx
mov ebx, edi
not ebx
mov esi, ecx
and esi, ebx
mov ebx, ecx
not ebx
and ebx, edi
imul ebx, esi
mov esi, edi
and esi, ecx
or edi, ecx
imul edi, esi
mov esi, eax
lea ecx, [ebx + edi]
mov ebx, eax
mov edi, eax
or ebx, 0xa6aaf3d7
and edi, 0xa6aaf3d7
sub esi, ebx
sub eax, edi
lea ebx, [esi - 0x59550c29]
mov edi, ebx
lea esi, [eax - 0x59550c29]
mov eax, esi
not edi
not eax
and edi, esi
and eax, ebx
imul eax, edi
mov edi, ebx
or edi, esi
and ebx, esi
imul ebx, edi
lea esi, [eax + ebx]
mov dword [esp + 0x1088], esi
mov eax, esi
xor esi, ecx
and eax, ecx
lea edi, [esi + eax*2]
mov eax, dword [esp + 0x1080]
mov ecx, edi
not edi
neg ecx
lea edi, [edi + 1]
lea esi, [ecx - 1]
lea ecx, [edx + eax + 0x1fd83575]
mov eax, esi
mov edx, ecx
not eax
not edx
neg ecx
lea edx, [edx + 1]
mov ebx, edx
and eax, edx
not ebx
lea ecx, [ecx - 1]
and ebx, esi
imul eax, ebx
mov ebx, edx
and ebx, esi
or edx, esi
neg eax
mov esi, edi
imul edx, ebx
mov ebx, ecx
not ebx
lea eax, [eax - 1]
sub eax, edx
mov edx, edi
and ebx, edi
not edi
or esi, ecx
and edx, ecx
and edi, ecx
imul edx, esi
imul edi, ebx
mov ebx, dword [esp + 0x1084]
add edx, edi
neg edx
lea edx, [edx - 1]
mov ecx, edx
not ecx
lea esi, [ecx + ecx]
lea ecx, [eax + eax]
xor eax, edx
and esi, ecx
lea edi, [esi + ebx]
sub edi, eax
mov eax, dword [esp + 0x107c]
mov dword [esp + 0x108c], edi
lea ecx, [edi + edi]
mov dword [esp + 0x1090], ecx
mov edx, ecx
lea ebx, [eax + eax]
and edx, ebx
xor ecx, ebx
mov esi, edx
mov ebx, ecx
mov ecx, dword [esp + 0x1090]
mov dword [esp + 0x458], 0
lea edi, [ebx + esi]
mov dword [esp + 0x3d0], 0x57536500
lea ebx, [esi + esi]
lea ecx, [ecx + eax*2]
sub ecx, ebx
mov edx, ecx
xor ecx, edi
not edx
and edx, edi
mov edi, dword [esp + 0x108c]
mov esi, edi
neg esi
lea ebx, [edx + edx]
mov edx, eax
sub ebx, ecx
lea ecx, [esi - 1]
mov esi, eax
or edx, ecx
xor esi, ecx
sub edx, esi
mov esi, edi
not esi
mov ecx, eax
not eax
imul ecx, esi
imul edi, eax
not ecx
not edi
sub ecx, edi
add edx, edx
mov eax, ecx
mov edi, ebx
xor eax, edx
not edx
and edx, ecx
mov esi, dword [esp + 0x1088]
sub eax, esi
lea ecx, [edx + edx]
mov edx, ebx
sub eax, ecx
and edi, eax
xor edx, edi
mov edi, eax
not edi
lea ecx, [eax + edx]
lea edx, [ebx + ebx]
add edi, edi
and edx, edi
add ecx, ecx
sub edx, ebx
lea edi, [edx + eax]
mov ebx, edi
lea eax, [ecx + ecx]
not ebx
xor edi, ecx
lea edx, [ebx + ebx]
and eax, edx
add esi, eax
mov eax, dword [esp + 0x144]
sub esi, edi
mov dword [esp + 0x7f4], esi
mov dword [esp + 0x3cc], eax
test byte [esp + 0x3cc], 1
je 0x1000d20e
mov ebx, dword [esp + 0x458]
xor edx, edx
lea ecx, [ebx + ebx]
lea eax, [ecx + ecx]
sub ecx, eax
rol edx, cl
mov edi, edx
neg edi
lea eax, [ecx + ebx*2]
rol ebx, cl
lea esi, [edi - 1]
mov edi, esi
or edi, ebx
sub edi, esi
xor edi, ebx
neg ebx
lea ebx, [ebx - 1]
mov esi, ebx
or esi, edx
xor esi, ebx
xor esi, edx
lea edx, [edi + edi]
lea ebx, [esi + esi]
xor esi, edi
and edx, ebx
add edx, esi
ror edx, cl
lea esi, [eax + eax]
mov ecx, dword [esp + 0x3cc]
lea edi, [ecx + edx]
lea ebx, [edi + edi]
not ebx
mov edx, ebx
or edx, esi
mov esi, edi
or esi, eax
and edi, eax
sub edx, ebx
sub esi, edi
lea eax, [edx + edx]
lea ebx, [esi + esi]
xor esi, edx
and eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x3d0]
lea edx, [ecx - 1]
not edx
add eax, esi
mov ebx, edx
lea esi, [eax + eax]
not ebx
xor edx, eax
lea ecx, [ebx + ebx]
and ecx, esi
sub ecx, edx
mov dword [esp + 0x458], ecx
shr dword [esp + 0x3cc], 1
lea edx, [esp + 0x3d0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000d16d
mov eax, dword [esp + 0x144]
imul eax, dword [esp + 0x458]
mov esi, dword [esp + 0x7f4]
mov edi, eax
bswap edi
mov dword [esp + 0x19c], 0
add esi, esi
mov dword [esp + 0xf90], esi
bswap esi
lea ecx, [edi + edi]
mov ebx, ecx
lea edx, [esi + esi]
or ebx, edx
xor ebx, edx
xor ebx, ecx
mov ecx, ebx
xor ebx, esi
not ecx
add ecx, ecx
and edx, ecx
sub edx, ebx
mov esi, edx
or edx, edi
and esi, edi
lea edi, [eax + eax]
mov eax, dword [esp + 0xf90]
shrd edi, edi, 1
mov ebx, edi
add eax, eax
shrd eax, eax, 1
not ebx
add esi, edx
mov edx, edi
and ebx, eax
and edx, eax
xor edx, eax
bswap esi
lea ecx, [edi + ebx*2]
sub ecx, eax
lea ebx, [edx + edi]
mov edi, ebx
not edi
and edi, ecx
xor ecx, ebx
lea eax, [edi + edi]
sub eax, ecx
lea edi, [eax - 1]
not edi
shrd edi, edi, 0x1f
mov eax, edi
mov ebx, edi
not eax
mov edx, edi
and ebx, 0xba885598
and eax, 0x4577aa67
or edx, 0x4577aa67
and edi, 0x4577aa67
imul eax, ebx
imul edi, edx
add eax, edi
mov ebx, eax
or eax, 0x391dc4be
and ebx, 0x391dc4be
lea edi, [ebx + eax]
mov ecx, edi
mov edx, edi
and ecx, 0x77b1d157
or edx, 0x77b1d157
imul edx, ecx
mov ecx, edi
not edi
and ecx, 0x884e2ea8
and edi, 0x77b1d157
imul edi, ecx
lea eax, [edx + edi]
mov ebx, eax
or eax, 0xefe5056e
and ebx, 0xefe5056e
lea edx, [esi + esi]
add ebx, eax
mov eax, esi
lea ecx, [ebx + ebx]
and edx, ecx
lea ecx, [ebx + esi]
sub eax, edx
lea edi, [eax + ebx]
or ebx, esi
sub ecx, ebx
lea eax, [edi + edi]
mov ebx, dword [esp + 0x7f4]
lea edx, [ecx + ecx]
xor edi, edx
lea esi, [edx + edx]
or eax, esi
mov edx, ebx
sub eax, edi
not ebx
mov ecx, eax
not ecx
imul edx, ecx
imul ebx, eax
mov esi, dword [esp + 0x144]
sub edx, ebx
mov dword [esp + 0xf94], edx
mov dword [esp + 0x6a8], esi
mov dword [esp + 0x3d4], esi
test esi, esi
je 0x1000d45c
test byte [esp + 0x6a8], 1
je 0x1000d442
mov esi, dword [esp + 0x19c]
xor eax, eax
not esi
mov ebx, dword [esp + 0x3d4]
mov ecx, esi
mov edx, ebx
ror edx, cl
mov edi, edx
ror eax, cl
not edi
and edi, eax
lea ecx, [edi + edx]
lea edi, [eax + edx]
add edx, edx
add eax, eax
and edx, eax
sub edi, edx
lea edx, [ecx + ecx]
mov eax, edi
xor edi, ecx
not eax
mov ecx, esi
neg ecx
add eax, eax
and edx, eax
sub edx, edi
xor edi, edi
ror edx, cl
mov ecx, esi
rol edi, cl
rol ebx, cl
lea ecx, [edi + edi]
lea eax, [ebx + ebx]
or ecx, eax
mov eax, edi
xor eax, ebx
not ebx
sub ecx, eax
mov eax, ebx
or eax, edi
sub eax, ebx
mov edi, eax
xor edi, ecx
not ecx
lea ebx, [eax + eax]
lea eax, [ecx + ecx]
mov ecx, esi
and ebx, eax
mov esi, edx
sub edi, ebx
mov eax, edx
ror edi, cl
mov ecx, edx
not edx
or esi, edi
xor eax, edi
sub ecx, edi
and edx, edi
sub esi, eax
mov edi, dword [esp + 0x19c]
lea ebx, [ecx + edx*2]
mov edx, edi
mov eax, ebx
add esi, esi
or eax, esi
and ebx, esi
add eax, ebx
and edx, eax
or edi, eax
lea ecx, [edx + edi]
mov dword [esp + 0x19c], ecx
shr dword [esp + 0x6a8], 1
lea edx, [esp + 0x3d4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000d389
mov dword [esp + 0x24c], 0
mov dword [esp + 0x21c], 0xd2640000
test byte [esp + 0x19c], 1
je 0x1000d9fa
mov ebx, dword [esp + 0x21c]
lea eax, [ebx + ebx]
mov dword [esp + 0xd8c], eax
mov ebx, eax
neg eax
or ebx, 0xc7c8d407
lea edi, [eax - 1]
mov edx, edi
lea ecx, [ebx + 0x38372bf9]
xor edx, 0xc7c8d407
or edi, 0xc7c8d407
sub edi, edx
mov esi, ecx
not esi
mov eax, edi
and eax, esi
mov esi, edi
mov edx, edi
or esi, ecx
and edx, ecx
not edi
imul edx, esi
and edi, ecx
imul edi, eax
mov esi, dword [esp + 0xd8c]
mov ecx, esi
and ecx, 0xc7c8d407
sub ebx, esi
sub esi, ecx
add edx, edi
xor ebx, 0xc7c8d407
mov ecx, ebx
lea esi, [esi - 0x38372bf9]
mov edi, esi
not edi
and ecx, edi
mov edi, ebx
not edi
and edi, esi
imul edi, ecx
mov ecx, ebx
and ecx, esi
or ebx, esi
imul ebx, ecx
lea ecx, [edi + ebx]
mov edi, edx
and edi, ecx
or edx, ecx
add edi, eax
add edi, edx
mov dword [esp + 0xd90], edi
mov esi, edi
mov ecx, edi
and esi, 0xdf84e0cf
mov ebx, edi
xor esi, 0xdf84e0cf
or ecx, 0xdf84e0cf
xor ebx, 0xdf84e0cf
xor ecx, ebx
lea edx, [esi + edi]
mov edi, ecx
or edi, edx
and ecx, edx
sub edi, eax
add ecx, edi
mov ebx, ecx
mov edi, ecx
mov eax, ecx
and ebx, 0xa9f659b7
xor edi, 0xa9f659b7
or eax, 0xa9f659b7
xor eax, 0xa9f659b7
xor eax, ecx
mov esi, eax
mov edx, eax
add ebx, edi
mov edi, eax
or esi, ebx
and edx, ebx
imul edx, esi
mov esi, ebx
not esi
not eax
and edi, esi
and eax, ebx
imul eax, edi
lea esi, [edx + eax]
mov eax, ecx
or eax, 0x5609a648
xor eax, ecx
neg ecx
xor eax, 0x5609a648
lea edi, [ecx - 1]
mov ecx, eax
mov ebx, edi
or ebx, 0xa9f659b7
sub edi, ebx
lea edx, [edi - 0x5609a649]
mov edi, eax
mov ebx, edx
and ecx, edx
not ebx
or edi, edx
and ebx, eax
not eax
and eax, edx
imul edi, ecx
imul eax, ebx
mov ebx, esi
lea edx, [edi + eax]
xor ebx, edx
add esi, esi
lea edi, [edx + edx]
and esi, edi
lea ecx, [ebx + esi]
mov edx, ecx
mov eax, ecx
not edx
and eax, 0x74c80689
and edx, 0x8b37f976
neg ecx
lea edi, [eax + edx]
mov eax, dword [esp + 0x24c]
lea edx, [ecx + ecx - 2]
or edx, 0xe9900d13
lea edx, [edx + 0x166ff2ed]
mov ebx, edx
not ebx
imul ebx, edi
not edi
imul edi, edx
not ebx
not edi
sub ebx, edi
lea edx, [eax + eax]
shld edx, edx, 0x1e
mov eax, edx
shld eax, edx, 7
lea ebx, [ebx - 0x1cd6b183]
shld ebx, ebx, 0x1e
mov esi, ebx
shld esi, ebx, 7
mov ecx, esi
neg ecx
lea edi, [ecx - 1]
mov ecx, eax
not ecx
or ecx, edi
lea ecx, [eax + ecx + 1]
lea edi, [ecx + ecx]
xor ecx, esi
lea eax, [esi + esi]
or edi, eax
mov eax, ebx
neg eax
sub edi, ecx
mov esi, edi
shrd esi, edi, 7
lea eax, [eax - 1]
mov ecx, eax
or ecx, esi
sub ecx, esi
xor ecx, eax
mov eax, ebx
not eax
lea edi, [ecx + ecx]
add eax, eax
lea ecx, [esi + esi]
and eax, ecx
add eax, ebx
sub eax, esi
mov ebx, eax
xor ebx, edi
not edi
and eax, edi
lea esi, [eax + eax]
sub ebx, esi
mov edi, ebx
mov ecx, ebx
or edi, edx
xor ecx, edx
sub edi, edx
mov eax, ebx
neg ecx
xor eax, edi
neg eax
and ebx, edx
lea esi, [ecx - 1]
sub esi, ebx
lea eax, [eax - 1]
mov edi, esi
xor edi, eax
not eax
lea ebx, [esi + esi]
lea edx, [eax + eax]
and edx, ebx
sub edi, edx
shld edi, edi, 2
mov dword [esp + 0xd94], edi
mov edi, dword [esp + 0x24c]
mov ecx, edi
neg ecx
mov eax, edi
or eax, 0x3dd61916
mov esi, edi
sub esi, eax
lea edx, [ecx - 1]
mov ebx, edx
or ebx, 0xc229e6e9
lea esi, [esi + 0x3dd61916]
xor ebx, 0xc229e6e9
xor ebx, edx
mov eax, ebx
mov edx, ebx
or eax, esi
and edx, esi
imul edx, eax
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
mov esi, edi
imul ebx, eax
xor esi, 0xc229e6e9
mov eax, edi
and edi, 0xc229e6e9
or eax, 0xc229e6e9
add edx, ebx
sub eax, esi
mov ebx, eax
lea ecx, [edi + esi]
mov edi, eax
mov esi, ecx
not edi
not esi
and edi, ecx
and ebx, esi
imul ebx, edi
mov edi, eax
and edi, ecx
or eax, ecx
imul eax, edi
mov edi, edx
lea ecx, [ebx + eax]
or edi, ecx
and edx, ecx
add edx, edi
mov ebx, edx
neg ebx
lea esi, [ebx - 1]
mov ebx, edx
mov ecx, esi
mov edi, esi
not ecx
mov eax, esi
and edi, 0x88b6d1b5
and ecx, 0x77492e4a
and eax, 0x77492e4a
or esi, 0x77492e4a
imul ecx, edi
not ebx
imul esi, eax
mov edi, edx
lea eax, [ecx + esi]
mov ecx, edx
and ebx, 0x88b6d1b5
and edi, 0x77492e4a
and ecx, 0x88b6d1b5
or edx, 0x88b6d1b5
imul edi, ebx
imul edx, ecx
lea ebx, [edi + edx]
mov edi, ebx
xor ebx, eax
not edi
and edi, eax
lea esi, [edi + edi]
sub esi, ebx
lea ecx, [esi + 0x601ecf41]
mov edi, ecx
mov eax, ecx
neg edi
mov ebx, ecx
xor eax, 0x9af8aea6
or ebx, 0x9af8aea6
sub ebx, eax
mov eax, ebx
lea edx, [edi - 1]
mov edi, ebx
mov esi, edx
or edx, 0x65075159
xor esi, 0x65075159
sub edx, esi
mov esi, ebx
and eax, edx
or esi, edx
imul esi, eax
mov eax, edx
not eax
not ebx
and edi, eax
and edx, ebx
imul edx, edi
mov eax, ecx
and eax, 0x65075159
lea edi, [esi + edx]
mov esi, ecx
or esi, 0x65075159
xor esi, ecx
sub ecx, eax
xor esi, 0x65075159
mov edx, esi
lea ebx, [ecx + 0x65075159]
mov ecx, esi
mov eax, ebx
not ecx
not eax
and ecx, ebx
and edx, eax
mov eax, esi
and eax, ebx
or esi, ebx
imul ecx, edx
lea edx, [edi + edi]
imul esi, eax
lea eax, [ecx + esi]
xor edi, eax
lea ebx, [eax + eax]
or ebx, edx
sub ebx, edi
mov esi, ebx
not esi
and esi, 0x63f41cdf
lea edx, [ebx + ebx]
and ebx, 0x9c0be320
mov eax, edx
or eax, 0x3817c640
lea edi, [eax - 0x3817c640]
xor edx, edi
lea eax, [esi + ebx]
mov ecx, eax
mov edi, edx
not ecx
xor edx, eax
and edi, ecx
mov ecx, dword [esp + 0x21c]
lea ebx, [edi + edi]
sub ebx, edx
lea edi, [ecx - 1]
not edi
xor edi, 1
lea esi, [ebx + ebx]
bswap esi
mov edx, esi
lea eax, [edi + edi - 4]
bswap eax
not edx
and edx, eax
mov edi, eax
and edi, esi
lea edx, [esi + edx*2]
sub edx, eax
xor eax, esi
lea esi, [edi + eax]
mov edi, esi
not edi
lea eax, [edi + edi]
lea edi, [edx + edx]
xor edx, esi
and eax, edi
mov edi, ecx
sub eax, edx
lea edx, [eax - 1]
mov eax, dword [esp + 0xd90]
not edx
bswap edx
add ebx, eax
and edi, ebx
lea esi, [ecx + ebx]
neg ebx
add edi, edi
sub esi, edi
lea ebx, [ebx - 1]
mov edi, ecx
or edi, ebx
sub edi, ebx
xor ecx, edi
mov edi, esi
not edi
neg esi
add ecx, ecx
mov ebx, ecx
not ecx
neg ebx
imul edi, ebx
imul esi, ecx
not edi
not esi
sub edi, eax
sub edi, esi
lea eax, [edi - 0x74c80689]
mov ebx, eax
neg ebx
lea ebx, [ebx - 1]
mov ecx, ebx
mov esi, ebx
or ecx, edx
and esi, edx
imul esi, ecx
mov edi, ebx
neg esi
not edi
and edi, edx
lea ecx, [esi - 1]
mov esi, edx
neg edx
not esi
and esi, ebx
imul esi, edi
sub ecx, esi
lea edx, [edx - 1]
mov edi, edx
mov ebx, edx
or edi, eax
and ebx, eax
imul ebx, edi
mov esi, eax
not esi
neg ebx
and esi, edx
not edx
and edx, eax
imul edx, esi
lea edi, [ebx - 1]
sub edi, edx
mov edx, ecx
mov eax, edi
xor ecx, edi
not eax
and edx, eax
lea eax, [edx + edx]
sub eax, ecx
mov ecx, dword [esp + 0xd94]
mov edi, ecx
bswap edi
lea ebx, [eax - 0x74c80689]
mov dword [esp + 0xd98], ebx
bswap ebx
mov esi, ebx
neg esi
lea esi, [esi - 1]
mov edx, esi
xor esi, edi
and edx, edi
mov edi, ebx
or edi, 1
xor ebx, 1
add edx, esi
lea esi, [edi + edi]
sub esi, ebx
lea ebx, [edx + edx]
lea edi, [esi + esi]
xor esi, edx
mov edx, ecx
or ebx, edi
neg edx
sub ebx, esi
bswap ebx
lea edi, [edx - 1]
lea eax, [edx + eax - 0x74c8068a]
mov edx, dword [esp + 0xd98]
mov esi, edx
add ebx, ebx
or esi, edi
sub eax, esi
lea esi, [eax + eax]
mov eax, edx
not eax
imul eax, ecx
not ecx
imul ecx, edx
sub eax, ecx
lea ecx, [ebx + ebx]
mov edx, eax
not edx
imul edx, esi
not esi
imul esi, eax
not edx
not esi
sub edx, esi
mov edi, edx
mov eax, edx
xor edi, ebx
or eax, ebx
xor edi, eax
lea eax, [edx + edx]
or eax, ecx
sub eax, ebx
sub eax, edx
add edi, edi
mov ebx, eax
or eax, edi
and ebx, edi
lea edx, [ebx + eax]
mov dword [esp + 0x24c], edx
shr dword [esp + 0x19c], 1
lea edx, [esp + 0x21c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000d472
mov edi, dword [esp + 0x144]
mov ebx, edi
mov edx, edi
imul ebx, edi
mov esi, edi
mov ecx, dword [esp + 0x24c]
mov eax, edi
imul ecx, ebx
mov ebx, edi
and edx, ecx
xor ebx, ecx
or esi, ecx
sub esi, ecx
xor eax, esi
add ebx, edx
mov edx, eax
mov esi, ebx
not edx
not esi
and edx, ebx
and esi, eax
imul esi, edx
mov edx, eax
and edx, ebx
or eax, ebx
imul eax, edx
mov edx, ecx
neg edx
lea ebx, [esi + eax]
mov esi, edi
lea eax, [edx - 1]
or esi, eax
lea edx, [edi + edx - 1]
mov edi, edx
sub edi, esi
mov esi, dword [esp + 0xf60]
mov eax, esi
or eax, ecx
mov edx, edi
sub eax, ecx
mov ecx, edi
xor esi, eax
mov eax, ebx
or ecx, esi
and edx, esi
imul edx, ecx
mov ecx, esi
not ecx
and ecx, edi
not edi
and esi, edi
imul esi, ecx
mov edi, dword [esp + 0xf94]
add edx, esi
and eax, edx
or ebx, edx
mov edx, edi
lea ecx, [eax + ebx]
xor edx, ecx
and edi, ecx
lea edx, [edx + edi*2]
mov edi, ecx
bswap edi
mov dword [esp + 0xf98], edx
bswap edx
lea eax, [edi + edi]
mov ebx, eax
lea esi, [edx + edx]
xor ebx, esi
or eax, esi
mov esi, edi
xor ebx, eax
not esi
imul esi, ebx
not ebx
imul ebx, edi
sub esi, ebx
mov eax, esi
xor esi, edx
or eax, edx
lea edi, [eax + eax]
sub edi, esi
mov esi, edi
lea edi, [ecx + ecx]
mov ebx, edi
mov edx, edi
not ebx
mov eax, edi
and edx, 0x9d50c0b6
and ebx, 0x62af3f49
or eax, 0x62af3f49
and edi, 0x62af3f49
imul ebx, edx
not ecx
imul edi, eax
bswap esi
lea edx, [ebx + edi]
mov eax, edx
lea ebx, [edx + edx]
xor eax, 0xd11e0adb
and ebx, 0xa23c15b6
lea ecx, [ecx + 1]
lea edx, [eax + ebx]
mov edi, edx
mov ebx, edx
not edi
and ebx, 0xb8ba1d06
and edi, 0x4745e2f9
imul edi, ebx
mov ebx, edx
or ebx, 0x4745e2f9
and edx, 0x4745e2f9
imul edx, ebx
lea ebx, [edi + edx]
mov eax, ebx
not ebx
xor eax, 0x95d4e503
add ebx, ebx
and ebx, 0x2ba9ca06
sub eax, ebx
mov ebx, dword [esp + 0xf98]
bswap eax
lea edx, [ebx + ebx]
mov ebx, eax
bswap edx
and ebx, edx
xor ebx, eax
lea edi, [ebx + edx]
mov ebx, eax
or ebx, edx
add ebx, ebx
sub ebx, eax
sub ebx, edx
mov eax, ebx
xor ebx, edi
not eax
and eax, edi
lea edx, [eax + eax]
sub edx, ebx
bswap edx
lea eax, [edx + 0x58931dae]
mov ebx, eax
not eax
and eax, esi
and ebx, esi
xor ebx, esi
add eax, eax
sub eax, esi
lea ebx, [ebx + edx + 0x58931dae]
add ebx, ebx
lea esi, [eax + edx + 0x58931dae]
mov edi, esi
lea edx, [esi + esi]
xor edi, ebx
not ebx
lea esi, [ebx + ebx]
and edx, esi
sub edi, edx
lea eax, [edi - 0x58931dae]
mov ebx, eax
xor eax, ecx
or ebx, ecx
lea edi, [ebx + ebx]
sub edi, eax
mov edx, edi
not edx
lea esi, [edi + edi]
lea edi, [edi - 1]
not edi
lea ebx, [edx + edx]
and esi, ebx
lea ecx, [esi + esi]
xor esi, 0xf7b4cdc
mov eax, ecx
mov ebx, ecx
or eax, 0x1ef699b8
xor ebx, 0x1ef699b8
xor ebx, eax
mov edx, eax
mov eax, ebx
sub edx, esi
not eax
and eax, edx
xor edx, ebx
shld ecx, ecx, 5
add eax, eax
sub eax, edx
mov edx, ecx
and edx, 0xded33703
lea ebx, [ecx - 0x212cc8fd]
xor ecx, 0xded33703
lea esi, [edx + edx]
sub ebx, esi
lea esi, [edx + ecx]
mov ecx, ebx
not ebx
and ebx, esi
xor ecx, esi
lea edx, [ebx + ebx]
sub ecx, edx
lea edx, [eax + eax]
lea esi, [ecx - 1]
not esi
shld esi, esi, 0x1b
lea ecx, [eax + esi]
mov eax, edx
lea ebx, [esi + esi]
mov esi, edx
or esi, ebx
and eax, ebx
sub esi, ebx
sub ecx, eax
xor esi, edx
mov eax, esi
xor eax, ecx
lea edx, [ecx + ecx]
lea ebx, [esi + esi]
and ebx, edx
add ebx, eax
mov eax, 0x342be916
mov edx, ebx
not edx
imul edx, edi
not edi
imul edi, ebx
sub edx, edi
mov ebx, edx
xor ebx, 0x1f
neg ebx
lea ecx, [ebx - 1]
mov dword [esp + 0xf9c], ecx
ror edx, cl
mov esi, edx
not esi
ror eax, cl
sub edx, eax
lea ebx, [esi + esi]
neg ebx
lea edi, [eax + eax]
lea ecx, [ebx - 1]
mov esi, ecx
mov ebx, ecx
and esi, edi
xor ebx, edi
add esi, ebx
mov ebx, ecx
not ebx
and ebx, esi
xor esi, ecx
add ebx, ebx
sub ebx, esi
mov esi, edx
neg esi
lea ecx, [esi - 1]
or ecx, eax
lea esi, [eax + esi - 1]
sub esi, ecx
mov ecx, edx
not edx
sub ecx, eax
add esi, esi
add edx, edx
and edi, edx
mov edx, esi
not esi
add edi, ecx
xor edx, edi
lea ecx, [edi + edi]
sub edx, eax
lea eax, [esi + esi]
mov esi, ebx
and eax, ecx
not esi
mov ecx, ebx
mov edi, ebx
and esi, 0x25798f67
and ecx, 0xda867098
or edi, 0x25798f67
and ebx, 0x25798f67
sub edx, eax
imul ecx, esi
imul ebx, edi
add ecx, ebx
lea ebx, [ecx + ecx]
xor ecx, 0xc339e141
or ebx, 0x8673c282
sub ebx, ecx
mov esi, ebx
mov eax, ebx
or esi, 0x64571c57
and eax, 0x64571c57
imul eax, esi
mov esi, ebx
not ebx
and esi, 0x9ba8e3a8
and ebx, 0x64571c57
imul ebx, esi
lea edi, [eax + ebx]
mov eax, edx
mov ecx, edi
not edi
xor ecx, 0x9e65a917
neg eax
lea ebx, [edi + edi]
and ebx, 0x3ccb522e
lea edi, [eax - 1]
sub ecx, ebx
lea ebx, [ecx - 0x57c372f2]
mov esi, ebx
lea eax, [edx + ecx - 0x57c372f2]
or esi, edi
lea ecx, [ecx + ecx + 0x50791a1c]
sub esi, ebx
add edx, edx
xor esi, edi
and ecx, edx
sub eax, ecx
mov ebx, eax
mov ecx, dword [esp + 0xf9c]
add esi, esi
xor ebx, esi
not esi
and esi, eax
lea edx, [esi + esi]
sub ebx, edx
xor edx, edx
dec edx
lea edi, [ebx + 0x57c372f2]
rol edi, cl
push edi
mov eax, dword [esp + 0xf30]
mov ebx, eax
xor ebx, 0xc30bcbfa
xor eax, 0xa5910687
and ebx, 0xfeca0410
and eax, 0xffffbd97
or ebx, 0xe135c84a
not eax
and eax, 0x7850cbff
mov ecx, dword [esp + 0xf20]
add eax, dword [ebx*4 + 0x10168320]
call eax
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x11c]
mov dword [esp + 8], eax
jmp 0x10024afc
mov eax, dword [esp + 8]
lea edx, [esp + 0xe0]
xor eax, dword [edx]
cmp eax, dword [edx + 4]
jne 0x1000de30
mov eax, dword [esp + 0xe88]
lea edx, [esp + 0xfc]
imul eax, dword [edx]
mov edx, dword [edx - 0x48]
sub edx, eax
sub dword [esp + 8], edx
jmp 0x10024afc
mov eax, dword [esp + 8]
sub eax, dword [esp + 0xd8]
cmp eax, dword [esp + 0x78]
jne 0x10011440
mov edx, dword [ebp + 8]
mov ecx, edx
mov edi, edx
neg ecx
xor edi, 0xa4e756b9
lea esi, [edx + edx]
and esi, 0xb631528c
sub edi, esi
lea ebx, [ecx + ecx - 2]
mov eax, ebx
or eax, 0x49cead72
sub eax, ebx
xor eax, 0x49cead72
mov edx, eax
not eax
and eax, edi
xor edx, edi
lea ecx, [eax + eax]
sub edx, ecx
lea ecx, [esp + 0x1748]
mov dword [ecx], edx
mov ebx, dword [ecx]
xor ebx, 0xa6fee727
lea eax, [ebx + 0x7dbe2bfd]
mov dword [esp + 0x1640], eax
xor eax, 0x604f364e
push eax
call fcn.1000a874
mov dword [esp + 0x254], eax
pop eax
mov esi, dword [esp + 0xc]
mov eax, esi
not eax
mov dword [esp + 0x170], eax
shrd esi, esi, 5
mov dword [esp + 0x504], 0
lea ecx, [eax + 1]
mov edi, ecx
not ecx
xor edi, 1
mov dword [esp + 0x460], 0xd8000000
lea ebx, [ecx + ecx]
and ebx, 2
sub edi, ebx
mov edx, edi
mov eax, edi
and edx, 0xcab14441
mov ecx, edi
sub eax, edx
lea eax, [eax - 0x354ebbbf]
and ecx, eax
or edi, eax
mov eax, esi
not ecx
and eax, 0xf1aa75dd
not edi
xor eax, esi
sub ecx, edi
mov ebx, ecx
not ebx
and ebx, 0xcab14441
lea edx, [eax - 0xe558a23]
mov eax, edx
and edx, esi
or eax, esi
sub eax, edx
lea ebx, [ecx + ebx*2 + 0x354ebbbf]
mov esi, eax
mov edx, ebx
not esi
not edx
and esi, 0xf1aa75dd
mov edi, edx
lea ecx, [eax + esi*2 + 0xe558a23]
shld ecx, ecx, 5
or edi, ecx
sub edi, edx
and edx, ecx
lea esi, [edx + ebx]
mov edx, edi
mov eax, esi
not edx
not eax
and edx, esi
and eax, edi
imul eax, edx
mov edx, edi
and edx, esi
or edi, esi
imul edi, edx
mov esi, ebx
neg esi
add edi, eax
mov eax, ecx
not eax
lea edx, [esi - 1]
or eax, edx
mov edx, ebx
lea esi, [ecx + eax + 1]
neg ecx
lea eax, [ecx - 1]
or edx, eax
sub edx, eax
xor edx, ebx
mov ebx, esi
mov ecx, edx
not ebx
mov eax, edx
not ecx
and eax, ebx
mov ebx, edx
and ecx, esi
or ebx, esi
and edx, esi
mov esi, edi
imul eax, ecx
imul edx, ebx
lea ecx, [eax + edx]
and esi, ecx
or edi, ecx
mov ecx, dword [esp + 0x170]
and ecx, 0xcd493eaf
lea ebx, [esi + edi]
mov dword [esp + 0x174c], ebx
mov ebx, dword [esp + 0xc]
mov eax, ebx
mov esi, ebx
mov edx, ebx
and eax, 0x32b6c150
and esi, 0xcd493eaf
or edx, 0xcd493eaf
imul eax, ecx
imul edx, esi
add eax, edx
mov ecx, eax
xor eax, 0xfb10d370
or ecx, 0xfb10d370
lea edi, [ecx + ecx]
sub edi, eax
mov edx, edi
mov esi, edi
not edx
mov eax, edi
and edx, 0xcf1ed84f
and esi, 0x30e127b0
or eax, 0xcf1ed84f
and edi, 0xcf1ed84f
imul esi, edx
imul edi, eax
lea ecx, [esi + edi]
mov edx, ecx
lea eax, [ecx + ecx]
xor edx, 0xfc484070
and eax, 0xf89080e0
add eax, edx
mov edi, eax
mov esi, eax
and edi, 0xcab14441
lea ecx, [edi + edi]
xor edi, 0xcab14441
sub esi, ecx
add eax, edi
mov edi, ebx
or edi, 0xcab14441
lea edx, [esi - 0x354ebbbf]
mov ecx, edx
not edx
mov esi, ebx
sub ecx, eax
and edx, eax
sub esi, edi
and ebx, 0xcab14441
sub edi, ebx
mov eax, edi
lea edx, [ecx + edx*2]
lea ecx, [esi - 0x354ebbbf]
and eax, ecx
or edi, ecx
add eax, edi
mov edi, eax
mov esi, eax
and edi, edx
not esi
xor edi, edx
mov ecx, esi
or ecx, edx
sub ecx, esi
mov esi, ecx
lea ebx, [edi + eax]
mov edi, ebx
not edi
and esi, edi
mov edi, ecx
not edi
and edi, ebx
imul edi, esi
mov esi, ecx
and esi, ebx
or ecx, ebx
mov ebx, eax
imul ecx, esi
neg ebx
mov esi, edx
add ecx, edi
lea edi, [ebx - 1]
mov ebx, edx
neg edx
or esi, edi
xor ebx, edi
mov edi, eax
sub esi, ebx
mov ebx, esi
lea edx, [edx - 1]
or edi, edx
xor eax, edx
mov edx, esi
xor edi, eax
mov eax, esi
not edx
or ebx, edi
and eax, edi
and edx, edi
not edi
and edi, esi
imul eax, ebx
imul edi, edx
mov edx, dword [esp + 0x174c]
lea esi, [eax + edi]
mov eax, ecx
and ecx, esi
xor eax, esi
lea ecx, [eax + ecx*2]
lea eax, [edx + ecx]
and edx, ecx
mov ebx, eax
sub ebx, edx
lea edi, [edx + edx]
sub eax, edi
mov dword [esp + 0x1648], eax
lea esi, [ebx + ebx]
mov eax, dword [esp + 0xc]
imul eax, eax
mov dword [esp + 0x1644], esi
mov dword [esp + 0x8c4], eax
mov dword [esp + 0x76c], eax
test byte [esp + 0x76c], 1
je 0x1000e16d
mov esi, dword [esp + 0x460]
mov ebx, dword [esp + 0x504]
lea edi, [esi + esi]
lea ecx, [ebx + ebx]
mov eax, ecx
lea edx, [edi + edi]
or eax, edx
lea ebx, [ebx + esi*2]
sub eax, ecx
xor eax, edx
and edx, ecx
sub ebx, edx
mov ecx, ebx
or ebx, eax
and ecx, eax
sub ecx, esi
lea esi, [ecx + ebx]
mov dword [esp + 0x504], esi
shr dword [esp + 0x76c], 1
lea edx, [esp + 0x460]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000e12b
mov edx, dword [esp + 0xc]
mov eax, edx
imul eax, dword [esp + 0x504]
mov dword [esp + 0x770], eax
mov dword [esp + 0x464], edx
mov dword [esp + 0x508], 0
test edx, edx
je 0x1000e20c
test byte [esp + 0x770], 1
je 0x1000e1f6
mov ebx, dword [esp + 0x508]
mov ecx, dword [esp + 0x464]
mov edi, ebx
not edi
lea esi, [ebx + ebx]
not esi
lea edx, [ecx + ecx]
and esi, edx
lea eax, [esi + ebx*2]
lea esi, [edi + edi]
and esi, edx
lea edx, [ebx + esi]
sub edx, ecx
mov ecx, eax
not ecx
imul ecx, edx
not edx
imul edx, eax
sub ecx, edx
mov dword [esp + 0x508], ecx
shr dword [esp + 0x770], 1
lea edx, [esp + 0x464]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000e1ae
mov eax, dword [esp + 0xc]
mov dword [esp + 0x774], eax
mov dword [esp + 0x468], eax
mov dword [esp + 0x50c], 0
test eax, eax
je 0x1000e28a
test byte [esp + 0x774], 1
je 0x1000e274
mov edx, dword [esp + 0x50c]
mov ecx, dword [esp + 0x468]
mov esi, edx
and esi, ecx
lea edi, [edx + ecx]
or edx, ecx
sub edi, esi
sub edx, esi
mov ecx, edx
not edx
neg ecx
lea ebx, [edi + edi]
mov eax, ebx
neg ebx
not eax
imul eax, ecx
imul ebx, edx
not eax
not ebx
sub eax, ebx
mov dword [esp + 0x50c], eax
shr dword [esp + 0x774], 1
lea edx, [esp + 0x468]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000e22d
mov ebx, dword [esp + 0xc]
mov edx, ebx
neg edx
mov eax, dword [esp + 0x50c]
mov esi, eax
lea ecx, [edx - 1]
mov dword [esp + 0x164c], ecx
not ecx
or esi, ecx
mov ecx, eax
neg ecx
lea edi, [esi + edx]
mov edx, ebx
lea esi, [ecx - 1]
mov ecx, ebx
xor edx, esi
or ecx, esi
sub ecx, edx
mov edx, ecx
mov esi, ecx
or edx, edi
and esi, edi
imul esi, edx
mov edx, edi
mov dword [esp + 0x1650], esi
not edx
mov esi, ecx
not ecx
and esi, edx
and ecx, edi
lea edi, [esp + 0x1654]
mov dword [edi], esi
mov edx, ebx
imul ecx, dword [edi]
mov esi, ebx
mov edi, dword [esp + 0x1650]
or edx, eax
xor esi, eax
and eax, dword [esp + 0x170]
xor edx, esi
add ecx, edi
mov edi, edx
not edi
lea esi, [ebx + eax]
mov eax, esi
and edi, esi
mov dword [esp + 0x1658], edi
not eax
mov edi, edx
and edi, eax
mov eax, edx
and eax, esi
or edx, esi
imul edi, dword [esp + 0x1658]
imul edx, eax
mov eax, ebx
lea esi, [edi + edx]
mov edx, esi
and esi, ecx
or edx, ecx
mov edi, ebx
xor eax, 0xacae7af2
or edi, 0xacae7af2
xor eax, edi
lea ecx, [edx + esi]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x164c]
mov edx, ecx
or edx, 0x5351850d
lea esi, [edx - 0x5351850d]
mov edx, eax
xor esi, ecx
not edx
mov ecx, esi
mov edi, esi
and ecx, edx
not edi
mov edx, eax
and edx, edi
mov edi, esi
or edi, eax
and esi, eax
imul edx, ecx
mov ecx, ebx
imul esi, edi
or ecx, 0x5351850d
lea edi, [edx + esi]
mov edx, ebx
mov esi, ebx
and edx, 0x5351850d
sub ebx, edx
lea eax, [ecx - 0x5351850d]
xor esi, eax
mov edx, esi
mov eax, esi
not eax
lea ebx, [ebx + 0x5351850d]
mov ecx, ebx
and eax, ebx
not ecx
and edx, ecx
mov ecx, esi
or ecx, ebx
and esi, ebx
imul eax, edx
imul esi, ecx
lea edx, [eax + esi]
mov ecx, edx
or edx, edi
and ecx, edi
lea esi, [ecx + edx]
lea ebx, [esi + esi]
mov edx, ebx
mov edi, ebx
or ebx, 0xcbb050a0
or edx, 0x344faf5e
sub ebx, esi
xor edi, 0x344faf5e
xor edx, edi
mov esi, edx
not esi
lea ecx, [ebx - 0x65d82850]
imul esi, ecx
not ecx
imul edx, ecx
sub esi, edx
mov edx, esi
mov ebx, esi
neg edx
mov ecx, esi
xor ebx, 0x28062e3a
or ecx, 0x28062e3a
xor ebx, ecx
mov ecx, ebx
lea eax, [edx - 1]
not eax
or eax, 0xd7f9d1c5
lea edi, [eax + edx]
mov eax, ebx
mov edx, edi
not eax
not edx
and eax, edi
and ecx, edx
mov edx, ebx
and edx, edi
or ebx, edi
imul ebx, edx
mov edx, esi
imul ecx, eax
or edx, 0xd7f9d1c5
lea edi, [ebx + ecx]
mov dword [esp + 0x165c], ecx
mov eax, esi
lea ecx, [edx + 0x28062e3b]
mov edx, esi
and edx, 0xd7f9d1c5
xor esi, 0xd7f9d1c5
xor eax, ecx
mov ebx, eax
lea ecx, [edx + esi]
mov edx, eax
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ebx, eax
not ebx
and ebx, ecx
not ecx
and ecx, eax
imul ecx, ebx
mov esi, dword [esp + 0x190]
lea eax, [edx + ecx]
mov edx, edi
and edi, eax
xor edx, eax
or esi, 1
lea ecx, [edx + edi*2]
mov ebx, ecx
lea eax, [ecx + ecx]
not ebx
mov edx, eax
and ebx, 0xc1efaa70
or edx, 0x7c20ab1e
xor edx, eax
xor edx, 0x7c20ab1e
lea edi, [ecx + ebx*2 + 0x3e105590]
mov ecx, edi
not ecx
and ecx, edx
xor edx, edi
lea ebx, [ecx + ecx]
mov ecx, dword [esp + 0x190]
sub ebx, edx
lea edx, [esi + esi]
xor ecx, 1
sub edx, ecx
mov dword [esp + 0x1660], ebx
lea esi, [edx - 1]
not esi
mov ecx, esi
mov eax, esi
mov edx, esi
not ecx
or eax, 0x90aab161
and edx, 0x90aab161
and ecx, 0x90aab161
and esi, 0x6f554e9e
imul edx, eax
imul esi, ecx
add edx, esi
lea edi, [edx + edx]
xor edx, 0x3cea3bec
and edi, 0x862b8826
sub edi, edx
mov eax, edi
mov ecx, edi
not eax
mov esi, edi
and ecx, 0x60e4d5e
and eax, 0xf9f1b2a1
or esi, 0xf9f1b2a1
and edi, 0xf9f1b2a1
imul eax, ecx
imul edi, esi
lea ecx, [eax + edi]
mov edi, ebx
mov edx, ecx
not edx
imul edx, edx, 0x2225c76c
imul eax, ecx, 0xddda3895
not edx
not eax
sub edx, eax
mov ecx, edx
mov eax, edx
neg ecx
and eax, 1
xor edx, 1
lea esi, [ecx - 1]
xor edi, esi
and edi, esi
lea esi, [edx + eax*2]
lea ecx, [ebx + edi]
not ebx
mov edx, ecx
and ecx, esi
or edx, esi
lea edi, [ebx + ebx]
sub edi, ebx
mov eax, edi
mov esi, edi
add ecx, edx
mov edx, dword [esp + 0x190]
xor eax, edx
and esi, edx
mov edx, edi
not edi
lea ebx, [eax + esi]
sub edx, ebx
and edi, ebx
lea esi, [edx + edi*2]
mov edx, ecx
mov eax, esi
neg edx
not eax
lea edi, [esp + 0x190]
and eax, dword [edi]
lea ebx, [eax + eax]
sub ebx, dword [edi]
lea eax, [edx - 1]
lea edi, [ebx + esi]
mov ebx, edi
lea esi, [edi + edx - 1]
neg ebx
mov edx, edi
or edx, eax
sub esi, edx
lea eax, [ebx - 1]
mov ebx, eax
or eax, ecx
xor ebx, ecx
sub eax, ebx
mov edx, eax
mov ebx, eax
and edx, esi
or ebx, esi
imul ebx, edx
mov edx, eax
mov dword [esp + 0x1664], ebx
not edx
mov ebx, esi
not esi
and ebx, edx
and eax, esi
lea edx, [esp + 0x1668]
mov dword [edx], ebx
mov esi, edi
imul eax, dword [edx]
and esi, ecx
mov edx, dword [esp + 0x1664]
lea ebx, [edx + eax]
mov dword [esp + 0x166c], ebx
mov ebx, edi
or ebx, ecx
sub ebx, ecx
xor ebx, edi
xor edi, ecx
mov edx, ebx
mov ecx, ebx
not edx
lea eax, [esi + edi]
mov esi, ebx
or ecx, eax
and esi, eax
and edx, eax
not eax
and eax, ebx
imul esi, ecx
imul eax, edx
mov edx, dword [esp + 0x1660]
lea ecx, [esi + eax]
mov esi, edx
mov dword [esp + 0x1670], ecx
mov ecx, dword [esp + 0x190]
xor esi, ecx
and esi, ecx
lea eax, [edx + edx]
lea edi, [ecx + ecx]
and edi, eax
lea ebx, [edx + ecx]
sub ebx, edi
lea edi, [edx + esi]
mov esi, edi
mov eax, ebx
not esi
not ebx
imul eax, esi
imul ebx, edi
bswap edx
not eax
mov edi, edx
not ebx
neg edi
sub eax, ebx
bswap ecx
not eax
mov ebx, ecx
not ebx
lea esi, [edi - 1]
or ebx, esi
lea ebx, [ecx + ebx + 1]
lea ecx, [edx + edx]
lea edi, [ebx + ebx]
xor ebx, edx
or ecx, edi
sub ecx, ebx
mov edx, ecx
lea ecx, [eax + 1]
bswap edx
mov ebx, ecx
mov esi, edx
neg eax
neg esi
lea eax, [eax - 2]
lea edi, [esi - 1]
or ebx, edi
mov edi, eax
sub ebx, esi
or edi, edx
sub edi, eax
xor edi, edx
lea esi, [ebx + 1]
mov ebx, ecx
xor ebx, esi
mov eax, ebx
mov esi, ebx
and eax, edi
or esi, edi
imul esi, eax
mov eax, ebx
mov dword [esp + 0x1674], esi
not eax
mov esi, edi
not edi
and esi, eax
and ebx, edi
lea edi, [esp + 0x1678]
mov dword [edi], esi
mov esi, ecx
imul ebx, dword [edi]
mov edi, ecx
mov eax, dword [esp + 0x1674]
xor esi, edx
or edi, edx
sub edi, esi
mov esi, dword [esp + 0x1670]
add eax, ebx
mov ebx, edx
not ebx
and ebx, ecx
mov ecx, edi
add ebx, edx
mov edx, edi
or edx, ebx
and ecx, ebx
imul ecx, edx
mov edx, ebx
not edx
and edx, edi
not edi
and edi, ebx
imul edi, edx
add ecx, edi
mov edi, dword [esp + 0x166c]
mov edx, edi
mov ebx, ecx
and edx, esi
or ebx, eax
and ecx, eax
or edi, esi
mov eax, dword [esp + 0x165c]
add edx, eax
add ebx, ecx
lea ecx, [edi + edx]
lea edi, [ecx + ecx]
mov edx, edi
lea esi, [ebx + ebx]
xor edx, esi
and edx, edi
lea esi, [edx + ebx*2]
lea edx, [ecx + ebx]
and ecx, ebx
lea ebx, [ecx + ecx]
sub edx, ebx
mov ecx, edx
not ecx
imul ecx, esi
not esi
imul esi, edx
not ecx
not esi
sub ecx, eax
sub ecx, esi
mov eax, ecx
not eax
and eax, 0x20000000
mov dword [esp + 0x8c8], ecx
lea edi, [ecx + ecx]
and edi, 0xbffffffe
sub edi, ecx
lea edx, [ecx + eax]
mov dword [esp + 0x8cc], edx
lea ebx, [edx + edx]
mov dword [esp + 0x167c], ebx
mov edx, ebx
not ebx
lea esi, [edi + 0x20000000]
xor edx, esi
mov esi, ecx
and esi, 0x20000000
lea eax, [edi + edi + 0x40000000]
lea edi, [ebx + ebx]
and eax, edi
mov edi, ecx
or edi, 0x20000000
sub edx, eax
xor edi, 0x20000000
lea ebx, [esi + esi]
xor edi, ecx
sub ecx, ebx
mov eax, edi
lea ecx, [ecx + 0x20000000]
xor eax, ecx
and edi, ecx
mov ecx, edx
not ecx
lea esi, [eax + edi*2]
mov eax, edx
mov ebx, esi
neg eax
neg ebx
lea esi, [esi + 0x3668cea1]
lea edi, [ebx - 0x3668cea2]
and ecx, edi
lea ebx, [eax - 1]
mov dword [esp + 0x8d0], ecx
mov ecx, esi
mov eax, esi
and ecx, ebx
or eax, ebx
imul eax, ecx
mov ecx, ebx
not ecx
neg eax
and ecx, esi
not esi
and esi, ebx
mov ebx, edx
imul esi, ecx
mov ecx, edx
or ebx, edi
and ecx, edi
not edi
lea eax, [eax - 1]
and edi, edx
sub eax, esi
imul ecx, ebx
imul edi, dword [esp + 0x8d0]
lea edx, [ecx + edi]
neg edx
lea edi, [edx - 1]
mov edx, dword [esp + 0x8ec]
mov ecx, edi
mov esi, edx
not ecx
imul ecx, eax
not eax
imul eax, edi
sub ecx, eax
mov eax, dword [esp + 0x8c8]
bswap eax
mov dword [esp + 0x1680], eax
lea ebx, [ecx + 0x3668cea1]
mov ecx, eax
not ecx
and esi, ecx
mov dword [esp + 0x588], ebx
imul edx, ecx
neg edx
lea ebx, [esi + eax]
mov dword [esp + 0x1684], ecx
lea edi, [ebx + ebx]
xor ebx, eax
lea esi, [ecx + ecx]
and edi, esi
mov esi, dword [esp + 0x1734]
sub edi, ebx
imul esi, eax
mov eax, edx
mov ebx, dword [esp + 0x1738]
neg esi
or ebx, ecx
not esi
sub ebx, ecx
not eax
mov edx, esi
sub edx, eax
mov eax, edx
mov dword [esp + 0x1688], edi
lea ecx, [ebx + ebx]
xor eax, ecx
and edx, ecx
lea ecx, [eax + edx*2]
mov dword [esp + 0x168c], ecx
mov ebx, ecx
mov esi, ecx
not ebx
and esi, 0x94efc07a
and ebx, 0x6b103f85
or ecx, 0x6b103f85
imul ebx, esi
mov dword [esp + 0x1690], ecx
mov ecx, dword [esp + 0x168c]
and ecx, 0x6b103f85
mov esi, dword [esp + 0x1690]
imul esi, ecx
mov eax, ebx
lea edx, [eax + esi]
mov ebx, edx
not ebx
imul eax, ebx, 0x5116db48
imul edi, edx, 0xaee924b9
not eax
not edi
sub eax, edi
mov ecx, eax
mov edi, eax
mov esi, eax
not ecx
or edi, 0xf2f5e14d
and esi, 0xd0a1eb2
and ecx, 0xf2f5e14d
and eax, 0xf2f5e14d
imul ecx, esi
imul eax, edi
mov dword [esp + 0x1694], edi
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x1688]
lea ebx, [edx + edx]
and ebx, 0x32fb86b0
xor edx, 0x997dc358
mov eax, dword [esp + 0x167c]
mov esi, eax
sub esi, dword [esp + 0x8ec]
lea edi, [ebx + edx]
mov ebx, ecx
not ebx
lea edx, [ebx + ebx]
mov ebx, dword [esp + 0x173c]
and ebx, edx
add ecx, ebx
add esi, ecx
mov ebx, esi
mov ecx, esi
or ebx, edi
and ecx, edi
mov edx, ebx
xor ebx, edi
not ecx
not edx
xor ebx, esi
sub ecx, edx
add ebx, ebx
lea esi, [ecx + ecx]
xor ecx, ebx
lea edi, [ebx + ebx]
and esi, edi
sub esi, eax
lea edx, [esi + ecx]
mov esi, dword [esp + 0x588]
mov eax, esi
mov ebx, esi
or eax, 1
xor ebx, 1
bswap edx
mov dword [esp + 0x1698], edx
lea ecx, [eax + eax]
sub ecx, ebx
lea eax, [ecx - 1]
mov ecx, edx
not eax
not ecx
mov edi, eax
neg edi
mov dword [esp + 0x169c], ecx
lea ebx, [edi - 1]
mov edi, eax
and ecx, ebx
or edi, 1
and eax, 1
add ecx, edx
shrd edx, edx, 9
not edx
add eax, edi
mov ebx, eax
neg edx
or ebx, ecx
not edx
xor eax, ecx
mov ecx, dword [esp + 0x8d0]
rol esi, cl
lea edi, [ebx + ebx]
sub edi, eax
lea ebx, [edx + 1]
shld ebx, ebx, 9
mov dword [esp + 0x16a0], edi
mov eax, esi
rol ebx, cl
mov edi, esi
and eax, ebx
xor edi, ebx
mov edx, esi
not edx
add eax, edi
mov dword [esp + 0x16a4], eax
lea edi, [eax + eax]
xor eax, esi
mov esi, ebx
add edx, edx
and edx, edi
not esi
sub edx, eax
and esi, edx
mov eax, dword [esp + 0x16a0]
lea esi, [ebx + esi*2]
mov ebx, eax
sub esi, edx
mov edx, eax
ror esi, cl
mov ecx, eax
not edx
and ecx, 0xe4c28823
or ebx, 0xe4c28823
and edx, 0xe4c28823
and eax, 0x1b3d77dc
imul ebx, ecx
imul eax, edx
add ebx, eax
mov ecx, ebx
not ebx
xor ecx, 0x755a2c0c
lea edi, [ebx + ebx]
and edi, 0xeab45818
sub ecx, edi
mov edx, ecx
mov ebx, ecx
mov eax, ecx
not edx
or ebx, 0x809e678b
and eax, 0x809e678b
and edx, 0x809e678b
and ecx, 0x7f619874
imul eax, ebx
imul ecx, edx
add eax, ecx
mov edi, eax
not edi
imul ebx, eax, 0x2f16be83
imul ecx, edi, 0xd0e9417c
not ebx
not ecx
sub ebx, ecx
mov edx, ebx
mov eax, ebx
xor edx, esi
or eax, esi
and edx, ebx
sub eax, ebx
mov dword [esp + 0x16a8], edi
xor eax, esi
mov ecx, eax
not ecx
lea edi, [edx + esi]
mov edx, edi
and ecx, edi
not edx
and edx, eax
imul ecx, edx
mov edx, eax
or edx, edi
and eax, edi
mov edi, esi
imul eax, edx
neg edi
lea edx, [ecx + eax]
mov eax, ebx
lea ecx, [edi - 1]
mov edi, esi
or eax, ecx
not edi
xor eax, ecx
xor eax, ebx
neg ebx
lea ecx, [ebx - 1]
mov ebx, eax
or edi, ecx
mov ecx, eax
lea esi, [esi + edi + 1]
mov edi, eax
not edi
or ebx, esi
and ecx, esi
and edi, esi
not esi
and eax, esi
imul ecx, ebx
mov ebx, edx
imul eax, edi
add ecx, eax
and ebx, ecx
or edx, ecx
mov ecx, dword [esp + 0x1698]
lea esi, [ebx + edx]
mov ebx, dword [esp + 0x588]
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x16ac], esi
mov esi, ebx
and edi, dword [esp + 0x169c]
or esi, ecx
and eax, ecx
sub esi, eax
bswap ebx
lea edx, [edi + ecx]
mov edi, esi
xor esi, edx
not edi
and edi, edx
mov edx, ebx
bswap ecx
and edx, ecx
lea eax, [edi + edi]
mov edi, ebx
sub eax, esi
lea esi, [ebx + ecx]
or edi, ecx
xor ebx, ecx
sub edi, ebx
add edx, edx
sub esi, edx
mov ecx, edi
and ecx, esi
or edi, esi
mov edx, eax
neg edx
lea esi, [ecx + edi]
mov edi, eax
bswap esi
mov ebx, esi
neg ebx
lea ecx, [ebx - 1]
not ecx
lea ebx, [edx - 1]
or ebx, esi
or edi, ecx
sub ebx, edx
sub edi, ecx
lea ecx, [ebx + 1]
xor ecx, esi
mov ebx, ecx
mov edx, ecx
and ebx, edi
or edx, edi
imul edx, ebx
mov ebx, ecx
mov dword [esp + 0x16b0], edx
not ebx
mov edx, edi
not edi
and edx, ebx
and edi, ecx
lea ecx, [esp + 0x16b4]
mov dword [ecx], edx
mov edx, eax
imul edi, dword [ecx]
or edx, esi
mov ecx, dword [esp + 0x16b0]
lea ebx, [ecx + edi]
mov edi, eax
not edi
mov ecx, eax
and edi, esi
xor ecx, esi
xor ecx, edx
mov edx, ecx
mov esi, ecx
not edx
add edi, eax
mov eax, ecx
or esi, edi
and eax, edi
and edx, edi
not edi
and edi, ecx
imul eax, esi
imul edi, edx
mov esi, dword [esp + 0x16a8]
lea ecx, [eax + edi]
mov eax, ebx
or ebx, ecx
and eax, ecx
sub ebx, esi
mov dword [esp + 0x16b8], eax
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x16ac]
mov edi, ecx
not edi
mov edx, edi
or edx, eax
sub edx, edi
lea edi, [edx + edx]
lea edx, [eax + ecx]
add ecx, ecx
add eax, eax
and ecx, eax
sub edx, ecx
mov eax, dword [esp + 0x8cc]
mov ebx, edx
neg eax
and ebx, edi
xor edx, edi
lea edi, [eax - 1]
lea esi, [esi + ebx*2]
mov ebx, edi
neg ebx
lea ecx, [edx + esi]
mov edx, dword [esp + 0x1680]
mov dword [esp + 0x8d4], ecx
mov eax, edx
mov ecx, edx
lea esi, [ebx - 1]
or eax, esi
and ecx, esi
mov ebx, esi
imul ecx, eax
not ebx
mov eax, edx
and eax, ebx
mov ebx, dword [esp + 0x1684]
and ebx, esi
mov esi, edx
imul ebx, eax
neg esi
add ebx, ecx
mov ecx, edi
lea eax, [esi - 1]
mov esi, edi
and esi, eax
or ecx, eax
imul ecx, esi
mov esi, eax
not esi
and esi, edi
not edi
and edi, eax
imul edi, esi
mov esi, dword [esp + 0x8cc]
add ecx, edi
mov eax, ecx
xor ecx, ebx
not eax
and eax, ebx
mov ebx, dword [esp + 0x1740]
lea edi, [esi + eax*2]
mov eax, ebx
sub edi, ecx
mov esi, ebx
bswap edi
shld edi, edi, 0x1f
mov ecx, edi
bswap ecx
or eax, ecx
xor eax, ecx
xor esi, eax
mov eax, esi
not eax
and ebx, eax
mov eax, dword [esp + 0x1744]
and eax, esi
add ebx, eax
mov esi, ebx
lea eax, [ebx + ebx]
xor esi, ecx
add ecx, ecx
and eax, ecx
mov dword [esp + 0x16bc], esi
add eax, esi
mov esi, edi
neg esi
bswap eax
lea ecx, [esi + esi - 2]
mov esi, ecx
lea ebx, [eax + eax]
or esi, ebx
sub esi, ebx
mov ebx, eax
not ebx
xor esi, ecx
and ebx, edi
xor eax, edi
lea ecx, [ebx + ebx]
sub ecx, eax
mov edi, ecx
xor ecx, esi
and edi, esi
lea eax, [ecx + edi*2]
shld eax, eax, 0x1a
lea esi, [eax + eax]
xor eax, 0x400000
mov ecx, esi
and esi, 0x800000
xor ecx, 0x800000
lea ebx, [esi + eax]
mov eax, ebx
add ecx, esi
xor eax, ecx
not ecx
and ecx, ebx
lea esi, [edx + 1]
lea edi, [ecx + ecx]
mov ecx, esi
sub eax, edi
or ecx, 0x20000000
shrd eax, eax, 0x1a
shrd eax, eax, 0x1f
mov dword [esp + 0x8d8], eax
xor ecx, 0x20000000
mov eax, esi
xor ecx, esi
and eax, 0x20000000
xor esi, 0x20000000
mov edi, ecx
lea ebx, [eax + esi]
and edi, ebx
or ecx, ebx
lea eax, [edi + ecx]
mov edi, dword [esp + 0x8c8]
sub eax, edx
mov edx, eax
not eax
xor edx, 1
neg edx
lea ecx, [eax + eax]
and ecx, 2
lea eax, [ecx + edx - 1]
mov ecx, dword [esp + 0x16a4]
mov esi, eax
mov ebx, eax
or esi, 1
and ebx, 1
ror edi, cl
lea edx, [esi + ebx - 1]
not edx
ror edx, cl
neg ecx
mov esi, edx
not esi
lea ebx, [esi + esi]
lea esi, [edi + edi]
and ebx, esi
sub ebx, edi
lea esi, [ebx + edx]
mov ebx, edx
or ebx, edi
sub ebx, edx
xor ebx, edi
lea edi, [esi + esi]
mov edx, ebx
xor edx, esi
lea esi, [ebx + ebx]
and edi, esi
lea esi, [edx + edi]
mov edx, dword [esp + 0x16b8]
mov ebx, edx
neg ebx
ror esi, cl
mov ecx, eax
lea edi, [ebx + 1]
mov ebx, eax
xor ebx, edi
and ecx, edi
or eax, edi
sub eax, ebx
mov edi, eax
add ecx, ebx
or edi, ecx
and eax, ecx
mov ecx, esi
not ecx
add edx, edi
lea ebx, [eax + edx]
and ecx, ebx
mov edi, ebx
or edi, esi
xor ebx, esi
xor edi, ebx
lea eax, [ecx + esi]
mov esi, edi
and esi, eax
xor edi, eax
mov eax, dword [esp + 0x8d8]
mov ecx, eax
not ecx
mov dword [esp + 0x16c4], ecx
lea edi, [edi + esi*2]
and ecx, edi
mov edx, edi
and edx, eax
xor edx, edi
mov dword [esp + 0x16c0], edi
lea ebx, [eax + ecx*2]
sub ebx, edi
mov esi, ebx
lea ecx, [edx + eax]
not ebx
xor esi, ecx
and ebx, ecx
shld edi, edi, 0x14
shld eax, eax, 0x14
mov edx, eax
lea ecx, [ebx + ebx]
sub esi, ecx
lea ebx, [edi + edi]
xor edx, edi
lea ecx, [eax + eax]
or ebx, ecx
not esi
sub ebx, edx
mov edx, eax
or edx, edi
mov ecx, ebx
sub edx, eax
not ecx
xor edx, edi
neg ebx
mov eax, edx
not edx
neg eax
imul ecx, eax
lea eax, [esi + 1]
imul ebx, edx
not ecx
not ebx
sub ecx, ebx
mov edx, eax
shrd ecx, ecx, 0x14
or edx, ecx
mov dword [esp + 0x16c8], esi
mov dword [esp + 0x16d0], eax
lea edi, [esi + ecx]
sub edi, edx
mov esi, eax
and esi, ecx
xor eax, ecx
mov dword [esp + 0x16cc], ecx
mov dword [esp + 0x8dc], edx
mov dword [esp + 0x16d4], esi
lea ebx, [edi + 1]
mov esi, eax
mov eax, dword [esp + 0x16d4]
mov edi, ebx
mov ecx, edi
not ecx
mov edx, edi
mov dword [esp + 0x510], 0
lea ebx, [eax + esi]
mov eax, ebx
mov esi, edi
not eax
and ecx, ebx
and edx, eax
and esi, ebx
or edi, ebx
imul edx, ecx
imul edi, esi
mov esi, dword [esp + 0x16d0]
lea ebx, [edx + edi]
mov dword [esp + 0x16d8], ebx
mov ecx, esi
mov ebx, dword [esp + 0x16cc]
mov eax, ebx
neg eax
mov edi, dword [esp + 0x16c8]
neg edi
lea edx, [eax - 1]
mov eax, ebx
or ecx, edx
xor ecx, edx
lea edx, [edi - 2]
or eax, edx
xor esi, ecx
xor eax, edx
mov edi, esi
xor ebx, eax
mov eax, esi
mov edx, ebx
or edi, ebx
and eax, ebx
not edx
imul eax, edi
mov edi, esi
not esi
and edi, edx
and ebx, esi
imul ebx, edi
mov ecx, dword [esp + 0x16bc]
lea edi, [eax + ebx]
mov eax, dword [esp + 0x16c0]
mov esi, eax
ror esi, cl
mov dword [esp + 0x16dc], edi
lea ebx, [esi - 1]
not ebx
mov esi, ebx
not ebx
xor esi, 1
lea edi, [ebx + ebx]
and edi, 2
sub esi, edi
mov edi, dword [esp + 0x8d8]
rol esi, cl
mov ecx, edi
neg ecx
lea ebx, [ecx - 1]
and ebx, esi
lea ecx, [esi + ecx - 1]
sub ecx, ebx
mov ebx, edi
and ebx, 1
xor edi, 1
lea edi, [edi + ebx*2]
lea ebx, [ecx + ecx]
xor ecx, edi
lea esi, [edi + edi]
and ebx, esi
mov esi, dword [esp + 0x16c4]
neg esi
not esi
add ebx, ecx
mov ecx, edx
rol eax, cl
neg edx
mov edi, eax
neg edi
lea esi, [esi + 1]
rol esi, cl
lea ecx, [edi - 1]
and ecx, esi
lea edi, [esi + edi - 1]
mov esi, eax
xor eax, 1
or esi, 1
sub edi, ecx
mov ecx, edx
add esi, esi
sub esi, eax
mov eax, esi
or esi, edi
and eax, edi
lea edi, [eax + esi]
mov esi, ebx
rol edi, cl
not esi
mov eax, edi
neg eax
lea ecx, [eax - 1]
mov eax, ebx
neg eax
or esi, ecx
lea ecx, [eax - 1]
lea edx, [esi + ebx + 1]
mov esi, ecx
or esi, edi
sub esi, edi
xor esi, ecx
mov ecx, esi
mov eax, esi
not ecx
and ecx, edx
mov dword [esp + 0x16e0], ecx
mov ecx, edx
not ecx
and eax, ecx
mov ecx, esi
or ecx, edx
and esi, edx
imul eax, dword [esp + 0x16e0]
imul esi, ecx
lea edx, [eax + esi]
mov esi, edi
not esi
mov eax, ebx
and esi, ebx
lea ecx, [ebx + edi]
or eax, edi
sub ecx, eax
mov eax, ecx
add esi, edi
mov edi, ecx
mov ebx, esi
not edi
not ebx
and edi, esi
and eax, ebx
mov ebx, ecx
and ebx, esi
or ecx, esi
imul edi, eax
imul ecx, ebx
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x16dc]
mov eax, ebx
and ebx, edx
or eax, edx
mov edi, ecx
mov edx, dword [esp + 0x1694]
lea esi, [eax + ebx]
mov eax, dword [esp + 0x16d8]
or edi, eax
xor ecx, eax
lea edi, [edx + edi*2]
sub edi, ecx
mov ebx, edi
mov ecx, edi
and ebx, esi
xor ecx, esi
xor ebx, esi
add ebx, edi
or edi, esi
xor ecx, edi
lea edi, [ebx + ebx]
lea esi, [ecx + ecx]
xor ecx, ebx
and esi, edi
sub esi, edx
mov ebx, dword [esp + 0x8d4]
add esi, ecx
mov ecx, dword [esp + 0x588]
mov eax, esi
rol eax, cl
mov edx, eax
neg edx
rol ebx, cl
neg ecx
shld esi, esi, 0x14
lea edi, [edx - 1]
mov edx, edi
xor edi, ebx
or edx, ebx
xor edx, edi
mov edi, esi
mov ebx, edx
xor edx, eax
or ebx, eax
mov eax, esi
add ebx, ebx
sub ebx, edx
rol ebx, cl
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x8d4]
shld ebx, ebx, 0x14
and eax, ebx
xor edi, ebx
not ebx
lea edx, [eax + edi]
mov eax, ebx
or eax, esi
sub eax, ebx
mov esi, eax
xor esi, edx
not edx
and edx, eax
mov eax, ecx
lea ebx, [edx + edx]
mov edx, ecx
sub esi, ebx
mov ebx, ecx
shld esi, esi, 0xc
sub esi, dword [esp + 0x8dc]
not edx
mov edi, esi
neg edi
lea edi, [edi - 1]
and ebx, edi
or eax, edi
imul eax, ebx
and edx, edi
not edi
neg eax
and edi, ecx
neg ecx
imul edi, edx
mov edx, esi
lea ebx, [eax - 1]
sub ebx, edi
lea eax, [ecx - 1]
mov edi, esi
and edx, eax
or edi, eax
mov ecx, eax
imul edi, edx
not ecx
mov edx, esi
not esi
and edx, ecx
and esi, eax
lea eax, [esp + 0x16e4]
mov dword [eax], edx
mov edx, ebx
imul esi, dword [eax]
not ebx
lea eax, [edi + esi]
mov esi, dword [esp + 0xc]
neg eax
mov dword [esp + 0x46c], esi
lea ecx, [eax - 1]
and ebx, ecx
xor edx, ecx
sub edx, dword [esp + 0x8dc]
lea eax, [ebx + ebx]
sub edx, eax
mov dword [esp + 0x778], edx
test esi, esi
je 0x1000f4e3
test byte [esp + 0x778], 1
je 0x1000f4c9
mov edi, dword [esp + 0x46c]
mov edx, edi
mov ecx, edi
mov eax, edi
not edx
and ecx, 0x67bb3bc7
or eax, 0x67bb3bc7
and edx, 0x67bb3bc7
and edi, 0x9844c438
imul eax, ecx
imul edi, edx
lea esi, [eax + edi]
mov ebx, esi
not esi
xor ebx, 0x97b9d35c
lea eax, [esi + esi]
and eax, 0x2f73a6b8
sub ebx, eax
mov ecx, ebx
mov edx, ebx
not ecx
mov edi, ebx
and ecx, 0xc9fe15f7
and edx, 0x3601ea08
and edi, 0xc9fe15f7
or ebx, 0xc9fe15f7
imul edx, ecx
imul ebx, edi
lea esi, [edx + ebx]
mov eax, esi
xor esi, 0x93e979c4
or eax, 0x93e979c4
mov dword [esp + 0x7f8], eax
lea ebx, [eax + eax]
mov dword [esp + 0xfa8], ebx
sub ebx, esi
mov edx, ebx
mov eax, ebx
neg edx
or eax, 0x993e1090
mov ecx, ebx
sub ecx, eax
lea edi, [edx - 1]
mov eax, edi
or eax, 0x66c1ef6f
lea esi, [ecx - 0x66c1ef70]
sub edi, eax
mov eax, esi
mov ecx, esi
mov edx, esi
not eax
lea edi, [edi + 0x66c1ef6f]
or ecx, edi
and edx, edi
and eax, edi
not edi
and edi, esi
imul edx, ecx
imul edi, eax
lea eax, [edx + edi]
mov edx, ebx
not edx
mov esi, edx
or esi, 0x66c1ef6f
lea edi, [ebx + esi + 1]
or ebx, 0x66c1ef6f
mov esi, edi
mov ecx, ebx
not esi
and ecx, esi
mov esi, ebx
not esi
and esi, edi
imul esi, ecx
mov ecx, ebx
and ecx, edi
or ebx, edi
imul ebx, ecx
mov ecx, eax
lea edi, [esi + ebx]
or ecx, edi
and eax, edi
sub ecx, edx
add ecx, eax
mov edi, ecx
lea esi, [ecx + ecx]
and edi, 0x3b8100bb
mov eax, esi
and eax, 0x77020176
xor esi, 0x77020176
lea ebx, [edi + edi]
sub ecx, ebx
add eax, esi
lea esi, [ecx + 0x3b8100bb]
mov edi, esi
xor edi, eax
not eax
and eax, esi
lea ecx, [edx + edi]
lea edx, [eax + eax]
sub ecx, edx
mov esi, ecx
mov eax, ecx
neg esi
or eax, 0x9847b070
mov edi, ecx
sub edi, eax
lea edx, [esi - 1]
or edx, 0x67b84f8f
sub edx, esi
lea ebx, [edi - 0x67b84f90]
lea edi, [edx + 1]
xor edi, 0x67b84f8f
mov eax, edi
mov edx, edi
or eax, ebx
and edx, ebx
imul edx, eax
mov eax, edi
not eax
and eax, ebx
not ebx
and edi, ebx
imul edi, eax
mov eax, ecx
or eax, 0x67b84f8f
lea esi, [edx + edi]
mov edx, ecx
sub edx, eax
mov eax, ecx
not eax
and eax, 0x67b84f8f
lea ebx, [edx + 0x67b84f8f]
mov edi, ebx
lea edx, [eax + ecx]
mov ecx, ebx
or ecx, edx
and edi, edx
imul edi, ecx
mov ecx, edx
not ecx
and ecx, ebx
not ebx
and ebx, edx
mov edx, esi
imul ebx, ecx
lea eax, [edi + ebx]
and edx, eax
xor esi, eax
lea eax, [esi + edx*2]
lea ebx, [eax - 0x1a36b6eb]
mov edi, ebx
or ebx, 0xb04ee28b
not edi
and edi, 0x304ee28b
lea esi, [ebx + ebx]
mov ebx, dword [esp + 0xfa8]
sub esi, eax
lea ecx, [edi + eax]
lea edx, [ecx + ecx - 0x346d6dd6]
lea ecx, [esi + 0x69e7d460]
mov eax, ecx
not eax
imul eax, edx
not edx
imul edx, ecx
not eax
not edx
sub eax, edx
mov edx, dword [esp + 0x7f8]
lea ecx, [eax - 0x65c94915]
xor edx, ecx
not ecx
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x510]
and ebx, edi
sub edx, ebx
lea esi, [ecx + ecx]
lea eax, [edx + edx]
mov edi, eax
lea ebx, [eax + ecx*2]
and edi, esi
not esi
and esi, eax
add edi, edi
sub ebx, edi
lea edi, [esi + ecx*2]
mov dword [esp + 0xfac], edi
not edi
mov esi, ebx
not ebx
imul esi, edi
mov edi, ecx
imul ebx, dword [esp + 0xfac]
neg edi
not esi
not ebx
sub esi, ebx
mov ebx, esi
not ebx
lea esi, [edi + edi - 2]
mov edi, esi
or esi, eax
xor edi, eax
xor edi, esi
mov esi, ecx
not ecx
xor esi, edx
lea edx, [ecx + ecx]
and edx, eax
mov eax, edi
sub esi, edx
and eax, esi
or edi, esi
lea esi, [eax + edi]
lea edi, [ebx + ebx + 2]
mov eax, edi
lea edx, [esi + esi]
not eax
mov ecx, eax
or ecx, edx
mov edx, esi
not esi
sub ecx, eax
sub edx, ebx
lea eax, [esi + esi]
and edi, eax
lea eax, [ecx + ecx]
lea ebx, [edx + edi - 1]
mov edx, ecx
xor edx, ebx
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x7f8]
and eax, ecx
lea esi, [ebx - 1]
not esi
lea edi, [edx + eax]
mov eax, esi
xor eax, edi
not edi
lea edx, [esi + esi]
lea ecx, [edi + edi]
and edx, ecx
sub eax, edx
mov dword [esp + 0x510], eax
shr dword [esp + 0x778], 1
lea edx, [esp + 0x46c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000f1e1
mov esi, dword [esp + 0x510]
mov ecx, esi
not ecx
mov ebx, esi
mov eax, esi
mov edx, esi
mov dword [esp + 0x16e8], ecx
or ebx, 0xbe9c0d3d
and eax, 0xbe9c0d3d
and ecx, 0xbe9c0d3d
and edx, 0x4163f2c2
imul eax, ebx
imul edx, ecx
bswap esi
lea ebx, [eax + edx]
mov eax, ebx
xor ebx, 0xd4ef2ae9
or eax, 0xd4ef2ae9
mov dword [esp + 0x16ec], esi
mov dword [esp + 0x254], 0
lea edx, [eax + eax]
sub edx, ebx
mov ecx, edx
mov eax, edx
mov edi, edx
not ecx
or eax, 0x40e13215
and edi, 0x40e13215
and ecx, 0x40e13215
and edx, 0xbf1ecdea
imul edi, eax
imul edx, ecx
add edi, edx
mov ebx, edi
xor edi, 0x24c9071d
and ebx, 0xdb36f8e2
add ebx, ebx
sub ebx, edi
mov edi, dword [esp + 0xc]
mov eax, edi
shrd ebx, ebx, 6
shrd eax, edi, 6
mov ecx, ebx
mov edx, eax
and ecx, eax
not edx
xor ecx, eax
bswap edi
add ecx, ebx
and edx, ecx
lea edx, [eax + edx*2]
mov eax, ebx
sub edx, ecx
not eax
mov ecx, edx
and ecx, eax
lea ebx, [ebx + ecx*2]
sub ebx, edx
mov edx, esi
neg edx
shld ebx, ebx, 6
lea eax, [edx - 1]
mov dword [esp + 0x16f0], eax
mov ecx, eax
xor eax, edi
or ecx, edi
sub ecx, eax
mov edi, ecx
xor ecx, esi
and edi, esi
lea ecx, [ecx + edi*2]
bswap ecx
mov esi, ecx
mov edx, ecx
and esi, ebx
or edx, ebx
xor esi, ecx
xor edx, ebx
xor edx, ecx
mov edi, edx
lea eax, [esi + ebx]
mov esi, edx
and edi, eax
or esi, eax
imul esi, edi
mov edi, edx
not edi
and edi, eax
not eax
and eax, edx
mov edx, ecx
imul eax, edi
neg edx
lea edi, [esi + eax]
lea eax, [edx - 1]
not eax
mov edx, eax
or edx, ebx
neg ebx
sub edx, eax
mov eax, ecx
not eax
lea ebx, [ebx - 1]
or eax, ebx
lea ebx, [ecx + eax + 1]
mov ecx, edx
mov eax, edx
or ecx, ebx
and eax, ebx
imul eax, ecx
mov ecx, ebx
not ecx
and ecx, edx
not edx
and edx, ebx
imul edx, ecx
mov ecx, dword [esp + 0x170]
add eax, edx
mov ebx, eax
xor eax, edi
and ebx, edi
mov edx, dword [esp + 0xc]
mov esi, edx
and esi, 0x8e4c2206
lea edi, [eax + ebx*2]
mov dword [esp + 0x16f4], edi
mov edi, ecx
mov eax, edx
and edi, 0x71b3ddf9
and eax, 0x71b3ddf9
or edx, 0x71b3ddf9
imul edi, esi
imul edx, eax
lea ebx, [edi + edx]
mov edi, ebx
and ebx, 0xc7977070
or edi, 0xc7977070
add ebx, edi
mov esi, ebx
mov edx, ebx
mov eax, ebx
not esi
or edx, 0x3de05449
and eax, 0x3de05449
and esi, 0x3de05449
and ebx, 0xc21fabb6
imul eax, edx
imul ebx, esi
add eax, ebx
imul edx, eax, 0x52ec300f
not eax
imul edi, eax, 0xad13cff0
mov eax, dword [esp + 0x16e8]
not edx
not edi
sub edx, edi
bswap edx
lea eax, [eax + 1]
mov ebx, eax
xor eax, 1
and ebx, 0xfffffffe
lea esi, [ebx + ebx]
sub esi, eax
mov eax, edx
bswap esi
and eax, esi
lea edi, [edx + esi]
lea ebx, [eax + eax]
mov eax, edx
not eax
sub edi, ebx
and eax, esi
lea ebx, [eax + edx]
mov edx, edi
not edi
xor edx, ebx
and edi, ebx
lea eax, [ecx + ecx]
bswap ecx
mov dword [esp + 0x16f8], eax
mov eax, ecx
not eax
and eax, dword [esp + 0x16f0]
lea esi, [edi + edi]
mov edi, dword [esp + 0x16ec]
mov ebx, edi
or ebx, 1
xor edi, 1
mov dword [esp + 0x8e0], ecx
add eax, ecx
sub edx, esi
lea ecx, [eax + eax]
add ebx, ebx
sub ebx, edi
lea edx, [edx - 1]
not edx
bswap edx
lea esi, [ebx + ebx]
xor ebx, eax
and esi, ecx
lea eax, [esi + ebx]
bswap eax
mov ebx, eax
mov edi, eax
xor ebx, edx
and edi, edx
mov ecx, eax
or ecx, edx
sub ecx, ebx
mov esi, ecx
add ebx, edi
mov edi, ebx
not esi
not edi
and esi, ebx
and edi, ecx
imul edi, esi
mov esi, ecx
and esi, ebx
or ecx, ebx
imul ecx, esi
lea ebx, [edi + ecx]
mov edi, edx
neg edi
lea ecx, [edi - 1]
or ecx, eax
lea esi, [eax + edi - 1]
neg eax
sub esi, ecx
mov ecx, esi
lea edi, [eax - 1]
not edi
mov eax, edi
or eax, edx
sub eax, edi
mov edx, eax
mov edi, eax
not edx
and ecx, edx
mov edx, esi
not edx
and edi, edx
mov edx, esi
or edx, eax
and esi, eax
imul edi, ecx
imul esi, edx
mov eax, dword [esp + 0x8e0]
lea edx, [edi + esi]
mov ecx, edx
xor edx, ebx
and ecx, ebx
lea eax, [eax + ecx*2]
add eax, edx
mov edx, dword [esp + 0x16f4]
mov ebx, edx
mov esi, eax
not ebx
xor esi, edx
or ebx, eax
and esi, edx
lea ecx, [edx + ebx + 1]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x16fc], ecx
add eax, esi
mov dword [esp + 0x1700], eax
mov dword [esp + 0x77c], edx
mov dword [esp + 0x470], edx
test edx, edx
je 0x1000f855
test byte [esp + 0x77c], 1
je 0x1000f83f
mov ebx, dword [esp + 0x470]
mov ecx, dword [esp + 0x254]
mov edi, ecx
mov eax, ecx
lea edx, [ebx - 0x20551174]
and edi, edx
mov esi, edx
xor edi, edx
not esi
or eax, esi
sub eax, esi
lea edx, [ecx + edi]
mov ecx, eax
and ecx, edx
xor eax, edx
lea ebx, [eax + ecx*2 + 0x20551174]
mov dword [esp + 0x254], ebx
shr dword [esp + 0x77c], 1
lea edx, [esp + 0x470]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000f7fa
mov eax, dword [esp + 0xc]
mov dword [esp + 0x258], eax
mov dword [esp + 0x1ac], 0
test eax, eax
je 0x1000f95c
test byte [esp + 0x254], 1
je 0x1000f942
mov edi, dword [esp + 0x258]
mov esi, dword [esp + 0x1ac]
mov ecx, esi
not esi
mov ebx, edi
and ebx, esi
xor ecx, edi
lea edx, [edi + edi]
mov dword [esp + 0xfb0], edx
lea eax, [ebx + ebx]
mov ebx, ecx
sub ebx, eax
lea esi, [ebx + ebx]
mov eax, esi
or eax, edx
sub eax, edx
mov edx, edi
xor eax, esi
not edx
imul edx, eax
not eax
imul edi, eax
sub edx, edi
mov eax, esi
xor ebx, edx
rol esi, cl
lea edi, [edx + edx]
and eax, edi
add eax, ebx
mov ebx, dword [esp + 0xfb0]
rol ebx, cl
mov edx, ebx
mov edi, ebx
and edx, esi
or edi, esi
add edx, edi
mov edi, ebx
not edi
and edi, esi
add edi, ebx
mov esi, edi
lea ebx, [edx + edx]
not esi
xor edi, edx
add esi, esi
and esi, ebx
mov ebx, eax
sub esi, edi
ror esi, cl
lea ecx, [eax + eax]
and ebx, esi
mov edi, dword [esp + 0x258]
lea edx, [esi + esi]
and ecx, edx
xor ecx, edx
lea edx, [ebx + ebx]
sub esi, edx
lea ecx, [ecx + eax*2]
lea edx, [esi + eax]
mov eax, edx
not eax
and eax, ecx
xor ecx, edx
lea ebx, [eax + eax]
sub ebx, ecx
lea ecx, [edi - 1]
not ecx
mov eax, ecx
xor eax, ebx
not ebx
and ebx, ecx
lea edx, [ebx + ebx]
sub eax, edx
mov dword [esp + 0x1ac], eax
shr dword [esp + 0x254], 1
lea edx, [esp + 0x258]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000f873
mov eax, dword [esp + 0xc]
mov dword [esp + 0x474], eax
mov dword [esp + 0x25c], 0
test eax, eax
je 0x1000fa94
test byte [esp + 0x1ac], 1
je 0x1000fa7a
mov esi, dword [esp + 0x25c]
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x474]
lea ebx, [esi + esi]
xor esi, 0x8df8066
and ebx, 0x11bf00cc
lea eax, [ebx + esi]
mov dword [esp + 0xfb4], eax
rol eax, cl
mov ebx, edx
rol ebx, cl
mov esi, eax
or esi, ebx
mov edi, esi
xor edi, ebx
xor edi, eax
and eax, ebx
sub esi, eax
mov eax, edi
xor eax, esi
and edi, esi
lea esi, [eax + edi*2]
mov edi, dword [esp + 0xfb4]
ror esi, cl
mov eax, edi
mov dword [esp + 0xfb8], esi
lea ecx, [esi + esi]
mov dword [esp + 0xfbc], ecx
mov ecx, edx
not edx
neg ecx
lea esi, [ecx - 1]
or eax, esi
xor eax, edi
xor eax, esi
lea esi, [eax + eax]
mov eax, edi
not eax
neg edi
imul ecx, eax
imul edx, edi
not ecx
not edx
sub ecx, edx
lea edi, [esi + esi]
mov eax, ecx
xor ecx, esi
not eax
add eax, eax
and eax, edi
sub eax, ebx
sub eax, ecx
mov esi, eax
neg esi
mov ecx, dword [esp + 0xfbc]
mov edi, ecx
mov edx, ecx
lea esi, [esi - 1]
xor edi, esi
or edx, esi
sub edx, edi
mov edi, dword [esp + 0xfb8]
lea esi, [edx + edx]
lea edx, [eax + edi*2]
and eax, ecx
mov edi, esi
not edi
lea ecx, [eax + eax]
sub edx, ecx
imul edi, edx
not edx
imul edx, esi
sub edi, ebx
sub edi, edx
mov ebx, edi
not ebx
imul eax, ebx, 0x8df8066
imul edx, edi, 0x8df8067
lea ecx, [eax + edx]
mov dword [esp + 0x25c], ecx
shr dword [esp + 0x1ac], 1
lea edx, [esp + 0x474]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000f97a
mov dword [esp + 0x514], 0
mov dword [esp + 0x478], 0xcaf80000
test byte [esp + 0x25c], 1
je 0x1000faf2
mov edi, dword [esp + 0x514]
mov eax, edi
mov esi, dword [esp + 0x478]
sub eax, esi
lea ecx, [esi + esi]
mov edx, ecx
lea ebx, [eax + eax]
mov eax, ecx
xor edx, ebx
or eax, ebx
sub eax, edx
and ebx, ecx
sub edi, ebx
mov edx, eax
xor edx, edi
lea ecx, [edi + edi]
add edx, esi
lea esi, [eax + eax]
and ecx, esi
lea eax, [ecx + edx]
mov dword [esp + 0x514], eax
shr dword [esp + 0x25c], 1
lea edx, [esp + 0x478]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000faaa
mov ecx, dword [esp + 0x1640]
xor ecx, 0x42880e0f
and ecx, 0x22a20400
mov edi, dword [esp + 0x1648]
mov edx, dword [esp + 0x8c4]
mov esi, edi
mov eax, dword [esp + 0x1644]
xor esi, eax
not eax
lea ebx, [ecx + 0x1c1c8000]
imul edx, ebx
lea ebx, [edi + edi]
mov ecx, dword [esp + 0xc]
add edx, esi
imul ecx, dword [esp + 0x508]
lea esi, [eax + eax]
and ebx, esi
sub edx, ebx
mov edi, dword [esp + 0x1700]
mov ebx, dword [esp + 0x16fc]
mov eax, dword [esp + 0x8e0]
mov dword [esp + 0x260], 0
lea esi, [edx + ecx]
mov edx, edi
and edi, ebx
xor edx, ebx
mov ebx, dword [esp + 0x514]
lea ecx, [edx + edi*2]
sub eax, ecx
mov ecx, ebx
sub esi, eax
lea eax, [ebx + ebx]
xor ecx, esi
mov dword [esp + 0x8e4], esi
lea edx, [esi + esi]
ror esi, cl
or eax, edx
sub eax, ecx
mov edx, eax
ror edx, cl
mov ebx, edx
mov edi, edx
xor ebx, esi
or edi, esi
xor ebx, edi
bswap eax
lea edi, [ebx + esi]
and ebx, esi
lea esi, [ebx + ebx]
sub edi, esi
mov esi, eax
mov ebx, edi
and edi, edx
xor ebx, edx
lea edx, [ebx + edi*2]
mov edi, eax
mov ebx, dword [esp + 0x8e4]
not edi
bswap ebx
neg eax
and edi, ebx
xor esi, ebx
rol edx, cl
add ebx, ebx
not ebx
add edi, edi
sub esi, edi
lea edi, [eax + eax - 2]
mov eax, ebx
lea ecx, [edx + edx]
or eax, edi
neg ecx
sub eax, ebx
mov ebx, esi
xor ebx, eax
and esi, eax
lea eax, [ecx - 1]
lea ebx, [ebx + esi*2]
bswap ebx
mov esi, ebx
neg ebx
not esi
lea ecx, [esi + 1]
mov edi, ecx
mov esi, ecx
and edi, eax
or esi, eax
imul esi, edi
mov edi, eax
not edi
neg esi
and edi, ecx
not ecx
and ecx, eax
imul ecx, edi
lea edi, [edx + edx - 1]
not edi
lea esi, [esi - 1]
sub esi, ecx
lea ecx, [ebx - 1]
mov ebx, edi
mov edx, edi
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ebx, edi
not ebx
neg edx
and ebx, ecx
not ecx
and ecx, edi
imul ecx, ebx
lea edx, [edx - 1]
sub edx, ecx
mov ecx, esi
not esi
xor ecx, edx
lea ebx, [edx + edx]
mov edx, dword [esp + 0x8e4]
lea eax, [esi + esi]
mov esi, edx
and eax, ebx
not esi
sub ecx, eax
imul esi, ecx
not ecx
imul edx, ecx
not esi
not edx
sub esi, edx
mov dword [esp + 0x8e8], esi
mov esi, dword [esp + 0xc]
mov ecx, esi
mov ebx, esi
mov edi, esi
and ecx, 0xec622fe6
mov edx, dword [esp + 0x170]
or ebx, 0x139dd019
and edi, 0x139dd019
and edx, 0x139dd019
imul edi, ebx
imul edx, ecx
lea ebx, [edi + edx]
mov eax, ebx
xor ebx, 0x787b65a3
and eax, 0x7849a5c
lea edi, [eax + eax]
sub edi, ebx
mov ebx, edi
mov eax, edi
mov edx, edi
not edi
and ebx, 0x353373d6
and eax, 0xcacc8c29
or edx, 0xcacc8c29
and edi, 0xcacc8c29
imul edx, eax
imul edi, ebx
mov dword [esp + 0x1704], ebx
lea eax, [edx + edi]
mov edi, eax
not eax
and eax, 0x1cc394e5
xor edi, 0x9cc394e5
mov edx, esi
ror edx, cl
lea ebx, [eax + eax]
sub edi, ebx
ror edi, cl
neg edi
lea eax, [edi - 1]
mov ebx, eax
and ebx, edx
xor ebx, edx
mov edx, eax
not edx
lea edi, [ebx + edi - 1]
mov dword [esp + 0x1708], edi
lea ebx, [edi + edi]
xor edi, eax
mov eax, dword [esp + 0x170]
add edx, edx
neg eax
and ebx, edx
sub ebx, edi
lea edx, [esi + esi]
rol ebx, cl
lea edi, [eax + eax - 2]
or edx, edi
lea ecx, [eax - 1]
sub edx, esi
sub edx, ecx
mov ecx, esi
and ecx, edx
xor esi, edx
lea esi, [esi + ecx*2]
mov edx, esi
mov edi, esi
not edx
mov eax, esi
and edi, 0xf4179f60
and edx, 0xbe8609f
or eax, 0xbe8609f
and esi, 0xbe8609f
imul edx, edi
imul esi, eax
lea ecx, [edx + esi]
mov edx, ecx
not edx
imul esi, edx, 0xe44161ca
imul edx, ecx, 0xe44161cb
lea edi, [esi + edx]
mov eax, edi
mov esi, edi
not eax
mov edx, edi
and eax, 0x8bd0bb5f
and esi, 0x742f44a0
and edx, 0x8bd0bb5f
or edi, 0x8bd0bb5f
imul esi, eax
imul edi, edx
add esi, edi
lea ecx, [esi + esi]
xor esi, 0x98d1d7f6
and ecx, 0x31a3afec
lea edi, [ecx + esi]
mov eax, edi
mov edx, edi
xor eax, ebx
and edx, ebx
mov esi, edi
or esi, ebx
sub esi, eax
lea ecx, [edx + eax]
mov eax, esi
mov edx, esi
and eax, ecx
or edx, ecx
imul edx, eax
mov eax, ecx
not eax
and eax, esi
not esi
and esi, ecx
mov ecx, ebx
imul esi, eax
neg ecx
mov eax, edi
add esi, edx
lea edx, [ecx - 1]
or eax, edx
sub eax, edi
neg edi
xor eax, edx
mov edx, ebx
not edx
lea ecx, [edi - 1]
mov edi, eax
or edx, ecx
lea ecx, [ebx + edx + 1]
mov ebx, eax
mov edx, ecx
not ebx
not edx
and ebx, ecx
and edi, edx
mov edx, eax
or edx, ecx
and eax, ecx
imul edi, ebx
lea ecx, [esi + esi]
imul eax, edx
lea edx, [edi + eax]
mov eax, dword [esp + 0x170]
lea ebx, [edx + edx]
xor edx, esi
or ebx, ecx
sub ebx, edx
mov edx, dword [esp + 0xc]
mov esi, edx
mov ecx, dword [esp + 0x1708]
rol esi, cl
neg ecx
mov dword [esp + 0x170c], ebx
lea ebx, [esi - 1]
not ebx
mov edi, ebx
not edi
lea ebx, [edi + ebx*2]
rol ebx, cl
and eax, ebx
lea esi, [edx + eax]
mov ecx, esi
not esi
xor ecx, ebx
add ebx, ebx
lea edi, [esi + esi]
mov esi, dword [esp + 0x16f8]
and edi, ebx
mov ebx, esi
sub ecx, edi
lea eax, [ecx + ecx]
and ebx, eax
add ebx, edx
sub ebx, ecx
mov ecx, edx
not ecx
sub esi, ecx
mov ecx, dword [esp + 0x1704]
ror esi, cl
ror edx, cl
lea eax, [esi + esi]
lea edi, [edx + edx]
or edi, eax
mov eax, esi
xor eax, edx
sub edi, eax
mov eax, edx
not eax
and eax, esi
add eax, edx
mov edx, edi
mov esi, eax
not edi
not esi
imul edx, esi
mov esi, ebx
imul edi, eax
not edx
not edi
sub edx, edi
mov eax, ebx
rol edx, cl
mov ecx, ebx
xor esi, edx
and eax, edx
or ecx, edx
mov edi, esi
xor edi, ecx
lea ecx, [esi + eax]
mov esi, edi
mov eax, edi
or esi, ecx
and eax, ecx
imul eax, esi
mov esi, ecx
mov dword [esp + 0x1710], eax
not esi
mov eax, edi
not edi
and eax, esi
and edi, ecx
lea ecx, [esp + 0x1714]
mov dword [ecx], eax
mov eax, ebx
imul edi, dword [ecx]
neg eax
mov ecx, dword [esp + 0x1710]
lea esi, [ecx + edi]
lea edi, [eax - 1]
mov ecx, edi
or ecx, edx
xor ecx, edi
xor ecx, edx
neg edx
mov eax, ecx
not eax
lea edi, [edx - 1]
lea edx, [ebx + edx - 1]
or ebx, edi
sub edx, ebx
mov edi, ecx
mov ebx, edx
and eax, edx
not ebx
and edi, edx
and ebx, ecx
or ecx, edx
imul eax, ebx
imul ecx, edi
lea ebx, [eax + ecx]
lea edx, [ebx + ebx]
xor ebx, esi
lea edi, [esi + esi]
mov esi, dword [esp + 0x170c]
or edx, edi
sub edx, ebx
mov ecx, edx
not ecx
mov eax, ecx
and ecx, esi
or eax, esi
lea edi, [edx + eax]
mov eax, esi
not eax
lea ebx, [edi + edi + 2]
and eax, edx
lea esi, [eax + ecx]
mov eax, esi
and esi, ebx
xor eax, ebx
cmp dword [esp + 0x250], 0
lea edx, [eax + esi*2]
mov dword [esp + 0x780], edx
je 0x1000ffe9
test byte [esp + 0x780], 1
je 0x1000ffd3
mov edx, dword [esp + 0x250]
mov ecx, dword [esp + 0x260]
mov ebx, edx
mov esi, edx
or ebx, ecx
xor esi, ecx
sub ebx, esi
lea edi, [edx + ecx]
and edx, ecx
lea eax, [ebx + ebx]
add edx, edx
sub edi, edx
mov ecx, edi
and edi, eax
or ecx, eax
lea eax, [ecx + edi]
mov dword [esp + 0x260], eax
shr dword [esp + 0x780], 1
lea edx, [esp + 0x250]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1000ff95
mov eax, dword [esp + 0xc]
mov dword [esp + 0x784], eax
mov dword [esp + 0x47c], 0
test eax, eax
je 0x10010037
lea esi, [esp + 0x784]
mov ebx, dword [esi]
lea edi, [esp + 0x47c]
mov edx, dword [edi]
mov ecx, dword [esp + 0x260]
test cl, 1
lea eax, [edx + ebx]
je 0x10010026
mov edx, eax
shr ecx, 1
mov dword [edi], edx
mov dword [esp + 0x260], ecx
add ebx, ebx
mov dword [esi], ebx
jne 0x10010003
mov eax, dword [esp + 0x8e8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x480], ecx
mov dword [esp + 0x518], 0
lea edx, [eax + eax]
mov dword [esp + 0x1718], edx
test ecx, ecx
je 0x10010332
mov dword [esp + 0x788], 0xc0000000
test byte [esp + 0x788], 1
je 0x10010318
mov eax, dword [esp + 0x480]
mov edi, eax
and edi, 0xeb1b198d
mov ebx, eax
xor ebx, edi
mov edx, eax
not edx
mov esi, edx
or esi, 0xeb1b198d
sub esi, edx
lea ebx, [ebx - 0x14e4e673]
mov edi, ebx
mov edx, esi
not edi
mov ecx, esi
and edi, esi
or edx, ebx
and esi, ebx
not ecx
imul esi, edx
mov edx, eax
neg edx
and ecx, ebx
imul ecx, edi
mov ebx, eax
xor ebx, 0x14e4e672
lea edx, [edx - 1]
mov edi, edx
or eax, 0x14e4e672
xor edi, 0xeb1b198d
or edx, 0xeb1b198d
sub eax, ebx
add ecx, esi
sub edx, edi
mov esi, eax
not esi
mov ebx, edx
and ebx, esi
mov esi, edx
not esi
mov edi, eax
and edi, esi
mov esi, edx
or esi, eax
and edx, eax
imul edi, ebx
imul edx, esi
lea eax, [edi + edx]
mov edi, ecx
and edi, eax
or ecx, eax
lea edx, [edi + ecx]
mov ebx, edx
lea eax, [edx + edx]
mov edi, eax
neg ebx
or edi, 0x65034c38
and edx, 0xcd7e59e3
lea edi, [edi - 0x65034c38]
xor edi, eax
lea ecx, [ebx + edx*2 - 0x4d7e59e4]
mov esi, edi
and edi, ecx
xor esi, ecx
lea ebx, [esi + edi*2]
mov eax, ebx
mov edx, ebx
not eax
mov ecx, ebx
and eax, 0x1be93173
and edx, 0xe416ce8c
or ecx, 0x1be93173
and ebx, 0x1be93173
imul edx, eax
imul ebx, ecx
lea esi, [edx + ebx]
mov edi, esi
xor esi, 0x8ca1942
and edi, 0xf735e6bd
lea ebx, [edi + edi]
sub ebx, esi
mov eax, ebx
mov edi, ebx
not eax
mov edx, ebx
and edi, 0x11a8a444
and eax, 0xee575bbb
or edx, 0xee575bbb
and ebx, 0xee575bbb
imul eax, edi
imul ebx, edx
lea edi, [eax + ebx]
mov ecx, edi
xor edi, 0x3408e936
or ecx, 0xb408e936
lea ebx, [ecx + ecx]
sub ebx, edi
mov edx, ebx
mov esi, ebx
neg edx
mov eax, ebx
or esi, 0x4b512eba
xor eax, 0x4b512eba
sub esi, eax
mov eax, esi
not eax
lea edi, [edx - 1]
mov ecx, edi
xor edi, 0xb4aed145
or ecx, 0xb4aed145
sub ecx, edi
mov edx, ecx
mov edi, ecx
and edx, eax
not edi
mov eax, esi
and eax, edi
mov edi, ecx
or edi, esi
and ecx, esi
imul eax, edx
mov edx, ebx
imul ecx, edi
or edx, 0xb4aed145
lea edi, [eax + ecx]
mov eax, ebx
xor eax, 0xb4aed145
and ebx, eax
mov esi, eax
xor esi, edx
mov eax, esi
lea ecx, [ebx - 0x4b512ebb]
mov ebx, esi
mov edx, ecx
not ebx
not edx
and ebx, ecx
and eax, edx
mov edx, esi
and edx, ecx
or esi, ecx
imul ebx, eax
lea eax, [edi + edi]
imul esi, edx
add ebx, esi
xor edi, ebx
lea edx, [ebx + ebx]
or eax, edx
sub eax, edi
mov edx, eax
lea ecx, [eax - 0x6f05c9c]
neg eax
and ecx, 0xc96a18c
lea ebx, [eax - 0x90fa365]
lea edi, [ecx + ecx]
sub edx, edi
mov edi, ebx
or edi, 0x8c96a18c
xor ebx, 0x8c96a18c
xor edi, ebx
mov ebx, dword [esp + 0x518]
shld ebx, ebx, 7
lea esi, [edx + 0x15a644f0]
lea edx, [edi + edi]
mov eax, edx
xor edx, esi
not eax
and eax, esi
lea ecx, [eax + eax]
sub ecx, edx
lea eax, [ebx + ebx]
lea ecx, [ecx + 0x76f05c9c]
shld ecx, ecx, 7
mov esi, ecx
not esi
lea edi, [esi + esi]
mov esi, ecx
and esi, ebx
and edi, eax
mov edx, esi
xor edx, ebx
lea eax, [edi + ecx]
sub eax, ebx
lea edi, [edx + ecx]
mov dword [esp + 0xfc0], edi
not edi
mov edx, eax
imul edx, edi
not eax
imul eax, dword [esp + 0xfc0]
mov edi, edx
not eax
not edi
mov edx, ecx
sub edi, eax
or edx, ebx
not edi
xor ecx, ebx
xor ecx, edx
mov ebx, ecx
lea eax, [edi + 1]
shrd eax, eax, 7
lea edi, [esi + edx]
xor ebx, edi
not edi
and edi, ecx
lea esi, [edi + edi]
sub ebx, esi
shld ebx, ebx, 0x19
mov edx, ebx
mov edi, ebx
or edx, eax
xor edi, eax
mov ecx, edx
and ebx, eax
sub ecx, edi
sub edx, ebx
lea edi, [ecx + ecx]
lea eax, [edi + edi]
lea esi, [edx + edx]
xor edx, edi
or eax, esi
sub eax, edx
mov dword [esp + 0x518], eax
shr dword [esp + 0x788], 1
lea edx, [esp + 0x480]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10010071
mov edx, dword [esp + 0xc]
mov edi, edx
mov eax, dword [esp + 0x518]
mov esi, eax
or edi, eax
mov ebx, eax
and esi, dword [esp + 0x170]
sub edi, edx
xor ebx, edi
mov edi, ebx
mov dword [esp + 0x264], edx
lea ecx, [edx + esi]
mov esi, ebx
and edi, ecx
or esi, ecx
imul edi, esi
mov esi, ebx
not esi
and esi, ecx
not ecx
and ebx, ecx
mov ecx, edx
imul ebx, esi
neg ecx
mov esi, eax
add edi, ebx
mov ebx, eax
neg eax
mov dword [esp + 0x294], 0
lea ecx, [ecx - 1]
or esi, ecx
xor ebx, ecx
sub esi, ebx
mov ecx, edx
mov ebx, edx
lea eax, [eax - 1]
xor ecx, eax
or ebx, eax
sub ebx, ecx
mov eax, ebx
mov ecx, ebx
and eax, esi
or ecx, esi
imul ecx, eax
mov eax, ebx
mov dword [esp + 0x171c], ecx
not eax
mov ecx, esi
not esi
and ecx, eax
and esi, ebx
lea eax, [esp + 0x1720]
mov dword [eax], ecx
mov ebx, edi
imul esi, dword [eax]
mov eax, dword [esp + 0x171c]
lea ecx, [eax + esi]
or ebx, ecx
and edi, ecx
mov ecx, dword [esp + 0x8c4]
lea eax, [ebx + edi]
imul ecx, eax
mov dword [esp + 0x78c], ecx
test edx, edx
je 0x10010dda
test byte [esp + 0x78c], 1
je 0x10010dc0
mov edi, dword [esp + 0x264]
mov eax, edi
neg eax
bswap edi
not edi
bswap edi
bswap edi
lea ecx, [eax - 1]
mov edx, ecx
neg eax
and edx, 0xce9489d8
xor edx, ecx
not ecx
lea esi, [edx - 0x316b7628]
mov ebx, esi
lea edx, [eax + 1]
not ebx
neg esi
imul ebx, edx
imul esi, ecx
mov edx, dword [esp + 0x102c]
not ebx
and edx, edi
not esi
mov eax, dword [esp + 0x1028]
sub ebx, esi
mov ecx, eax
and ecx, edi
xor ecx, edi
lea esi, [eax + edx*2]
sub esi, edi
mov edx, ebx
add eax, ecx
lea ecx, [esi + eax]
lea edi, [eax + eax]
mov eax, ebx
add esi, esi
and edi, esi
mov esi, ebx
sub ecx, edi
mov edi, ebx
bswap ecx
xor esi, ecx
or edx, ecx
and edi, esi
sub edx, ecx
xor eax, edx
mov edx, eax
not edx
add edi, ecx
mov esi, edi
and edx, edi
not esi
and esi, eax
imul esi, edx
mov edx, eax
or edx, edi
and eax, edi
imul eax, edx
lea edx, [esi + eax]
mov esi, ebx
neg esi
lea esi, [esi - 1]
mov edi, esi
or edi, ecx
sub edi, esi
xor edi, ecx
neg ecx
mov eax, edi
not eax
lea esi, [ecx - 1]
mov ecx, ebx
or ecx, esi
xor ebx, esi
sub ecx, ebx
mov esi, ecx
mov ebx, ecx
and esi, eax
not ebx
mov eax, edi
and eax, ebx
imul eax, esi
mov esi, ecx
or esi, edi
and ecx, edi
imul ecx, esi
lea esi, [eax + ecx]
mov dword [esp + 0xfc4], esi
mov edi, esi
and esi, edx
xor edi, edx
lea edx, [edi + esi*2]
mov edi, dword [esp + 0x264]
mov ebx, edi
mov eax, edi
xor eax, 0x316b7627
mov dword [esp + 0xfc8], edx
lea esi, [edi + edi]
and esi, 0x62d6ec4e
sub ebx, esi
mov esi, edi
and esi, eax
shld edi, edi, 0x1d
lea ecx, [ebx + 0x316b7627]
lea esi, [esi + 0x316b7627]
mov edx, esi
lea ebx, [ebx + ebx + 0x62d6ec4e]
not edx
xor ecx, esi
add edx, edx
and edx, ebx
mov ebx, edi
sub edx, ecx
lea ecx, [edi - 0x19d2913c]
and edi, 0xe62d6ec4
or ebx, 0x19d2913b
lea esi, [edx - 1]
not esi
lea edx, [edi + edi]
sub ecx, edx
lea ebx, [ebx - 0x19d2913b]
mov eax, ecx
and ecx, ebx
or eax, ebx
mov edi, esi
mov ebx, esi
lea edx, [eax + ecx]
mov eax, esi
shld edx, edx, 3
mov ecx, esi
xor eax, edx
and ecx, edx
xor edi, edx
or ebx, edx
sub ebx, edi
mov dword [esp + 0x800], eax
mov edi, ebx
not edi
add ecx, eax
mov eax, ecx
and edi, ecx
not eax
and eax, ebx
imul edi, eax
mov eax, ebx
or eax, ecx
and ebx, ecx
imul ebx, eax
mov dword [esp + 0x7fc], edx
lea ecx, [edi + ebx]
mov edi, edx
mov ebx, esi
neg edi
lea eax, [edi - 1]
mov edi, esi
neg esi
or edi, eax
mov dword [esp + 0xfcc], edi
xor ebx, edi
xor ebx, eax
lea edi, [esi - 1]
mov esi, edi
or esi, edx
xor esi, edx
mov edx, ebx
xor esi, edi
not edx
mov eax, esi
mov edi, esi
and eax, edx
mov edx, esi
not esi
or edx, ebx
and edi, ebx
and ebx, esi
imul edi, edx
lea esi, [ecx + ecx]
imul ebx, eax
mov dword [esp + 0xfd0], eax
add ebx, edi
xor ecx, ebx
lea eax, [ebx + ebx]
and eax, esi
mov esi, dword [esp + 0xfc8]
mov ebx, esi
lea edx, [eax + ecx]
mov eax, esi
or eax, edx
xor ebx, edx
sub eax, esi
and esi, edx
xor eax, edx
mov edx, eax
lea edi, [ebx + esi]
mov esi, dword [esp + 0x800]
and edx, edi
or eax, edi
lea ecx, [edx + eax]
mov eax, esi
not eax
imul eax, ecx
not ecx
imul esi, ecx
not eax
not esi
sub eax, esi
lea ecx, [eax + eax]
mov edi, ecx
mov ebx, ecx
not edi
mov esi, ecx
and ebx, 0xfe351fb6
and edi, 0x1cae049
or esi, 0x1cae049
and ecx, 0x1cae049
imul edi, ebx
imul ecx, esi
lea edx, [edi + ecx]
lea ebx, [edx + edx]
xor edx, 0xa87ea3b7
or ebx, 0x50fd476e
mov dword [esp + 0xfd4], ebx
sub ebx, edx
mov ecx, ebx
mov edi, ebx
mov esi, ebx
not ecx
or edi, 0x808f11f9
and esi, 0x808f11f9
and ecx, 0x808f11f9
and ebx, 0x7f70ee06
imul esi, edi
imul ebx, ecx
add esi, ebx
lea edx, [esi + esi]
xor esi, 0x3f4563ff
and edx, 0x81753800
sub edx, esi
mov edi, edx
mov esi, edx
xor edi, 0x421bfea4
or esi, 0x421bfea4
sub esi, edi
mov ecx, esi
lea ebx, [edx + edx]
or ebx, 0x8437fd48
sub ebx, edx
mov dword [esp + 0xfd8], esi
lea edi, [ebx - 0x421bfea4]
or ecx, edi
and esi, edi
lea edx, [ecx + esi]
mov dword [esp + 0xfdc], edx
mov edx, 0x210dff52
mov ecx, dword [esp + 0xfcc]
ror edx, cl
ror eax, cl
lea edi, [edx + edx]
mov ebx, edi
lea esi, [eax + eax]
or ebx, esi
xor eax, edx
mov edx, ebx
xor edi, esi
sub edx, eax
mov eax, ebx
sub eax, edi
mov ebx, edx
not edx
xor ebx, eax
and eax, edx
mov edx, dword [esp + 0xfd4]
lea esi, [eax + eax]
sub ebx, esi
rol ebx, cl
sub ebx, edx
mov esi, dword [esp + 0xfdc]
lea edi, [ebx + ebx]
neg edi
lea ecx, [esi + esi]
mov eax, ecx
lea edi, [edi - 2]
or eax, edi
xor ecx, edi
xor eax, ecx
mov ecx, ebx
and ecx, esi
lea edi, [ebx + esi]
mov dword [esp + 0x804], ecx
lea esi, [ecx + ecx]
mov ecx, eax
sub edi, esi
mov ebx, edi
xor eax, edi
not ebx
and ecx, ebx
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0xfd8]
sub esi, edx
mov edx, dword [esp + 0x800]
sub esi, eax
mov ebx, edx
and edx, esi
xor ebx, esi
mov esi, 0x60009997
ror esi, cl
neg ecx
lea edi, [ebx + edx*2]
mov ebx, esi
or ebx, 1
xor esi, 1
mov eax, edi
bswap eax
mov dword [esp + 0xfe4], eax
mov dword [esp + 0xfe0], edi
lea edx, [ebx + ebx]
sub edx, esi
mov esi, eax
not esi
mov dword [esp + 0xfe8], esi
lea edx, [edx - 1]
not edx
ror edx, cl
bswap edx
and esi, edx
lea ecx, [esi + eax]
lea ebx, [ecx + edx]
and ecx, edx
lea esi, [ecx + ecx]
sub ebx, esi
mov esi, ebx
not ebx
sub esi, eax
add eax, eax
lea ecx, [ebx + ebx]
and ecx, eax
add esi, ecx
mov ecx, dword [esp + 0xfc4]
ror edi, cl
mov ebx, edi
and edi, 1
or ebx, 1
mov dword [esp + 0x51c], ebx
bswap esi
lea edx, [edi + ebx]
not edx
lea ebx, [edx + 1]
rol ebx, cl
mov ecx, ebx
and ecx, 0x60009997
xor ecx, 0x60009997
lea eax, [ecx + ebx]
mov edi, eax
or edi, ebx
lea edx, [edi + edi]
sub edx, ebx
sub edx, eax
mov eax, edx
or eax, 0xe0009997
mov dword [esp + 0xfec], edx
lea ebx, [eax + eax]
sub ebx, edx
mov dword [esp + 0xff0], ebx
lea ebx, [ebx - 0x60009997]
mov edi, ebx
mov ecx, ebx
and edi, esi
or ecx, esi
xor edi, ebx
xor ecx, esi
xor ecx, ebx
mov eax, ecx
not eax
add edi, esi
mov edx, edi
and eax, edi
not edx
and edx, ecx
imul eax, edx
mov edx, ecx
and edx, edi
or ecx, edi
mov edi, esi
neg edi
imul ecx, edx
mov edx, ebx
not edx
lea edi, [edi - 1]
or edx, edi
add eax, ecx
mov ecx, dword [esp + 0xff0]
neg ebx
lea edx, [edx + ecx - 0x60009996]
mov ecx, esi
not ecx
lea ebx, [ebx - 1]
or ecx, ebx
lea esi, [esi + ecx + 1]
mov ecx, dword [esp + 0xfe4]
mov ebx, esi
mov edi, esi
or ebx, edx
and edi, edx
imul edi, ebx
mov ebx, esi
not ebx
and ebx, edx
not edx
and edx, esi
imul edx, ebx
lea ebx, [eax + eax]
add edi, edx
mov edx, dword [esp + 0x1030]
xor eax, edi
lea esi, [edi + edi]
or esi, ebx
mov ebx, edx
mov edi, edx
xor ebx, ecx
and edi, ecx
sub esi, eax
mov dword [esp + 0xff4], esi
mov esi, dword [esp + 0xfe8]
lea eax, [ebx + edi]
mov edi, dword [esp + 0xfe0]
imul esi, eax
not eax
imul eax, ecx
not esi
not eax
sub esi, eax
lea ecx, [edx + esi]
and edx, esi
lea ebx, [edx + edx]
mov edx, edi
or edx, 0x60009997
sub ecx, ebx
xor edx, edi
mov esi, ecx
xor edx, 0x60009997
mov ebx, edx
or edx, 0x60009997
and ebx, 0x60009997
not edx
not ebx
sub ebx, edx
lea edx, [edi + edi]
bswap esi
lea eax, [ebx + ebx]
xor ebx, edi
and eax, edx
mov edx, esi
neg edx
add ebx, eax
mov edi, ebx
lea edx, [edx - 1]
neg edi
mov eax, ebx
or eax, edx
lea edi, [edi - 1]
mov ecx, edi
or ecx, esi
xor ecx, esi
xor ecx, edi
mov edi, ebx
xor edi, edx
mov edx, ecx
sub eax, edi
mov edi, ecx
or edx, eax
and edi, eax
imul edi, edx
mov edx, eax
mov dword [esp + 0xff8], edi
not edx
mov edi, ecx
not ecx
and edi, edx
and eax, ecx
lea ecx, [esp + 0xffc]
mov dword [ecx], edi
imul eax, dword [ecx]
mov edi, dword [esp + 0xff8]
lea edx, [edi + eax]
mov eax, ebx
mov edi, ebx
xor eax, esi
or edi, esi
mov ecx, edx
xor eax, edi
mov edi, ebx
and edi, esi
xor edi, esi
mov esi, eax
add edi, ebx
mov ebx, eax
and esi, edi
or ebx, edi
imul ebx, esi
mov esi, eax
not esi
and esi, edi
not edi
and eax, edi
imul eax, esi
mov edi, dword [esp + 0xff4]
add ebx, eax
xor ecx, ebx
and edx, ebx
mov esi, edi
lea ecx, [ecx + edx*2]
xor esi, ecx
mov eax, ecx
and esi, ecx
not eax
lea ebx, [edi + esi]
lea edx, [eax + eax]
lea esi, [edi + edi]
and edx, esi
add ebx, ebx
sub edx, edi
mov esi, ebx
not esi
neg ebx
lea edi, [edx + ecx]
mov ecx, edi
not edi
neg ecx
imul esi, ecx
imul ebx, edi
not esi
not ebx
sub esi, ebx
mov dword [esp + 0x1000], esi
and esi, dword [esp + 0x51c]
mov edi, dword [esp + 0x1000]
mov edx, 0x9cd99b5e
xor edi, dword [esp + 0x51c]
mov ebx, esi
mov ecx, dword [esp + 0xfec]
ror edx, cl
mov eax, edx
lea edi, [edi + ebx*2]
mov esi, edi
not eax
ror esi, cl
neg ecx
shld edi, edi, 0x17
lea ebx, [eax + eax]
lea eax, [esi + esi]
and ebx, eax
mov eax, esi
neg esi
xor eax, edx
sub ebx, eax
lea eax, [esi - 1]
mov esi, eax
or esi, edx
xor esi, edx
xor esi, eax
lea edx, [esi + esi]
lea eax, [edx + edx]
lea esi, [ebx + ebx]
xor ebx, edx
mov edx, edi
or eax, esi
not edx
sub eax, ebx
ror eax, cl
lea edi, [edx + edx]
sub edi, edx
lea edx, [eax - 0x135c59ce]
shrd edi, edi, 0x17
mov ebx, edi
mov ecx, edi
and ebx, 0x1cd99b5e
not ecx
xor ebx, edi
lea esi, [ebx + 0x1cd99b5e]
and ecx, esi
xor esi, edi
lea ebx, [ecx + ecx]
sub ebx, esi
mov ecx, ebx
and ebx, 0x1cd99b5e
or ecx, 0x9cd99b5e
sub ecx, ebx
lea esi, [ecx + ecx]
mov edi, esi
and edi, edx
mov edx, eax
neg eax
lea ebx, [edi + edi]
sub edx, ebx
lea edi, [esi + esi]
mov ebx, edi
lea eax, [eax + eax + 0x26b8b39a]
xor ebx, eax
or edi, eax
xor ebx, edi
mov eax, ebx
lea edx, [edx + ecx*2 - 0x135c59ce]
mov esi, edx
neg eax
not esi
not ebx
neg edx
imul esi, eax
imul edx, ebx
mov ecx, dword [esp + 0x51c]
not esi
not edx
sub esi, edx
lea edi, [ecx - 1]
not edi
mov ecx, edi
lea eax, [esi + 0x135c59ce]
and ecx, eax
or edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0x1004], eax
mov ebx, eax
lea edi, [eax + 0x3b050577]
not ebx
and ebx, edi
mov dword [esp + 0x1008], ebx
lea edx, [ebx + eax]
lea esi, [ebx + ebx - 0x3b050577]
mov ebx, dword [esp + 0x294]
mov dword [esp + 0x808], esi
lea ecx, [edx + edx]
mov dword [esp + 0x100c], ecx
mov ecx, ebx
mov esi, dword [esp + 0xfd0]
mov eax, ebx
sub ecx, esi
not eax
mov edi, ecx
mov edx, ecx
and edi, eax
not edx
mov eax, ebx
and eax, edx
add ecx, ecx
add edi, eax
lea eax, [ebx + ebx]
not eax
lea edx, [edi + edi]
mov ebx, eax
or ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 0x804]
lea eax, [ebx + ebx]
xor ebx, edi
and edx, eax
mov dword [esp + 0x1010], edx
lea edi, [esi + ebx]
lea esi, [edx + edi]
lea ebx, [esp + 0x808]
mov edi, dword [ebx]
not edi
mov edx, dword [esp + 0x100c]
imul edi, edx
not edx
imul edx, dword [ebx]
not edi
not edx
sub edi, edx
mov dword [esp + 0x1014], esi
ror esi, cl
lea edi, [edi - 0x3b050577]
ror edi, cl
mov ecx, esi
not ecx
mov eax, edi
xor eax, esi
lea ebx, [edi + edi]
lea edx, [ecx + ecx]
mov ecx, edx
and ecx, ebx
sub ecx, eax
mov eax, ebx
neg eax
mov dword [esp + 0x1018], ecx
lea ecx, [esi + esi]
lea ebx, [eax - 2]
or ebx, ecx
lea eax, [ecx + eax - 2]
sub eax, ebx
mov ebx, edi
or ebx, esi
sub ebx, edi
xor ebx, esi
lea ecx, [ebx + ebx]
and ecx, edx
add esi, ecx
mov ecx, dword [esp + 0x1018]
sub esi, ebx
mov edx, esi
xor esi, edi
and edx, edi
mov edi, ecx
and edi, eax
xor ecx, eax
lea edx, [esi + edx*2]
mov eax, edx
lea ebx, [edi + edi]
mov edi, dword [esp + 0x1008]
sub ebx, edi
neg eax
neg edi
add ebx, ecx
lea eax, [eax - 1]
not eax
lea esi, [edx + ebx]
and edx, ebx
mov ecx, eax
or ecx, ebx
sub ecx, eax
lea ebx, [edx + edx]
mov edx, dword [esp + 0x1010]
sub esi, ebx
mov ebx, esi
lea eax, [ecx + ecx]
not ebx
lea edi, [edx + edi - 1]
imul ebx, eax
not eax
imul eax, esi
not ebx
not eax
sub ebx, eax
sub edi, ebx
mov esi, edi
and edi, 1
or esi, 1
sub esi, edx
mov ecx, dword [esp + 0x804]
mov eax, dword [esp + 0x294]
bswap eax
lea ebx, [esi + edi]
mov edi, dword [esp + 0x1004]
bswap edi
rol ebx, cl
mov ecx, dword [esp + 0x1014]
mov dword [esp + 0x101c], ebx
lea esi, [ecx + edi]
neg edi
mov edx, esi
mov ebx, esi
xor edx, eax
and ebx, eax
mov dword [esp + 0x1024], edi
add edx, ebx
mov ebx, esi
or ebx, eax
mov dword [esp + 0x1020], edx
xor ebx, eax
xor ebx, esi
lea edx, [edi - 1]
mov esi, edx
mov edi, edx
and esi, eax
xor edi, eax
mov eax, dword [esp + 0x1024]
not edx
neg eax
add esi, edi
mov edi, esi
neg esi
not edi
lea eax, [eax + 1]
imul edi, eax
imul esi, edx
not edi
not esi
sub edi, esi
mov eax, dword [esp + 0x7fc]
lea esi, [edi + edi]
mov edi, ebx
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x1020]
xor edi, ecx
and ebx, ecx
neg edx
mov ecx, esi
lea eax, [edi + ebx*2]
mov edi, esi
lea ebx, [edx + eax]
mov edx, ebx
neg edx
lea eax, [edx - 1]
mov edx, esi
or ecx, eax
and edi, eax
imul edi, ecx
mov ecx, eax
not ecx
not edx
and ecx, esi
and edx, eax
imul edx, ecx
neg esi
lea ecx, [edi + edx]
mov edi, ebx
mov edx, ebx
lea eax, [esi - 1]
and edi, eax
or edx, eax
imul edx, edi
mov edi, ebx
not edi
and edi, eax
not eax
and eax, ebx
mov ebx, ecx
imul eax, edi
not ebx
neg ecx
add eax, edx
mov edi, eax
not eax
neg edi
imul ebx, edi
imul ecx, eax
not ebx
not ecx
mov edx, dword [esp + 0x7fc]
mov eax, dword [esp + 0x101c]
mov edi, eax
mov esi, eax
add edx, ebx
sub edx, ecx
mov ecx, eax
bswap edx
and edi, edx
xor esi, edx
or ecx, edx
sub ecx, esi
lea ebx, [eax + edx]
lea esi, [edi + edi]
sub ebx, esi
lea edi, [ecx + ecx]
xor ecx, ebx
lea esi, [ebx + ebx]
and esi, edi
lea ebx, [esi + ecx]
mov ecx, eax
neg ecx
lea edi, [ecx - 1]
not edi
and edi, edx
mov edx, eax
xor edx, 1
add eax, eax
and eax, 2
lea edi, [edi + ecx - 1]
add edx, eax
mov ecx, edx
and edx, edi
or ecx, edi
lea esi, [ecx + edx]
mov edi, esi
mov eax, esi
and edi, ebx
or eax, ebx
xor edi, esi
xor esi, ebx
sub eax, esi
add edi, ebx
mov ebx, eax
and ebx, edi
xor eax, edi
lea eax, [eax + ebx*2]
mov dword [esp + 0x294], eax
shr dword [esp + 0x78c], 1
lea edx, [esp + 0x264]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100103f5
mov edx, dword [esp + 0xc]
mov eax, edx
imul eax, dword [esp + 0x294]
mov dword [esp + 0x790], eax
mov dword [esp + 0x520], 0
test edx, edx
je 0x100110ee
test byte [esp + 0x790], 1
je 0x100110d7
mov edx, dword [esp + 0x520]
mov eax, edx
neg eax
mov edi, edx
lea ecx, [eax - 1]
mov eax, edx
or eax, 0xa7cef9ce
mov esi, ecx
sub edi, eax
xor esi, 0x58310631
or ecx, 0x58310631
sub ecx, esi
mov eax, ecx
lea ebx, [edi - 0x58310632]
mov edi, ecx
mov esi, ebx
not edi
not esi
and edi, ebx
and esi, ecx
and eax, ebx
or ecx, ebx
mov ebx, edx
imul esi, edi
or ebx, 0x58310631
imul ecx, eax
mov eax, edx
add ecx, esi
sub eax, ebx
mov esi, edx
xor esi, 0x58310631
and edx, 0x58310631
lea ebx, [eax + 0x58310631]
mov edi, ebx
lea eax, [esi + edx]
mov esi, ebx
or edi, eax
and esi, eax
imul edi, esi
mov esi, ebx
not esi
and esi, eax
not eax
and eax, ebx
mov ebx, ecx
imul eax, esi
lea edx, [edi + eax]
mov eax, ecx
or ebx, edx
xor eax, edx
lea esi, [ebx + ebx]
mov ecx, esi
sub ecx, eax
mov edi, ecx
mov edx, ecx
not edi
and edx, 0xd2a52969
or edi, 0x52a52969
lea ebx, [edi + ecx + 1]
lea edi, [edx + edx]
sub ecx, edi
lea eax, [ebx + ebx]
mov esi, eax
lea ecx, [ecx + 0x52a52969]
and esi, ecx
xor eax, ecx
lea ecx, [eax + esi*2 + 0x39949694]
mov eax, ecx
mov edi, ecx
and eax, 0x8b1292d1
xor edi, 0x8b1292d1
mov edx, ecx
or edx, 0x8b1292d1
xor edx, ecx
xor edx, 0x8b1292d1
lea esi, [eax + edi]
mov ebx, edx
mov edi, esi
mov eax, edx
not ebx
not edi
and eax, esi
and ebx, esi
and edi, edx
or edx, esi
mov esi, ecx
imul edi, ebx
xor esi, 0x74ed6d2e
imul edx, eax
add edx, edi
mov edi, ecx
neg ecx
or edi, 0x74ed6d2e
sub edi, esi
lea ebx, [ecx - 1]
mov esi, ebx
or esi, 0x8b1292d1
lea ecx, [esi + 0x74ed6d2f]
xor ebx, ecx
mov ecx, ebx
mov esi, ebx
and ecx, edi
or esi, edi
imul esi, ecx
mov ecx, ebx
not ecx
and ecx, edi
not edi
and edi, ebx
lea ebx, [edx + edx]
imul edi, ecx
add esi, edi
lea ecx, [esi + esi]
xor esi, edx
and ebx, ecx
lea edi, [eax + ebx]
add esi, edi
mov edx, esi
neg edx
lea edx, [edx - 1]
mov ecx, edx
mov ebx, edx
not ecx
mov edi, edx
and ecx, 0x496e078d
and ebx, 0xb691f872
and edi, 0x496e078d
or edx, 0x496e078d
imul ebx, ecx
mov ecx, esi
imul edx, edi
mov edi, esi
add ebx, edx
mov edx, esi
not esi
and edi, 0xb691f872
or ecx, 0xb691f872
and edx, 0x496e078d
and esi, 0xb691f872
imul ecx, edi
mov edi, ebx
imul esi, edx
not edi
add ecx, esi
mov edx, ecx
not ecx
neg edx
neg ebx
imul edi, edx
imul ebx, ecx
not edi
not ebx
sub edi, eax
sub edi, ebx
mov eax, edi
neg eax
mov ebx, dword [esp + 0xc]
mov ecx, ebx
lea esi, [eax - 1]
mov eax, ebx
or ecx, esi
xor eax, ecx
lea ecx, [edi + edi]
xor eax, esi
mov esi, edi
xor esi, eax
shrd ebx, ebx, 0xa
shrd edi, edi, 0xa
lea edx, [eax + eax]
and edx, ecx
mov ecx, ebx
and ecx, edi
lea eax, [edx + esi]
mov edx, ebx
xor edx, edi
lea esi, [ecx + edx]
mov ecx, ebx
not ebx
sub ecx, edi
and ebx, edi
lea edi, [ecx + ebx*2]
mov ebx, eax
mov ecx, edi
not ebx
not ecx
and ebx, 0x2a31648d
and ecx, esi
xor esi, edi
mov edi, eax
or edi, 0x2a31648d
add ecx, ecx
sub ecx, esi
mov esi, eax
and esi, 0x2a31648d
and eax, 0xd5ce9b72
imul esi, edi
imul eax, ebx
shld ecx, ecx, 0xa
add esi, eax
lea eax, [esi + esi]
xor esi, 0x1da1be8f
and eax, 0xc4bc82e0
sub eax, esi
mov esi, eax
mov edx, eax
not esi
mov edi, eax
and esi, 0xfd9cfe45
and edx, 0x26301ba
or edi, 0xfd9cfe45
and eax, 0xfd9cfe45
imul edx, esi
imul eax, edi
lea edi, [edx + eax]
mov ebx, edi
or edi, 0xe9ce3e8b
and ebx, 0xe9ce3e8b
lea esi, [ebx + edi]
lea ebx, [esi + 0x13872c76]
mov edx, ebx
mov eax, ebx
xor edx, ecx
and eax, ecx
not ebx
lea edi, [edx + eax]
lea eax, [edi + edi]
lea edi, [ecx + ecx]
lea edx, [ebx + ebx]
and edi, edx
sub edi, ecx
lea edx, [edi + esi - 0x6c78d38a]
mov ecx, edx
xor edx, eax
not ecx
and ecx, eax
lea ebx, [ecx + ecx]
sub ebx, edx
lea eax, [ebx + 0x6c78d38a]
mov dword [esp + 0x520], eax
shr dword [esp + 0x790], 1
mov eax, dword [esp + 0xc]
add eax, eax
mov dword [esp + 0xc], eax
jne 0x10010e02
mov eax, dword [esp + 0x8e8]
mov edx, eax
mov ecx, dword [esp + 0x1718]
not edx
mov ebx, ecx
xor ecx, eax
and ebx, edx
mov esi, dword [esp + 0x47c]
mov eax, dword [esp + 0x520]
lea edx, [esi + ebx*2]
sub edx, ecx
lea edi, [eax + edx]
mov dword [esp + 0x1724], edi
lea ebx, [edx + eax + 0x3a392961]
mov edx, edi
or edx, ebx
mov esi, ebx
sub edx, edi
not esi
and esi, edi
lea eax, [edx - 0x3a392961]
xor eax, edi
lea ecx, [esi + esi - 0x45c6d69f]
lea esi, [ecx + ecx]
lea ebx, [eax + eax]
lea edi, [ebx + ebx]
xor ebx, ecx
or edi, esi
sub edi, ebx
lea esi, [edi + 0x45c6d69f]
mov dword [esp + 0x1728], esi
shrd esi, esi, 0x13
mov eax, esi
not eax
mov ecx, eax
lea edx, [esi + esi]
or ecx, 0xa52c3747
or edx, 0x4a586e8e
sub ecx, eax
lea ebx, [ecx + ecx]
lea ecx, [edx - 0x252c3747]
sub ecx, esi
shld esi, esi, 8
mov edi, ecx
xor ecx, ebx
and edi, ebx
mov ebx, esi
xor ebx, 0xec374725
and ebx, 0x2c374725
lea edx, [ecx + edi*2]
lea eax, [ebx + esi]
mov ecx, eax
not ecx
imul ebx, ecx, 0x2c374725
imul ecx, eax, 0x2c374726
lea eax, [ebx + ecx]
mov edi, eax
not edi
and edi, esi
lea ebx, [edi + edi]
sub ebx, esi
lea esi, [ebx + eax]
mov eax, edx
shrd esi, esi, 8
mov ecx, esi
neg eax
neg ecx
lea eax, [eax - 1]
mov ebx, eax
lea edi, [ecx - 1]
mov ecx, eax
and ebx, esi
or ecx, esi
imul ebx, ecx
mov ecx, esi
not ecx
and ecx, eax
not eax
and eax, esi
imul eax, ecx
mov ecx, edi
or ecx, edx
add eax, ebx
mov ebx, edi
mov esi, eax
and ebx, edx
neg esi
imul ecx, ebx
mov ebx, edx
not ebx
lea esi, [esi - 1]
and ebx, edi
not edi
and edi, edx
imul edi, ebx
lea edx, [ecx + edi]
mov edi, esi
neg edx
not edi
lea ebx, [edx - 1]
mov edx, dword [esp + 0x1728]
imul edi, ebx
not ebx
imul ebx, esi
shld edx, edx, 0xf
not edi
not ebx
sub edi, ebx
lea ecx, [edx - 1]
shrd edi, edi, 0xd
not ecx
lea esi, [edi + edi]
mov dword [esp + 0x172c], esi
lea esi, [ecx + ecx]
xor ecx, 1
and esi, 0xfffffffc
sub esi, ecx
lea ecx, [esi + esi]
shld ecx, ecx, 0x16
mov ebx, ecx
and ebx, 0x8e0a586e
lea esi, [ecx - 0x71f5a792]
sub esi, ebx
mov ebx, ecx
not ebx
imul ebx, esi
not esi
imul esi, ecx
not ebx
not esi
mov edi, ebx
mov ecx, edx
sub edi, esi
mov esi, edx
and ecx, 0x6b4f22e3
or esi, 0x6b4f22e3
imul esi, ecx
mov ebx, edi
neg esi
and ebx, 0x8e0a586e
or edi, 0x8e0a586e
not ebx
not edi
sub ebx, edi
mov edi, edx
not edi
lea ecx, [esi - 1]
mov esi, edx
and edi, 0x6b4f22e3
and esi, 0x94b0dd1c
neg edx
imul edi, esi
shrd ebx, ebx, 0x16
sub ecx, edi
lea edx, [edx - 1]
mov esi, edx
mov edi, edx
and esi, 0x94b0dd1c
or edi, 0x94b0dd1c
imul edi, esi
neg edi
lea esi, [edi - 1]
mov edi, edx
not edx
and edi, 0x6b4f22e3
and edx, 0x94b0dd1c
imul edx, edi
mov edi, esi
sub edi, edx
mov edx, ebx
mov esi, edi
not edx
xor esi, ecx
not ecx
and ecx, edi
lea edi, [ecx + ecx]
sub esi, edi
and edx, esi
lea ecx, [edx + ebx]
mov edx, dword [esp + 0x172c]
lea edi, [ecx + ecx]
mov ecx, esi
and ecx, ebx
or esi, ebx
not ecx
not esi
sub ecx, esi
mov ebx, ecx
xor ecx, edi
not ebx
and ebx, edi
mov edi, eax
not edi
mov dword [esp + 0x1730], edi
and edi, edx
xor edx, eax
lea esi, [ebx + ebx]
sub esi, ecx
shrd esi, esi, 0xf
lea ebx, [edi + edi]
sub ebx, edx
mov edx, esi
shrd edx, esi, 0x17
mov eax, ebx
mov ecx, edx
shrd eax, ebx, 0x17
and ecx, eax
mov edi, edx
xor ecx, eax
not ebx
or edi, eax
neg ebx
not ebx
add ecx, edx
xor edx, eax
xor edi, edx
mov eax, ecx
mov edx, edi
not eax
neg edx
not edi
neg ecx
imul eax, edx
imul ecx, edi
not eax
lea edi, [ebx + ebx + 2]
neg edi
not ecx
sub eax, ecx
lea ebx, [esi + esi]
mov esi, ebx
shld eax, eax, 0x17
lea ecx, [edi - 1]
and esi, ecx
xor esi, ebx
mov ebx, ecx
not ebx
lea esi, [edi + esi - 1]
and ebx, esi
xor ecx, esi
lea edx, [ebx + ebx]
sub edx, ecx
lea ecx, [eax + eax]
mov esi, edx
neg esi
lea ebx, [esi + esi - 2]
lea esi, [edx + eax]
and edx, eax
lea edi, [ebx + eax*2]
or ebx, ecx
sub edi, ebx
lea eax, [edx + edx]
mov edx, dword [esp + 0x1730]
sub esi, eax
mov ebx, esi
xor ebx, edi
not edi
lea ecx, [esi + esi]
lea eax, [edi + edi]
and ecx, eax
sub ebx, ecx
lea ecx, [edx + 1]
mov esi, ecx
not esi
and esi, ebx
xor ebx, ecx
mov ecx, dword [esp + 0x1724]
mov eax, ecx
not eax
add esi, esi
sub esi, ebx
lea ebx, [eax + eax]
lea edx, [esi + esi]
and ebx, edx
add ebx, ecx
sub ebx, esi
neg esi
mov edx, ebx
not ebx
lea edi, [esi - 1]
mov esi, ecx
or esi, edi
xor ecx, edi
sub esi, ecx
mov edi, dword [esp + 8]
add edi, dword [esp + 0x84]
mov dword [esp + 8], edi
add esi, esi
mov eax, esi
not eax
imul edx, eax
imul ebx, esi
not edx
not ebx
sub edx, ebx
mov dword [esp + 0xc], edx
jmp 0x10024afc
mov eax, dword [esp + 8]
lea edx, [esp + 0xc4]
sub eax, dword [edx]
cmp eax, dword [edx + 0x44]
je 0x1003b15d
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x48]
jne 0x10011571
mov ecx, dword [esp]
xor eax, eax
xor ecx, dword [esp + 4]
mov edx, ecx
ror edx, cl
mov ebx, edx
ror eax, cl
not ebx
mov dword [esp + 0xc], 0xc5f4fa23
lea esi, [ebx + ebx]
mov ebx, eax
or ebx, edx
lea edi, [eax + eax]
and esi, edi
sub ebx, edx
sub esi, eax
xor ebx, eax
lea edi, [esi + edx]
mov edx, ebx
xor edx, edi
and ebx, edi
lea esi, [edx + ebx*2]
rol esi, cl
mov eax, esi
not eax
lea edi, [esi + esi]
and eax, edi
xor edi, esi
lea ebx, [eax + eax]
sub ebx, edi
mov eax, ebx
mov edx, ebx
not eax
mov esi, ebx
and edx, 0xebde0e46
and eax, 0x1421f1b9
or esi, 0x1421f1b9
and ebx, 0x1421f1b9
imul eax, edx
imul ebx, esi
lea edx, [eax + ebx]
mov eax, edx
xor edx, 0x1301e26f
and eax, 0x1301e26f
lea edx, [edx + eax*2]
mov edi, edx
mov ebx, edx
not edi
mov esi, edx
and ebx, 0x6b1b3b76
and edi, 0x94e4c489
or esi, 0x94e4c489
and edx, 0x94e4c489
imul edi, ebx
imul edx, esi
lea eax, [edi + edx]
mov edx, ecx
neg edx
lea esi, [eax + eax]
or esi, 0x1789ad32
xor eax, 0x8bc4d699
sub esi, eax
mov eax, ecx
mov ebx, esi
add ecx, ecx
not ebx
lea edi, [edx - 1]
mov edx, ebx
xor eax, esi
or edx, edi
sub edx, ebx
add ebx, ebx
and ecx, ebx
sub eax, ecx
mov esi, eax
add edx, edx
not esi
lea ecx, [edx + edx]
xor eax, edx
mov edx, dword [esp + 8]
sub edx, dword [esp + 0x100]
mov dword [esp + 8], edx
lea edi, [esi + esi]
and edi, ecx
sub edi, eax
mov dword [esp + 0x5fc], edi
jmp 0x10024afc
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x44]
jne 0x10012c32
mov ecx, dword [esp + 0x5fc]
mov edi, ecx
shrd edi, ecx, 0x1f
shld ecx, ecx, 0x1c
mov esi, edi
xor edi, 0x1fe
or esi, 0x1fe
lea edx, [esi + esi]
sub esi, edi
sub edx, edi
mov eax, edx
not edx
xor eax, esi
add esi, esi
lea ebx, [edx + edx]
and ebx, esi
sub eax, ebx
shrd eax, eax, 1
mov edi, eax
mov esi, eax
not edi
and esi, 0x43f8680e
and edi, 0xbc0797f1
mov edx, eax
imul esi, edi
mov edi, eax
and edi, 0xbc0797f1
or edx, 0xbc0797f1
imul edx, edi
add esi, edx
mov ebx, esi
not esi
xor ebx, 0x861fe9bd
lea edi, [esi + esi]
and edi, 0xc3fd37a
sub ebx, edi
mov esi, ebx
mov edi, ebx
not esi
mov edx, ebx
and edi, 0xa7186ee
and esi, 0xf58e7911
and edx, 0xf58e7911
or ebx, 0xf58e7911
imul esi, edi
imul ebx, edx
lea edi, [esi + ebx]
mov esi, edi
or edi, 0x856eda8d
and esi, 0x856eda8d
sub esi, eax
lea edx, [esi + edi]
mov ebx, edx
not edx
neg ebx
lea edx, [edx + 1]
lea ebx, [ebx - 1]
mov esi, ebx
mov edi, ebx
or esi, 0xffffff01
and edi, 0xffffff01
imul edi, esi
neg edi
lea esi, [edi - 1]
mov edi, ebx
not edi
and ebx, 0xfe
and edi, 0xffffff01
imul ebx, edi
mov edi, edx
sub esi, ebx
mov ebx, edx
or ebx, 0xffffff00
and edi, 0xffffff00
imul edi, ebx
mov ebx, edx
not ebx
movzx edx, dl
and ebx, 0xffffff00
imul edx, ebx
mov ebx, esi
not ebx
add edi, edx
neg edi
lea edx, [ecx + ecx]
lea edi, [edi - 1]
imul ebx, edi
not edi
imul esi, edi
mov edi, ecx
add eax, ebx
sub eax, esi
shld eax, eax, 0x1c
and edi, eax
xor edi, eax
lea esi, [edi + ecx]
xor ecx, eax
lea ebx, [esi + esi]
lea esi, [eax + eax]
or edx, esi
sub edx, ecx
mov esi, edx
xor edx, ebx
not esi
and esi, ebx
lea eax, [esi + esi]
sub eax, edx
shld eax, eax, 4
mov edi, eax
mov ebx, eax
neg edi
xor ebx, 0xc6085a3e
lea ecx, [edi - 1]
mov edi, eax
mov edx, ecx
xor ecx, 0x39f7a5c1
or edx, 0x39f7a5c1
or edi, 0xc6085a3e
sub edx, ecx
sub edi, ebx
mov ecx, edx
mov esi, edx
or ecx, edi
and esi, edi
imul esi, ecx
mov ecx, edx
not ecx
and ecx, edi
not edi
and edi, edx
mov edx, eax
imul edi, ecx
mov ecx, eax
xor edx, 0xf9f7a5c1
not ecx
and edx, 0x39f7a5c1
add edi, esi
mov esi, ecx
or esi, 0x39f7a5c1
sub esi, ecx
mov ebx, esi
add eax, edx
mov edx, esi
or ebx, eax
and edx, eax
imul ebx, edx
mov edx, esi
not edx
and edx, eax
not eax
and esi, eax
imul esi, edx
lea edx, [ebx + esi]
mov eax, edx
xor edx, edi
and eax, edi
lea esi, [eax + eax]
sub esi, ecx
lea eax, [esi + edx]
mov edi, eax
mov ebx, eax
neg eax
not edi
mov dword [esp + 0x1b14], edi
and ebx, 0x91cf5ba2
and edi, 0x6e30a45d
lea edx, [eax + eax - 2]
mov esi, edx
or esi, 0xdc6148ba
add edi, ebx
xor esi, 0xdc6148ba
lea ebx, [edi + edi]
xor esi, edx
mov eax, esi
xor esi, edi
not eax
lea edx, [eax + eax]
and ebx, edx
add ebx, ecx
sub ebx, esi
mov ecx, ebx
mov esi, ebx
not ecx
mov edi, ebx
and ecx, 0xbf3019c7
and esi, 0x40cfe638
or edi, 0xbf3019c7
and ebx, 0xbf3019c7
imul esi, ecx
imul ebx, edi
lea edx, [esi + ebx]
mov edi, edx
not edx
and edx, 0x43aa42e
xor edi, 0x43aa42e
lea eax, [edx + edx]
sub edi, eax
mov edx, edi
mov ecx, edi
mov esi, edi
not edx
and ecx, 0x1d87d7f7
or esi, 0x1d87d7f7
and edx, 0x1d87d7f7
and edi, 0xe2782808
imul esi, ecx
imul edi, edx
lea eax, [esi + edi]
mov edi, eax
not eax
and eax, 0xe146f59e
xor edi, 0xe146f59e
lea ebx, [eax + eax]
sub edi, ebx
mov ecx, edi
mov esi, edi
neg ecx
mov eax, edi
xor esi, 0x214295be
or eax, 0x214295be
sub eax, esi
mov ebx, eax
lea edx, [ecx - 1]
mov ecx, eax
mov esi, edx
or esi, 0xdebd6a41
sub edx, esi
lea edx, [edx - 0x214295bf]
mov esi, edx
or ebx, edx
not esi
and ecx, edx
and esi, eax
not eax
and eax, edx
imul eax, esi
mov esi, edi
imul ecx, ebx
or esi, 0xdebd6a41
mov ebx, edi
and ebx, 0xdebd6a41
add ecx, eax
lea edx, [esi + 0x214295bf]
mov esi, edi
sub edi, ebx
xor esi, edx
mov eax, esi
lea ebx, [edi - 0x214295bf]
mov edi, esi
mov edx, ebx
not edi
not edx
and edi, ebx
and edx, esi
and eax, ebx
or esi, ebx
mov ebx, ecx
imul edi, edx
imul esi, eax
lea eax, [edi + esi]
and ebx, eax
xor ecx, eax
lea edi, [ecx + ebx*2]
mov esi, edi
lea ecx, [edi + edi]
mov eax, ecx
not esi
or eax, 0x3a227b3a
and esi, 0x1d113d9d
xor eax, ecx
xor eax, 0x3a227b3a
lea edx, [edi + esi*2 - 0x1d113d9d]
lea ecx, [edx + edx]
lea ebx, [eax + eax]
xor eax, edx
or ecx, ebx
sub ecx, eax
mov esi, ecx
shrd esi, ecx, 4
mov eax, esi
mov edi, esi
and eax, 0x7ff6c3d0
xor eax, esi
lea edx, [esi + esi]
mov dword [esp + 0x1b1c], ecx
and edx, 0xffed87a0
bswap ecx
sub edi, edx
neg ecx
mov edx, dword [esp + 0x1a74]
lea eax, [eax + 0x7ff6c3d0]
mov esi, eax
not esi
lea ebx, [edi + 0x7ff6c3d0]
xor eax, ebx
lea ecx, [ecx - 1]
bswap ecx
lea edi, [edi + edi - 0x127860]
bswap ecx
mov ebx, ecx
add esi, esi
and esi, edi
neg ebx
sub esi, eax
lea edi, [ebx - 1]
lea eax, [esi - 1]
not eax
lea esi, [edx + ebx - 1]
and edx, edi
mov edi, ecx
or edi, 1
sub esi, edx
xor ecx, 1
shld eax, eax, 4
lea edx, [edi + edi]
sub edx, ecx
lea ebx, [esi + esi]
lea edi, [edx + edx]
xor edx, esi
and ebx, edi
add edx, ebx
bswap edx
mov ecx, edx
mov esi, edx
and ecx, eax
or esi, eax
xor ecx, edx
lea edi, [edx + eax]
sub edi, esi
mov ebx, edi
lea esi, [ecx + eax]
mov ecx, edi
or ecx, esi
and ebx, esi
imul ebx, ecx
mov ecx, esi
not ecx
and ecx, edi
not edi
and edi, esi
imul edi, ecx
mov ecx, edx
neg ecx
lea esi, [ebx + edi]
mov dword [esp + 0x1b20], esi
lea ebx, [ecx - 1]
mov esi, ebx
or ebx, eax
xor esi, eax
neg eax
sub ebx, esi
mov ecx, ebx
not ecx
lea esi, [eax - 1]
mov edi, esi
or edi, edx
xor edi, edx
mov edx, ebx
xor edi, esi
mov eax, edi
mov esi, edi
not eax
and esi, ecx
and eax, ebx
and edx, edi
or ebx, edi
imul eax, esi
imul ebx, edx
mov ecx, dword [esp + 0x1b1c]
mov edx, ecx
and edx, 0x93c2f8
lea esi, [eax + ebx]
mov eax, ecx
mov ebx, ecx
xor eax, edx
lea edi, [ecx + ecx]
and edi, 0xfed87a0e
sub edi, ecx
add edx, edx
mov dword [esp + 0x1b24], esi
mov esi, eax
lea eax, [eax + 0x93c2f8]
not eax
lea edi, [edi + 0x93c2f8]
sub esi, edi
and eax, edi
lea edi, [esi + eax*2 + 0x93c2f8]
mov esi, ecx
sub esi, edx
lea edx, [esi + 0x93c2f8]
or ebx, edx
xor ecx, ebx
mov ebx, edi
xor ecx, edx
not ebx
mov edx, ebx
lea esi, [ecx + ecx]
xor ecx, 0x93c2f8
or esi, 0x12785f0
sub esi, ecx
mov eax, esi
neg eax
lea ecx, [eax - 1]
or edx, ecx
sub edx, ebx
mov ebx, edi
neg ebx
lea ecx, [ebx - 1]
mov ebx, esi
or ebx, ecx
xor ebx, esi
xor ebx, ecx
mov ecx, edx
mov eax, ebx
not ecx
not eax
and ecx, ebx
and eax, edx
imul ecx, eax
mov eax, edx
or eax, ebx
and edx, ebx
imul edx, eax
mov eax, esi
or eax, edi
add ecx, edx
mov edx, esi
mov ebx, esi
and edx, edi
xor ebx, eax
xor edx, edi
xor ebx, edi
mov edi, ebx
lea eax, [esi + edx]
mov esi, ebx
mov edx, eax
not esi
not edx
and esi, eax
and edx, ebx
and edi, eax
or ebx, eax
imul esi, edx
imul ebx, edi
mov eax, dword [esp + 0x1b24]
lea edi, [esi + ebx]
mov esi, edi
xor edi, ecx
and esi, ecx
mov ecx, dword [esp + 0x1b20]
mov edx, ecx
xor edx, eax
lea ebx, [edi + esi*2]
mov edi, dword [esp + 0x1b14]
add ecx, ecx
lea esi, [edi + edx]
lea edx, [eax + eax]
and edx, ecx
lea eax, [edx + esi]
mov esi, eax
lea edx, [ebx + ebx]
not esi
lea ecx, [esi + esi]
and ecx, edx
sub ecx, ebx
mov ebx, edx
lea esi, [ecx + eax]
add eax, eax
xor ebx, eax
or edx, eax
xor ebx, edx
mov ecx, ebx
and ebx, esi
or ecx, esi
sub ecx, edi
lea esi, [ecx + ebx]
mov dword [esp + 0x1a9c], esi
mov esi, dword [ebp + 8]
mov edi, esi
not edi
lea eax, [edi + 1]
and edi, 0x96d0613e
mov ebx, eax
not eax
and eax, 1
xor ebx, 1
lea ecx, [eax + eax]
sub ebx, ecx
mov edx, ebx
mov ecx, ebx
and edx, 0xd3ba5c57
mov eax, ebx
sub ecx, edx
not eax
lea ecx, [ecx - 0x2c45a3a9]
and eax, ecx
lea ebx, [ebx + eax*2]
sub ebx, ecx
mov ecx, ebx
and ecx, 0x13ba5c57
lea edx, [ecx + ecx]
sub ebx, edx
mov edx, esi
neg edx
lea eax, [ebx + ebx - 0x588b4752]
mov dword [esp + 0x1b28], eax
mov ebx, esi
lea eax, [edx - 1]
mov edx, eax
mov ecx, eax
and edx, 0x692f9ec1
or ecx, 0x692f9ec1
imul ecx, edx
and ebx, 0x692f9ec1
imul edi, ebx
neg ecx
lea edx, [ecx - 1]
mov ecx, eax
not eax
and ecx, 0x96d0613e
and eax, 0x692f9ec1
imul eax, ecx
sub edx, eax
mov eax, esi
and eax, 0x96d0613e
or esi, 0x96d0613e
imul esi, eax
mov dword [esp + 0x1b2c], edx
lea edx, [edi + esi]
mov eax, dword [esp + 0x1b2c]
neg edx
mov esi, eax
not eax
mov dword [esp + 0x18c], 0
mov dword [esp + 0x298], 0xa1340d00
mov dword [esp + 0x1b4], 0x82567bf1
lea edi, [edx - 1]
xor esi, edi
lea ecx, [eax + eax]
lea ebx, [edx + edx - 2]
and ecx, ebx
sub esi, ecx
mov ebx, dword [esp + 0x1b28]
lea edi, [ebx + ebx]
lea ecx, [esi + esi - 0x2aea84d4]
and edi, ecx
lea eax, [ebx + esi]
sub eax, edi
neg ebx
lea edx, [eax - 0x1575426a]
mov eax, ecx
lea esi, [ebx + ebx - 2]
or eax, esi
sub eax, esi
xor eax, ecx
mov ecx, eax
not ecx
imul ecx, edx
not edx
imul edx, eax
not ecx
not edx
sub ecx, edx
lea edx, [esp + 0x1b18]
mov dword [edx], ecx
mov eax, dword [edx]
mov dword [esp + 0x1aa0], eax
test byte [esp + 0x298], 1
je 0x1001201c
mov edi, dword [esp + 0x298]
mov eax, edi
not eax
mov ebx, edi
mov edx, edi
and eax, 0x66f3d81b
and ebx, 0x990c27e4
or edx, 0x66f3d81b
and edi, 0x66f3d81b
imul ebx, eax
imul edi, edx
lea esi, [ebx + edi]
lea ebx, [esi + esi]
xor esi, 0x4245019f
and ebx, 0x7b75fcc0
sub ebx, esi
mov ecx, ebx
mov edx, ebx
not ecx
mov eax, ebx
and ecx, 0xbd904213
and edx, 0x426fbdec
or eax, 0xbd904213
and ebx, 0xbd904213
imul edx, ecx
imul ebx, eax
lea edi, [edx + ebx]
mov ebx, dword [esp + 0x18c]
mov esi, edi
and edi, 0x1fa1ccd
xor esi, 0x1fa1ccd
mov eax, ebx
mov ecx, ebx
lea edx, [esi + edi*2]
xor eax, edx
and ebx, edx
or ecx, edx
sub ecx, eax
lea edx, [ebx + eax]
mov ebx, ecx
or ebx, edx
and ecx, edx
mov eax, dword [esp + 0x1b4]
lea edx, [ebx + ecx]
mov dword [esp + 0x8b8], edx
lea ecx, [edx + 0x14d95304]
and ecx, edx
lea esi, [edx + edx]
lea edi, [eax + eax]
mov dword [esp + 0x8bc], edi
mov eax, esi
lea edi, [edx + edx + 0x29b2a608]
or eax, edi
lea edx, [esp + 0x161c]
mov dword [edx], eax
lea ebx, [ecx + ecx]
mov eax, esi
sub esi, ebx
xor eax, edi
lea edi, [esp + 0x1620]
mov dword [edi], eax
mov eax, dword [edx]
sub eax, dword [edi]
lea edx, [esi - 0x6b26acfc]
mov ebx, eax
xor eax, edx
or ebx, edx
lea ecx, [ebx + ebx]
sub ecx, eax
lea eax, [ecx + 0x6b26acfc]
mov ecx, dword [esp + 0x8bc]
mov esi, eax
mov edi, ecx
bswap esi
not ecx
mov ebx, esi
neg ebx
bswap edi
mov dword [esp + 0x8c0], edi
lea edx, [ebx - 1]
mov ebx, edx
or ebx, edi
sub ebx, edi
xor ebx, edx
lea edx, [ebx + ebx]
mov dword [esp + 0x1624], edx
mov edx, edi
lea ebx, [esi + esi]
not edx
xor edi, esi
mov dword [esp + 0x1628], edx
add edx, edx
and ebx, edx
mov edx, eax
neg edx
sub ebx, edi
lea esi, [edx - 1]
mov edx, ecx
or edx, esi
sub edx, ecx
mov ecx, edx
or edx, eax
and ecx, eax
mov eax, dword [esp + 0x1624]
add edx, ecx
mov ecx, ebx
and ecx, eax
xor ebx, eax
shrd edx, edx, 0x1e
lea esi, [ebx + ecx*2]
bswap esi
shrd esi, esi, 0x1e
mov eax, esi
mov ecx, esi
neg eax
not ecx
and ecx, edx
xor esi, edx
lea edi, [eax - 1]
not edi
or edi, edx
lea ebx, [edi + eax - 1]
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x8b8]
shrd ecx, ecx, 0x16
not ecx
sub eax, esi
mov edx, eax
lea ebx, [ebx + ebx + 2]
xor edx, ebx
not ebx
and eax, ebx
lea esi, [ecx + ecx]
sub esi, ecx
shld esi, esi, 0x16
bswap esi
lea ebx, [eax + eax]
sub edx, ebx
mov ebx, esi
not ebx
mov eax, dword [esp + 0x1b4]
mov edi, ebx
shrd edx, edx, 2
bswap eax
add ebx, ebx
mov dword [esp + 0x162c], edx
and edi, eax
mov edx, eax
not edx
lea ecx, [edi + esi]
lea edi, [edx + edx]
lea edx, [ecx + ecx]
xor ecx, eax
and edi, edx
sub edi, ecx
lea eax, [edi + edi]
and eax, ebx
lea edx, [eax + esi]
mov esi, dword [esp + 0x8b8]
mov ecx, esi
mov eax, esi
not ecx
mov ebx, esi
and ecx, 0xf517a2b1
and eax, 0xae85d4e
or ebx, 0xf517a2b1
and esi, 0xf517a2b1
imul eax, ecx
sub edx, edi
imul esi, ebx
bswap edx
add eax, esi
imul ebx, eax, 0x493f0072
not ebx
lea edi, [edx + edx]
mov edx, eax
not edx
imul ecx, edx, 0xb6c0ff8f
not ecx
sub ecx, ebx
mov esi, ecx
mov edx, ecx
not esi
mov ebx, ecx
and esi, 0x12a36651
and edx, 0xed5c99ae
or ebx, 0x12a36651
and ecx, 0x12a36651
imul edx, esi
imul ecx, ebx
lea eax, [edx + ecx]
mov edx, dword [esp + 0x8bc]
neg edx
lea ebx, [eax + eax]
or ebx, 0x21e5382
xor eax, 0x810f29c1
sub ebx, eax
lea esi, [edx - 2]
lea edx, [ebx + ebx + 0x5ecef028]
mov eax, edx
or eax, esi
sub eax, edx
xor eax, esi
mov esi, dword [esp + 0x1b4]
lea ecx, [esi + ebx]
lea ebx, [ebx + 0x2f677814]
and esi, ebx
lea ebx, [esi + esi]
mov esi, eax
sub ecx, ebx
lea edx, [ecx + 0x2f677814]
mov ebx, edx
xor eax, edx
not ebx
lea ecx, [edi + edi]
and esi, ebx
lea ebx, [esi + esi]
sub ebx, eax
lea edx, [ebx + ebx - 0x5ecef028]
mov eax, edx
lea esi, [ebx - 0x2f677814]
xor eax, ecx
and edx, ecx
not esi
add edx, eax
lea eax, [esi + esi]
and eax, ecx
lea esi, [edx + edx]
sub eax, edi
lea ecx, [eax + ebx - 0x2f677814]
mov edi, ecx
xor ecx, edx
not edi
mov edx, dword [esp + 0x162c]
mov eax, edx
not eax
imul eax, dword [esp + 0x8c0]
lea ebx, [edi + edi]
and esi, ebx
mov ebx, dword [esp + 0x1628]
sub esi, ecx
imul ebx, edx
mov ecx, esi
sub eax, ebx
not ecx
mov edi, eax
mov ebx, esi
mov edx, ecx
not edi
imul edx, eax
neg ebx
imul ebx, edi
neg eax
neg edx
mov dword [esp + 0x1630], esi
not ebx
not edx
add esi, esi
sub ebx, edx
mov edi, esi
lea edx, [eax + eax - 2]
or edi, edx
sub edi, edx
xor edi, esi
mov esi, edi
xor edi, ebx
and esi, ebx
lea ebx, [edi + esi*2]
lea esi, [eax - 1]
mov eax, dword [esp + 0x1630]
and ecx, esi
add eax, ecx
mov ecx, eax
not eax
xor ecx, esi
lea esi, [eax + eax]
mov eax, ebx
and esi, edx
mov edx, ebx
sub ecx, esi
lea edi, [ecx + ecx]
or eax, edi
and edx, edi
sub eax, edi
xor eax, ebx
xor ebx, edi
lea edi, [edx + ebx]
mov edx, eax
xor edx, edi
lea ebx, [eax + eax]
lea eax, [edi + edi]
and ebx, eax
mov eax, dword [esp + 0x298]
lea esi, [edx + ebx]
mov ebx, dword [esp + 0x8c0]
lea edi, [esi + esi]
xor esi, ebx
lea edx, [ebx + ebx]
or edi, edx
lea edx, [eax + eax]
sub edi, ecx
sub edi, esi
mov ebx, edi
not ebx
lea esi, [ebx + ebx]
mov ebx, edx
and ebx, esi
sub ebx, eax
mov eax, edx
add ebx, edi
neg edi
lea esi, [edi + edi - 2]
xor eax, esi
or edx, esi
sub edx, eax
mov eax, edx
xor edx, ebx
not eax
and eax, ebx
lea ecx, [ecx + eax*2]
sub ecx, edx
mov dword [esp + 0x18c], ecx
shr dword [esp + 0x298], 1
lea edx, [esp + 0x1b4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10011c32
mov dword [esp + 0x57c], 0
mov dword [esp + 0x524], 0x82567bf1
test byte [esp + 0x18c], 1
je 0x100121a6
mov ebx, dword [esp + 0x18c]
mov edi, ebx
not edi
mov ecx, dword [esp + 0x57c]
xor ebx, ecx
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x524]
mov edx, ecx
lea esi, [edi + edi]
and eax, esi
sub eax, ebx
mov esi, eax
shrd esi, eax, 0xc
shrd edx, ecx, 0xc
mov ebx, esi
not ebx
and ebx, edx
not edx
and edx, esi
add esi, ebx
add edx, ebx
mov ebx, esi
not esi
sub ebx, edx
and esi, edx
lea esi, [ebx + esi*2]
shld esi, esi, 0xc
mov ebx, esi
mov edx, esi
not ebx
and edx, 0xb6710d62
and ebx, 0x498ef29d
imul ebx, edx
mov edx, esi
or edx, 0x498ef29d
and esi, 0x498ef29d
imul esi, edx
lea edx, [ebx + esi]
mov ebx, edx
not ebx
imul esi, ebx, 0x175e9b3c
imul edx, edx, 0xe8a164c5
not esi
not edx
sub esi, edx
mov ebx, esi
mov edx, esi
and ebx, 0xccdf23b5
or edx, 0xccdf23b5
imul edx, ebx
mov ebx, esi
not ebx
and esi, 0x3320dc4a
and ebx, 0xccdf23b5
imul esi, ebx
lea ebx, [edx + esi]
mov esi, ebx
lea edx, [ebx + ebx]
xor esi, 0x819f0a94
and edx, 0x33e1528
mov ebx, ecx
xor ebx, eax
add esi, edx
mov edx, ecx
not edx
neg ecx
and edx, eax
mov dword [esp + 0x1634], esi
add esi, esi
add edx, edx
sub ebx, edx
lea edx, [ecx + ecx - 2]
lea ecx, [eax + eax]
lea eax, [edx + eax*2]
or edx, ecx
sub eax, edx
mov edx, ebx
xor edx, eax
and ebx, eax
sub edx, edi
mov eax, esi
not eax
mov ecx, dword [esp + 0x1634]
lea ebx, [edx + ebx*2]
mov edx, esi
and eax, ebx
or edx, ebx
lea ecx, [eax + ecx*2]
lea eax, [edx + edx]
sub eax, esi
add ecx, ecx
sub eax, ebx
mov esi, ecx
mov edx, eax
not esi
neg edx
not eax
imul esi, edx
neg ecx
imul ecx, eax
not esi
not ecx
mov edx, dword [esp + 0x18c]
add edi, esi
sub edi, ecx
lea ebx, [edx + edx]
xor edx, edi
lea eax, [edi + edi]
or ebx, eax
sub ebx, edx
mov dword [esp + 0x57c], ebx
shr dword [esp + 0x18c], 1
lea edx, [esp + 0x524]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001204c
mov edx, dword [esp + 0x57c]
mov esi, edx
mov edi, edx
or esi, 0xe8e40f3c
mov ebx, edx
xor edi, esi
mov esi, edx
xor edi, 0xe8e40f3c
not ebx
neg esi
add edx, edx
mov dword [esp + 0x80c], 0x2d6c0000
mov dword [esp + 0x580], 0
mov dword [esp + 0x528], 0x82567bf1
lea eax, [edi + edi]
mov ecx, eax
not eax
neg ecx
imul ebx, ecx
imul esi, eax
not ebx
not esi
sub ebx, esi
mov esi, edx
mov edi, ebx
and esi, 0x2e37e187
or edi, 0xe8e40f3c
and ebx, 0xe8e40f3c
sub edx, esi
lea ecx, [edi + ebx]
mov eax, ecx
lea edi, [edx + 0x2e37e187]
mov ebx, edi
or edi, 0xd1c81e79
and ebx, 0xd1c81e79
lea esi, [ebx + edi]
and eax, esi
lea edi, [ecx + esi]
or ecx, esi
lea ebx, [eax + eax]
mov eax, edi
sub edi, ecx
sub eax, ebx
lea ecx, [edi + edi]
mov edi, dword [esp + 0x1a7c]
lea edx, [ecx + ecx]
lea esi, [eax + eax]
xor eax, ecx
or edx, esi
sub edx, eax
mov ebx, edx
bswap ebx
mov esi, ebx
neg esi
lea ecx, [esi + esi - 2]
mov esi, dword [esp + 0x1a78]
or edi, ecx
lea eax, [ecx + esi*2]
xor esi, ebx
sub eax, edi
mov edi, dword [esp + 0x1a80]
and edi, ebx
lea ebx, [edi + edi]
sub esi, ebx
lea ebx, [edx + edx]
mov ecx, esi
mov edi, ebx
xor ecx, eax
not eax
mov edx, ebx
and eax, esi
and edi, 0xf0d25800
or edx, 0xf0d25800
sub edx, edi
xor edi, ebx
mov ebx, edx
not edx
lea esi, [eax + eax]
sub ecx, esi
bswap ecx
lea esi, [edi - 0xf2da800]
mov eax, esi
not eax
imul ebx, eax
imul edx, esi
not ebx
not edx
sub ebx, edx
lea esi, [ecx + ecx]
not ebx
lea edi, [ebx + ebx + 2]
mov eax, edi
add ecx, ebx
or eax, esi
sub eax, edi
and edi, esi
sub ecx, edi
xor eax, esi
mov dword [esp + 0x1b30], eax
lea esi, [ecx + 1]
mov dword [esp + 0x1b34], esi
test byte [esp + 0x80c], 1
je 0x100123bf
mov edx, dword [esp + 0x528]
mov edi, edx
mov ecx, dword [esp + 0x580]
mov esi, ecx
and esi, edx
not edi
lea ebx, [ecx + edx]
sub ebx, esi
mov esi, edx
mov eax, ebx
xor esi, ebx
and eax, edi
mov ebx, ecx
rol edx, cl
lea edi, [eax + eax]
sub edi, esi
mov esi, ecx
or ebx, edi
and esi, edi
sub ebx, esi
lea eax, [ebx + ebx]
mov dword [esp + 0x1638], eax
mov eax, ecx
lea ebx, [edx + edx]
rol eax, cl
mov edi, ebx
neg ecx
lea esi, [eax + eax]
xor eax, edx
and edi, esi
mov edx, esi
or edx, ebx
sub edx, esi
mov esi, dword [esp + 0x1638]
add eax, edi
mov edi, edx
mov edx, eax
xor edi, ebx
not edx
imul edx, edi
not edi
imul edi, eax
sub edx, edi
lea edi, [esi + esi]
rol edx, cl
mov ecx, edx
sub ecx, esi
lea ebx, [edx + edx]
not ebx
and ebx, edi
lea ebx, [ebx + edx*2]
not edx
lea eax, [edx + edx]
and eax, edi
mov edi, ebx
not edi
neg ebx
add ecx, eax
mov esi, ecx
not ecx
neg esi
imul edi, esi
imul ebx, ecx
not edi
not ebx
sub edi, ebx
mov dword [esp + 0x580], edi
shr dword [esp + 0x80c], 1
lea edx, [esp + 0x528]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10012305
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x810], 0x5e9dc3d7
mov dword [esp + 0x52c], 0x82567bf1
test byte [esp + 0x810], 1
je 0x100124a8
mov ebx, dword [esp + 0x52c]
mov ecx, dword [esp + 0x2d0]
mov edx, ebx
not edx
mov esi, ecx
and esi, edx
mov eax, ecx
xor eax, ebx
add ecx, ecx
mov dword [esp + 0x163c], eax
mov edx, ecx
lea edi, [esi + esi]
mov esi, ebx
neg esi
sub eax, edi
lea edi, [esi + esi - 2]
or edx, edi
lea esi, [eax + eax]
sub edx, ecx
xor edx, edi
lea edi, [edx + edx]
xor edx, eax
or edi, esi
lea esi, [ebx + ebx]
mov eax, edi
and ecx, esi
sub eax, edx
mov edx, dword [esp + 0x2d0]
mov esi, edx
sub esi, ecx
and edx, dword [esp + 0x163c]
add esi, ebx
add edx, ebx
mov ebx, esi
not ebx
imul ebx, edx
not edx
imul edx, esi
sub ebx, edx
mov esi, eax
not ebx
not esi
mov edx, eax
lea edi, [ebx + ebx + 2]
or edx, edi
lea ecx, [edi + edi]
xor edx, edi
add esi, esi
and ecx, esi
xor edx, eax
lea esi, [eax + ecx]
sub esi, edi
lea eax, [edx + edx]
mov edi, esi
and esi, eax
or edi, eax
lea eax, [edi + esi]
mov dword [esp + 0x2d0], eax
shr dword [esp + 0x810], 1
lea edx, [esp + 0x52c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100123fa
mov ebx, dword [esp + 0x1b30]
mov eax, ebx
mov ecx, dword [esp + 0x1b34]
xor eax, ecx
and ebx, ecx
imul edi, dword [esp + 0x580], 0x82567bf1
mov dword [esp + 0x814], 0x45ed78e1
lea esi, [eax + ebx*2]
mov ebx, dword [esp + 0x2d0]
lea eax, [esi + edi]
mov dword [esp + 0x29c], 0
lea ecx, [eax + eax]
mov esi, ecx
mov dword [esp + 0x530], 0x82567bf1
lea edi, [ebx + ebx]
and esi, edi
lea edx, [ecx + ebx*2]
add esi, esi
sub edx, esi
mov esi, ecx
mov dword [esp + 0x980], edx
mov edx, ecx
or esi, edi
xor edx, edi
sub esi, edx
mov edx, eax
not edx
mov dword [esp + 0x1aa4], esi
add edx, edx
and edx, edi
mov edi, ebx
neg ebx
xor edi, eax
sub edx, edi
lea eax, [ebx + ebx - 2]
mov ebx, eax
or eax, ecx
xor ebx, ecx
lea edi, [edx + edx]
xor ebx, eax
mov eax, edx
xor eax, ebx
lea ecx, [ebx + ebx]
and ecx, edi
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0x980]
xor ecx, esi
lea esi, [ebx + ebx]
mov edx, ecx
not edx
lea eax, [edx + edx]
and eax, esi
sub eax, ebx
lea edi, [eax + ecx]
mov dword [esp + 0x1aa8], edi
neg ecx
lea eax, [ecx - 1]
mov edx, eax
or edx, ebx
sub edx, ebx
xor edx, eax
lea ebx, [edx + edx]
mov dword [esp + 0x1aac], ebx
test byte [esp + 0x814], 1
je 0x10012639
mov ebx, dword [esp + 0x530]
mov esi, dword [esp + 0x29c]
mov edx, ebx
mov ecx, esi
shld edx, ebx, 0x1c
shld ecx, esi, 0x1c
lea eax, [edx + edx]
lea edi, [ecx + ecx]
or edi, eax
mov eax, ecx
xor eax, edx
sub edi, eax
mov eax, edx
not eax
or eax, ecx
mov ecx, edi
not edi
lea edx, [edx + eax + 1]
mov eax, ebx
and edi, edx
or eax, esi
xor ecx, edx
lea edx, [edi + edi]
sub ecx, edx
lea edx, [eax + eax]
sub edx, esi
mov eax, ebx
sub edx, ebx
lea edi, [ebx + esi]
and eax, esi
mov esi, edx
sub edi, eax
not edx
and edx, edi
sub esi, ebx
shrd ecx, ecx, 0x1c
lea eax, [edx + edx]
sub eax, edi
add eax, esi
mov edx, eax
mov esi, eax
and edx, ecx
mov edi, eax
xor edx, ecx
xor esi, ecx
or edi, ecx
xor esi, edi
mov ecx, esi
add eax, edx
xor ecx, eax
add eax, eax
lea edx, [ebx + ecx]
lea ebx, [esi + esi]
and ebx, eax
lea ecx, [ebx + edx]
mov dword [esp + 0x29c], ecx
shr dword [esp + 0x814], 1
lea edx, [esp + 0x530]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001259b
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x534], 0x82567bf1
test byte [esp + 0x29c], 1
je 0x10012719
mov edi, dword [esp + 0x534]
mov ecx, edi
mov esi, edi
ror esi, cl
neg esi
mov eax, dword [esp + 0x2a0]
mov ebx, eax
ror ebx, cl
shld eax, eax, 3
lea edx, [esi - 1]
mov ecx, edx
and ecx, ebx
xor ecx, ebx
lea esi, [ecx + esi - 1]
mov ecx, edx
mov ebx, esi
neg ecx
not ebx
not edx
neg esi
imul ebx, ecx
mov ecx, edi
imul esi, edx
not ebx
not esi
sub ebx, esi
neg ecx
ror ebx, cl
mov ecx, edi
shld ecx, edi, 3
mov esi, eax
xor esi, ecx
lea edx, [ebx + ebx]
mov edi, esi
and edi, ecx
add ecx, ecx
add edi, eax
add eax, eax
or eax, ecx
add edi, edi
sub eax, esi
lea esi, [edi + edi]
mov ecx, eax
xor eax, edi
not ecx
add ecx, ecx
and esi, ecx
sub esi, eax
shld esi, esi, 0x1d
mov edi, esi
not edi
or edi, edx
add edx, edx
lea ebx, [esi + ebx*2]
lea eax, [edi + esi]
lea edi, [eax + eax + 2]
lea eax, [esi + esi]
and edx, eax
sub ebx, edx
mov eax, ebx
and ebx, edi
or eax, edi
lea edx, [eax + ebx]
mov dword [esp + 0x2a0], edx
shr dword [esp + 0x29c], 1
lea edx, [esp + 0x534]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10012669
mov eax, dword [esp + 0x1aa0]
mov dword [esp + 0x584], 0
xor eax, 0xa9130b43
mov dword [esp + 0x538], eax
je 0x1001291f
test byte [esp + 0x2a0], 1
je 0x10012905
mov edx, dword [esp + 0x538]
mov ecx, edx
not edx
xor ecx, 0xd6ff4476
and edx, 0xd6ff4476
lea esi, [edx + edx]
mov edx, dword [esp + 0x584]
mov edi, edx
sub ecx, esi
mov ebx, edx
not edi
mov esi, edx
mov eax, edx
and ebx, 0x3fae9316
and edi, 0xc0516ce9
and esi, 0xc0516ce9
or eax, 0xc0516ce9
imul edi, ebx
imul eax, esi
lea ebx, [edi + eax]
mov esi, ebx
lea edi, [ebx + ebx]
xor esi, 0x2dcbaa0e
and edi, 0xdb97541c
lea ebx, [esi + edi]
mov eax, ebx
mov esi, ebx
or eax, 0xcb762b59
and esi, 0xcb762b59
imul esi, eax
mov eax, ebx
not eax
and ebx, 0x3489d4a6
and eax, 0xcb762b59
imul ebx, eax
lea eax, [ecx + ecx]
bswap eax
add ebx, esi
mov edi, ebx
not edi
imul esi, edi, 0xe22d8722
imul ebx, ebx, 0x1dd278df
not esi
not ebx
sub esi, ebx
mov ebx, eax
not ebx
lea edi, [esi + esi]
bswap edi
and ebx, edi
add ebx, eax
mov esi, ebx
not ebx
and ebx, edi
xor esi, edi
lea edi, [ebx + ebx]
sub esi, edi
mov ebx, esi
or esi, eax
and ebx, eax
mov eax, ecx
neg eax
not ebx
not esi
sub ebx, esi
bswap ebx
lea esi, [eax - 1]
mov eax, edx
or eax, esi
sub eax, edx
neg edx
xor eax, esi
mov esi, ecx
lea edi, [edx - 1]
or esi, edi
xor esi, edi
xor ecx, esi
mov esi, ecx
xor ecx, eax
or esi, eax
lea edx, [esi + esi]
sub edx, ecx
mov ecx, edx
mov eax, edx
not ecx
mov esi, edx
and eax, 0x2607b320
and ecx, 0xd9f84cdf
or esi, 0xd9f84cdf
and edx, 0xd9f84cdf
imul ecx, eax
imul edx, esi
lea edi, [ecx + edx]
mov ecx, edi
and edi, 0xd3ddd410
xor ecx, 0x53ddd410
lea edi, [ecx + edi*2]
mov ecx, ebx
mov eax, edi
mov esi, edi
not eax
mov edx, edi
and eax, 0x7a66f1f
and esi, 0xf85990e0
and edx, 0x7a66f1f
or edi, 0x7a66f1f
imul esi, eax
not ecx
imul edi, edx
add esi, edi
imul edi, esi, 0xb6d0620f
not esi
imul eax, esi, 0x492f9df0
not edi
not eax
sub edi, eax
mov esi, edi
mov eax, edi
or esi, ecx
xor eax, ebx
and edi, ebx
sub esi, ecx
lea ebx, [eax + edi]
mov eax, esi
xor eax, ebx
add ebx, ebx
add esi, esi
and ebx, esi
lea ecx, [eax + ebx]
imul edx, ecx, 0xd6ff4475
not ecx
imul edi, ecx, 0x2900bb8a
not edx
not edi
sub edx, edi
mov dword [esp + 0x584], edx
shr dword [esp + 0x2a0], 1
lea edx, [esp + 0x538]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10012757
mov ebx, dword [esp + 0x1aac]
mov edx, ebx
mov eax, dword [esp + 0x1aa8]
xor ebx, eax
not edx
mov ecx, eax
mov esi, dword [esp + 0x1aa4]
neg ebx
and ecx, edx
mov eax, dword [esp + 0x584]
and esi, dword [esp + 0x980]
lea edx, [eax + ebx]
mov eax, dword [esp + 0x1a8c]
lea edi, [esi + ecx]
mov esi, eax
imul esi, dword [esp + 0x1a90]
not eax
mov ecx, dword [esp + 0x1a88]
not esi
imul ecx, eax
lea edi, [edx + edi*2]
sub esi, dword [esp + 0x1a84]
not ecx
sub esi, ecx
mov eax, esi
mov edx, esi
or eax, 0x530f7b3c
and edx, 0xacf084c3
mov ebx, esi
xor ebx, edx
lea eax, [eax - 0x530f7b3c]
mov ecx, eax
lea edx, [ebx - 0x530f7b3d]
mov ebx, eax
or ecx, edx
and ebx, edx
imul ebx, ecx
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
imul eax, ecx
mov ecx, esi
neg ecx
lea edx, [ebx + eax]
or esi, 0xacf084c3
lea ebx, [ecx - 1]
or ebx, 0x530f7b3c
lea ecx, [esi + 0x530f7b3d]
lea eax, [ebx - 0x530f7b3c]
mov ebx, eax
mov esi, eax
or ebx, ecx
and esi, ecx
imul esi, ebx
mov ebx, ecx
not ebx
and ebx, eax
not eax
and eax, ecx
imul eax, ebx
lea ecx, [esi + eax]
mov eax, edx
and eax, ecx
xor edx, ecx
lea edx, [edx + eax*2]
mov esi, edx
mov ecx, edx
or esi, 0xc39b72fd
and ecx, 0xc39b72fd
imul ecx, esi
mov esi, edx
not edx
and esi, 0x3c648d02
and edx, 0xc39b72fd
imul edx, esi
lea ebx, [ecx + edx]
lea edx, [ebx + ebx]
xor ebx, 0xa1343fad
or edx, 0x42687f5a
sub edx, ebx
mov eax, edx
mov esi, edx
not eax
mov ecx, edx
and esi, 0x8b9c45aa
and eax, 0x7463ba55
or ecx, 0x7463ba55
and edx, 0x7463ba55
imul eax, esi
imul edx, ecx
lea esi, [eax + edx]
mov eax, esi
not eax
imul ebx, eax, 0x7f7c298f
imul ecx, esi, 0x8083d672
not ebx
not ecx
sub ebx, ecx
mov eax, ebx
not eax
lea esi, [ebx + ebx]
lea edx, [eax + eax]
mov eax, esi
and edx, 0x971c8340
or eax, 0x971c8340
xor esi, 0x971c8340
sub eax, esi
lea esi, [edi + edi]
mov dword [esp + 0x1ab0], esi
lea ecx, [edx + ebx - 0x4b8e41a0]
mov ebx, eax
xor ebx, ecx
and eax, ecx
lea ecx, [ebx + eax*2]
lea ebx, [ecx + ecx]
mov edx, ebx
not edx
mov eax, edx
or eax, esi
sub eax, edx
lea edx, [eax + edi*2]
and eax, esi
lea esi, [eax + eax]
mov eax, edx
sub eax, esi
lea edx, [ebx + ebx]
lea esi, [eax + eax]
xor eax, ebx
or esi, edx
mov edx, ecx
not edx
sub esi, eax
and edx, edi
add edi, ecx
and ebx, dword [esp + 0x1ab0]
sub edi, ebx
lea eax, [edx + ecx]
mov ecx, edi
neg ecx
lea edx, [eax + eax]
mov eax, edx
not edi
not eax
neg edx
imul eax, ecx
imul edx, edi
not eax
not edx
sub eax, edx
mov ecx, eax
neg ecx
lea edi, [ecx + 0xed67d2d]
mov ecx, esi
not ecx
not edi
mov ebx, edi
or ebx, esi
sub ebx, edi
lea edi, [ecx + ecx]
lea ecx, [eax + eax - 0x1dacfa5c]
and edi, ecx
lea edx, [ebx + ebx]
add esi, edi
sub esi, eax
mov eax, edx
not eax
lea edi, [esi - 0x712982d2]
imul eax, edi
not edi
imul edi, edx
mov edx, dword [esp + 0x1a9c]
mov ecx, edx
sub eax, edi
neg ecx
lea esi, [ecx - 1]
mov ecx, esi
lea edi, [eax + 0x712982d2]
mov ebx, edi
not ecx
not ebx
and ecx, edi
and ebx, esi
imul ebx, ecx
mov ecx, esi
and ecx, edi
or esi, edi
imul esi, ecx
mov edi, eax
neg edi
lea ecx, [ebx + esi]
mov ebx, edx
lea eax, [eax + eax - 0x1dacfa5c]
not ebx
lea esi, [edi - 0x712982d3]
mov edi, esi
and ebx, esi
mov dword [esp + 0x1ab4], ebx
not edi
mov ebx, edx
and ebx, edi
mov edi, edx
and edi, esi
mov dword [esp + 0x1ab8], edi
mov edi, edx
or edi, esi
lea esi, [ecx + ecx]
imul ebx, dword [esp + 0x1ab4]
imul edi, dword [esp + 0x1ab8]
shld edx, edx, 1
not edx
add edi, ebx
mov ebx, edi
xor edi, ecx
not ebx
mov ecx, eax
shrd edx, edx, 1
not ecx
add ebx, ebx
and esi, ebx
add edx, edx
mov ebx, ecx
sub esi, edi
and ebx, edx
mov edi, edx
add ecx, ecx
add ebx, eax
xor edi, ebx
not ebx
and ebx, edx
lea edx, [ebx + ebx]
sub edi, edx
lea edx, [edi + edi]
and edx, ecx
mov ecx, esi
add edx, eax
mov eax, esi
sub edx, edi
lea edi, [esi + esi]
or eax, edx
sub eax, edx
xor ecx, eax
lea ebx, [edx + edx]
or ebx, edi
sub ebx, esi
sub ebx, edx
lea eax, [ecx + ecx]
mov esi, ebx
xor ebx, eax
or esi, eax
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x128]
mov dword [esp + 8], eax
lea edx, [esi + esi]
sub edx, ebx
mov dword [esp + 0x144], edx
jmp 0x10024afc
mov eax, dword [esp + 8]
lea edx, [esp + 0xc8]
add eax, dword [edx]
cmp eax, dword [edx - 0x24]
jne 0x10024afc
mov ecx, dword [ebp + 8]
mov ebx, ecx
not ebx
mov eax, ecx
mov esi, ecx
mov edx, ebx
and eax, 0xfc2e3c9b
or esi, 0xfc2e3c9b
and ecx, 0x3d1c364
and edx, 0xfc2e3c9b
imul esi, eax
imul edx, ecx
mov dword [esp + 0x27c], 0
lea edi, [esi + edx]
lea ecx, [edi + edi]
xor edi, 0xa5df94b9
or ecx, 0x4bbf2972
sub ecx, edi
mov eax, ecx
mov esi, ecx
mov edi, ecx
not eax
or esi, 0x81b14993
and edi, 0x81b14993
and eax, 0x81b14993
and ecx, 0x7e4eb66c
imul edi, esi
imul ecx, eax
lea esi, [edi + ecx]
mov edi, esi
xor esi, 0xdb4273b
not edi
mov dword [esp + 0x1754], edi
and edi, 0xdb4273b
lea eax, [edi + edi]
sub esi, eax
sub esi, eax
mov ecx, esi
and ecx, 0xe3df62a2
not ecx
lea edx, [esi + esi]
or esi, 0xe3df62a2
mov eax, edx
not esi
or eax, 0x38413aba
sub ecx, esi
lea eax, [eax - 0x38413aba]
xor eax, edx
mov edx, ecx
not edx
xor ecx, eax
lea esi, [eax + eax]
add edx, edx
and edx, esi
lea eax, [ebx + ebx]
lea esi, [edx + edi*2]
mov edx, 0xc7bec544
sub esi, ecx
mov ecx, dword [esp + 0x1754]
ror eax, cl
mov ebx, eax
ror edx, cl
not ebx
and ebx, edx
lea edi, [ebx + eax]
mov ebx, edx
not ebx
and ebx, eax
add ebx, ebx
sub ebx, eax
lea eax, [ebx + edx]
mov ebx, edi
not ebx
imul ebx, eax
not eax
imul eax, edi
sub ebx, eax
mov edi, esi
rol ebx, cl
mov ecx, esi
not edi
mov eax, esi
sub ecx, ebx
and edi, ebx
xor eax, ebx
or esi, ebx
sub esi, eax
lea edx, [ecx + edi*2]
mov ebx, edx
lea ecx, [esi + esi]
and ebx, ecx
or edx, ecx
lea ecx, [ebx + edx]
lea edx, [esp + 0x1750]
mov dword [edx], ecx
mov ebx, dword [edx]
mov edx, dword [esp]
mov ecx, edx
lea edi, [ebx - 0x1a7c3b6e]
mov ebx, dword [esp + 4]
xor edi, 0x17971c7b
lea esi, [edi - 0x8928238]
mov edi, ebx
neg edi
xor esi, 0xe08f4b99
mov dword [esp + 0x304], esi
mov esi, edx
mov dword [esp + 0x308], edi
lea eax, [edi - 1]
mov dword [esp + 0x154], eax
and ecx, eax
xor esi, ecx
mov ecx, eax
not ecx
mov dword [esp + 0x1758], ecx
lea esi, [edi + esi - 1]
add ecx, ecx
lea edi, [esi + esi]
xor esi, eax
and ecx, edi
mov eax, ebx
mov edi, ebx
xor eax, edx
or edi, edx
sub ecx, esi
mov dword [esp + 0x928], eax
xor eax, edi
mov dword [esp + 0x175c], edi
lea edi, [edx + edx]
mov dword [esp + 0x15c], edi
mov dword [esp + 0x1760], eax
lea esi, [eax + eax]
or edi, esi
sub edi, edx
lea edx, [ebx + ebx]
sub edi, eax
mov eax, ecx
xor ebx, edi
mov dword [esp + 0x1bc], edx
add edi, edi
and edx, edi
mov edi, ecx
lea esi, [ebx + edx]
mov ebx, ecx
xor ebx, esi
and eax, esi
or edi, esi
xor edi, ebx
mov edx, edi
add ebx, eax
mov eax, edi
and edx, ebx
or eax, ebx
imul eax, edx
mov edx, ebx
mov dword [esp + 0x1764], eax
not edx
mov eax, edi
not edi
and eax, edx
and edi, ebx
lea ebx, [esp + 0x1768]
mov dword [ebx], eax
mov eax, esi
imul edi, dword [ebx]
neg eax
mov ebx, dword [esp + 0x1764]
lea edx, [ebx + edi]
mov ebx, ecx
lea edi, [eax - 1]
mov eax, ecx
neg ecx
or eax, edi
xor ebx, edi
sub eax, ebx
lea ebx, [ecx - 1]
lea edi, [esi + ecx - 1]
or esi, ebx
sub edi, esi
mov esi, eax
mov ebx, edi
not esi
not ebx
mov ecx, edi
and esi, edi
and ebx, eax
or ecx, eax
and edi, eax
imul ebx, esi
lea eax, [edx + edx]
imul edi, ecx
add ebx, edi
lea ecx, [ebx + ebx]
xor ebx, edx
and ecx, eax
lea edx, [ecx + ebx]
mov dword [esp + 0x176c], edx
mov edx, dword [esp + 4]
mov edi, edx
not edi
mov dword [esp + 0x160], edi
bswap edx
mov dword [esp + 0x30c], edx
lea eax, [edi + 1]
mov dword [esp + 0x1770], eax
not eax
lea esi, [edi + edi]
neg eax
lea edi, [edi + edi + 2]
not eax
not edi
sub eax, edi
mov dword [esp + 0x92c], esi
mov esi, eax
neg esi
mov edi, dword [esp]
mov ecx, edi
lea ebx, [esi - 1]
and ecx, ebx
mov ebx, edi
xor ebx, ecx
mov ecx, eax
xor ecx, 1
and eax, 1
mov dword [esp + 0x1774], ecx
lea ebx, [ebx + esi - 1]
lea esi, [ecx + eax*2]
mov ecx, ebx
and ecx, esi
xor ebx, esi
mov esi, edi
mov eax, edi
not esi
and eax, 0x83e84573
mov dword [esp + 0x140], esi
and esi, 0x83e84573
lea ebx, [ebx + ecx*2]
mov ecx, edi
or ecx, 0x83e84573
and edi, 0x7c17ba8c
imul ecx, eax
imul esi, edi
lea edi, [ecx + esi]
lea ecx, [edi + edi]
xor edi, 0x18e2fffd
or ecx, 0x31c5fffa
sub ecx, edi
mov esi, ecx
mov eax, ecx
mov edi, ecx
not ecx
or esi, 0x500c67bb
and eax, 0x500c67bb
and edi, 0xaff39844
and ecx, 0x500c67bb
imul eax, esi
imul ecx, edi
add eax, ecx
mov edi, eax
not edi
imul ecx, edi, 0x92abc8cf
imul edi, eax, 0x92abc8d0
lea esi, [ecx + edi]
bswap esi
mov ecx, esi
xor ecx, 1
lea eax, [esi + esi]
and eax, 2
lea edi, [ecx + eax - 1]
not edi
bswap edi
bswap edi
neg edi
lea esi, [edi - 1]
mov edi, ebx
mov ecx, esi
and ecx, edx
xor ecx, esi
lea eax, [ecx + edx]
mov edx, esi
not edx
imul edx, eax
not eax
imul eax, esi
not edx
not eax
sub edx, eax
bswap edx
mov ecx, edx
and edi, edx
not ecx
mov esi, ecx
or esi, ebx
lea eax, [ebx + edx]
sub esi, ecx
sub eax, edi
mov ecx, eax
mov edi, esi
not ecx
not edi
and ecx, esi
and edi, eax
imul edi, ecx
mov ecx, esi
and ecx, eax
or esi, eax
mov eax, edx
imul esi, ecx
neg eax
lea ecx, [edi + esi]
lea edi, [eax - 1]
lea esi, [ebx + eax - 1]
mov eax, ebx
neg ebx
or eax, edi
sub esi, eax
lea ebx, [ebx - 1]
mov edi, ebx
xor ebx, edx
or edi, edx
mov edx, esi
xor edi, ebx
not edx
mov ebx, edi
and ebx, edx
mov edx, edi
not edx
and edx, esi
imul edx, ebx
mov ebx, edi
or ebx, esi
and edi, esi
imul edi, ebx
lea eax, [edx + edi]
mov edx, dword [esp + 0x1774]
mov esi, eax
or eax, ecx
and esi, ecx
sub esi, edx
lea ebx, [esi + eax]
mov esi, dword [esp + 0x176c]
lea ecx, [ebx + ebx]
lea edi, [esi + esi]
and ecx, edi
mov edi, esi
or edi, ebx
lea eax, [esi + ebx]
xor esi, ebx
sub eax, ecx
sub edi, esi
mov ebx, eax
add eax, eax
lea ecx, [edi + edi]
xor ebx, ecx
add ebx, edx
lea edx, [ecx + ecx]
mov ecx, dword [esp + 4]
and edx, eax
lea edi, [edx + ebx]
mov ebx, ecx
imul ebx, edi
mov edi, ebx
mov esi, ebx
and edi, 0xad00000
not esi
xor edi, ebx
mov eax, esi
or eax, 0xad00000
sub eax, esi
mov esi, eax
not esi
lea edi, [edi + 0xad00000]
mov edx, edi
and esi, edi
not edx
and edx, eax
imul esi, edx
mov edx, eax
or edx, edi
and eax, edi
mov edi, ebx
imul eax, edx
neg edi
add esi, eax
mov eax, ebx
or eax, 0xf52fffff
lea edi, [edi - 1]
mov edx, edi
xor ebx, 0xf52fffff
or edx, 0xad00000
xor edi, 0xad00000
sub eax, ebx
xor edx, edi
mov ebx, eax
mov edi, edx
not ebx
and edi, ebx
mov ebx, edx
not ebx
and ebx, eax
imul ebx, edi
mov edi, edx
and edi, eax
or edx, eax
imul edx, edi
imul edi, dword [esp], 0x330f262a
lea eax, [ebx + edx]
mov ebx, esi
and ebx, eax
or esi, eax
add ebx, esi
imul ecx, ebx
mov ebx, ecx
and ecx, 0xd3f6f87c
xor ebx, 0x53f6f87c
lea ecx, [ebx + ecx*2]
mov edx, ecx
mov ebx, ecx
and edx, edi
xor ebx, edi
lea esi, [ebx + edx*2]
lea eax, [edx + ebx]
mov ebx, esi
not ebx
imul ebx, eax
not eax
imul eax, esi
sub ebx, eax
lea eax, [edi + edi]
lea esi, [ebx + ebx]
lea ebx, [ecx + ecx]
mov edx, ebx
not edx
or edx, eax
lea eax, [edx + ecx*2 + 1]
mov edx, eax
add eax, eax
xor edx, edi
not edi
add edi, edi
and edi, eax
sub edx, edi
mov eax, edx
or edx, ecx
and eax, ecx
lea edi, [eax + ecx*2]
lea ecx, [edx + edi]
lea eax, [ecx + ecx]
not eax
lea edx, [esi + esi]
mov edi, eax
or edi, edx
sub edi, eax
mov eax, ecx
not eax
and eax, esi
lea edx, [eax + eax]
sub edx, esi
lea esi, [edi + edi]
add ecx, edx
xor edi, ecx
lea eax, [ecx + ecx]
or esi, eax
sub esi, ebx
sub esi, edi
mov ecx, esi
not esi
xor ecx, 0x53f6f87c
mov ebx, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x7ac], ebx
lea edx, [esi + esi]
and edx, 0xa7edf0f8
sub ecx, edx
mov dword [esp + 0x1778], ecx
mov dword [esp + 0x4b4], eax
test eax, eax
je 0x10013272
test byte [esp + 0x7ac], 1
je 0x10013258
mov ecx, dword [esp + 0x27c]
mov edx, dword [esp + 0x4b4]
mov edi, ecx
bswap edi
mov esi, edx
bswap esi
mov eax, edi
mov ebx, edi
xor eax, esi
and ebx, esi
lea eax, [eax + ebx*2]
mov ebx, edi
or ebx, esi
sub ebx, edi
mov edi, edx
xor ebx, esi
and edi, ecx
mov esi, ebx
not esi
imul esi, eax
not eax
imul eax, ebx
mov ebx, edx
not esi
xor ebx, ecx
not eax
sub esi, eax
mov eax, edx
not eax
bswap esi
add edi, ebx
and eax, edi
lea ebx, [edx + eax*2]
sub ebx, edi
lea edi, [ebx + ebx]
lea edx, [ecx + ebx]
add ecx, ecx
and edi, ecx
lea eax, [edi + ebx*2]
mov edi, esi
sub edx, eax
not edi
mov ecx, edx
mov eax, edx
and ecx, edi
or eax, esi
lea edi, [esi + ecx*2]
sub edi, edx
xor edx, esi
sub eax, edx
mov esi, edi
add eax, eax
or esi, eax
and edi, eax
lea ebx, [esi + ebx*2]
lea eax, [edi + ebx]
mov dword [esp + 0x27c], eax
shr dword [esp + 0x7ac], 1
lea edx, [esp + 0x4b4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100131bf
mov eax, dword [esp + 4]
mov dword [esp + 0x280], eax
mov dword [esp + 0x2a8], 0
test eax, eax
je 0x10013586
test byte [esp + 0x27c], 1
je 0x1001356c
mov eax, dword [esp + 0x2a8]
mov ebx, eax
mov edx, eax
xor ebx, 0x8780fc6b
mov ecx, eax
or edx, 0x8780fc6b
and ecx, ebx
mov esi, edx
sub esi, eax
neg eax
xor esi, 0x8780fc6b
mov dword [esp + 0x1098], ebx
mov edi, esi
lea ebx, [ecx - 0x787f0395]
mov ecx, esi
or edi, ebx
and ecx, ebx
imul ecx, edi
mov edi, esi
not edi
lea eax, [eax - 1]
and edi, ebx
not ebx
and esi, ebx
mov ebx, eax
imul esi, edi
xor ebx, 0x8780fc6b
or eax, 0x8780fc6b
lea edi, [ecx + esi]
sub eax, ebx
lea esi, [edx + 0x787f0395]
mov edx, esi
mov ebx, eax
not edx
mov ecx, eax
and ebx, edx
not ecx
mov edx, eax
and ecx, esi
and edx, esi
or eax, esi
imul ecx, ebx
mov ebx, edi
imul eax, edx
lea esi, [ecx + eax]
and ebx, esi
xor edi, esi
lea ebx, [edi + ebx*2]
lea ecx, [ebx + 0x5541e8a]
mov edx, ecx
mov esi, ecx
or edx, 0xb80efa7d
not ecx
and ecx, 0xc7f10582
lea edi, [edx - 0x380efa7d]
xor esi, edi
lea ebx, [ebx + ecx*2 + 0x3d631908]
mov eax, ebx
not ebx
neg eax
add esi, esi
mov edx, esi
neg esi
not edx
imul edx, eax
imul esi, ebx
not edx
not esi
sub edx, esi
mov ecx, edx
lea esi, [edx - 0x5541e8a]
neg edx
mov ebx, esi
mov eax, esi
and ebx, 0xee35d043
mov edi, esi
sub ecx, ebx
xor eax, 0xee35d043
or edi, 0xee35d043
xor eax, edi
mov ebx, eax
not ebx
lea edi, [ecx - 0x171e4e47]
and ebx, edi
mov ecx, eax
mov dword [esp + 0x109c], ebx
mov ebx, edi
not ebx
and ecx, ebx
mov ebx, eax
and ebx, edi
or eax, edi
imul ecx, dword [esp + 0x109c]
lea edi, [edx + 0x5541e89]
imul eax, ebx
mov ebx, edi
add ecx, eax
or ebx, 0xee35d043
mov eax, esi
sub ebx, edi
or eax, 0x11ca2fbc
xor esi, 0x11ca2fbc
xor ebx, 0xee35d043
xor eax, esi
mov edx, ebx
mov esi, eax
not edx
not esi
mov edi, ebx
and edx, eax
and edi, esi
imul edi, edx
mov edx, eax
and edx, ebx
or eax, ebx
imul eax, edx
lea ebx, [ecx + ecx]
add edi, eax
xor ecx, edi
lea edx, [edi + edi]
or ebx, edx
sub ebx, ecx
mov edx, ebx
not edx
and edx, 0xd787eefa
lea edi, [ebx + ebx]
neg edi
lea eax, [ebx + edx*2 + 0x28781106]
mov ebx, eax
not ebx
lea ecx, [edi - 2]
mov esi, ecx
or esi, 0xaf0fddf4
xor esi, ecx
xor esi, 0xaf0fddf4
imul ebx, esi
not esi
imul esi, eax
sub ebx, esi
mov edi, ebx
mov edx, ebx
mov ecx, ebx
not edi
mov dword [esp + 0x10a0], ebx
and edx, 0xf53eb8b7
or ecx, 0xf53eb8b7
and edi, 0xf53eb8b7
and ebx, 0xac14748
imul ecx, edx
imul ebx, edi
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x280]
lea esi, [eax + eax]
xor eax, 0xdf0ed5a8
or esi, 0xbe1dab50
sub esi, eax
mov edx, esi
mov ebx, esi
mov edi, esi
not edx
or ebx, 0x9a9da507
and edi, 0x1a9da507
and edx, 0x1a9da507
and esi, 0xe5625af8
imul edi, ebx
imul esi, edx
lea edx, [edi + esi]
mov eax, edx
or edx, 0xbedae068
and eax, 0x3edae068
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x1098]
ror edi, cl
lea ebx, [eax + edx]
lea edx, [ebx + ebx]
ror edx, cl
lea esi, [edi + edi]
lea ebx, [edx + edx]
and esi, ebx
mov ebx, edi
and ebx, edx
lea eax, [edi + edx]
xor edi, edx
sub eax, esi
lea edx, [ebx + edi]
mov ebx, eax
mov esi, edx
not eax
not esi
and eax, edx
and ebx, esi
mov edi, dword [esp + 0x10a0]
bswap edi
mov esi, edi
lea edx, [ebx + eax]
mov ebx, edi
rol edx, cl
mov ecx, dword [esp + 0x280]
bswap ecx
xor ebx, ecx
or esi, ecx
and ebx, edi
xor esi, edi
xor esi, ecx
add ebx, ecx
mov ecx, esi
not ecx
lea edi, [ebx + ebx]
xor esi, ebx
lea eax, [ecx + ecx]
and edi, eax
lea ecx, [edx - 0x243b6133]
sub edi, esi
mov ebx, ecx
bswap edi
mov eax, edi
or ebx, edi
not eax
xor ebx, edi
xor ebx, ecx
lea ecx, [edx + edx - 0x4876c266]
lea esi, [eax + eax]
and ecx, esi
add ebx, ebx
sub ecx, edx
mov eax, ebx
lea edx, [ecx + edi + 0x243b6133]
xor eax, edx
and ebx, edx
lea edx, [eax + ebx*2 + 0x243b6133]
mov dword [esp + 0x2a8], edx
shr dword [esp + 0x27c], 1
lea edx, [esp + 0x280]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10013290
mov eax, dword [esp + 0x2a8]
mov edx, eax
mov ecx, eax
mov edi, eax
and ecx, 0x73480000
neg edx
xor ecx, 0x73480000
and edi, 0xcb7ffff
mov dword [esp + 0x53c], 0
lea ebx, [eax + ecx]
bswap eax
mov ecx, ebx
lea esi, [edx + edi*2 + 0x73480000]
not ecx
imul ecx, esi
not esi
imul esi, ebx
mov ebx, dword [esp + 0x1a24]
sub ecx, esi
and ebx, eax
mov edi, dword [esp + 0x1a20]
lea edx, [ebx + ebx]
mov ebx, ecx
sub edx, eax
and ebx, 0x9604040
lea esi, [edi + edx]
mov edx, edi
or edx, eax
sub edx, edi
lea edi, [esi + esi]
xor edx, eax
lea eax, [edx + edx]
xor edx, esi
and eax, edi
mov esi, ecx
not esi
and esi, 0xf69fbfbf
imul ebx, esi
add edx, eax
mov eax, ecx
or eax, 0xf69fbfbf
and ecx, 0xf69fbfbf
imul ecx, eax
bswap edx
add ebx, ecx
lea eax, [ebx + ebx]
xor ebx, 0x447fb778
and eax, 0x7700910e
sub eax, ebx
mov edi, eax
mov esi, eax
not edi
mov ebx, eax
and edi, 0x9444303f
and esi, 0x6bbbcfc0
or ebx, 0x9444303f
and eax, 0x9444303f
imul esi, edi
imul eax, ebx
add esi, eax
lea ecx, [esi + esi]
xor esi, 0xe9b4a688
and ecx, 0xd3694d10
lea eax, [ecx + esi]
mov edi, eax
mov ebx, eax
xor edi, edx
and ebx, edx
mov esi, eax
or esi, edx
xor esi, edi
mov ecx, esi
add ebx, edi
mov edi, esi
and ecx, ebx
or edi, ebx
imul ecx, edi
mov edi, esi
not edi
and edi, ebx
not ebx
and esi, ebx
mov ebx, edx
imul esi, edi
neg ebx
add esi, ecx
mov ecx, eax
not ecx
lea ebx, [ebx - 1]
or ecx, ebx
lea edi, [eax + ecx + 1]
neg eax
lea ebx, [eax - 1]
or ebx, edx
sub ebx, eax
lea eax, [ebx + 1]
xor eax, edx
mov edx, edi
mov ecx, eax
not edx
mov ebx, eax
not ecx
and ebx, edx
and ecx, edi
imul ecx, ebx
mov ebx, eax
and ebx, edi
or eax, edi
imul eax, ebx
mov edi, esi
lea ebx, [ecx + eax]
mov eax, dword [esp + 0x2a8]
mov ecx, eax
and edi, ebx
or esi, ebx
shrd ecx, eax, 0x1b
mov ebx, dword [esp + 0x1a28]
mov dword [esp + 0x177c], edi
lea edx, [edi + esi]
mov edi, dword [esp + 0x1a2c]
mov dword [esp + 0x1784], edx
lea edx, [ebx + ecx]
and edi, ecx
sub edx, edi
mov dword [esp + 0x1780], esi
mov esi, dword [esp + 0x1a30]
mov ecx, esi
lea ebx, [edx - 1]
mov edx, eax
or edx, 1
xor eax, 1
and ecx, ebx
or esi, ebx
lea edi, [edx + edx]
sub edi, eax
add esi, ecx
shld esi, esi, 0x1b
lea edx, [edi - 1]
not edx
shld edx, edx, 0xe
mov ebx, edx
mov edi, edx
and ebx, 0x1cd2
not edi
and edi, 0x1cd2
lea ecx, [edx + 0x1cd2]
lea eax, [ebx + ebx]
sub ecx, eax
lea eax, [edi + edx]
mov ebx, ecx
not ecx
xor ebx, eax
add eax, eax
lea edx, [ecx + ecx]
mov ecx, esi
and edx, eax
neg ecx
sub ebx, edx
not ebx
lea edi, [ecx - 1]
mov edx, edi
lea ebx, [ebx + 1]
shrd ebx, ebx, 0xe
mov eax, ebx
or edx, ebx
neg eax
sub edx, ebx
xor edx, edi
lea ecx, [eax - 1]
not ecx
or ecx, esi
lea edi, [ecx + eax]
mov eax, edx
not eax
mov ecx, edi
and eax, edi
not ecx
mov dword [esp + 0x1788], eax
mov eax, edx
and eax, ecx
mov ecx, edx
and ecx, edi
or edx, edi
imul eax, dword [esp + 0x1788]
imul edx, ecx
mov ecx, ebx
lea edi, [eax + edx]
mov eax, ebx
lea edx, [ebx + esi]
not eax
or ecx, esi
and eax, esi
sub edx, ecx
mov esi, edx
lea ecx, [edi + edi]
add ebx, eax
mov eax, edx
or esi, ebx
and eax, ebx
imul eax, esi
mov esi, edx
not esi
and esi, ebx
not ebx
and edx, ebx
mov ebx, edi
imul edx, esi
add eax, edx
xor ebx, eax
lea edi, [eax + eax]
and ecx, edi
mov edi, dword [esp + 0x1780]
mov eax, dword [esp + 0x177c]
lea edx, [ebx + ecx]
mov esi, edx
lea edi, [eax + edi + 0x8250d53]
not esi
lea ebx, [edx + edx]
or esi, edi
not edi
lea eax, [esi + edx]
mov esi, dword [esp + 0x1784]
lea ecx, [eax + eax + 2]
lea eax, [edi + edi]
and ebx, eax
lea edi, [ebx + esi]
mov ebx, dword [esp + 4]
sub edi, edx
imul ebx, ebx
mov dword [esp + 0x5d8], ebx
lea eax, [edi + 0x8250d53]
mov edx, eax
xor eax, ecx
or edx, ecx
mov ecx, dword [esp + 0x1778]
add edx, edx
sub edx, eax
lea eax, [edx - 0x8250d53]
imul eax, ebx
lea ebx, [ecx + ecx]
not ebx
lea esi, [eax + eax]
and ebx, esi
lea edi, [ecx + eax]
mov esi, dword [esp]
mov dword [esp + 0x4b8], esi
lea ebx, [ebx + ecx*2]
and ecx, eax
lea eax, [ecx + ecx]
sub edi, eax
mov eax, edi
xor eax, ebx
not ebx
lea edx, [edi + edi]
lea ecx, [ebx + ebx]
and edx, ecx
sub eax, edx
mov dword [esp + 0x178c], eax
test esi, esi
je 0x100139b7
mov dword [esp + 0x7b0], 0x3400000
test byte [esp + 0x7b0], 1
je 0x1001399d
mov ebx, dword [esp + 0x4b8]
mov esi, ebx
mov eax, dword [esp + 0x53c]
mov ecx, ebx
mov edi, eax
and edi, ebx
lea edx, [eax + ebx]
sub edx, edi
mov edi, eax
xor esi, edx
not edx
and ecx, edx
not edi
lea edx, [ecx + ecx]
mov ecx, eax
sub esi, edx
neg ecx
mov edx, esi
and edx, edi
lea edx, [eax + edx*2]
sub edx, esi
lea esi, [ecx - 1]
not esi
mov edi, edx
or ebx, esi
not edi
and edi, 0x600698d
add ecx, ebx
mov ebx, eax
xor ebx, ecx
add eax, eax
lea esi, [ecx + ecx]
and eax, esi
mov esi, edx
or esi, 0x600698d
lea ecx, [ebx + eax]
mov ebx, edx
and ebx, 0xf9ff9672
and edx, 0x600698d
imul ebx, edi
imul edx, esi
lea eax, [edx + ebx]
lea edi, [eax + eax]
xor eax, 0x3a90dd6
and edi, 0x7521bac
add edi, eax
mov esi, edi
mov edx, edi
not esi
mov eax, edi
and edx, 0x401dfeba
and esi, 0xbfe20145
or eax, 0xbfe20145
and edi, 0xbfe20145
imul esi, edx
imul edi, eax
add edi, esi
mov edx, edi
not edi
xor edx, 0x868a90ae
and edi, 0x68a90ae
lea esi, [edx + ebx]
lea edx, [edi + edi]
sub esi, edx
mov edi, esi
mov edx, esi
xor edi, ecx
or edx, ecx
and esi, edi
sub edx, edi
add esi, ecx
lea ecx, [edx + edx]
xor edx, esi
lea eax, [esi + esi]
and ecx, eax
sub ecx, ebx
lea ebx, [ecx + edx]
mov dword [esp + 0x53c], ebx
shr dword [esp + 0x7b0], 1
lea edx, [esp + 0x4b8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100138a5
mov edx, dword [esp]
imul edx, edx
mov ecx, dword [esp + 4]
mov esi, ecx
imul esi, edx
mov edi, dword [esp + 0x53c]
imul edi, esi
mov dword [esp + 0x310], edx
mov ebx, edi
mov edx, dword [esp + 0x178c]
sub ebx, edx
mov dword [esp + 0x930], esi
mov dword [esp + 0x4bc], ecx
lea esi, [edx + edx]
mov dword [esp + 0x16c], 0
lea eax, [ebx + ebx]
and esi, eax
xor esi, eax
lea eax, [esi + edx*2]
mov esi, edx
and esi, ebx
lea ebx, [esi + esi]
sub edi, ebx
lea esi, [eax + eax]
mov ebx, edi
xor edi, eax
not ebx
add ebx, ebx
and esi, ebx
add edx, esi
sub edx, edi
mov dword [esp + 0x1790], edx
test ecx, ecx
je 0x10013d33
mov dword [esp + 0x7b4], 0x9a7b5000
test byte [esp + 0x7b4], 1
je 0x10013d19
mov eax, dword [esp + 0x4bc]
mov ebx, eax
neg ebx
mov esi, eax
or esi, 0x8458505c
mov edx, eax
lea edi, [ebx - 1]
mov ecx, edi
or edi, 0x7ba7afa3
xor ecx, 0x7ba7afa3
lea ebx, [esi + 0x7ba7afa4]
sub edi, ecx
xor edx, ebx
mov ebx, edi
mov esi, edi
mov ecx, edi
not ebx
or esi, edx
and ecx, edx
and ebx, edx
not edx
and edx, edi
mov edi, eax
imul ecx, esi
xor edi, 0x7ba7afa3
imul edx, ebx
mov ebx, eax
add ecx, edx
and ebx, 0x7ba7afa3
mov edx, eax
sub eax, ebx
or edx, 0x7ba7afa3
sub edx, edi
mov ebx, edx
lea esi, [eax + 0x7ba7afa3]
mov eax, edx
mov edi, esi
not eax
not edi
and eax, esi
and ebx, edi
mov edi, edx
or edi, esi
and edx, esi
imul ebx, eax
imul edx, edi
lea eax, [edx + ebx]
mov esi, eax
xor eax, ecx
and esi, ecx
lea edi, [esi + esi]
sub edi, ebx
lea esi, [edi + eax]
mov ecx, esi
lea edx, [esi + esi]
and ecx, 0xd5827406
and edx, 0xab04e80c
xor ecx, 0xd5827406
lea edi, [ecx + esi]
sub esi, edx
lea ecx, [edi + edi]
lea edi, [esi + 0x55827406]
mov eax, edi
not eax
and eax, ecx
xor ecx, edi
lea esi, [ebx + eax*2]
sub esi, ecx
mov edi, esi
mov ebx, esi
neg edi
mov edx, esi
xor ebx, 0xc81203f4
or edx, 0xc81203f4
sub edx, ebx
lea edi, [edi - 1]
mov ecx, edi
or edi, 0x37edfc0b
xor ecx, 0x37edfc0b
sub edi, ecx
mov ecx, edx
not ecx
mov eax, edi
and eax, ecx
mov ecx, edi
mov ebx, edi
and ecx, edx
or edi, edx
not ebx
imul edi, ecx
mov ecx, esi
and ebx, edx
mov edx, esi
and ecx, 0x37edfc0b
or edx, 0x37edfc0b
imul eax, ebx
mov ebx, esi
sub esi, ecx
sub ebx, edx
add edi, eax
lea esi, [esi + 0x37edfc0b]
mov eax, esi
lea ebx, [ebx + 0x37edfc0b]
mov edx, esi
or eax, ebx
and edx, ebx
imul edx, eax
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
imul ebx, eax
lea ecx, [edx + ebx]
mov ebx, ecx
or ecx, edi
and ebx, edi
add ebx, ecx
mov ecx, ebx
mov edi, ebx
or ecx, 0x35a11bbd
and edi, 0x35a11bbd
imul edi, ecx
mov eax, ebx
not eax
mov edx, ebx
and eax, 0x35a11bbd
and edx, 0xca5ee442
neg edi
neg ebx
imul edx, eax
lea ecx, [edi - 1]
sub ecx, edx
lea esi, [ebx - 1]
mov edx, esi
mov eax, esi
mov edi, esi
not edx
or eax, 0xca5ee442
and edi, 0xca5ee442
and edx, 0xca5ee442
and esi, 0x35a11bbd
imul edi, eax
imul esi, edx
mov edx, dword [esp + 0x16c]
lea ebx, [edi + esi]
neg ebx
mov edi, ebx
neg edi
bswap edx
lea ebx, [ebx - 1]
not ebx
lea eax, [edi + 1]
mov edi, ecx
not edi
neg ecx
imul edi, eax
imul ecx, ebx
not edi
not ecx
sub edi, ecx
mov eax, edi
bswap eax
mov ecx, eax
or ecx, edx
sub ecx, edx
xor ecx, eax
lea ebx, [eax + eax]
lea esi, [ecx + ecx]
or ebx, esi
lea esi, [edx + edx]
sub ebx, eax
sub ebx, ecx
lea eax, [ebx + ebx]
xor ebx, edx
or esi, eax
lea eax, [edi + edi]
sub esi, ebx
mov ebx, dword [esp + 0x16c]
mov ecx, ebx
and ecx, edi
bswap esi
lea edx, [ebx + edi]
sub edx, ecx
lea ecx, [edx + edx]
or ecx, eax
sub ecx, edi
mov edi, ebx
sub ecx, edx
not ebx
sub edi, ecx
lea eax, [ecx + ecx]
mov ecx, esi
and ecx, 0xf50cd2c0
lea edx, [ebx + ebx]
and eax, edx
mov ebx, esi
not ebx
and ebx, 0xaf32d3f
imul ecx, ebx
add edi, eax
mov eax, esi
or eax, 0xaf32d3f
and esi, 0xaf32d3f
imul esi, eax
add ecx, esi
mov ebx, ecx
not ecx
xor ebx, 0x2fbc27ff
lea edx, [ecx + ecx]
and edx, 0x5f784ffe
sub ebx, edx
mov ecx, ebx
mov eax, ebx
mov edx, ebx
not ebx
and ecx, 0x985942bf
or eax, 0x985942bf
and edx, 0x67a6bd40
and ebx, 0x985942bf
imul eax, ecx
imul ebx, edx
lea esi, [eax + ebx]
mov eax, edi
mov ecx, esi
lea ebx, [esi + esi]
xor ecx, 0x6f589541
and ebx, 0xdeb12a82
add ecx, ebx
and eax, ecx
xor eax, ecx
lea edx, [eax + edi]
mov eax, edi
not eax
lea ebx, [edx + edx]
and eax, ecx
not ecx
and ecx, edi
lea edx, [eax + ecx]
mov edi, edx
lea eax, [ebx + ebx]
not edi
xor edx, ebx
add edi, edi
and eax, edi
sub eax, edx
mov dword [esp + 0x16c], eax
shr dword [esp + 0x7b4], 1
lea edx, [esp + 0x4bc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10013a3c
mov eax, dword [esp + 4]
mov dword [esp + 0x4c0], eax
mov dword [esp + 0x540], 0
test eax, eax
je 0x10013e11
test byte [esp + 0x16c], 1
je 0x10013df7
mov eax, dword [esp + 0x540]
mov edx, eax
mov edi, dword [esp + 0x4c0]
mov ebx, edi
mov ecx, dword [esp + 0x16c]
neg edi
ror edx, cl
ror ebx, cl
lea esi, [edx + edx]
lea ecx, [ebx + ebx]
or esi, ecx
mov ecx, ebx
xor ecx, edx
sub esi, ecx
mov ecx, ebx
or ecx, edx
xor ecx, ebx
mov ebx, ecx
mov ecx, eax
xor ebx, edx
lea edx, [edi - 1]
xor ecx, edx
and eax, edx
add ecx, eax
mov eax, ecx
not eax
imul eax, edx
not edx
imul edx, ecx
sub eax, edx
mov edx, esi
not edx
imul edx, ebx
not ebx
imul esi, ebx
sub edx, esi
lea ebx, [eax + eax]
mov ecx, dword [esp + 0x16c]
rol edx, cl
lea ecx, [edi + edx]
lea esi, [ecx + ecx]
and ebx, esi
mov esi, eax
not esi
lea edx, [eax + ecx]
or esi, ecx
sub edx, ebx
add eax, esi
lea eax, [eax + eax + 2]
lea ecx, [edx + edx]
xor edx, eax
lea ebx, [eax + eax]
or ecx, ebx
sub ecx, edi
sub ecx, edx
mov dword [esp + 0x540], ecx
shr dword [esp + 0x16c], 1
lea edx, [esp + 0x4c0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10013d51
mov ebx, dword [esp]
mov edx, ebx
imul edx, dword [esp + 0x540]
mov eax, dword [esp + 0x1790]
mov dword [esp + 0x7b8], ebx
mov dword [esp + 0x284], 0
mov dword [esp + 0x4c4], 0xf9700000
lea ecx, [eax + edx]
mov dword [esp + 0x1794], ecx
test byte [esp + 0x7b8], 1
je 0x100140ea
mov edx, dword [esp + 0x284]
mov eax, edx
mov esi, edx
mov ecx, edx
not eax
and esi, 0x2138c9f3
or ecx, 0x2138c9f3
and eax, 0x2138c9f3
and edx, 0xdec7360c
imul ecx, esi
imul edx, eax
lea edi, [ecx + edx]
mov ecx, edi
not ecx
imul ebx, ecx, 0x134d356a
imul eax, edi, 0xecb2ca97
not ebx
not eax
sub ebx, eax
mov ecx, ebx
mov eax, ebx
mov edx, ebx
not ebx
and ecx, 0xf2b0f73b
or eax, 0xf2b0f73b
and edx, 0xd4f08c4
and ebx, 0xf2b0f73b
imul eax, ecx
imul ebx, edx
lea edi, [eax + ebx]
mov eax, edi
not edi
and edi, 0xde34956e
xor eax, 0xde34956e
lea esi, [edi + edi]
sub eax, esi
mov ebx, eax
mov ecx, eax
neg ebx
or ecx, 0x3f8e2a70
mov edx, eax
sub edx, ecx
lea esi, [ebx - 1]
mov ebx, esi
xor esi, 0xc071d58f
or ebx, 0xc071d58f
lea edi, [edx + 0x3f8e2a70]
xor ebx, esi
mov esi, edi
mov ecx, ebx
mov edx, ebx
or ecx, edi
and edx, edi
imul edx, ecx
not esi
mov ecx, ebx
not ebx
and ecx, esi
and ebx, edi
imul ebx, ecx
mov edi, eax
xor edi, 0xc071d58f
lea ecx, [edx + ebx]
and edi, eax
mov edx, eax
or edx, 0xc071d58f
sub edx, eax
xor edx, 0xc071d58f
mov esi, edx
lea ebx, [edi - 0x3f8e2a71]
mov edi, ebx
not esi
not edi
mov eax, edx
and esi, ebx
and edi, edx
or eax, ebx
and edx, ebx
imul edi, esi
imul edx, eax
lea eax, [edi + edx]
mov edx, ecx
xor edx, eax
add eax, eax
add ecx, ecx
and eax, ecx
add eax, edx
lea esi, [eax + eax]
mov ebx, esi
or ebx, 0x6f3a2c08
lea edi, [ebx - 0x6f3a2c08]
mov ebx, esi
and esi, 0x6f3a2c08
xor ebx, edi
sub eax, esi
mov edx, ebx
lea ecx, [eax + 0x379d1604]
or edx, ecx
and ebx, ecx
add ebx, edx
mov ecx, ebx
mov eax, ebx
neg ecx
not eax
mov esi, eax
or esi, 0xdb85690
sub esi, eax
lea edi, [ecx - 1]
mov ecx, esi
or edi, 0xdb85690
not ecx
lea edx, [edi - 0xdb85690]
mov edi, esi
mov eax, edx
and ecx, edx
not eax
and edi, edx
and eax, esi
or esi, edx
imul eax, ecx
mov edx, ebx
imul esi, edi
and edx, 0xf247a96f
lea edi, [eax + esi]
mov esi, ebx
or esi, 0xf247a96f
sub esi, ebx
xor ebx, 0xf247a96f
xor esi, 0xf247a96f
mov eax, esi
add ebx, edx
mov edx, esi
mov ecx, ebx
not edx
not ecx
and edx, ebx
and ecx, esi
and eax, ebx
or esi, ebx
lea ebx, [edi + edi]
imul ecx, edx
imul esi, eax
lea eax, [ecx + esi]
mov ecx, eax
xor ecx, edi
lea edi, [eax + eax]
and ebx, edi
lea edi, [ecx + ebx]
mov eax, edi
and eax, 0xcc3ed043
lea edx, [eax + eax]
sub edx, edi
neg edi
lea eax, [edi - 1]
mov edi, dword [esp + 0x4c4]
mov esi, eax
lea ebx, [edx - 0x4c3ed044]
or esi, 0xb3c12fbc
sub esi, eax
xor esi, 0xb3c12fbc
lea ecx, [esi + esi]
mov esi, edi
mov edx, ecx
not esi
not edx
imul edx, ebx
not ebx
imul ebx, ecx
not edx
not ebx
mov ecx, edi
sub edx, ebx
neg ecx
imul esi, edx
lea eax, [ecx + ecx - 2]
lea ecx, [edx + edx]
mov ebx, ecx
or ebx, eax
sub ebx, ecx
xor ebx, eax
mov eax, edx
not eax
mov edx, edi
imul edx, eax
sub esi, edx
lea eax, [ebx + ebx]
lea edx, [esi + esi]
xor esi, ebx
or edx, eax
sub edx, esi
lea esi, [edi + edi]
mov ebx, esi
not ebx
and ebx, ecx
lea ebx, [ebx + edi*2]
mov edi, ecx
not ecx
sub edi, esi
and ecx, esi
lea eax, [edi + ecx*2]
mov edi, eax
lea ecx, [ebx + ebx]
not edi
xor ebx, eax
mov eax, edx
lea esi, [edi + edi]
and esi, ecx
sub esi, ebx
lea ecx, [esi - 0x14c1b8e0]
and eax, ecx
lea edi, [edx + esi]
not edx
mov ebx, edx
or ebx, ecx
sub ebx, edx
add eax, eax
sub edi, eax
lea edx, [ebx + ebx]
lea eax, [edi + 0x6b3e4720]
mov ecx, eax
and eax, edx
xor ecx, edx
lea esi, [ecx + eax*2 - 0x6b3e4720]
mov dword [esp + 0x284], esi
shr dword [esp + 0x7b8], 1
lea edx, [esp + 0x4c4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10013e4c
mov eax, dword [esp + 4]
mov dword [esp + 0x4c8], eax
mov dword [esp + 0x188], 0
test eax, eax
je 0x100143c9
test byte [esp + 0x284], 1
je 0x100143af
mov ebx, dword [esp + 0x4c8]
mov ecx, ebx
mov esi, ebx
or ecx, 0xc0ec3603
mov edi, ebx
sub esi, ecx
not edi
and edi, 0xc0ec3603
lea eax, [esi - 0x3f13c9fd]
mov edx, eax
add edi, ebx
mov esi, eax
and edx, edi
or esi, edi
imul esi, edx
mov edx, edi
not edx
and edx, eax
not eax
and eax, edi
imul eax, edx
lea ecx, [esi + eax]
mov esi, ebx
neg esi
lea edi, [esi - 1]
mov esi, ebx
or esi, 0x3f13c9fc
not edi
sub ebx, esi
mov edx, edi
or edx, 0xc0ec3603
sub edx, edi
mov edi, edx
mov esi, edx
not edi
lea eax, [ebx + 0x3f13c9fc]
mov ebx, eax
and edi, eax
not ebx
and esi, eax
and ebx, edx
or edx, eax
imul edi, ebx
imul edx, esi
lea esi, [edi + edx]
mov eax, esi
and esi, ecx
xor eax, ecx
lea esi, [eax + esi*2]
mov ecx, esi
lea edi, [esi + esi]
and ecx, 0xcedbffd4
or edi, 0x9db7ffa8
lea ebx, [ecx + ecx]
sub esi, ebx
lea ebx, [esi - 0x3124002c]
mov esi, edi
mov edx, ebx
not edi
not edx
imul esi, edx
imul edi, ebx
not esi
not edi
sub esi, edi
mov eax, esi
mov ebx, esi
or eax, 0xe68aa4ab
mov edi, esi
not ebx
sub edi, eax
and ebx, 0xe68aa4ab
lea ecx, [edi - 0x19755b55]
mov edx, ecx
lea eax, [ebx + esi]
mov edi, eax
not edx
not edi
mov ebx, eax
and edx, eax
and edi, ecx
or ebx, ecx
and eax, ecx
imul edi, edx
imul eax, ebx
mov ebx, esi
add eax, edi
mov edi, esi
or ebx, 0x19755b54
neg edi
lea ecx, [edi - 1]
not ecx
or ecx, 0xe68aa4ab
lea edx, [ecx + edi]
lea edi, [ebx - 0x19755b54]
xor esi, edi
mov edi, edx
mov ecx, esi
mov ebx, esi
not ecx
not edi
and ecx, edx
and ebx, edx
mov dword [esp + 0x10a4], ecx
mov ecx, esi
and ecx, edi
or esi, edx
imul ecx, dword [esp + 0x10a4]
lea edi, [eax + eax]
imul esi, ebx
add esi, ecx
lea edx, [esi + esi]
xor esi, eax
and edx, edi
lea ecx, [ebx + edx]
lea edi, [esi + ecx]
mov edx, edi
mov esi, edi
or edx, 0x82e04d64
and esi, 0x82e04d64
mov eax, edx
xor edi, 0x82e04d64
not esi
not eax
xor edx, edi
sub esi, eax
lea ecx, [edx + edx]
lea edx, [esi + esi]
xor esi, ecx
lea eax, [ecx + ecx]
or edx, eax
sub edx, ebx
mov ebx, dword [esp + 0x188]
mov eax, ebx
sub edx, esi
mov ecx, ebx
not eax
mov edi, ebx
mov esi, ebx
and ecx, 0x62ef608e
and eax, 0x9d109f71
and edi, 0x9d109f71
or esi, 0x9d109f71
imul eax, ecx
imul esi, edi
bswap ebx
add eax, esi
mov esi, eax
lea ecx, [eax + eax]
xor esi, 0x2e191025
and ecx, 0x5c32204a
lea edi, [esi + ecx]
mov eax, edi
mov esi, edi
mov ecx, edi
not edi
or eax, 0x9ba4191
and esi, 0x9ba4191
and ecx, 0xf645be6e
and edi, 0x9ba4191
imul esi, eax
lea eax, [edx + edx]
imul edi, ecx
add esi, edi
lea ecx, [esi + esi]
xor esi, 0x7ed2760b
or ecx, 0xfda4ec16
sub ecx, esi
mov esi, eax
lea edi, [ecx + ecx]
xor esi, edi
mov dword [esp + 0x10a8], esi
mov esi, eax
or esi, edi
sub esi, dword [esp + 0x10a8]
mov edi, esi
not edi
add edi, edi
and eax, edi
mov edi, edx
xor edi, esi
mov esi, ecx
bswap edx
sub eax, edi
and esi, eax
or ecx, eax
mov eax, edx
neg eax
lea edi, [esi + ecx]
lea esi, [eax - 1]
mov ecx, esi
and esi, ebx
xor ecx, ebx
lea eax, [edx + edx]
and eax, 2
xor edx, 1
lea ebx, [ecx + esi]
lea esi, [eax + edx]
mov eax, ebx
and eax, esi
xor ebx, esi
lea edx, [ebx + eax*2]
bswap edx
lea eax, [edi + edi]
lea ebx, [edx + edx]
lea ecx, [ebx + ebx]
and ebx, edi
mov esi, ecx
or ecx, eax
xor esi, eax
lea eax, [edi + edx*2]
xor esi, ecx
lea edi, [ebx + ebx]
sub eax, edi
mov edx, eax
xor eax, esi
and edx, esi
lea esi, [eax + edx*2]
mov dword [esp + 0x188], esi
shr dword [esp + 0x284], 1
lea edx, [esp + 0x4c8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10014122
mov eax, dword [esp]
mov dword [esp + 0x4cc], eax
mov dword [esp + 0x544], 0
test eax, eax
je 0x10014548
test byte [esp + 0x188], 1
je 0x1001452e
mov ebx, dword [esp + 0x188]
mov edx, dword [esp + 0x4cc]
lea esi, [ebx + ebx]
xor ebx, edx
lea edi, [edx + edx]
and esi, edi
add esi, ebx
lea eax, [esi + esi]
bswap esi
mov ebx, eax
mov ecx, eax
mov edi, eax
not ebx
and ecx, 0x61dcd069
or edi, 0x61dcd069
and ebx, 0x61dcd069
and eax, 0x9e232f96
imul edi, ecx
imul eax, ebx
lea edx, [edi + eax]
mov edi, edx
not edi
imul ecx, edi, 0xbee6fb5d
imul edi, edx, 0x411904a4
not ecx
not edi
sub ecx, edi
mov ebx, ecx
mov eax, ecx
not ebx
mov edi, ecx
and eax, 0xe0f24026
and ebx, 0x1f0dbfd9
or edi, 0x1f0dbfd9
and ecx, 0x1f0dbfd9
imul ebx, eax
imul ecx, edi
lea edi, [ebx + ecx]
mov ebx, dword [esp + 0x544]
mov edx, edi
not edx
imul edx, edx, 0xd1f18b2b
lea eax, [ebx + ebx]
imul edi, edi, 0x2e0e74d6
shld eax, eax, 0x1e
not edx
not edi
sub edx, edi
shld edx, edx, 0x1e
neg edx
bswap ebx
lea ecx, [edx - 1]
mov edi, ecx
and edi, eax
xor edi, eax
mov eax, ecx
neg eax
not ecx
lea edx, [edi + edx - 1]
mov edi, edx
neg edx
not edi
imul edi, eax
mov eax, ebx
imul edx, ecx
or eax, esi
not edi
sub eax, esi
not edx
xor eax, ebx
sub edi, edx
shrd edi, edi, 0x1e
lea edx, [eax + eax]
mov ecx, edx
xor edx, esi
not ecx
and ecx, esi
lea eax, [ecx + ecx]
sub eax, edx
mov esi, eax
and eax, ebx
xor esi, ebx
lea ebx, [esi + eax*2]
bswap ebx
mov edx, ebx
mov ecx, ebx
not edx
and ecx, edi
or edx, edi
xor ecx, ebx
lea esi, [edx + ebx + 1]
lea eax, [ecx + edi]
mov edi, esi
xor edi, eax
lea ebx, [eax + eax]
mov eax, dword [esp + 0x188]
add esi, esi
and ebx, esi
lea edx, [eax - 1]
not edx
mov esi, edx
lea ecx, [edi + ebx]
and esi, ecx
or edx, ecx
lea edi, [esi + edx]
mov dword [esp + 0x544], edi
shr dword [esp + 0x188], 1
lea edx, [esp + 0x4cc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100143e6
mov ecx, dword [esp + 0x544]
mov edi, ecx
not edi
mov eax, ecx
mov edx, ecx
and edi, 0x971e0c83
and eax, 0x68e1f37c
and edx, 0x971e0c83
or ecx, 0x971e0c83
imul eax, edi
imul ecx, edx
mov dword [esp + 0x2ac], 0
lea edi, [eax + ecx]
imul ebx, edi, 0xc7049f19
not edi
imul esi, edi, 0x38fb60e6
not ebx
not esi
sub ebx, esi
mov edx, ebx
mov eax, ebx
mov esi, ebx
not edx
and eax, 0x9183a22b
or esi, 0x9183a22b
and edx, 0x9183a22b
and ebx, 0x6e7c5dd4
imul esi, eax
imul ebx, edx
lea edi, [esi + ebx]
mov eax, edi
lea ecx, [edi + edi]
xor eax, 0x813cd2a2
and ecx, 0x279a544
mov edi, dword [esp + 0x154]
mov ebx, edi
lea edx, [eax + ecx]
mov eax, dword [esp + 4]
mov esi, edx
or ebx, edx
neg esi
xor edi, edx
sub ebx, edi
mov edi, eax
mov ecx, eax
lea esi, [esi - 1]
or edi, esi
sub edi, esi
xor ecx, edi
mov edi, ebx
mov esi, ecx
not edi
not esi
and edi, ecx
and esi, ebx
imul esi, edi
mov edi, ecx
and edi, ebx
or ecx, ebx
imul ecx, edi
mov ebx, eax
or ebx, edx
add esi, ecx
mov ecx, dword [esp + 0x160]
lea edi, [eax + edx]
and ecx, edx
sub edi, ebx
mov ebx, edi
add eax, ecx
mov ecx, edi
mov edx, eax
not ecx
not edx
and ecx, eax
and edx, edi
or ebx, eax
and edi, eax
imul ecx, edx
imul edi, ebx
lea eax, [ecx + edi]
mov ebx, eax
and eax, esi
or ebx, esi
lea edx, [ebx + eax]
mov eax, dword [esp + 0x1794]
mov ebx, eax
mov esi, eax
mov edi, edx
or ebx, edx
not esi
not edi
mov ecx, eax
sub ebx, edx
and esi, edx
and ecx, edi
xor eax, ebx
mov ebx, dword [esp + 0x310]
mov dword [esp + 0x7bc], ebx
lea edi, [esi + ecx]
mov esi, dword [esp]
mov dword [esp + 0x4d0], esi
lea ecx, [eax + eax]
lea edx, [ecx + ecx]
lea eax, [edi + edi]
xor edi, ecx
or edx, eax
sub edx, edi
mov dword [esp + 0x934], edx
test esi, esi
je 0x1001480d
test byte [esp + 0x7bc], 1
je 0x100147f3
mov edx, dword [esp + 0x2ac]
lea ebx, [edx + edx]
not edx
mov dword [esp + 0x10ac], ebx
lea eax, [edx + edx]
and eax, ebx
neg eax
mov ebx, dword [esp + 0x4d0]
lea ecx, [eax + eax]
mov edx, ecx
lea esi, [ebx + ebx]
mov edi, ecx
or edx, esi
xor edi, esi
xor edx, edi
mov edi, edx
or edi, esi
add edi, edi
sub edi, esi
sub edi, edx
mov esi, edi
and edi, ecx
xor esi, ecx
mov ecx, ebx
and ecx, 0x495b0c79
ror eax, cl
lea edx, [esi + edi*2]
mov esi, ebx
mov edi, ebx
not esi
and edi, 0xb6a4f386
and esi, 0x495b0c79
or ebx, 0x495b0c79
imul esi, edi
imul ebx, ecx
lea edi, [esi + ebx]
mov esi, edi
xor edi, 0x651ff1c
and esi, 0xf9ae00e3
add esi, esi
sub esi, edi
mov edi, esi
mov ebx, esi
not edi
and ebx, 0xb97a6236
and edi, 0x46859dc9
imul edi, ebx
mov ebx, esi
and ebx, 0x46859dc9
or esi, 0x46859dc9
imul esi, ebx
lea ebx, [edi + esi]
mov esi, ebx
and ebx, 0xf16178fc
xor esi, 0x716178fc
lea edi, [esi + ebx*2]
mov ebx, eax
ror edi, cl
not ebx
lea esi, [esp + 0x548]
mov dword [esi], edi
mov edi, ebx
mov esi, dword [esi]
neg ecx
neg esi
imul ebx, dword [esp + 0x548]
not ebx
lea esi, [esi - 1]
or edi, esi
lea esi, [edi + eax]
lea edi, [esi + esi + 2]
mov esi, dword [esp + 0x548]
not esi
imul esi, eax
not esi
sub ebx, esi
mov eax, ebx
and ebx, edi
or eax, edi
lea esi, [eax + ebx]
ror esi, cl
mov eax, esi
mov edi, esi
neg eax
not edi
and edi, edx
lea ecx, [eax - 1]
mov ebx, ecx
lea eax, [esi + edi*2]
or ebx, edx
sub eax, edx
xor ebx, edx
xor ebx, ecx
lea ecx, [ebx + ebx]
lea edi, [esp + 0x2ac]
mov ebx, dword [edi]
mov edx, ecx
not edx
imul edx, eax
not eax
imul eax, ecx
sub edx, eax
xor ebx, edx
lea ecx, [edx + edx]
and ecx, dword [esp + 0x10ac]
lea esi, [ecx + ebx]
mov dword [edi], esi
shr dword [esp + 0x7bc], 1
lea edx, [esp + 0x4d0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001469d
mov esi, dword [esp]
imul esi, dword [esp + 0x2ac]
mov edx, esi
shrd edx, esi, 7
mov ecx, edx
mov eax, edx
and ecx, 0xff2affff
xor eax, 0xd50000
mov dword [esp + 0x1798], esi
lea edi, [ecx + ecx + 0xd50000]
sub edi, edx
and edx, 0xd50000
mov ebx, edi
not edi
lea ecx, [eax + edx]
xor ebx, ecx
lea edx, [ecx + ecx]
lea eax, [edi + edi]
and edx, eax
sub ebx, edx
mov edx, esi
and edx, 0x157fffff
not ebx
lea eax, [edx + edx]
sub eax, esi
lea ecx, [ebx + 1]
shrd ecx, ecx, 0x19
lea edi, [eax + 0x6a800000]
mov edx, edi
or edi, 0x6a800000
xor edx, 0x6a800000
sub edi, edx
mov edx, ecx
mov eax, edi
and edi, esi
xor eax, esi
neg edx
lea edi, [eax + edi*2]
mov esi, edi
lea ebx, [edx - 1]
neg esi
mov edx, edi
or edx, ebx
lea esi, [esi - 1]
mov eax, esi
or eax, ecx
sub eax, ecx
mov dword [esp + 0x179c], eax
xor eax, esi
mov esi, edi
xor esi, ebx
mov ebx, eax
sub edx, esi
mov esi, eax
and esi, edx
or ebx, edx
imul ebx, esi
mov esi, eax
mov dword [esp + 0x17a0], ebx
not esi
mov ebx, edx
not edx
and ebx, esi
and eax, edx
lea edx, [esp + 0x17a4]
mov dword [edx], ebx
mov ebx, edi
imul eax, dword [edx]
xor ebx, ecx
mov esi, dword [esp + 0x17a0]
lea edx, [esi + eax]
mov esi, edi
or esi, ecx
xor esi, edi
and edi, ecx
xor esi, ecx
lea ecx, [ebx + edi]
mov edi, esi
mov eax, ecx
mov ebx, esi
not eax
and ebx, ecx
and edi, eax
mov eax, esi
not eax
or esi, ecx
and eax, ecx
imul eax, edi
imul esi, ebx
mov edi, dword [esp + 0x1798]
lea ecx, [eax + esi]
mov esi, ecx
mov eax, edi
shld eax, edi, 0xa
and esi, edx
or ecx, edx
neg edi
lea ebx, [eax + eax]
and ebx, 2
lea edx, [esi + ecx]
mov esi, eax
xor esi, 1
mov dword [esp + 0x17a8], edx
lea edx, [esi + ebx - 1]
not edx
shld edx, edx, 0x16
shld edx, edx, 0xa
mov eax, edx
not eax
and eax, 0xfffffe55
lea esi, [eax + edx]
mov edx, 0x6a800000
lea ecx, [esi + esi]
xor esi, 0x1ab
and ecx, 0x356
lea eax, [edi - 1]
mov dword [esp + 0x17ac], eax
not eax
lea ebx, [ecx + esi]
mov ecx, dword [esp + 0x179c]
rol edx, cl
neg ecx
neg edx
mov esi, eax
shrd ebx, ebx, 0xa
lea edx, [edx - 1]
rol edx, cl
and esi, edx
lea edi, [esi + edi - 1]
mov esi, dword [esp + 0x17ac]
and eax, edi
xor esi, edi
add eax, eax
sub eax, esi
mov edx, eax
mov ecx, eax
not edx
or ecx, ebx
and edx, ebx
sub ecx, eax
xor ecx, ebx
mov esi, ecx
lea edi, [edx + eax]
mov edx, ecx
and esi, edi
or edx, edi
imul edx, esi
mov esi, edi
not esi
and esi, ecx
not ecx
and ecx, edi
mov edi, eax
imul ecx, esi
neg edi
lea esi, [edx + ecx]
lea ecx, [edi - 1]
mov edi, ecx
or ecx, ebx
xor edi, ebx
neg ebx
sub ecx, edi
lea edx, [eax + ebx]
lea ebx, [ebx - 1]
or eax, ebx
mov ebx, ecx
sub edx, eax
not ebx
lea edi, [edx - 1]
mov edx, edi
and ebx, edi
not edx
and edx, ecx
imul ebx, edx
mov edx, ecx
or edx, edi
and ecx, edi
imul ecx, edx
mov edx, esi
lea edi, [ebx + ecx]
and edx, edi
xor esi, edi
mov edi, dword [esp + 0x17a8]
mov ebx, edi
lea eax, [esi + edx*2]
lea edx, [eax + 0x5d0da7a]
or ebx, edx
add eax, edi
xor ebx, edi
and edi, edx
xor ebx, edx
lea ecx, [edi + edi]
sub eax, ecx
lea esi, [ebx + ebx]
mov ebx, esi
lea edx, [eax + 0x5d0da7a]
or ebx, edx
and esi, edx
mov edx, dword [esp]
lea esi, [ebx + esi - 0x5d0da7a]
imul edx, esi
mov ebx, edx
bswap ebx
mov esi, dword [esp + 0x934]
bswap esi
lea eax, [ebx + ebx]
mov ecx, eax
lea edi, [esi + esi]
or ecx, edi
xor eax, edi
sub ecx, eax
mov eax, ecx
not eax
imul eax, ebx
not ebx
imul ebx, ecx
not eax
not ebx
sub eax, ebx
lea ecx, [eax + eax]
xor eax, esi
and edi, ecx
lea esi, [edx + edx]
add edi, eax
mov eax, dword [esp + 0x934]
mov ebx, eax
mov ecx, eax
or ebx, 0x94363f17
and ecx, 0x14363f17
imul ecx, ebx
mov ebx, eax
not eax
and ebx, 0xebc9c0e8
and eax, 0x14363f17
imul eax, ebx
bswap edi
add eax, ecx
lea ebx, [eax + eax]
xor eax, 0x9e24cc48
and ebx, 0x3c499890
add ebx, eax
mov ecx, ebx
mov eax, ebx
or ecx, 0xba10e8a7
and eax, 0x3a10e8a7
imul eax, ecx
mov ecx, ebx
not ebx
and ecx, 0xc5ef1758
and ebx, 0x3a10e8a7
imul ebx, ecx
add eax, ebx
lea ecx, [eax + eax]
xor eax, 0xe85d7d08
and ecx, 0xd0bafa10
lea ebx, [ecx + eax]
lea ecx, [ebx + ebx]
mov eax, ecx
xor eax, esi
and eax, ecx
lea edx, [eax + edx*2]
mov eax, esi
not eax
lea ebx, [edx + edx]
xor esi, edx
lea edx, [ecx + ecx]
add eax, eax
and ebx, eax
sub ebx, esi
lea esi, [ebx + ebx]
or edx, esi
sub edx, ecx
sub edx, ebx
mov ecx, edx
mov eax, edx
and ecx, edi
mov ebx, edx
xor ecx, edi
or eax, edi
xor ebx, edi
sub eax, ebx
mov dword [esp + 0x17b0], eax
lea edi, [edx + ecx]
mov edx, dword [esp]
mov esi, edx
xor esi, 0x1f
neg esi
imul ebx, edx, 0x3781c000
mov dword [esp + 0x314], ebx
lea ecx, [esi - 1]
rol edx, cl
rol ebx, cl
mov esi, edx
mov dword [esp + 0x17b8], ecx
mov ecx, ebx
rol esi, cl
mov dword [esp + 0x17b4], edi
mov edi, ebx
mov eax, esi
rol edi, cl
not eax
lea ecx, [eax + eax]
lea eax, [edi + edi]
and ecx, eax
mov eax, esi
or eax, edi
sub ecx, edi
sub eax, edi
mov edi, eax
xor edi, esi
mov eax, edi
add ecx, esi
xor eax, ecx
lea esi, [edi + edi]
lea edi, [ecx + ecx]
mov ecx, ebx
and esi, edi
neg ecx
lea edi, [eax + esi]
mov eax, edx
neg eax
rol edi, cl
mov ecx, ebx
and ecx, 0x83d0a22d
mov dword [esp + 0x938], ecx
lea eax, [eax - 1]
mov esi, eax
or esi, edi
sub esi, eax
xor esi, edi
lea eax, [esi + esi]
mov esi, edx
not edx
sub esi, edi
and edx, edi
mov edi, ebx
not edi
and edi, 0x83d0a22d
lea edx, [esi + edx*2]
mov esi, ebx
and esi, 0x7c2f5dd2
or ebx, 0x83d0a22d
imul esi, edi
imul ebx, ecx
add esi, ebx
lea ecx, [esi + esi]
xor esi, 0x7c32761d
and ecx, 0x79b13c4
sub ecx, esi
mov esi, ecx
mov edi, ecx
mov ebx, ecx
not esi
or edi, 0xe8e5fda5
and ebx, 0xe8e5fda5
and esi, 0xe8e5fda5
and ecx, 0x171a025a
imul ebx, edi
imul ecx, esi
mov esi, eax
lea edi, [ebx + ecx]
not esi
lea ebx, [edi + edi]
imul esi, edx
not edx
imul edx, eax
and ebx, 0xb6639362
xor edi, 0xdb31c9b1
sub esi, edx
bswap esi
mov ecx, esi
mov edx, esi
add edi, ebx
mov ebx, esi
bswap edi
or ecx, edi
and edx, edi
xor ecx, esi
xor ebx, edi
xor ecx, edi
mov esi, dword [esp + 0x140]
or esi, 0x719dd805
lea eax, [edx + edx]
mov dword [esp + 0x17bc], eax
lea eax, [ebx + edx*2]
add ecx, ecx
mov ebx, ecx
not ebx
imul ebx, eax
not eax
imul eax, ecx
not ebx
not eax
sub ebx, eax
mov eax, dword [esp]
mov edi, eax
bswap ebx
xor edi, 0x719dd805
mov ecx, dword [esp + 0x17b8]
ror ebx, cl
mov dword [esp + 0x93c], ebx
lea ebx, [eax + esi + 1]
mov esi, eax
and esi, 0x719dd805
lea ecx, [edi + esi]
mov esi, ebx
mov edi, ecx
not esi
not edi
and esi, ecx
and edi, ebx
imul esi, edi
mov edi, ecx
or edi, ebx
and ecx, ebx
imul ecx, edi
lea edi, [esi + ecx]
mov esi, eax
neg esi
mov ecx, eax
or ecx, 0x8e6227fa
mov dword [esp + 0x17c0], ecx
lea ebx, [esi - 1]
mov dword [esp + 0x5dc], ebx
or ebx, 0x719dd805
sub esi, ebx
lea ebx, [esi + 0x719dd804]
mov esi, eax
xor esi, 0x8e6227fa
mov eax, ecx
sub eax, esi
mov ecx, ebx
mov esi, eax
not ecx
not esi
and esi, ebx
mov dword [esp + 0x17c4], esi
mov esi, eax
and esi, ecx
mov ecx, eax
or ecx, ebx
and eax, ebx
imul esi, dword [esp + 0x17c4]
imul eax, ecx
lea ebx, [esi + eax]
lea eax, [ebx + ebx]
xor ebx, edi
mov dword [esp + 0x17c8], eax
lea esi, [ebx + edx*2]
lea edx, [edi + edi]
and eax, edx
lea edi, [eax + esi]
lea edx, [edi + edi]
and edx, 0x84a6434e
mov ebx, edx
xor ebx, 0x84a6434e
lea esi, [ebx + edi*2]
sub edi, edx
mov edx, esi
not esi
lea ecx, [edi + 0x425321a7]
and esi, ecx
xor edx, ecx
sub edx, dword [esp + 0x17bc]
lea eax, [esi + esi]
sub edx, eax
mov esi, edx
mov ebx, edx
xor esi, 0x8c2534cd
and ebx, 0x8c2534cd
mov edi, edx
or edi, 0x8c2534cd
sub edi, esi
mov eax, edi
add ebx, esi
mov ecx, ebx
mov esi, edi
not ecx
not esi
and eax, ecx
and esi, ebx
imul esi, eax
mov eax, edx
neg edx
mov ecx, edi
not eax
or ecx, ebx
mov dword [esp + 0x17cc], edi
and edi, ebx
mov ebx, eax
imul edi, ecx
or ebx, 0x73dacb32
sub ebx, eax
lea ecx, [edx - 1]
mov eax, ecx
add esi, edi
or eax, 0x8c2534cd
mov edx, ebx
sub ecx, eax
mov eax, ebx
lea edi, [ecx - 0x73dacb33]
or eax, edi
and edx, edi
imul edx, eax
mov eax, ebx
not eax
and eax, edi
not edi
and edi, ebx
mov ebx, esi
imul edi, eax
lea eax, [edx + edi]
or ebx, eax
xor esi, eax
lea edx, [ebx + ebx]
sub edx, esi
lea esi, [edx - 0x571df5dc]
mov eax, esi
mov edi, esi
or eax, 0xcf752145
mov ebx, esi
and edi, 0xcf752145
xor esi, 0xcf752145
lea ecx, [eax + 0x308adebb]
xor ebx, ecx
lea eax, [edi + esi]
lea edx, [eax + eax]
mov dword [esp + 0x17d0], eax
mov ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0x314]
shrd edx, edx, 4
lea eax, [ecx + ecx]
xor ecx, dword [esp + 0x17d0]
or ebx, eax
sub ebx, ecx
mov ecx, edx
lea eax, [ebx + 0x571df5dc]
mov esi, eax
shrd esi, eax, 4
and ecx, esi
lea edi, [edx + esi]
sub edi, ecx
mov ecx, edx
not ecx
imul ecx, edi
not edi
imul edi, edx
not ecx
not edi
mov edx, ecx
sub edx, edi
lea edi, [esi + esi]
mov ecx, edx
not ecx
add ecx, ecx
and edi, ecx
sub edi, esi
lea esi, [edi + edx]
shrd esi, esi, 0x1c
xor eax, esi
lea edx, [ebx + ebx - 0x51c41448]
mov ebx, edx
lea edi, [esi + esi]
mov esi, dword [esp + 0x314]
xor ebx, edi
and ebx, edi
lea ecx, [ebx + edx]
or edx, edi
sub edx, eax
mov ebx, ecx
mov edi, edx
not ebx
neg edi
not edx
neg ecx
imul ebx, edi
imul ecx, edx
mov edx, dword [esp + 0x17c0]
not ebx
not ecx
sub ebx, ecx
mov ecx, ebx
add esi, edx
and ecx, esi
mov eax, ecx
xor eax, esi
lea edi, [ebx + eax]
or ebx, esi
sub ebx, ecx
add edi, edi
mov ecx, ebx
xor ecx, edi
not edi
sub ecx, edx
lea eax, [ebx + ebx]
lea esi, [edi + edi]
and esi, eax
sub ecx, esi
mov esi, dword [esp + 0x93c]
mov ebx, esi
mov dword [esp + 0x5e0], ecx
not ecx
shld ecx, ecx, 0x1e
shld ebx, esi, 0x1e
shld esi, esi, 0xd
not esi
lea edi, [ecx + ecx]
neg esi
lea edx, [ebx + ebx]
and edx, edi
mov edi, ecx
and edi, ebx
lea eax, [ecx + ebx]
xor ecx, ebx
sub eax, edx
mov ebx, eax
not esi
not ebx
mov edx, dword [esp + 0x5e0]
add ecx, edi
imul ebx, ecx
not ecx
imul eax, ecx
sub ebx, eax
not ebx
mov ecx, dword [esp + 0x17c8]
rol edx, cl
lea eax, [ebx + 1]
shld eax, eax, 2
lea ebx, [esi + 1]
shld ebx, ebx, 0x13
mov dword [esp + 0x17d4], ebx
rol ebx, cl
mov edi, ebx
xor edi, edx
and edi, edx
mov dword [esp + 0x17d8], ebx
lea esi, [ebx + edx]
add edi, ebx
and ebx, edx
lea edx, [ebx + ebx]
sub esi, edx
mov ebx, esi
not ebx
imul ebx, edi
not edi
imul edi, esi
not ebx
not edi
sub ebx, edi
ror ebx, cl
mov edi, ebx
mov ecx, ebx
xor edi, eax
not ecx
and edi, eax
mov edx, ecx
or edx, eax
sub edx, ecx
mov ecx, edx
lea esi, [edi + ebx]
mov edi, edx
and ecx, esi
or edi, esi
imul edi, ecx
mov ecx, edx
not ecx
and ecx, esi
not esi
and esi, edx
imul esi, ecx
lea edx, [edi + esi]
mov esi, eax
neg esi
lea ecx, [esi - 1]
not ecx
or ecx, ebx
neg ebx
add ecx, esi
lea esi, [ebx - 1]
or esi, eax
lea edi, [eax + ebx - 1]
sub edi, esi
mov eax, edi
mov ebx, edi
or eax, ecx
and ebx, ecx
imul ebx, eax
mov eax, ecx
not eax
and eax, edi
not edi
and edi, ecx
imul edi, eax
mov eax, dword [esp + 0x93c]
lea ecx, [ebx + edi]
mov ebx, edx
or edx, ecx
and ebx, ecx
mov ecx, dword [esp + 0x17d8]
lea esi, [ebx + edx]
mov ebx, dword [esp + 0x5e0]
rol ebx, cl
neg ebx
mov dword [esp + 0x17dc], esi
mov esi, eax
rol esi, cl
neg ecx
shrd eax, eax, 0x19
lea edi, [ebx - 1]
mov edx, edi
lea ebx, [esi + ebx - 1]
and edx, esi
sub ebx, edx
mov edx, edi
not edx
and edx, ebx
xor ebx, edi
mov edi, eax
add edx, edx
sub edx, ebx
mov ebx, dword [esp + 0x5e0]
shrd ebx, ebx, 0x19
rol edx, cl
mov ecx, eax
not eax
and edi, ebx
or ecx, ebx
mov esi, eax
or esi, ebx
sub esi, eax
mov ebx, esi
add ecx, edi
xor ebx, ecx
not ecx
and ecx, esi
mov esi, edx
lea edi, [ecx + ecx]
sub ebx, edi
mov edi, edx
shld ebx, ebx, 0x19
mov eax, ebx
xor esi, ebx
not eax
or edi, ebx
and eax, edx
sub edi, esi
mov esi, edi
lea ecx, [eax + ebx]
mov eax, edi
or eax, ecx
and esi, ecx
imul esi, eax
mov eax, ecx
mov dword [esp + 0x17e0], esi
not eax
mov esi, edi
not edi
and esi, eax
and edi, ecx
lea ecx, [esp + 0x17e4]
mov dword [ecx], esi
imul edi, dword [ecx]
mov ecx, dword [esp + 0x17e0]
lea eax, [ecx + edi]
mov ecx, edx
neg ecx
mov edi, edx
not edi
lea esi, [ecx - 1]
not esi
or esi, ebx
neg ebx
lea ebx, [ebx - 1]
or edi, ebx
add ecx, esi
mov ebx, ecx
not ebx
lea edx, [edx + edi + 1]
mov edi, ecx
mov esi, edx
and ebx, edx
not esi
or edi, edx
and esi, ecx
and ecx, edx
imul esi, ebx
lea edx, [eax + eax]
imul ecx, edi
lea ebx, [esi + ecx]
lea ecx, [ebx + ebx]
xor ebx, eax
and edx, ecx
mov ecx, dword [esp + 0x17dc]
mov esi, ecx
mov edi, ecx
add ebx, edx
xor esi, ebx
or edi, ebx
sub edi, esi
mov eax, ebx
not eax
and eax, ecx
lea edx, [edi + edi]
mov edi, ebx
sub edi, ecx
lea ecx, [edi + eax*2]
mov edi, dword [esp + 0x314]
mov esi, ecx
and ecx, edx
xor esi, edx
sub edi, ebx
lea edx, [esi + ecx*2]
mov esi, edi
xor esi, 1
mov ecx, edi
and edi, 1
or ecx, 1
mov eax, esi
xor eax, ecx
mov dword [esp + 0x17e8], edx
lea ecx, [esi + edi]
mov edi, dword [esp + 0x17cc]
mov edx, edi
sub edx, ebx
mov ebx, eax
and ebx, ecx
or eax, ecx
sub edx, ebx
sub edx, eax
lea ebx, [edx - 1]
mov ecx, ebx
or ebx, 1
and ecx, 1
sub ecx, edi
mov edi, dword [esp + 0x140]
lea esi, [ecx + ebx]
mov ecx, dword [esp]
or edi, esi
mov edx, ecx
lea ebx, [ecx + edi + 1]
mov eax, ebx
or eax, esi
lea edi, [eax + eax]
mov eax, esi
sub edi, esi
sub edi, ebx
mov ebx, ecx
or ebx, edi
and edx, edi
mov edi, esi
add esi, esi
not edi
add ebx, edx
sub eax, ebx
and edi, ebx
neg ebx
lea edi, [eax + edi*2]
lea eax, [ebx + ebx - 2]
mov ebx, eax
or eax, esi
xor ebx, esi
mov esi, edi
sub eax, ebx
not esi
imul esi, eax
not eax
imul eax, edi
sub esi, eax
mov eax, ecx
bswap eax
mov edi, eax
bswap esi
not edi
mov dword [esp + 0x17f0], edi
mov dword [esp + 0x17ec], eax
lea edx, [esi + esi]
add edi, edi
and edx, edi
mov edi, eax
xor edi, esi
neg esi
sub edx, edi
lea edi, [eax + eax]
lea esi, [esi + esi - 2]
lea eax, [esi + eax*2]
or esi, edi
sub eax, esi
mov edi, edx
and edi, eax
xor edx, eax
mov eax, dword [esp + 0x17d4]
lea esi, [edx + edi*2]
mov edi, ecx
bswap esi
lea edx, [eax + 1]
mov dword [esp + 0x5e4], esi
mov esi, ecx
or edi, edx
xor esi, edx
mov dword [esp + 0x17f4], edi
xor edi, esi
lea esi, [ecx + eax]
and ecx, edx
sub esi, ecx
mov edx, dword [esp + 0x314]
lea ecx, [esi + 1]
mov esi, edi
and edi, ecx
xor esi, ecx
sub esi, eax
lea ecx, [edi + edi]
mov edi, ebx
sub edi, ecx
sub esi, edi
mov edi, edx
mov eax, esi
not esi
xor eax, 1
lea ecx, [esi + esi]
and ecx, 2
sub ecx, eax
mov eax, edx
sub ecx, ebx
mov ebx, edx
lea ecx, [ecx - 1]
xor edi, ecx
or ebx, ecx
sub ebx, edi
mov esi, ebx
sub ebx, edx
not esi
and eax, esi
mov esi, ecx
bswap edx
lea edi, [ebx + eax*2]
mov ebx, ecx
or ebx, edi
xor esi, edi
mov edi, edx
bswap ecx
not edi
and edi, ecx
add ebx, ebx
sub ebx, esi
lea esi, [ecx + ecx]
lea eax, [edi + edx]
lea edi, [edx + edx]
xor edx, ecx
or esi, edi
add eax, eax
sub esi, edx
lea edx, [eax + eax]
mov ecx, esi
xor esi, eax
not ecx
lea edi, [ecx + ecx]
mov ecx, ebx
and edi, edx
neg ecx
sub edi, esi
bswap edi
sub edi, dword [esp + 0x938]
mov eax, edi
lea ecx, [ecx - 1]
neg eax
mov edx, ecx
not edx
lea esi, [eax - 1]
mov eax, edi
and eax, edx
mov edx, edi
not edx
and edx, ecx
imul edx, eax
mov eax, edi
or eax, ecx
and edi, ecx
neg edx
mov ecx, ebx
imul edi, eax
mov eax, ebx
not eax
lea edx, [edx - 1]
sub edx, edi
mov edi, esi
not edi
and eax, esi
and edi, ebx
or ecx, esi
and ebx, esi
mov esi, edx
imul edi, eax
not esi
imul ebx, ecx
lea ecx, [edi + ebx]
neg ecx
lea ebx, [ecx - 1]
and esi, ebx
xor edx, ebx
mov ebx, dword [esp + 0x5e4]
mov ecx, ebx
shrd ecx, ebx, 0x1d
shld ebx, ebx, 9
not ebx
add esi, esi
sub esi, dword [esp + 0x938]
sub esi, edx
mov dword [esp + 0x940], esi
not esi
mov edi, esi
shrd edi, esi, 0x1d
mov eax, edi
mov edx, edi
and eax, ecx
xor edi, ecx
or edx, ecx
mov dword [esp + 0x17f8], esi
add esi, esi
add edi, eax
add edx, eax
mov eax, edi
not eax
lea ecx, [edx + edx]
xor edx, edi
add eax, eax
and eax, ecx
lea ecx, [ebx + 1]
mov edi, ecx
not ecx
and ecx, 1
xor edi, 1
sub eax, edx
shld eax, eax, 0x1d
mov dword [esp + 0x17fc], eax
add ecx, ecx
sub edi, ecx
shrd edi, edi, 9
mov eax, dword [esp + 0x940]
mov edx, eax
and edx, edi
lea ecx, [edi + edi]
and esi, ecx
sub esi, edi
lea ebx, [esi + eax]
xor eax, edi
lea edi, [edx + eax]
mov ecx, edi
lea edx, [edi + edi]
xor ecx, ebx
not ebx
lea eax, [ebx + ebx]
and eax, edx
sub ecx, eax
mov edx, ecx
not edx
mov edi, dword [esp + 0x17fc]
mov esi, edi
mov ebx, edi
mov dword [esp + 0x54c], 0
lea ecx, [edx + 1]
mov dword [esp + 0x1800], ecx
or esi, ecx
not ecx
sub esi, edx
and ebx, ecx
lea eax, [esi - 1]
mov esi, edi
xor esi, eax
lea ecx, [ebx + edx + 1]
mov ebx, ecx
mov eax, esi
not ebx
not eax
and ebx, esi
and eax, ecx
imul eax, ebx
mov ebx, esi
and ebx, ecx
or esi, ecx
imul esi, ebx
lea ecx, [eax + esi]
mov eax, edx
neg eax
mov esi, edi
neg edi
mov dword [esp + 0x1804], ecx
lea ebx, [eax - 2]
not ebx
lea ecx, [edi - 1]
or esi, ebx
lea edx, [edx + edi - 1]
mov dword [esp + 0x944], ecx
or ecx, dword [esp + 0x1800]
sub edx, ecx
mov edi, dword [esp + 0x5e4]
lea ebx, [esi + eax - 1]
mov ecx, ebx
not ecx
lea eax, [edx + 1]
mov esi, eax
mov edx, eax
and ecx, eax
not eax
and esi, ebx
or edx, ebx
and eax, ebx
imul edx, esi
imul eax, ecx
mov ecx, dword [esp + 0x940]
lea ebx, [edx + eax]
mov eax, edi
mov edx, edi
and eax, dword [esp + 0x17f8]
not edx
mov dword [esp + 0x1808], ebx
neg edi
lea ebx, [ecx + eax]
mov esi, ebx
not esi
imul edi, esi
mov esi, edx
imul esi, ebx
neg esi
not edi
not esi
lea ebx, [ecx + ecx]
sub edi, esi
lea esi, [ecx + edi]
add edi, edi
and ebx, edi
sub esi, ebx
mov ebx, ecx
and ebx, edx
mov edi, esi
neg edi
lea edx, [eax + ebx]
mov eax, ecx
xor eax, edx
or ecx, edx
mov ebx, dword [esp + 0x5e4]
sub ecx, eax
mov edx, ebx
xor ebx, ecx
and edx, ecx
lea ecx, [ebx + edx*2]
mov edx, ecx
lea ebx, [edi - 1]
mov eax, ecx
xor edx, ebx
or eax, ebx
mov ebx, ecx
neg ebx
sub eax, edx
mov edx, eax
not edx
lea edi, [ebx - 1]
mov ebx, esi
not edi
or ebx, edi
sub ebx, edi
mov edi, ebx
and edi, edx
mov edx, ebx
mov dword [esp + 0x180c], edi
not edx
mov edi, eax
and edi, edx
mov edx, ebx
and edx, eax
or ebx, eax
imul edi, dword [esp + 0x180c]
imul ebx, edx
mov edx, esi
lea eax, [edi + ebx]
mov ebx, esi
mov edi, esi
and ebx, ecx
or edx, ecx
xor ebx, esi
xor edi, ecx
xor edx, edi
lea esi, [ebx + ecx]
mov ecx, edx
mov edi, esi
not ecx
not edi
mov ebx, edx
and ecx, esi
and ebx, edi
imul ebx, ecx
mov ecx, edx
and ecx, esi
or edx, esi
imul edx, ecx
lea esi, [ebx + edx]
mov edx, dword [esp + 0x1804]
mov ecx, esi
and esi, eax
or ecx, eax
mov eax, dword [esp + 0x17f4]
lea edi, [ecx + esi]
mov ecx, dword [esp + 0x1808]
mov ebx, ecx
and ecx, edx
or ebx, edx
sub ebx, eax
lea esi, [ebx + ecx]
mov edx, esi
mov ecx, esi
and edx, edi
xor ecx, edi
lea ebx, [edx + ecx]
lea ecx, [esi + edi]
or esi, edi
sub ecx, esi
lea esi, [ebx + ebx]
lea edi, [ecx + ecx]
xor ecx, ebx
and edi, esi
mov ebx, dword [esp + 0x944]
add eax, edi
mov edi, dword [esp + 0x17e8]
lea edx, [ecx + eax]
mov ecx, ebx
or ecx, edx
xor ebx, edx
lea esi, [ecx + ecx]
sub esi, ebx
lea ebx, [edi + edi]
bswap ebx
bswap edi
lea ecx, [esi + esi]
bswap esi
bswap ecx
mov eax, ecx
neg eax
lea eax, [eax - 1]
mov edx, eax
or edx, ebx
sub edx, eax
xor edx, ebx
mov ebx, edx
and edx, ecx
xor ebx, ecx
mov ecx, esi
or ecx, edi
sub ecx, esi
xor ecx, edi
lea eax, [ebx + edx*2]
bswap eax
lea ebx, [ecx + ecx]
mov edx, ebx
xor ebx, esi
not edx
lea ecx, [edx + edx]
lea edx, [esi + esi]
and ecx, edx
sub ecx, ebx
mov esi, ecx
or ecx, edi
and esi, edi
add esi, ecx
bswap esi
mov edi, esi
neg edi
lea ebx, [edi - 1]
mov edx, ebx
mov ecx, ebx
or edx, eax
and ecx, eax
imul ecx, edx
neg ecx
lea edx, [ecx - 1]
mov ecx, eax
not ecx
and ecx, ebx
not ebx
and ebx, eax
neg eax
imul ebx, ecx
mov ecx, esi
not ecx
lea edi, [eax - 1]
mov eax, edi
and ecx, edi
not eax
sub edx, ebx
and eax, esi
imul ecx, eax
neg ecx
lea ebx, [ecx - 1]
mov ecx, edi
or ecx, esi
and edi, esi
imul edi, ecx
mov esi, edx
sub ebx, edi
not edx
xor esi, ebx
and ebx, edx
mov edx, dword [esp]
mov dword [esp + 0x4d4], edx
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x944]
sub esi, ecx
mov ecx, ebx
mov eax, esi
neg ecx
not eax
neg esi
not ebx
imul ecx, eax
imul ebx, esi
not ecx
not ebx
sub ecx, ebx
mov dword [esp + 0x7c0], ecx
test edx, edx
je 0x100156c4
test byte [esp + 0x7c0], 1
je 0x100156ae
mov esi, dword [esp + 0x4d4]
mov ebx, dword [esp + 0x54c]
sub ebx, esi
mov edi, ebx
lea ecx, [esi + esi]
not edi
mov edx, ebx
sub edx, esi
lea eax, [edi + edi]
mov edi, ecx
and edi, eax
not ecx
lea eax, [edx + edi]
lea edx, [ebx + ebx]
mov ebx, eax
or ecx, edx
add eax, eax
lea edx, [ecx + esi*2 + 1]
xor ebx, edx
lea ecx, [esi + ebx]
lea esi, [edx + edx]
and esi, eax
lea edx, [esi + ecx]
mov dword [esp + 0x54c], edx
shr dword [esp + 0x7c0], 1
lea edx, [esp + 0x4d4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001565c
mov ecx, dword [esp + 4]
mov edi, ecx
mov edx, ecx
mov esi, ecx
or edi, 0xaa7abf61
mov ebx, dword [esp + 0x160]
and edx, 0xaa7abf61
and esi, 0x5585409e
and ebx, 0xaa7abf61
imul edx, edi
imul ebx, esi
add ebx, edx
mov eax, ebx
xor ebx, 0xc8a0b6ca
or eax, 0xc8a0b6ca
lea esi, [eax + eax]
sub esi, ebx
mov edx, esi
mov ebx, esi
mov eax, esi
not esi
or edx, 0x446424a1
and ebx, 0x446424a1
and eax, 0xbb9bdb5e
and esi, 0x446424a1
imul ebx, edx
imul esi, eax
lea eax, [ebx + esi]
mov edi, eax
not eax
and eax, 0xd5af5d0a
xor edi, 0xd5af5d0a
lea ebx, [eax + eax]
sub edi, ebx
mov esi, edi
mov eax, edi
neg esi
and eax, 1
mov dword [esp + 0x1810], edi
xor edi, 1
lea edx, [esi - 1]
mov ebx, edx
lea edi, [edi + eax*2]
and ebx, 0x1cfa0000
sub edx, ebx
mov ebx, edi
lea esi, [edx + 0x1cfa0000]
xor ebx, esi
lea esi, [edi + edi]
lea edx, [edx + edx + 0x39f40000]
and esi, edx
lea eax, [ebx + esi]
mov ebx, dword [esp + 0x1bc]
or ebx, 0x39f40000
mov edi, eax
sub ebx, ecx
and edi, 0xb7736e35
lea esi, [ebx - 0x1cfa0000]
lea edx, [ecx + ebx - 0x1cfa0000]
or ecx, esi
mov esi, eax
sub edx, ecx
not esi
mov ecx, eax
and esi, 0xb7736e35
and ecx, 0x488c91ca
or eax, 0xb7736e35
mov ebx, edx
imul ecx, esi
or ebx, 0x1cfa0000
imul eax, edi
and edx, 0x1cfa0000
lea esi, [ecx + eax]
mov edi, esi
not esi
and esi, 0xfbc74f82
xor edi, 0xfbc74f82
add ebx, edx
lea edx, [esi + esi]
sub edi, edx
mov esi, edi
mov ecx, edi
mov edx, edi
not esi
or ecx, 0x2b9af41d
and edx, 0x2b9af41d
and esi, 0x2b9af41d
and edi, 0xd4650be2
imul edx, ecx
imul edi, esi
add edx, edi
mov eax, edx
xor edx, 0x278fe9ba
and eax, 0x278fe9ba
lea esi, [edx + eax*2]
mov edi, esi
mov eax, esi
xor edi, ebx
or eax, ebx
and edi, ebx
sub eax, esi
xor eax, ebx
mov ecx, eax
lea edx, [edi + esi]
mov edi, eax
or ecx, edx
and edi, edx
imul edi, ecx
mov ecx, edx
mov dword [esp + 0x1814], edi
not ecx
mov edi, eax
not eax
and edi, ecx
and eax, edx
lea edx, [esp + 0x1818]
mov dword [edx], edi
mov edi, ebx
imul eax, dword [edx]
neg edi
mov edx, dword [esp + 0x1814]
lea ecx, [edx + eax]
mov eax, esi
mov dword [esp + 0x181c], ecx
lea edx, [edi - 1]
mov edi, esi
neg esi
xor eax, edx
or edi, edx
sub edi, eax
lea edx, [esi - 1]
lea esi, [ebx + esi - 1]
or ebx, edx
mov edx, edi
sub esi, ebx
not edx
mov ecx, esi
mov ebx, esi
and edx, esi
not esi
and ecx, edi
and esi, edi
or ebx, edi
imul esi, edx
imul ebx, ecx
mov edx, dword [esp + 4]
lea edi, [ebx + esi]
mov eax, edx
shrd eax, edx, 0x1a
not eax
shld eax, eax, 0x1a
mov ebx, eax
xor ebx, 0x1cfa0000
and ebx, eax
mov dword [esp + 0x1820], edi
lea edi, [ebx + 0x1cfa0000]
mov ecx, edi
xor edi, 0x1cfa0000
not ecx
lea esi, [ecx + ecx]
and esi, 0x39f40000
sub edi, esi
mov ebx, edi
and ebx, eax
add ebx, ebx
sub eax, ebx
mov ebx, 0x1cfa0000
ror ebx, cl
neg ecx
add eax, edi
mov edi, ebx
or edi, 1
xor ebx, 1
lea esi, [edi + edi]
mov edi, edx
sub esi, ebx
lea esi, [esi - 1]
not esi
ror esi, cl
mov ebx, esi
neg ebx
lea ecx, [ebx - 1]
and edi, ecx
lea ebx, [esi + esi]
and ebx, 2
xor esi, 1
xor edi, ecx
lea ecx, [ebx + esi]
mov ebx, ecx
add edx, edi
or ebx, edx
and ecx, edx
mov edx, eax
not edx
lea esi, [ebx + ecx]
mov edi, esi
and edx, esi
or edi, eax
sub edi, eax
xor edi, esi
mov ebx, edi
lea ecx, [edx + eax]
mov edx, edi
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ebx, ecx
not ebx
and ebx, edi
not edi
and edi, ecx
imul edi, ebx
mov ebx, eax
neg ebx
add edx, edi
mov edi, esi
lea ecx, [ebx - 1]
or edi, ecx
lea ebx, [esi + ebx - 1]
neg esi
sub ebx, edi
lea edi, [esi - 1]
mov esi, eax
or esi, edi
xor esi, eax
mov eax, ebx
xor esi, edi
not eax
mov ecx, esi
mov edi, esi
not ecx
and edi, eax
mov eax, esi
and ecx, ebx
and eax, ebx
or esi, ebx
imul edi, ecx
imul esi, eax
mov eax, dword [esp + 0x181c]
lea ecx, [edi + esi]
mov ebx, ecx
xor ecx, edx
or ebx, edx
mov edx, eax
mov esi, dword [esp + 0x1810]
lea edi, [ebx + ebx]
mov ebx, dword [esp + 0x1820]
xor edx, ebx
and eax, ebx
sub edi, ecx
mov ebx, edi
not ebx
add edx, esi
lea ecx, [edx + eax*2]
and ebx, ecx
mov eax, ecx
not eax
lea edx, [edi + ebx]
or edi, eax
lea ebx, [edi + ecx + 1]
mov ecx, edx
xor ecx, ebx
and edx, ebx
sub ecx, esi
mov esi, dword [esp + 0x154]
lea ebx, [ecx + edx*2]
mov edx, dword [esp + 0x308]
xor esi, ebx
and esi, ebx
mov ecx, dword [esp + 0x1bc]
mov eax, ecx
and eax, 2
mov dword [esp + 0x1824], ebx
lea esi, [esi + edx - 1]
mov edx, dword [esp + 4]
mov edi, edx
xor edi, 1
add eax, edi
mov edi, eax
xor eax, esi
and edi, esi
lea esi, [ebx + ebx]
and ecx, esi
mov dword [esp + 0x1828], esi
lea edi, [eax + edi*2]
mov esi, edi
lea eax, [edx + ebx]
sub eax, ecx
mov ecx, edx
or ecx, ebx
sub ecx, edx
mov edx, edi
xor ecx, ebx
mov ebx, eax
or ebx, ecx
and eax, ecx
add eax, ebx
mov ebx, edi
xor esi, eax
or ebx, eax
sub ebx, esi
lea ecx, [edi + eax]
and edx, eax
mov esi, ebx
sub ecx, edx
mov edx, ebx
and esi, ecx
or edx, ecx
imul edx, esi
mov esi, ebx
mov dword [esp + 0x182c], edx
not esi
mov edx, ecx
not ecx
and edx, esi
and ebx, ecx
lea ecx, [esp + 0x1830]
mov dword [ecx], edx
mov edx, edi
imul ebx, dword [ecx]
neg edi
mov esi, dword [esp + 0x182c]
not edx
lea ecx, [esi + ebx]
mov esi, eax
neg esi
lea ebx, [esi - 1]
mov esi, edx
or esi, ebx
lea ebx, [edi - 1]
sub esi, edx
mov edx, eax
or edx, ebx
sub edx, eax
mov eax, esi
xor edx, ebx
not eax
mov edi, edx
mov ebx, edx
and edi, eax
not ebx
mov eax, edx
and ebx, esi
or eax, esi
and edx, esi
imul ebx, edi
imul edx, eax
lea esi, [ebx + edx]
mov ebx, ecx
or ebx, esi
and ecx, esi
mov esi, dword [esp + 0x1824]
mov edx, esi
xor esi, 1
lea edi, [ebx + ecx]
mov dword [esp + 0x1834], edi
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1770]
mov ebx, edi
rol edx, cl
and ebx, 0xfffffffe
mov eax, edx
xor edi, 1
neg eax
add ebx, ebx
sub ebx, edi
rol ebx, cl
lea edi, [eax - 1]
not edi
neg ecx
and edi, ebx
lea edi, [edi + eax - 1]
mov eax, edx
or eax, 1
and edx, 1
add eax, edx
lea edx, [edi + edi]
lea ebx, [eax + eax]
xor eax, edi
and edx, ebx
mov ebx, dword [esp + 0x1828]
and ebx, 2
add edx, eax
rol edx, cl
lea edi, [ebx + esi - 1]
mov esi, dword [esp + 0x30c]
not edi
mov ecx, esi
bswap edi
mov eax, esi
xor ecx, edi
and eax, edi
lea ebx, [ecx + eax*2]
mov ecx, edi
not ecx
mov eax, edx
and esi, ecx
neg eax
lea ecx, [esi + edi]
mov edi, ecx
not edi
and edi, ebx
xor ebx, ecx
add edi, edi
sub edi, ebx
bswap edi
mov esi, edi
neg esi
lea ebx, [esi - 1]
or ebx, edx
sub ebx, esi
lea esi, [eax - 1]
mov eax, esi
or esi, edi
xor eax, edi
sub esi, eax
mov eax, esi
lea ecx, [ebx + 1]
xor ecx, edx
not eax
mov ebx, ecx
and eax, ecx
not ebx
and ebx, esi
imul eax, ebx
mov ebx, esi
and ebx, ecx
or esi, ecx
imul esi, ebx
mov ebx, edx
or ebx, edi
add eax, esi
mov esi, edx
lea ecx, [edx + edi]
xor esi, edi
sub ecx, ebx
and esi, edx
mov edx, ecx
not edx
add edi, esi
mov esi, ecx
mov ebx, edi
and edx, edi
not ebx
and esi, ebx
mov ebx, ecx
and ebx, edi
or ecx, edi
imul esi, edx
lea edi, [eax + eax]
imul ecx, ebx
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x1834]
xor eax, ebx
lea edx, [ebx + ebx]
or edx, edi
sub edx, eax
lea esi, [edx + 0x28bfdff3]
mov edx, esi
mov ebx, esi
xor edx, ecx
and esi, ecx
or ebx, ecx
mov edi, edx
xor edi, ebx
mov ebx, edi
lea eax, [esi + edx]
or ebx, eax
xor edi, eax
add ebx, ebx
sub ebx, edi
lea edi, [ebx - 0x28bfdff3]
mov esi, edi
mov edx, edi
mov ecx, edi
not edi
and esi, 0x2fd9b0f1
or edx, 0x2fd9b0f1
and ecx, 0xd0264f0e
and edi, 0x2fd9b0f1
imul edx, esi
imul edi, ecx
lea eax, [edx + edi]
mov ebx, eax
and eax, 0x468db91f
or ebx, 0x468db91f
lea edi, [ebx + eax]
mov esi, edi
mov edx, edi
not esi
mov ecx, edi
and esi, 0x8b3f4011
and edx, 0x74c0bfee
and ecx, 0x8b3f4011
or edi, 0x8b3f4011
imul edx, esi
imul edi, ecx
mov ecx, dword [esp + 0x308]
lea ebx, [edx + edi]
mov esi, ebx
and ebx, 0xfeadf4f1
xor esi, 0x7eadf4f1
lea edx, [esi + ebx*2]
mov ebx, dword [esp + 0x154]
mov edi, edx
lea eax, [ecx + edx]
neg edi
or ebx, edx
sub eax, ebx
lea ebx, [edi - 1]
mov edi, dword [esp + 4]
mov ecx, edi
lea esi, [eax - 1]
or ecx, ebx
sub ecx, edi
xor ecx, ebx
mov eax, ecx
mov ebx, ecx
and eax, esi
or ebx, esi
imul ebx, eax
mov eax, esi
mov dword [esp + 0x1838], ebx
not eax
mov ebx, ecx
not ecx
and ebx, eax
and ecx, esi
lea esi, [esp + 0x183c]
mov dword [esi], ebx
mov eax, edx
imul ecx, dword [esi]
not eax
mov esi, dword [esp + 0x1838]
lea ebx, [esi + ecx]
mov dword [esp + 0x1840], ebx
mov ebx, edi
or ebx, eax
lea esi, [ebx + edx + 1]
lea ebx, [edi + edx]
and edi, edx
sub ebx, edi
mov eax, ebx
mov edx, ebx
or eax, esi
and edx, esi
imul edx, eax
mov ecx, ebx
not ecx
and ecx, esi
not esi
and ebx, esi
mov dword [esp + 0x1844], ecx
mov edi, ebx
imul edi, dword [esp + 0x1844]
mov ebx, edx
mov eax, dword [esp + 0x17b0]
mov dword [esp + 0x2b0], 0
lea ecx, [ebx + edi]
mov ebx, dword [esp + 0x17b4]
lea esi, [eax + eax]
lea edx, [ebx + ebx]
xor ebx, eax
or esi, edx
sub esi, ebx
mov ebx, dword [esp + 0x1840]
mov edx, ebx
or edx, ecx
and ebx, ecx
mov eax, dword [esp + 0x54c]
lea ecx, [edx + ebx]
lea edi, [eax + esi]
mov esi, dword [esp + 4]
imul esi, ecx
mov ecx, edi
mov ebx, esi
lea eax, [esi + esi]
not ebx
mov dword [esp + 0x1848], esi
add ebx, ebx
and ebx, eax
lea eax, [edi + edi]
mov edx, ebx
neg edx
lea esi, [edx - 1]
or ecx, esi
sub ecx, esi
mov esi, ebx
xor ecx, edi
not esi
lea edx, [ecx + ecx]
mov ecx, ebx
xor ecx, edi
add esi, esi
and esi, eax
sub esi, ecx
mov ecx, esi
not esi
and esi, edx
xor ecx, edx
lea edx, [ebx + ebx]
mov ebx, edx
xor ebx, eax
lea edi, [esi + esi]
mov esi, edx
sub edi, ecx
and esi, eax
mov dword [esp + 0x184c], edi
mov edi, eax
not edi
add esi, ebx
xor eax, esi
lea ebx, [edi + edi]
lea edi, [esi + esi]
mov esi, dword [esp + 0x184c]
and ebx, edi
sub ebx, eax
mov edi, ebx
or ebx, edx
and edi, edx
not ebx
not edi
mov edx, esi
add edi, ecx
sub edi, ebx
mov ebx, esi
or edx, edi
mov eax, edi
xor eax, edx
mov edx, esi
and edx, edi
xor esi, edi
xor ebx, eax
mov edi, ebx
lea eax, [edx + esi]
mov esi, dword [esp]
xor edi, eax
and ebx, eax
sub edi, ecx
mov eax, dword [esp + 0x1848]
mov dword [esp + 0x4d8], esi
lea ecx, [edi + ebx*2]
mov edx, ecx
or ecx, eax
and edx, eax
lea ebx, [edx + ecx]
mov dword [esp + 0x1850], ebx
test esi, esi
je 0x100161f0
mov dword [esp + 0x288], 0xee400000
test byte [esp + 0x288], 1
je 0x100161d6
mov ebx, dword [esp + 0x4d8]
mov ecx, dword [esp + 0x2b0]
lea edi, [ecx + ebx]
mov ebx, dword [esp + 0x288]
lea edx, [edi + edi]
mov eax, edx
lea esi, [ebx + ebx]
or eax, esi
sub eax, edx
mov edx, edi
not edx
xor eax, esi
add edx, edx
and esi, edx
mov edx, eax
sub esi, ebx
lea ebx, [esi + edi]
and eax, ebx
or edx, ebx
sub eax, ecx
lea ebx, [ecx + ecx]
mov dword [esp + 0x10bc], ebx
not ebx
mov esi, ebx
mov dword [esp + 0x10b0], edx
lea edi, [eax + edx]
mov dword [esp + 0x10b4], edi
lea eax, [edi + edi]
mov dword [esp + 0x10b8], eax
and esi, eax
mov edi, eax
not edi
add ebx, ebx
lea esi, [esi + ecx*2]
imul edi, esi
not esi
imul esi, eax
not edi
not esi
sub edi, esi
lea esi, [edx + ecx*2]
lea edx, [edi + edi]
and edx, ebx
sub edx, edi
lea ebx, [edx + esi]
mov edx, ecx
neg edx
mov eax, ebx
not eax
neg ebx
lea edi, [edx - 1]
lea edx, [ecx - 1]
not edx
lea esi, [eax + 1]
mov ecx, edx
lea eax, [ebx - 1]
mov ebx, edx
or ecx, eax
and ebx, eax
imul ebx, ecx
mov ecx, eax
mov dword [esp + 0x10c0], ebx
not ecx
mov ebx, edx
not edx
and ebx, ecx
and edx, eax
lea ecx, [esp + 0x10c4]
mov dword [ecx], ebx
mov eax, esi
imul edx, dword [ecx]
mov ebx, esi
mov ecx, dword [esp + 0x10c0]
and eax, edi
or ebx, edi
imul ebx, eax
add ecx, edx
mov edx, edi
not edx
neg ecx
and edx, esi
not esi
and esi, edi
imul esi, edx
mov edx, dword [esp + 0x10b0]
lea edi, [ebx + esi]
neg edi
lea esi, [ecx - 1]
mov dword [esp + 0x10c8], ecx
lea ebx, [ecx + ecx - 2]
lea eax, [edi - 1]
xor esi, eax
not eax
lea ecx, [eax + eax]
mov eax, dword [esp + 0x10b8]
and ebx, ecx
add edx, esi
sub edx, ebx
mov ebx, edx
lea esi, [edx + edx]
mov edi, esi
or esi, eax
xor edi, eax
xor edi, esi
mov esi, dword [esp + 0x10b4]
or ebx, esi
mov dword [esp + 0x10cc], edi
lea ecx, [ebx + ebx]
mov ebx, eax
shld ebx, eax, 0xc
sub ecx, esi
mov esi, ebx
neg esi
sub ecx, edx
mov edx, dword [esp + 0x10bc]
mov edi, edx
shld edi, edx, 0xc
mov dword [esp + 0x10d0], ecx
lea esi, [esi - 1]
mov ecx, esi
xor esi, edi
or ecx, edi
neg edi
xor ecx, esi
lea esi, [edi - 1]
not esi
or esi, ebx
lea ebx, [ecx + ecx]
add esi, edi
xor ecx, esi
lea edi, [esi + esi]
or edi, ebx
mov esi, eax
sub edi, ecx
or esi, edx
mov ecx, eax
and ecx, edx
mov edx, esi
not ecx
not edx
sub ecx, edx
mov edx, dword [esp + 0x2b0]
shld edi, edi, 0x14
mov ebx, edi
lea eax, [eax + edx*2]
sub eax, esi
not ebx
mov esi, eax
and eax, ecx
or esi, ecx
mov ecx, edi
and ebx, 0x569ec24f
and ecx, 0x569ec24f
add eax, esi
mov esi, edi
and esi, 0xa9613db0
or edi, 0x569ec24f
imul esi, ebx
imul edi, ecx
add esi, edi
lea ebx, [esi + esi]
xor esi, 0xa2c46c8c
and ebx, 0xba7726e6
sub ebx, esi
mov ecx, ebx
mov edx, ebx
mov esi, ebx
not ebx
or ecx, 0xd4514af
and edx, 0xd4514af
and esi, 0xf2baeb50
and ebx, 0xd4514af
imul edx, ecx
imul ebx, esi
add edx, ebx
mov esi, edx
xor edx, 0x582dc4c
and esi, 0xfa7d23b3
lea ecx, [esi + esi]
mov esi, eax
neg esi
sub ecx, edx
lea edx, [esi + esi - 2]
mov esi, ecx
or esi, eax
lea edi, [ecx + ecx]
not edi
or edi, edx
lea edx, [esi + esi]
sub edx, eax
sub edx, ecx
lea ebx, [edi + ecx*2 + 1]
mov eax, edx
xor eax, ebx
not ebx
and ebx, edx
mov edx, eax
lea esi, [ebx + ebx]
sub edx, esi
mov ebx, edx
mov ecx, edx
not ebx
mov edi, edx
and ecx, 0xfd7da0aa
and ebx, 0x2825f55
and edi, 0x2825f55
or edx, 0x2825f55
imul ebx, ecx
imul edx, edi
mov edi, dword [esp + 0x10c8]
lea eax, [ebx + edx]
mov esi, eax
or eax, 0x467b4700
and esi, 0x467b4700
lea edx, [esi + eax]
mov ecx, edx
mov esi, edx
mov ebx, edx
not edx
and ecx, 0x8adea5fd
or esi, 0x8adea5fd
and ebx, 0x75215a02
and edx, 0x8adea5fd
imul esi, ecx
imul edx, ebx
lea ebx, [esi + edx]
lea esi, [ebx + ebx]
xor ebx, 0x5167d500
or esi, 0xa2cfaa00
sub esi, edi
sub ebx, esi
mov esi, dword [esp + 0x10d0]
lea ecx, [ebx + ebx - 4]
and ecx, 2
lea eax, [ebx - 2]
sub ecx, edi
xor eax, 1
mov edi, dword [esp + 0x10cc]
mov edx, edi
and edx, esi
or edi, esi
lea eax, [ecx + eax + 1]
bswap eax
lea ecx, [edx + edi]
mov edi, eax
bswap ecx
not edi
mov ebx, ecx
mov esi, edi
not ebx
and esi, ecx
mov edx, ebx
or edx, eax
sub edx, ebx
and ebx, eax
add esi, ebx
mov ebx, edx
and ebx, esi
xor edx, esi
lea esi, [eax + ecx]
lea ebx, [edx + ebx*2]
mov edx, eax
and edx, ecx
sub esi, edx
mov edx, esi
xor esi, eax
and edx, edi
bswap ebx
lea edi, [edx + edx]
sub edi, esi
lea edx, [ebx + ebx]
mov eax, edi
or edi, ecx
and eax, ecx
not edi
not eax
sub eax, edi
bswap eax
mov edi, eax
or edi, ebx
lea esi, [eax + eax]
mov ecx, esi
xor esi, edx
or ecx, edx
lea edx, [edi + edi]
sub edx, ebx
xor ecx, esi
sub edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x288]
or ebx, edx
neg eax
xor ecx, edx
add ebx, ebx
sub ebx, ecx
lea esi, [eax - 1]
mov edx, esi
xor esi, 1
and edx, 1
mov ecx, ebx
lea edx, [esi + edx*2]
and ecx, edx
lea esi, [ebx + edx]
add edx, edx
lea eax, [ecx + ecx]
sub esi, eax
lea eax, [ebx + ebx]
mov edi, eax
or edi, edx
sub edi, eax
xor edi, edx
lea ecx, [esi + esi]
lea ebx, [edi + edi]
xor edi, esi
and ecx, ebx
lea esi, [ecx + edi]
mov dword [esp + 0x2b0], esi
shr dword [esp + 0x288], 1
lea edx, [esp + 0x4d8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10015e27
mov esi, dword [esp]
mov eax, esi
imul eax, dword [esp + 0x2b0]
mov ecx, eax
mov edx, eax
ror esi, cl
mov ebx, esi
ror edx, cl
not ebx
neg ecx
mov dword [esp + 0x1854], eax
mov dword [esp + 0x1858], ecx
mov dword [esp + 0x550], 0
lea edi, [ebx + ebx]
lea ebx, [edx + edx]
and edi, ebx
mov ebx, esi
sub edi, edx
xor ebx, edx
add edi, esi
and esi, edx
add ebx, esi
mov esi, ebx
not esi
and esi, edi
not edi
and edi, ebx
mov ebx, dword [esp + 0x140]
mov edx, ebx
add edi, esi
ror edi, cl
lea esi, [ecx - 1]
or edx, esi
mov ecx, edi
sub edx, ebx
neg ecx
mov dword [esp + 0x185c], esi
lea esi, [eax + eax]
lea ebx, [edx + edx]
xor edx, eax
and esi, ebx
lea ebx, [esi + edx]
mov eax, ebx
neg eax
lea esi, [eax - 1]
mov edx, esi
or esi, edi
xor edx, edi
lea eax, [ecx - 1]
xor edx, esi
mov esi, ebx
or esi, eax
mov ecx, edx
xor esi, ebx
xor esi, eax
mov eax, edx
not eax
and eax, esi
mov dword [esp + 0x1860], eax
mov eax, esi
not eax
and ecx, eax
mov eax, edx
and eax, esi
or edx, esi
imul ecx, dword [esp + 0x1860]
mov esi, ebx
imul edx, eax
mov eax, ebx
add edx, ecx
mov ecx, ebx
xor esi, edi
and ecx, edi
or eax, edi
xor ecx, edi
sub eax, esi
mov edi, eax
lea esi, [ecx + ebx]
mov ecx, eax
and edi, esi
or ecx, esi
mov ebx, esi
imul ecx, edi
not ebx
mov edi, eax
not eax
and edi, ebx
and eax, esi
imul eax, edi
lea ebx, [edx + edx]
lea edi, [ecx + eax]
mov ecx, dword [esp + 0x1858]
lea esi, [edi + edi]
xor edi, edx
and esi, ebx
mov ebx, dword [esp]
lea edx, [esi + edi]
mov edi, ebx
mov esi, dword [esp + 0x185c]
and edi, esi
mov dword [esp + 0x1864], edx
lea edx, [ebx + ecx - 1]
sub edx, edi
mov eax, edx
or edx, esi
and eax, esi
not edx
not eax
sub eax, edx
mov edi, dword [esp + 0x140]
neg edi
not edi
mov edx, dword [esp + 0x15c]
lea esi, [ebx + eax]
lea ebx, [eax + eax]
mov eax, dword [esp + 0x1854]
and edx, ebx
sub esi, edx
lea edx, [edi + 1]
shrd edx, edx, 0x13
shrd eax, eax, 0x13
mov ecx, edx
xor ecx, eax
and ecx, eax
lea edi, [eax + eax]
lea ebx, [ecx + edx]
lea ecx, [ebx + eax]
add ebx, ebx
and ebx, edi
mov edi, esi
sub ecx, ebx
mov eax, ecx
not eax
and eax, edx
lea ebx, [eax + eax]
mov eax, esi
sub ebx, edx
neg eax
add ecx, ebx
mov ebx, esi
shrd ecx, ecx, 0xd
mov edx, ecx
neg edx
lea edx, [edx - 1]
or ebx, edx
xor edi, edx
sub ebx, edi
lea edi, [eax - 1]
not edi
mov eax, ebx
mov edx, edi
or edx, ecx
sub edx, edi
mov edi, ebx
or edi, edx
and eax, edx
imul eax, edi
mov edi, ebx
mov dword [esp + 0x1868], eax
not edi
mov eax, edx
not edx
and eax, edi
and ebx, edx
lea edx, [esp + 0x186c]
mov dword [edx], eax
mov edi, esi
imul ebx, dword [edx]
or edi, ecx
mov edx, dword [esp + 0x1868]
lea eax, [edx + ebx]
mov ebx, esi
not ebx
mov edx, esi
and ebx, ecx
xor edx, ecx
sub edi, edx
mov ecx, edi
lea edx, [ebx + esi]
mov esi, edi
or ecx, edx
and esi, edx
mov ebx, edx
imul esi, ecx
not ebx
mov ecx, edi
not edi
and ecx, ebx
and edi, edx
imul edi, ecx
lea ebx, [eax + eax]
lea edx, [esi + edi]
xor eax, edx
lea esi, [edx + edx]
or ebx, esi
sub ebx, eax
mov edx, dword [esp + 0x1864]
lea edi, [ebx + ebx]
lea ecx, [ebx + edx]
and ebx, edx
lea esi, [edx + edx]
mov eax, esi
or esi, edi
xor eax, edi
sub esi, eax
lea edx, [ebx + ebx]
sub ecx, edx
mov ebx, esi
and ebx, ecx
or esi, ecx
add esi, ebx
mov dword [esp + 0x1870], esi
mov eax, esi
mov edi, esi
not eax
mov ecx, esi
mov edx, esi
and edi, 0x227b48b5
mov dword [esp + 0x1874], eax
or ecx, 0x227b48b5
and edx, 0xdd84b74a
and eax, 0x227b48b5
imul ecx, edi
imul eax, edx
shld esi, esi, 0x17
lea edi, [ecx + eax]
mov ebx, edi
not ebx
imul ebx, ebx, 0xae1538c7
imul ecx, edi, 0x51eac73a
not ebx
not ecx
sub ebx, ecx
mov edx, ebx
mov edi, ebx
not edx
mov eax, ebx
and edi, 0x9fe9a62
and edx, 0xf601659d
and eax, 0xf601659d
or ebx, 0xf601659d
imul edx, edi
imul ebx, eax
mov ecx, dword [esp]
add edx, ebx
mov edi, edx
or edx, 0x6aceaaf5
and edi, 0x6aceaaf5
lea ebx, [edi + edx]
mov edx, ecx
rol ebx, cl
mov eax, ebx
rol edx, cl
not eax
mov edi, edx
and eax, edx
not edi
mov dword [esp + 0x1878], edi
and edi, ebx
add ebx, eax
mov edx, ebx
not edx
add edi, eax
imul edx, edi
not edi
imul edi, ebx
not edx
not edi
sub edx, edi
lea eax, [esi + esi]
not edx
lea edx, [edx + 1]
ror edx, cl
shld ecx, ecx, 0x17
mov dword [esp + 0x187c], ecx
lea ebx, [ecx + ecx]
mov dword [esp + 0x1880], ebx
or eax, ebx
sub eax, esi
not esi
mov ebx, esi
sub eax, ecx
or ebx, ecx
mov ecx, eax
sub ebx, esi
xor ecx, ebx
lea esi, [eax + eax]
lea edi, [ebx + ebx]
mov ebx, edx
and esi, edi
lea eax, [ecx + esi]
mov ecx, edx
shld eax, eax, 9
and ebx, eax
or ecx, eax
xor ebx, eax
sub ecx, edx
xor ecx, eax
mov edi, ecx
lea esi, [ebx + edx]
mov ebx, ecx
and ebx, esi
or edi, esi
imul edi, ebx
mov ebx, ecx
not ebx
and ebx, esi
not esi
and ecx, esi
mov esi, eax
neg esi
imul ecx, ebx
lea esi, [esi - 1]
lea ebx, [edi + ecx]
mov ecx, esi
or ecx, edx
xor ecx, edx
neg edx
xor ecx, esi
mov edi, ecx
lea esi, [edx - 1]
mov edx, esi
or esi, eax
xor edx, eax
mov eax, ecx
sub esi, edx
mov edx, esi
or eax, esi
not edx
and edi, esi
and edx, ecx
not ecx
and esi, ecx
imul edi, eax
imul esi, edx
mov eax, dword [esp + 0x1870]
lea ecx, [edi + esi]
lea edx, [ebx + ebx]
lea edi, [ecx + ecx]
xor ecx, ebx
mov ebx, eax
or edx, edi
shrd ebx, eax, 9
not ebx
sub edx, ecx
mov dword [esp + 0x1884], edx
lea edx, [ebx + 1]
mov esi, edx
xor edx, 1
and esi, 0xfffffffe
lea ebx, [esi + esi]
mov esi, dword [esp]
sub ebx, edx
mov ecx, esi
shrd ebx, ebx, 0x17
xor ecx, ebx
mov edx, esi
mov edi, esi
and ecx, ebx
and edx, ebx
or edi, ebx
not edx
not edi
sub edx, edi
mov edi, dword [esp + 0x140]
lea ebx, [esi + ecx]
mov esi, edx
or edx, ebx
and esi, ebx
not edx
not esi
mov ebx, edi
sub esi, edx
mov edx, edi
mov ecx, edi
xor edx, eax
and edi, eax
not ebx
mov dword [esp + 0x1888], ebx
and ebx, eax
and ecx, dword [esp + 0x1874]
add edx, edi
mov eax, edx
add ebx, ecx
not eax
imul eax, ebx
not ebx
imul ebx, edx
not eax
not ebx
sub eax, ebx
not eax
lea ebx, [eax + 1]
mov edx, ebx
mov ecx, ebx
mov edi, ebx
not ebx
and edx, 0x4b9f53a9
or ecx, 0x4b9f53a9
and edi, 0xb460ac56
and ebx, 0x4b9f53a9
imul ecx, edx
imul ebx, edi
lea edi, [ecx + ebx]
mov ebx, edi
lea edx, [edi + edi]
xor ebx, 0x32b52361
and edx, 0x656a46c2
add edx, ebx
mov eax, edx
mov ecx, edx
mov ebx, edx
not eax
and ecx, 0xfbef0099
or ebx, 0xfbef0099
and eax, 0xfbef0099
and edx, 0x410ff66
imul ebx, ecx
mov ecx, esi
imul edx, eax
neg ecx
lea edi, [ebx + edx]
imul edx, edi, 0x8f2edb06
not edi
imul ebx, edi, 0x70d124f9
not edx
not ebx
sub edx, ebx
lea ebx, [ecx - 1]
mov eax, edx
mov edi, edx
or eax, ebx
xor edi, ebx
mov ebx, edx
mov ecx, esi
neg ebx
sub eax, edi
mov edi, eax
lea ebx, [ebx - 1]
or ecx, ebx
xor ecx, ebx
mov ebx, eax
xor ecx, esi
and ebx, ecx
or edi, ecx
imul edi, ebx
mov ebx, ecx
mov dword [esp + 0x188c], edi
not ebx
mov edi, eax
not eax
and edi, ebx
and eax, ecx
lea ebx, [esp + 0x1890]
mov dword [ebx], edi
mov ecx, esi
imul eax, dword [ebx]
and ecx, edx
mov ebx, dword [esp + 0x188c]
xor ecx, esi
add ebx, eax
mov eax, esi
or eax, edx
sub eax, edx
xor eax, esi
lea esi, [ecx + edx]
mov ecx, eax
mov edx, eax
mov edi, eax
not ecx
and edx, esi
or edi, esi
and ecx, esi
not esi
and eax, esi
imul edi, edx
mov edx, ebx
imul eax, ecx
lea esi, [edi + eax]
mov edi, dword [esp + 0x1884]
or edx, esi
and ebx, esi
mov ecx, edi
mov eax, edi
not ecx
add edx, ebx
and ecx, edx
xor eax, edx
lea esi, [edi + ecx]
or edi, edx
sub edi, eax
lea ecx, [esi + esi]
lea edx, [edi + edi]
xor edi, esi
and edx, ecx
mov esi, dword [esp + 4]
mov dword [esp + 0x4dc], esi
lea ebx, [edx + edi]
mov dword [esp + 0x7c4], ebx
test esi, esi
je 0x10016887
test byte [esp + 0x7c4], 1
je 0x1001686d
mov ecx, dword [esp + 0x550]
mov ebx, ecx
mov edx, dword [esp + 0x4dc]
mov eax, edx
shld ebx, ecx, 9
shld eax, edx, 9
mov edi, ebx
mov esi, ebx
xor edi, eax
and esi, eax
bswap ecx
add edi, esi
mov esi, edi
and edi, ebx
or esi, ebx
sub esi, edi
mov edi, edx
and edi, 0xb63c10e3
lea ebx, [esi + eax]
and esi, eax
lea eax, [esi + esi]
sub ebx, eax
mov eax, edx
or eax, 0xb63c10e3
imul eax, edi
mov edi, edx
shld ebx, ebx, 0x17
not edx
and edi, 0x49c3ef1c
and edx, 0xb63c10e3
imul edx, edi
lea esi, [eax + edx]
mov edi, esi
not edi
imul edx, edi, 0x79dc9301
imul eax, esi, 0x86236d00
not edx
not eax
sub edx, eax
mov edi, edx
mov esi, edx
or edi, 0x6b5b4cb
and esi, 0x6b5b4cb
imul esi, edi
mov edi, edx
not edx
and edi, 0xf94a4b34
and edx, 0x6b5b4cb
imul edx, edi
lea edi, [esi + edx]
mov esi, ecx
lea eax, [edi + edi]
xor edi, 0xaefa45cb
and eax, 0xa20b7468
sub eax, edi
mov edi, ecx
bswap eax
xor esi, eax
and edi, eax
or ecx, eax
lea edi, [esi + edi*2]
xor esi, ecx
mov eax, esi
lea edx, [edi + edi]
not eax
xor esi, edi
lea ecx, [eax + eax]
and edx, ecx
sub edx, esi
lea esi, [ebx + ebx]
bswap edx
not esi
mov edi, esi
lea ecx, [edx + edx]
or edi, ecx
sub edi, esi
mov esi, ebx
not ebx
sub esi, edx
lea eax, [ebx + ebx]
and ecx, eax
lea edx, [esi + ecx]
mov esi, edi
and esi, edx
or edi, edx
lea ebx, [esi + edi]
mov dword [esp + 0x550], ebx
shr dword [esp + 0x7c4], 1
lea edx, [esp + 0x4dc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001675d
mov esi, dword [esp + 0x550]
mov eax, esi
and eax, 0xf0cf9317
mov edx, esi
mov edi, esi
sub edx, eax
or edi, 0xf0cf9317
sub edi, esi
xor edi, 0xf0cf9317
mov ecx, edi
lea ebx, [edx - 0xf306ce9]
mov edx, edi
and ecx, ebx
or edx, ebx
imul edx, ecx
mov ecx, ebx
not ecx
and ecx, edi
not edi
and edi, ebx
mov ebx, esi
imul edi, ecx
or ebx, 0xf306ce8
lea eax, [edx + edi]
mov edi, esi
neg esi
lea edx, [ebx - 0xf306ce8]
xor edi, edx
mov ebx, edi
lea edx, [esi - 1]
mov esi, edi
or edx, 0xf306ce8
lea edx, [edx - 0xf306ce8]
mov ecx, edx
or esi, edx
not ecx
and ebx, edx
imul ebx, esi
mov esi, ecx
and esi, edi
not edi
and edi, edx
mov edx, eax
imul edi, esi
lea esi, [ebx + edi]
and edx, esi
xor eax, esi
lea edi, [eax + edx*2]
mov edx, ecx
neg edx
lea ebx, [edi + edi]
lea eax, [edx + 0x18f455e5]
lea esi, [edi + edx + 0x18f455e5]
lea edx, [edx + edx + 0x31e8abca]
and ebx, edx
mov edx, edi
xor edx, eax
or edi, eax
sub edi, edx
sub esi, ebx
mov ebx, esi
lea eax, [edi + edi]
or ebx, eax
and esi, eax
add ecx, ebx
lea eax, [esi + ecx]
mov esi, eax
mov edx, eax
neg esi
mov ebx, eax
or edx, 0x8f872b58
xor ebx, 0x8f872b58
sub edx, ebx
lea edi, [esi - 1]
mov esi, edi
xor edi, 0x7078d4a7
or esi, 0x7078d4a7
sub esi, edi
mov ebx, esi
mov edi, esi
mov ecx, esi
or ebx, edx
and edi, edx
not ecx
imul edi, ebx
mov ebx, edx
not edx
and ebx, ecx
and esi, edx
mov edx, eax
imul esi, ebx
or edx, 0x7078d4a7
mov ebx, eax
add edi, esi
sub ebx, edx
mov edx, eax
and edx, 0x7078d4a7
sub eax, edx
lea esi, [ebx + 0x7078d4a7]
lea edx, [eax + 0x7078d4a7]
mov eax, esi
mov ebx, edx
not eax
not ebx
and eax, edx
and ebx, esi
imul eax, ebx
mov ebx, esi
or ebx, edx
and esi, edx
imul esi, ebx
lea edx, [eax + esi]
mov eax, edi
and eax, edx
or edi, edx
lea ebx, [eax + edi]
neg ebx
lea esi, [ebx - 1]
mov ebx, esi
mov edx, esi
not ebx
and edx, 0x11ddac62
and ebx, 0xee22539d
imul ebx, edx
neg ebx
lea edx, [ebx - 1]
mov ebx, esi
or ebx, 0xee22539d
and esi, 0xee22539d
imul esi, ebx
sub edx, esi
lea esi, [eax + edi - 1]
not esi
mov ebx, esi
mov edi, esi
or ebx, 0xee22539c
and edi, 0xee22539c
imul edi, ebx
mov eax, esi
not eax
and esi, 0x11ddac63
and eax, 0xee22539c
neg edi
imul esi, eax
lea ebx, [edi - 1]
mov edi, edx
sub ebx, esi
not edx
xor edi, ebx
and ebx, edx
lea edx, [ebx + ebx]
sub edi, edx
mov edx, edi
mov eax, edi
mov esi, edi
not edx
mov dword [esp + 0x1894], edi
or eax, 0xeb4583f
and esi, 0xeb4583f
and edx, 0xeb4583f
and edi, 0xf14ba7c0
imul esi, eax
imul edi, edx
add esi, edi
lea ebx, [esi + esi]
xor esi, 0xdb4fcc94
and ebx, 0xb69f9928
add ebx, esi
mov esi, ebx
mov eax, ebx
mov edx, ebx
not esi
or eax, 0x775b97bf
and edx, 0x775b97bf
and esi, 0x775b97bf
and ebx, 0x88a46840
imul edx, eax
imul ebx, esi
add edx, ebx
mov ebx, dword [esp + 0x1850]
mov esi, ebx
ror esi, cl
mov edi, esi
neg edi
lea eax, [edi - 1]
not eax
mov dword [esp + 0x948], eax
mov eax, edx
not edx
xor eax, 0x36d0ee6c
lea edi, [edx + edx]
mov edx, dword [esp + 0x948]
and edi, 0x6da1dcd8
sub eax, edi
ror eax, cl
neg ecx
or edx, eax
mov eax, ebx
sub edx, dword [esp + 0x948]
not eax
mov edi, edx
xor edx, esi
or edi, esi
add edi, edi
sub edi, edx
ror edi, cl
mov ecx, dword [esp + 0x1894]
mov esi, ecx
and esi, eax
add esi, ebx
and eax, esi
lea ebx, [ebx + eax*2]
sub ebx, esi
lea edx, [ecx + ebx]
and ecx, ebx
lea ebx, [ecx + ecx]
sub edx, ebx
mov eax, edx
mov esi, edx
and eax, edi
or esi, edi
lea ecx, [edx + edi]
xor edx, eax
sub ecx, esi
mov esi, dword [esp + 0x304]
xor esi, 0x4dcacd2a
mov dword [esp + 0x189c], esi
lea ebx, [edx + edi]
lea edi, [ecx + ecx]
xor ecx, ebx
lea edx, [ebx + ebx]
or edi, edx
lea eax, [esi - 0x91d2548]
sub edi, ecx
mov ecx, dword [esp]
mov ebx, ecx
xor ebx, 0xcbf4f3d9
and ebx, 0x4bf4f3d9
mov edx, dword [esp + 0x140]
mov dword [esp + 0x1898], edi
mov edi, edx
or edi, 0x4bf4f3d9
sub edi, edx
lea esi, [ecx + ebx]
mov edx, esi
mov ebx, edi
not edx
or ebx, esi
mov dword [esp + 0x318], eax
mov eax, edi
and edx, edi
not edi
and eax, esi
and edi, esi
imul ebx, eax
imul edi, edx
mov esi, dword [esp + 0x5dc]
lea eax, [ebx + edi]
mov ebx, ecx
mov edx, esi
or ebx, 0xb40b0c26
or edx, 0x4bf4f3d9
sub ecx, ebx
xor esi, edx
xor esi, 0x4bf4f3d9
mov edi, esi
mov edx, esi
lea ecx, [ecx - 0x4bf4f3da]
or edi, ecx
and edx, ecx
mov ebx, ecx
imul edx, edi
not ebx
mov edi, esi
not esi
and edi, ebx
and esi, ecx
imul esi, edi
lea ecx, [edx + esi]
mov edx, eax
or edx, ecx
and eax, ecx
lea esi, [edx + eax]
lea edx, [esi + esi]
not edx
or edx, 0x690639fe
lea ebx, [edx + esi*2 + 1]
mov edx, esi
or edx, 0x4b7ce300
and esi, 0x4b7ce300
sub edx, esi
mov eax, ebx
mov edi, edx
not eax
neg edi
not edx
neg ebx
imul eax, edi
imul ebx, edx
not eax
not ebx
sub eax, ebx
mov ebx, eax
lea ecx, [eax - 0x6edb0514]
neg eax
mov edi, ecx
mov edx, ecx
and edi, 0x56565c69
mov esi, ecx
sub ebx, edi
or edx, 0x56565c69
xor esi, 0x56565c69
sub edx, esi
mov esi, edx
mov edi, edx
lea ebx, [ebx - 0x1884a8ab]
or esi, ebx
and edi, ebx
imul edi, esi
mov esi, edx
not esi
and esi, ebx
not ebx
and ebx, edx
imul ebx, esi
lea edx, [edi + ebx]
mov edi, ecx
xor edi, 0xa9a9a396
or ecx, 0xa9a9a396
sub ecx, edi
lea ebx, [eax + 0x6edb0513]
mov edi, ebx
mov eax, ecx
or edi, 0x56565c69
mov esi, ecx
sub edi, ebx
mov ebx, ecx
xor edi, 0x56565c69
not ecx
or eax, edi
and esi, edi
imul esi, eax
mov eax, edi
not eax
and ecx, edi
and ebx, eax
imul ecx, ebx
lea ebx, [esi + ecx]
mov ecx, edx
and ecx, ebx
xor edx, ebx
lea eax, [edx + ecx*2]
mov ebx, eax
neg ebx
lea edx, [ebx + 0x4bd29fcc]
mov ebx, eax
mov edi, edx
not ebx
neg edi
lea esi, [edi - 1]
mov edi, ebx
or edi, esi
mov esi, eax
sub edi, ebx
and esi, edx
lea ebx, [edi + edi]
mov edi, eax
or edi, edx
sub edi, esi
mov esi, ebx
mov edx, edi
not esi
neg edx
not edi
imul esi, edx
neg ebx
imul ebx, edi
not esi
not ebx
mov edx, dword [esp + 0x318]
sub esi, eax
mov eax, edx
and edx, 1
or eax, 1
mov edi, esi
sub edi, ebx
mov ebx, edi
mov dword [esp + 0x5e8], edi
or ebx, 0x62852bcb
lea esi, [eax + edx - 1]
mov eax, edi
mov edx, edi
not eax
and edx, 0x9d7ad434
and eax, 0x62852bcb
and edi, 0x62852bcb
not esi
imul eax, edx
imul edi, ebx
add edi, eax
mov ebx, edi
xor edi, 0xeaa471cf
or ebx, 0xeaa471cf
lea edx, [ebx + ebx]
sub edx, edi
mov ebx, edx
mov eax, edx
mov edi, edx
not ebx
and eax, 0x6d2f21e3
or edi, 0x6d2f21e3
and ebx, 0x6d2f21e3
and edx, 0x92d0de1c
imul edi, eax
mov eax, esi
imul edx, ebx
lea ebx, [edi + edx]
mov edi, ebx
and ebx, 0x35826673
xor edi, 0xb5826673
mov dword [esp + 0x18a0], edi
lea edx, [edi + ebx*2]
mov ebx, esi
and eax, edx
mov edi, esi
xor ebx, eax
not edi
lea eax, [ebx + edx]
add edi, edi
lea ebx, [eax + eax]
and edi, ebx
add esi, edi
sub esi, eax
mov ebx, esi
or esi, edx
and ebx, edx
not esi
mov edx, dword [esp + 0x5e8]
not ebx
ror edx, cl
sub ebx, esi
lea edi, [edx - 1]
mov eax, edi
not eax
mov edi, eax
not edi
neg edi
not edi
lea edx, [eax + eax]
not edx
sub edi, edx
rol edi, cl
mov ecx, dword [esp + 0x189c]
mov edx, dword [esp + 0x318]
mov eax, edx
and eax, edi
lea esi, [edi + ecx - 0x91d2548]
mov ecx, edx
not ecx
sub esi, eax
and ecx, edi
not edi
and edi, edx
mov edx, esi
not esi
add ecx, edi
mov edi, ebx
xor edx, ecx
lea eax, [esi + esi]
lea esi, [ecx + ecx]
and eax, esi
mov esi, ebx
sub edx, eax
xor esi, edx
mov ecx, edx
and ecx, esi
or edi, edx
mov eax, esi
xor eax, edi
mov esi, eax
not esi
add ecx, ebx
mov edi, ecx
and esi, ecx
not edi
and edi, eax
imul edi, esi
mov esi, eax
or esi, ecx
and eax, ecx
imul eax, esi
mov ecx, ebx
lea esi, [edi + eax]
mov edi, edx
neg edi
lea eax, [edi - 1]
mov edi, ebx
neg ebx
xor edi, eax
or ecx, eax
sub ecx, edi
lea edi, [ebx - 1]
mov ebx, edx
xor ebx, edi
or edx, edi
xor ebx, edx
mov edi, ecx
mov eax, ebx
not edi
not eax
mov edx, ebx
and eax, ecx
and edi, ebx
or edx, ecx
and ebx, ecx
imul edi, eax
mov ecx, esi
imul ebx, edx
mov eax, dword [esp + 0x5e8]
lea edx, [edi + ebx]
mov edi, dword [esp + 0x318]
and ecx, edx
xor esi, edx
neg edi
lea edx, [esi + ecx*2]
mov esi, eax
mov dword [esp + 0x18a4], edx
lea ebx, [edi - 1]
xor esi, ebx
mov ecx, ebx
and eax, esi
neg ecx
not ebx
lea edx, [eax + edi - 1]
mov eax, edx
neg edx
not eax
imul eax, ecx
imul edx, ebx
not eax
mov dword [esp + 0x18a8], eax
mov esi, dword [esp + 0x318]
mov eax, esi
mov ecx, dword [esp + 0x5e8]
or eax, ecx
mov edi, edx
not edi
mov ebx, dword [esp + 0x18a8]
sub ebx, edi
lea edx, [eax + eax]
sub edx, esi
sub eax, esi
sub edx, ecx
xor ecx, eax
mov esi, edx
or edx, ecx
and esi, ecx
mov edi, ebx
mov dword [esp + 0x2b4], 0
add edx, esi
mov esi, ebx
mov ecx, edx
neg esi
neg ecx
lea esi, [esi - 1]
lea eax, [ecx - 1]
mov ecx, ebx
or edi, eax
xor ecx, eax
xor edi, ecx
mov eax, edx
mov ecx, edx
xor eax, esi
or ecx, esi
mov esi, edi
sub ecx, eax
mov eax, edi
and esi, ecx
or eax, ecx
imul eax, esi
mov esi, edi
mov dword [esp + 0x18ac], eax
not esi
mov eax, ecx
not ecx
and eax, esi
and ecx, edi
lea edi, [esp + 0x18b0]
mov dword [edi], eax
mov eax, ebx
imul ecx, dword [edi]
not eax
mov edi, dword [esp + 0x18ac]
or eax, edx
add edi, ecx
mov ecx, ebx
and ecx, edx
lea esi, [ebx + eax + 1]
xor ecx, edx
mov edx, esi
lea eax, [ebx + ecx]
mov ebx, esi
or ebx, eax
and edx, eax
imul edx, ebx
mov ebx, eax
not ebx
and ebx, esi
not esi
and esi, eax
imul esi, ebx
mov ebx, dword [esp + 0x18a0]
lea ecx, [edx + esi]
lea edx, [edi + edi]
xor edi, ecx
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x18a4]
or edx, eax
lea eax, [ebx + edx]
sub eax, edi
lea edx, [ecx + ecx]
lea edi, [eax + eax]
mov esi, edi
or esi, edx
sub esi, edx
mov edx, eax
not eax
sub edx, ecx
and ecx, eax
xor esi, edi
lea edi, [edx + ecx*2]
lea edx, [esi + esi]
xor esi, edi
lea ecx, [edi + edi]
mov edi, dword [esp + 0x140]
or edx, ecx
mov eax, edi
sub edx, ebx
mov ebx, edi
sub edx, esi
mov ecx, edx
and eax, edx
not ecx
or ebx, edx
and edi, ecx
mov dword [esp + 0x18b4], edx
mov esi, dword [esp]
shrd esi, esi, 0x1c
add edi, edx
mov ecx, edi
add eax, ebx
not ecx
rol edx, cl
mov ebx, ecx
not edx
ror edx, cl
shrd edx, edx, 0x1c
imul ebx, eax
mov ecx, edx
not eax
neg ecx
not ebx
imul eax, edi
not eax
lea ecx, [ecx - 1]
mov edi, ecx
sub ebx, eax
and edi, esi
xor edi, ecx
lea eax, [edi + esi]
mov esi, edx
or esi, 1
and edx, 1
lea edi, [esi + edx]
lea edx, [eax + eax]
lea ecx, [edi + edi]
xor edi, eax
and edx, ecx
mov ecx, ebx
lea eax, [edx + edi]
mov edx, ebx
shrd eax, eax, 4
and edx, eax
mov edi, ebx
mov esi, eax
xor edi, edx
not esi
or ecx, esi
sub ecx, esi
mov esi, ecx
lea edx, [edi + eax]
mov edi, ecx
and esi, edx
or edi, edx
imul esi, edi
mov edi, edx
mov dword [esp + 0x18b8], esi
not edi
mov esi, ecx
not ecx
and esi, edi
and ecx, edx
lea edx, [esp + 0x18bc]
mov dword [edx], esi
mov esi, eax
imul ecx, dword [edx]
neg esi
mov edx, dword [esp + 0x18b8]
lea esi, [esi - 1]
lea edi, [edx + ecx]
mov ecx, ebx
mov edx, ebx
neg ebx
or ecx, esi
xor edx, esi
sub ecx, edx
lea edx, [ebx - 1]
or edx, eax
lea esi, [eax + ebx - 1]
sub esi, edx
mov eax, ecx
mov ebx, ecx
and eax, esi
or ebx, esi
mov edx, ecx
imul ebx, eax
mov eax, esi
not eax
not ecx
and edx, eax
and ecx, esi
imul ecx, edx
mov eax, edi
lea edx, [ebx + ecx]
or eax, edx
and edi, edx
lea edx, [eax + edi]
mov edi, dword [esp]
mov esi, edi
mov ebx, edi
mov ecx, edi
and esi, 0xd5a177ef
mov dword [esp + 0x18c0], edx
or ebx, 0xd5a177ef
mov edx, dword [esp + 0x140]
and ecx, 0x2a5e8810
and edx, 0xd5a177ef
imul ebx, esi
imul edx, ecx
lea esi, [ebx + edx]
mov eax, esi
not esi
xor eax, 0x3ddb737f
lea edx, [esi + esi]
and edx, 0x7bb6e6fe
sub eax, edx
mov ecx, eax
mov edx, eax
or ecx, 0xf2f4970f
and edx, 0xf2f4970f
imul edx, ecx
mov ecx, eax
not eax
and ecx, 0xd0b68f0
and eax, 0xf2f4970f
imul eax, ecx
mov ecx, dword [esp + 0x18b4]
lea esi, [edx + eax]
mov ebx, esi
xor esi, 0xcbf8528f
and ebx, 0x3407ad70
mov edx, ecx
shld edx, ecx, 0xe
add ebx, ebx
sub ebx, esi
shld ebx, ebx, 0xe
mov eax, ebx
not eax
and eax, edx
add eax, ebx
mov esi, eax
not eax
and eax, edx
xor esi, edx
lea edx, [eax + eax]
sub esi, edx
lea eax, [esi + ebx]
and esi, ebx
mov ebx, ecx
neg ebx
lea edx, [esi + esi]
sub eax, edx
shld eax, eax, 0x12
mov esi, eax
lea edx, [ebx - 1]
not edx
mov ebx, ecx
or edi, edx
neg esi
sub edi, edx
xor ebx, edi
and ecx, edi
lea edx, [ebx + ecx*2]
mov dword [esp + 0x18c4], edx
mov ecx, edx
neg edx
not ecx
lea ebx, [esi - 1]
mov esi, ecx
or esi, ebx
sub esi, ecx
lea edx, [edx - 1]
not edx
mov ebx, esi
mov edi, edx
not ebx
or edi, eax
sub edi, edx
mov edx, esi
and ebx, edi
mov dword [esp + 0x18c8], ebx
mov ebx, edi
not ebx
and edx, ebx
mov ebx, edi
or ebx, esi
and edi, esi
imul edx, dword [esp + 0x18c8]
imul edi, ebx
lea ebx, [edx + edi]
mov edx, dword [esp + 0x18c4]
mov edi, ecx
or edi, eax
sub edi, ecx
lea ecx, [edx + eax]
and edx, eax
mov eax, edi
sub ecx, edx
mov edx, edi
or eax, ecx
and edx, ecx
imul edx, eax
mov eax, edi
not eax
mov esi, ecx
not ecx
and esi, eax
and edi, ecx
imul edi, esi
lea esi, [ebx + ebx]
lea ecx, [edx + edi]
xor ebx, ecx
lea edx, [ecx + ecx]
and edx, esi
add ebx, edx
mov edx, dword [esp + 0x18c0]
lea ecx, [edx + edx]
mov edi, ecx
lea eax, [edx + ebx]
lea edx, [ebx + ebx]
mov ebx, ecx
or ebx, edx
and edi, edx
sub ebx, ecx
sub eax, edi
xor ebx, edx
mov ecx, ebx
and ebx, eax
or ecx, eax
mov edx, dword [esp + 0x1898]
mov esi, edx
or esi, 0x17c93103
lea eax, [ecx + ebx]
mov ebx, edx
mov ecx, edx
not ebx
and ecx, 0x17c93103
and ebx, 0x17c93103
and edx, 0xe836cefc
imul ecx, esi
imul edx, ebx
add ecx, edx
lea edx, [ecx + ecx]
xor ecx, 0xdd63b9be
or edx, 0xbac7737c
sub edx, ecx
mov ecx, edx
mov edi, edx
mov esi, edx
not ecx
and edi, 0x53e3c1ab
or esi, 0x53e3c1ab
and ecx, 0x53e3c1ab
and edx, 0xac1c3e54
imul esi, edi
lea edi, [eax + eax]
imul edx, ecx
lea ebx, [esi + edx]
mov esi, edi
mov edx, edi
lea ecx, [ebx + ebx]
or ecx, 0x43c1602c
xor ebx, 0xa1e0b016
sub ecx, ebx
lea ebx, [ecx + ecx]
and esi, ebx
xor edx, ebx
or edi, ebx
sub edi, eax
sub edi, ecx
mov ecx, dword [esp]
add edx, esi
mov eax, edx
not eax
imul eax, edi
not edi
imul edi, edx
imul edx, ecx, 0xa7a00000
sub eax, edi
mov dword [esp + 0x18cc], eax
mov dword [esp + 0x7c8], edx
mov dword [esp + 0x28c], ecx
test ecx, ecx
je 0x100174ac
test byte [esp + 0x7c8], 1
je 0x10017492
mov ecx, dword [esp + 0x28c]
mov edx, ecx
not edx
mov ebx, ecx
mov edi, ecx
mov esi, edx
and ebx, 0x6319b36f
or edi, 0x6319b36f
and ecx, 0x9ce64c90
and esi, 0x6319b36f
imul edi, ebx
imul esi, ecx
add edi, esi
mov eax, edi
xor edi, 0xe910523f
and eax, 0x16efadc0
add eax, eax
sub eax, edi
mov ecx, eax
mov ebx, eax
not ecx
mov edi, eax
and ebx, 0xae7ef470
and ecx, 0x51810b8f
or edi, 0x51810b8f
and eax, 0x51810b8f
imul ecx, ebx
imul eax, edi
add ecx, eax
mov esi, ecx
and ecx, 0x4465a631
or esi, 0x4465a631
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x2b4]
add ebx, ebx
mov edi, ebx
mov esi, ebx
not edi
and esi, 0x241fcc64
and edi, 0xdbe0339b
lea eax, [ecx + ecx]
imul esi, edi
mov edi, ebx
and edi, 0xdbe0339b
or ebx, 0xdbe0339b
imul ebx, edi
lea edi, [esi + ebx]
mov esi, edi
and edi, 0xdb43403f
or esi, 0xdb43403f
add edi, esi
mov esi, edi
mov ebx, edi
not esi
and ebx, 0x1e18056c
and esi, 0xe1e7fa93
imul esi, ebx
mov ebx, edi
and ebx, 0xe1e7fa93
or edi, 0xe1e7fa93
imul edi, ebx
lea ebx, [esi + edi]
mov esi, eax
mov edi, ebx
and ebx, 0x13cb95d3
or edi, 0x13cb95d3
add ebx, edi
mov edi, eax
and esi, ebx
or edi, ebx
xor eax, ebx
add edi, esi
add esi, eax
mov eax, edi
mov ebx, esi
not eax
neg ebx
not esi
neg edi
imul eax, ebx
mov ebx, edx
imul edi, esi
mov esi, ecx
not eax
neg esi
not edi
sub eax, edi
lea edi, [esi - 1]
mov esi, ecx
or ebx, edi
not esi
sub ebx, edx
imul ecx, edx
not ecx
lea edi, [ebx + ebx]
mov ebx, dword [esp + 0x28c]
imul ebx, esi
not ebx
sub ebx, ecx
mov edx, ebx
xor ebx, edi
not edx
lea ecx, [edx + edx]
lea edx, [edi + edi]
and ecx, edx
lea edi, [eax + eax]
sub ecx, ebx
mov ebx, eax
mov edx, eax
or ebx, ecx
sub ebx, ecx
xor ebx, eax
lea esi, [ecx + ecx]
and esi, edi
sub edx, esi
lea eax, [ebx + ebx]
add edx, ecx
mov ecx, edx
and edx, eax
xor ecx, eax
lea eax, [ecx + edx*2]
mov dword [esp + 0x2b4], eax
shr dword [esp + 0x7c8], 1
lea edx, [esp + 0x28c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10017306
mov eax, dword [esp]
mov ebx, eax
mov edi, eax
and ebx, 1
xor edi, 1
mov edx, dword [esp + 0x2b4]
mov ecx, edx
lea edi, [edi + ebx*2]
mov ebx, edx
not edi
lea edi, [edi + 1]
and ebx, edi
or ecx, edi
mov esi, ebx
not ecx
not esi
xor ebx, edi
sub esi, ecx
add ebx, edx
lea edi, [esi + ebx]
add esi, esi
lea ecx, [ebx + ebx]
and esi, ecx
mov ecx, ebx
rol edx, cl
sub edi, esi
not edx
neg ebx
lea edx, [edx + 1]
mov esi, edx
xor edx, 1
not esi
add esi, esi
mov dword [esp + 0x1a38], esi
mov ecx, esi
rol eax, cl
and ecx, 2
sub edx, ecx
mov ecx, ebx
rol edx, cl
mov ecx, esi
mov ebx, eax
rol edx, cl
not ebx
and ebx, edx
add ebx, eax
mov ecx, ebx
not ebx
and ebx, eax
xor ecx, eax
mov eax, ecx
mov ecx, esi
add ebx, ebx
sub eax, ebx
mov ebx, eax
not ebx
and ebx, edx
not edx
and eax, edx
lea edx, [ebx + eax]
mov eax, edi
ror edx, cl
mov ecx, edi
not ecx
or eax, edx
and ecx, edx
sub eax, edi
xor eax, edx
mov esi, eax
not esi
lea ebx, [edi + ecx]
mov ecx, ebx
and esi, ebx
not ecx
and ecx, eax
imul esi, ecx
mov ecx, eax
and ecx, ebx
or eax, ebx
imul eax, ecx
mov ecx, edi
neg ecx
lea ebx, [esi + eax]
lea ecx, [ecx - 1]
mov eax, ecx
or ecx, edx
xor eax, edx
neg edx
sub ecx, eax
lea esi, [edx - 1]
mov edx, edi
xor edx, esi
or edi, esi
sub edi, edx
mov esi, ecx
mov eax, edi
not esi
not eax
mov edx, edi
and esi, edi
and eax, ecx
and edx, ecx
or edi, ecx
imul eax, esi
imul edi, edx
lea edx, [eax + edi]
mov ecx, edx
lea edi, [edx + edx]
xor ecx, ebx
add ebx, ebx
and ebx, edi
lea edx, [ecx + ebx]
mov dword [esp + 0x1a3c], edx
mov edx, dword [esp + 0x2b4]
mov eax, edx
mov edi, edx
mov ebx, edx
not eax
mov esi, edx
and edi, 0x99565e7f
or ebx, 0x99565e7f
and eax, 0x99565e7f
and esi, 0x66a9a180
imul ebx, edi
imul esi, eax
add ebx, esi
lea edi, [ebx + ebx]
xor ebx, 0xe5d743ec
and edi, 0x34517826
sub edi, ebx
mov eax, edi
mov ecx, edi
not eax
mov ebx, edi
and ecx, 0x4ed89e80
and eax, 0xb127617f
and ebx, 0xb127617f
or edi, 0xb127617f
imul eax, ecx
imul edi, ebx
lea esi, [eax + edi]
mov eax, esi
xor esi, 0xe484e1ec
and eax, 0x1b7b1e13
lea edi, [eax + eax]
mov eax, dword [esp]
sub edi, esi
mov ecx, eax
shrd edi, edi, 1
shrd ecx, eax, 1
mov ebx, edi
neg ebx
lea ebx, [ebx - 1]
mov esi, ebx
and ebx, ecx
xor esi, ecx
mov ecx, edi
and ecx, 1
xor edi, 1
add ebx, esi
lea edi, [edi + ecx*2]
mov ecx, dword [esp + 0x1a38]
mov esi, edi
and edi, ebx
or esi, ebx
ror edx, cl
ror eax, cl
mov ebx, edx
or ebx, eax
neg ecx
add esi, edi
mov edi, edx
xor edi, eax
sub ebx, edi
mov edi, eax
not edi
and edi, edx
not edx
and edx, eax
mov eax, ebx
shld esi, esi, 1
add edi, edx
and eax, edi
or ebx, edi
mov edi, esi
not edi
and edi, 0xe08a3a9d
lea edx, [eax + ebx]
mov ebx, esi
ror edx, cl
mov ecx, esi
and ecx, 0x1f75c562
and ebx, 0xe08a3a9d
or esi, 0xe08a3a9d
imul ecx, edi
imul esi, ebx
lea eax, [ecx + esi]
mov edi, eax
not edi
imul edi, edi, 0x96e574fe
imul ebx, eax, 0x96e574ff
lea esi, [edi + ebx]
mov ebx, esi
mov ecx, esi
not ebx
mov edi, esi
and ecx, 0x6c71e44a
and ebx, 0x938e1bb5
or edi, 0x938e1bb5
and esi, 0x938e1bb5
imul ebx, ecx
imul esi, edi
mov edi, edx
lea eax, [ebx + esi]
neg edi
lea ebx, [eax + eax]
and ebx, 0x44ed032a
xor eax, 0x5d897e6a
sub ebx, eax
mov esi, ebx
not esi
lea ecx, [edi - 1]
mov edi, ebx
neg edi
mov dword [esp + 0x1a40], esi
or esi, ecx
lea edi, [edi - 1]
lea ecx, [ebx + esi + 1]
mov esi, edi
or esi, edx
xor esi, edx
xor esi, edi
mov eax, esi
mov edi, esi
and eax, ecx
or edi, ecx
imul edi, eax
mov eax, ecx
not eax
and eax, esi
not esi
and esi, ecx
imul esi, eax
mov ecx, dword [esp + 0x1a40]
lea eax, [edi + esi]
mov esi, ebx
and ecx, edx
or esi, edx
xor esi, ebx
xor esi, edx
mov edx, esi
add ecx, ebx
mov edi, esi
or edx, ecx
and edi, ecx
lea ebx, [eax + eax]
imul edi, edx
mov edx, esi
not edx
and edx, ecx
not ecx
and ecx, esi
imul ecx, edx
lea esi, [edi + ecx]
mov ecx, dword [esp]
lea edi, [esi + esi]
xor esi, eax
or edi, ebx
sub edi, esi
mov esi, dword [esp + 0x1a3c]
mov eax, edi
and eax, esi
mov edx, edi
or edx, esi
lea ebx, [edi + esi]
xor edi, esi
sub ebx, eax
xor edx, edi
mov esi, ebx
xor ebx, edx
and esi, edx
mov edx, dword [esp + 0x18cc]
mov edi, edx
not edi
and edi, 0xa7bef01d
lea eax, [ebx + esi*2]
mov ebx, edx
imul ecx, eax
mov eax, edx
and ebx, 0x58410fe2
and eax, 0xa7bef01d
or edx, 0xa7bef01d
imul edi, ebx
imul edx, eax
mov dword [esp + 0x1a44], ecx
lea ecx, [edi + edx]
mov esi, ecx
not esi
imul edi, esi, 0xcbad1a55
imul ebx, ecx, 0x3452e5ac
not edi
not ebx
sub edi, ebx
mov edx, edi
mov eax, edi
not edx
mov ebx, edi
and eax, 0x4864adca
and edx, 0xb79b5235
and ebx, 0xb79b5235
or edi, 0xb79b5235
imul edx, eax
imul edi, ebx
lea esi, [edx + edi]
mov ecx, esi
xor esi, 0xae435267
and ecx, 0x2e435267
lea esi, [esi + ecx*2]
mov ebx, esi
mov eax, esi
xor ebx, 0xbc79774d
and eax, 0xbc79774d
mov ecx, esi
or ecx, 0xbc79774d
sub ecx, esi
xor ecx, 0xbc79774d
lea edx, [ebx + eax]
mov edi, edx
mov eax, ecx
not edi
mov ebx, ecx
not eax
and ebx, edi
mov edi, ecx
and eax, edx
and edi, edx
or ecx, edx
imul ebx, eax
mov eax, esi
imul ecx, edi
or eax, 0x438688b2
lea edx, [ebx + ecx]
lea ebx, [eax - 0x438688b2]
xor ebx, esi
neg esi
mov ecx, ebx
lea edi, [esi - 1]
mov eax, edi
or eax, 0xbc79774d
sub edi, eax
lea esi, [edi - 0x438688b3]
mov edi, ebx
or ecx, esi
and edi, esi
mov eax, esi
imul edi, ecx
not eax
mov ecx, ebx
not ebx
and ecx, eax
and ebx, esi
imul ebx, ecx
lea esi, [edi + ebx]
mov eax, esi
lea edi, [esi + esi]
xor eax, edx
add edx, edx
and edi, edx
add eax, edi
mov ecx, eax
mov edi, eax
not ecx
and edi, 0x24decbbc
and ecx, 0xdb213443
mov edx, eax
imul ecx, edi
mov esi, eax
neg eax
and edx, 0xdb213443
or esi, 0xdb213443
neg ecx
imul esi, edx
mov dword [esp + 0x1a48], edx
lea edi, [eax - 1]
mov eax, edi
lea ebx, [ecx - 1]
sub ebx, esi
mov edx, edi
mov esi, edi
or eax, 0x24decbbc
and edi, 0x24decbbc
not edx
imul edi, eax
and edx, 0x24decbbc
and esi, 0xdb213443
neg edi
imul esi, edx
mov dword [esp + 0x1a4c], esi
lea ecx, [edi - 1]
sub ecx, esi
mov edi, ebx
not ebx
xor edi, ecx
lea edx, [ecx + ecx]
add ebx, ebx
and edx, ebx
sub edi, edx
mov eax, edi
neg eax
lea ecx, [eax - 1]
mov esi, ecx
or esi, 0x92f89985
lea edx, [esi + 0x6d07667b]
mov esi, edi
or esi, 0x92f89985
xor edx, ecx
mov ecx, edx
mov ebx, edx
mov dword [esp + 0x18d0], esi
lea eax, [esi + 0x6d07667b]
and ecx, eax
or ebx, eax
imul ebx, ecx
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
mov edx, edi
imul eax, ecx
xor edx, 0x92f89985
and edi, edx
lea ecx, [ebx + eax]
mov eax, esi
xor eax, edx
mov ebx, eax
lea edx, [edi - 0x6d07667b]
mov edi, eax
or ebx, edx
and edi, edx
imul edi, ebx
mov ebx, edx
mov dword [esp + 0x1a50], edi
not ebx
mov edi, eax
not eax
and edi, ebx
and eax, edx
lea edx, [esp + 0x1a54]
mov dword [edx], edi
mov edi, ecx
imul eax, dword [edx]
add ecx, ecx
mov edx, dword [esp + 0x1a50]
lea ebx, [edx + eax]
xor edi, ebx
add ebx, ebx
and ecx, ebx
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x1a4c]
lea eax, [ecx - 0x1a5ccb54]
mov edx, eax
mov edi, eax
xor edx, ebx
or edi, ebx
sub edi, edx
mov edx, ebx
not edx
and edx, eax
lea eax, [edx + ebx]
mov ebx, edi
xor ebx, eax
lea edx, [eax + eax]
sub ebx, ecx
add edi, edi
and edx, edi
mov ecx, esi
not esi
mov edi, dword [esp + 0x1a44]
lea eax, [ebx + edx]
mov ebx, eax
not ebx
imul ecx, ebx
imul esi, eax
sub ecx, esi
mov edx, ecx
mov esi, ecx
not edx
mov ebx, edx
and ebx, edi
lea eax, [ecx + ebx]
xor esi, eax
lea ebx, [edx + edx]
shld ecx, ecx, 9
lea edx, [eax + eax]
mov eax, edi
and ebx, edx
not eax
sub ebx, esi
mov esi, ebx
not ebx
and esi, eax
and ebx, edi
shld edi, edi, 9
mov edx, edi
or edx, ecx
add esi, ebx
mov ebx, edi
xor ebx, ecx
sub edx, ebx
lea ebx, [edx + edx]
mov edx, ebx
xor edx, ecx
not ecx
and ecx, ebx
lea ebx, [ecx + ecx]
sub edx, ebx
mov eax, edx
or edx, edi
and eax, edi
mov edi, dword [esp + 0x1a48]
lea ebx, [edi + esi]
add eax, edx
shrd eax, eax, 9
lea ecx, [ebx + esi]
mov edx, ecx
xor edx, eax
mov esi, edx
and esi, eax
lea ebx, [esi + ecx]
or ecx, eax
sub ecx, edx
lea edx, [ebx + ebx]
mov dword [esp + 0x1a58], ecx
lea eax, [ecx + ecx]
and eax, edx
sub eax, edi
mov edx, ebx
xor edx, dword [esp + 0x1a58]
mov esi, eax
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edi, ebx
and ecx, 0xd67e485d
or edi, 0xd67e485d
lea eax, [esi + edx]
mov edx, dword [esp + 0x160]
and ebx, 0x2981b7a2
and edx, 0xd67e485d
imul edi, ecx
imul edx, ebx
mov dword [esp + 0x18d4], eax
lea esi, [edi + edx]
mov dword [esp + 0x2b8], 0
lea edi, [esi + esi]
and edi, 0x3f460b8e
xor esi, 0x605cfa38
sub edi, esi
mov eax, edi
mov ecx, edi
not eax
mov edx, edi
and ecx, 0xb60340a
and eax, 0xf49fcbf5
or edx, 0xf49fcbf5
and edi, 0xf49fcbf5
imul eax, ecx
imul edi, edx
mov dword [esp + 0x4e0], 0x107ab800
lea ebx, [eax + edi]
mov esi, ebx
or ebx, 0xbc2ddf98
and esi, 0xbc2ddf98
lea edi, [esi + ebx]
mov eax, edi
mov ecx, edi
and eax, 0x5724ff3b
mov edx, edi
xor eax, 0x5724ff3b
or ecx, 0x5724ff3b
xor edx, 0x5724ff3b
xor ecx, edx
mov ebx, ecx
mov esi, ecx
mov edx, ecx
add eax, edi
not ebx
or esi, eax
and edx, eax
and ebx, eax
not eax
and ecx, eax
imul edx, esi
imul ecx, ebx
lea eax, [edx + ecx]
mov ecx, edi
or ecx, 0xa8db00c4
xor ecx, edi
neg edi
xor ecx, 0xa8db00c4
mov ebx, ecx
lea edx, [edi - 1]
mov edi, ecx
mov esi, edx
or esi, 0x5724ff3b
xor esi, 0x5724ff3b
xor esi, edx
mov edx, ecx
not edx
or ebx, esi
and edi, esi
and edx, esi
not esi
and esi, ecx
imul edi, ebx
imul esi, edx
add edi, esi
lea edx, [eax + eax]
xor eax, edi
lea ecx, [edi + edi]
and edx, ecx
lea ecx, [edx + eax]
neg ecx
lea eax, [edx + eax - 0xcb1b570]
not eax
lea ecx, [ecx + 0xcb1b56f]
mov ebx, ecx
mov esi, ecx
not ebx
and esi, 0x5f123dbf
and ebx, 0xa0edc240
mov edi, ecx
imul esi, ebx
or edi, 0xa0edc240
and ecx, 0xa0edc240
neg esi
imul ecx, edi
lea ebx, [esi - 1]
sub ebx, ecx
lea esi, [eax + 1]
mov ecx, esi
mov edi, esi
mov edx, esi
not ecx
and edi, 0xa0edc23f
or edx, 0xa0edc23f
and ecx, 0xa0edc23f
and esi, 0x5f123dc0
imul edx, edi
imul esi, ecx
mov ecx, ebx
add edx, esi
neg edx
not ebx
lea eax, [edx - 1]
xor ecx, eax
lea edi, [edx + edx - 2]
lea edx, [ebx + ebx]
and edi, edx
sub ecx, edi
lea ecx, [ecx + 0xcb1b570]
mov eax, ecx
mov edi, ecx
neg eax
mov edx, ecx
or edi, 0x40807e0c
xor edx, 0x40807e0c
mov dword [esp + 0x1a5c], edi
xor edi, edx
lea esi, [eax - 1]
mov eax, edi
mov ebx, esi
or ebx, 0xbf7f81f3
sub ebx, esi
xor ebx, 0xbf7f81f3
mov esi, ebx
mov edx, ebx
not esi
or edx, edi
and eax, esi
mov esi, ebx
and esi, edi
not edi
and edi, ebx
imul esi, edx
imul edi, eax
mov edx, dword [esp + 0x1a5c]
lea ebx, [esi + edi]
mov dword [esp + 0x1a60], eax
mov eax, ecx
and eax, 0xbf7f81f3
xor ecx, 0xbf7f81f3
lea edi, [edx - 0x40807e0c]
mov edx, edi
mov esi, edi
not edx
add ecx, eax
mov eax, edi
or esi, ecx
and eax, ecx
and edx, ecx
not ecx
and ecx, edi
imul eax, esi
imul ecx, edx
mov edx, ebx
lea edi, [eax + ecx]
or edx, edi
and ebx, edi
add ebx, edx
mov esi, ebx
mov eax, ebx
mov ecx, ebx
or esi, 0x51ae5d40
and eax, 0x51ae5d40
xor ecx, 0x51ae5d40
xor esi, 0x51ae5d40
xor esi, ebx
lea edi, [eax + ecx]
mov eax, esi
xor eax, edi
lea edx, [edi + edi]
lea ebx, [esi + esi]
and edx, ebx
mov ebx, dword [esp + 4]
mov ecx, ebx
shrd ecx, ebx, 0x11
mov dword [esp + 0x97c], ecx
lea edi, [eax + edx]
mov eax, edi
shrd eax, edi, 0x11
mov esi, eax
neg esi
mov dword [esp + 0x1a64], edi
lea edx, [esi - 1]
not edx
and edx, ecx
mov ecx, eax
or ecx, 1
and eax, 1
lea edx, [edx + esi - 1]
add ecx, eax
mov eax, dword [esp + 0x160]
mov esi, ecx
xor ecx, edx
or esi, edx
mov edx, ebx
or edx, edi
sub edx, ebx
xor edx, edi
sub ebx, edx
and eax, edx
lea edx, [edi + edi]
add esi, esi
sub esi, ecx
shld esi, esi, 0x11
lea eax, [ebx + eax*2]
xor edi, eax
lea ebx, [eax + eax]
or ebx, edx
sub ebx, edi
mov ecx, ebx
mov edx, ebx
and ecx, esi
or edx, esi
xor ecx, esi
lea eax, [ebx + esi]
sub eax, edx
lea edx, [ebx + ecx]
mov ecx, eax
mov edi, edx
not ecx
not edi
and ecx, edx
and edi, eax
imul ecx, edi
mov edi, eax
and edi, edx
or eax, edx
mov edx, ebx
neg edx
imul eax, edi
lea edx, [edx - 1]
lea edi, [ecx + eax]
mov eax, edx
or eax, esi
xor edx, esi
neg esi
xor eax, edx
mov ecx, ebx
lea edx, [esi - 1]
mov esi, eax
or ecx, edx
xor ebx, edx
sub ecx, ebx
mov edx, eax
or esi, ecx
and edx, ecx
mov ebx, eax
imul edx, esi
not ebx
mov esi, ecx
not ecx
and esi, ebx
and eax, ecx
imul eax, esi
lea ecx, [edi + edi]
mov esi, dword [esp + 0x1a64]
lea ebx, [edx + eax]
lea edx, [ebx + ebx]
xor ebx, edi
and edx, ecx
mov ecx, dword [esp + 0x1a60]
lea edi, [edx + ebx]
mov ebx, dword [esp + 0x154]
rol ebx, cl
mov edx, esi
neg ebx
not esi
rol edx, cl
mov dword [esp + 0x1a68], edi
lea eax, [ebx - 1]
lea edi, [edx + ebx - 1]
mov ebx, eax
and ebx, edx
sub edi, ebx
mov edx, edi
not edi
and edi, eax
xor edx, eax
lea eax, [edi + edi]
mov edi, dword [esp + 0x1bc]
sub edx, eax
lea eax, [esi + 1]
not eax
ror edx, cl
neg eax
not eax
lea ecx, [esi + esi + 2]
not ecx
sub eax, ecx
mov esi, dword [esp + 4]
mov ecx, esi
xor ecx, eax
lea ebx, [eax + eax]
or edi, ebx
sub edi, esi
and esi, ecx
sub edi, eax
lea ebx, [esi + eax]
lea eax, [edi + ebx]
and edi, ebx
add edi, edi
sub eax, edi
mov esi, eax
mov ecx, eax
xor esi, edx
or ecx, edx
and esi, eax
sub ecx, edx
xor ecx, eax
mov ebx, ecx
mov edi, ecx
add esi, edx
and ebx, esi
or edi, esi
imul edi, ebx
mov ebx, ecx
not ebx
and ebx, esi
not esi
and esi, ecx
mov ecx, eax
imul esi, ebx
neg ecx
add edi, esi
mov esi, edx
neg edx
not esi
mov ebx, esi
lea ecx, [ecx - 1]
or ebx, ecx
mov ecx, eax
sub ebx, esi
lea edx, [edx - 1]
or ecx, edx
xor eax, edx
xor ecx, eax
mov edx, ebx
mov esi, ecx
mov eax, ecx
not esi
or eax, ebx
and edx, esi
mov esi, ebx
not esi
and esi, ecx
and ecx, ebx
imul esi, edx
imul ecx, eax
lea edx, [esi + ecx]
mov ebx, edx
xor edx, edi
or ebx, edi
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x1a68]
sub ecx, edx
lea eax, [ebx + ebx]
lea edi, [ecx + ecx]
mov edx, edi
mov esi, edi
xor edx, eax
and esi, eax
mov eax, ebx
not ebx
sub eax, ecx
add edx, esi
lea ecx, [ebx + ebx]
and edi, ecx
lea ecx, [eax + edi]
mov eax, ecx
xor ecx, edx
not eax
and eax, edx
mov edx, dword [esp + 4]
lea ebx, [eax + eax]
sub ebx, ecx
imul edx, ebx
mov dword [esp + 0x7cc], edx
test byte [esp + 0x7cc], 1
je 0x10017fc5
mov ecx, dword [esp + 0x2b8]
mov edx, dword [esp + 0x4e0]
mov edi, edx
lea eax, [ecx + ecx]
mov ecx, edx
rol edi, cl
mov esi, eax
mov ebx, edi
neg ebx
rol esi, cl
shld eax, eax, 0x14
lea ebx, [ebx - 1]
mov ecx, ebx
or ecx, esi
xor ecx, ebx
xor ecx, esi
mov esi, ecx
and ecx, edi
or esi, edi
mov edi, eax
neg edi
lea ebx, [esi + ecx]
mov ecx, edx
shld edx, edx, 0x14
mov esi, edx
lea edi, [edi - 1]
not esi
neg ecx
and esi, edi
rol ebx, cl
lea edi, [esi + edx]
lea esi, [eax + eax]
xor eax, 1
or esi, 2
sub esi, eax
mov edx, esi
xor edx, edi
add edi, edi
lea eax, [esi + esi]
and edi, eax
lea esi, [edx + edi]
mov edi, ebx
shrd esi, esi, 0x14
or edi, esi
mov edx, ebx
sub edi, esi
and edx, esi
xor edi, ebx
xor ebx, esi
mov eax, edi
lea esi, [edx + ebx]
and eax, esi
xor edi, esi
lea esi, [edi + eax*2]
lea edi, [esp + 0x2b8]
mov eax, dword [edi]
not eax
lea edx, [esi + esi]
lea ecx, [eax + eax + 2]
or edx, ecx
lea ecx, [eax + 1]
xor ecx, esi
sub edx, ecx
mov dword [edi], edx
shr dword [esp + 0x7cc], 1
lea edx, [esp + 0x4e0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10017f12
mov eax, dword [esp + 4]
mov dword [esp + 0x4e4], eax
mov dword [esp + 0x554], 0
test eax, eax
je 0x100182ea
mov dword [esp + 0x7d0], 0xbb3f6f65
test byte [esp + 0x7d0], 1
je 0x100182d0
mov eax, dword [esp + 0x4e4]
mov ebx, eax
neg ebx
mov ecx, eax
or ecx, 0x3df0895b
xor eax, 0x3df0895b
mov dword [esp + 0x10d4], ecx
lea edi, [ebx - 1]
mov edx, edi
lea esi, [ecx - 0x3df0895b]
or edx, 0x3df0895b
lea ebx, [edx - 0x3df0895b]
xor edi, ebx
mov ecx, edi
mov ebx, edi
not ecx
mov edx, edi
and ecx, esi
or ebx, esi
and edx, esi
not esi
and esi, edi
imul edx, ebx
imul esi, ecx
mov dword [esp + 0x10d8], ecx
add edx, esi
mov esi, dword [esp + 0x10d4]
mov edi, esi
sub edi, eax
mov ebx, esi
mov eax, edi
not ebx
not eax
mov ecx, esi
and ebx, edi
and ecx, eax
imul ecx, ebx
mov ebx, edi
or ebx, esi
and edi, esi
imul edi, ebx
lea esi, [ecx + edi]
mov ebx, esi
xor esi, edx
and ebx, edx
lea ecx, [esi + ebx*2]
mov edx, ecx
mov ebx, ecx
not edx
mov eax, ecx
and edx, 0x11215cbc
and ebx, 0xeedea343
or eax, 0x11215cbc
sub ecx, eax
lea esi, [edx + ebx]
mov ebx, esi
lea edi, [ecx + ecx + 0x2242b978]
or ebx, edi
and esi, edi
lea ecx, [ebx + esi]
lea ebx, [ecx + 0x15d3e856]
mov edx, ebx
mov esi, ebx
or edx, 0xb2ac7ed3
mov edi, ebx
sub edx, ecx
and esi, 0xb2ac7ed3
xor edi, 0xb2ac7ed3
neg ecx
lea eax, [edx - 0x15d3e856]
xor eax, 0xb2ac7ed3
add edi, esi
mov edx, eax
mov esi, edi
not edx
not esi
and edx, edi
mov dword [esp + 0x10dc], edx
mov edx, eax
and edx, esi
mov esi, eax
or esi, edi
and eax, edi
imul eax, esi
mov esi, ebx
imul edx, dword [esp + 0x10dc]
or esi, 0x4d53812c
lea edi, [edx + eax]
xor esi, 0x4d53812c
mov eax, edi
xor esi, ebx
lea ebx, [ecx - 0x15d3e857]
or ebx, 0x4d53812c
lea ecx, [ebx - 0x4d53812c]
mov ebx, esi
mov edx, ecx
not edx
and ebx, edx
mov edx, esi
not edx
and edx, ecx
imul edx, ebx
mov ebx, esi
and ebx, ecx
or esi, ecx
imul esi, ebx
lea ecx, [edx + esi]
and eax, ecx
xor edi, ecx
lea ecx, [edi + eax*2]
mov ebx, ecx
mov edx, ecx
not ebx
mov esi, ecx
and ebx, 0xfe6f5367
and edx, 0x190ac98
and esi, 0xfe6f5367
or ecx, 0xfe6f5367
imul edx, ebx
imul ecx, esi
lea edi, [edx + ecx]
lea eax, [edi + edi]
xor edi, 0x8dea0f3
and eax, 0x11bd41e6
lea ecx, [eax + edi]
mov ebx, ecx
mov edx, ecx
not ebx
mov esi, ecx
and edx, 0x61c0e7a8
and ebx, 0x9e3f1857
or esi, 0x9e3f1857
and ecx, 0x9e3f1857
imul ebx, edx
imul ecx, esi
lea eax, [ebx + ecx]
mov edx, eax
xor eax, 0x788c7a95
and edx, 0x773856a
lea ecx, [edx + edx]
sub ecx, eax
mov eax, dword [esp + 0x10d8]
mov ebx, ecx
mov edi, ecx
neg ecx
lea edx, [eax - 0x3fc1362a]
and ebx, edx
or edi, edx
not ebx
lea esi, [ecx - 1]
mov ecx, edx
xor edx, esi
or ecx, esi
not edi
xor ecx, edx
sub ebx, edi
mov esi, ebx
neg ebx
not esi
lea edi, [ecx + ecx]
mov edx, edi
not edi
neg edx
imul esi, edx
imul ebx, edi
not esi
not ebx
mov edi, dword [esp + 0x554]
add esi, eax
mov eax, esi
sub eax, ebx
imul esi, eax, 0xba56504e
not eax
imul ebx, eax, 0x45a9afb1
not esi
not ebx
sub esi, ebx
lea eax, [edi + edi]
mov ecx, eax
lea edx, [esi + esi]
neg edx
lea ebx, [edx - 1]
and ecx, ebx
xor eax, ebx
lea edx, [ecx + eax]
mov ecx, ebx
not ecx
lea eax, [edi + esi]
imul ecx, edx
not edx
imul edx, ebx
not ecx
not edx
sub ecx, edx
mov edx, edi
mov ebx, edi
or edi, esi
sub eax, edi
and edx, esi
xor ebx, esi
mov esi, ecx
lea edi, [ecx + ecx]
add eax, eax
lea ebx, [ebx + edx*2]
mov edx, eax
not edx
imul edx, ebx
not ebx
imul ebx, eax
not edx
not ebx
sub edx, ebx
or esi, edx
sub esi, edx
xor esi, ecx
lea eax, [edx + edx]
or edi, eax
sub edi, ecx
sub edi, edx
lea ebx, [esi + esi]
lea ecx, [ebx + ebx]
lea edx, [edi + edi]
xor edi, ebx
and ecx, edx
lea ebx, [ecx + edi]
imul eax, ebx, 0x45a9afb0
not ebx
imul esi, ebx, 0xba56504f
not eax
not esi
sub eax, esi
mov dword [esp + 0x554], eax
shr dword [esp + 0x7d0], 1
lea edx, [esp + 0x4e4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10018008
mov ecx, dword [esp + 0x18d0]
mov ebx, dword [esp + 0x18d4]
mov eax, ecx
xor eax, ebx
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x2b8]
lea edi, [ebx + ebx]
and edx, edi
lea ebx, [eax + edx]
lea edx, [ecx + ebx]
mov esi, edx
not esi
imul ebx, esi, 0x7433deb1
imul edi, edx, 0x8bcc2150
not ebx
not edi
sub ebx, edi
mov edx, dword [esp + 0x554]
lea edi, [ebx + ebx]
mov esi, edi
lea eax, [edx + edx]
mov ecx, edi
and esi, eax
or ecx, eax
not esi
not ecx
sub esi, ecx
mov ecx, esi
or ecx, edi
sub ecx, edi
lea edi, [eax + eax]
xor ecx, esi
lea esi, [ecx + ecx]
xor ecx, eax
mov eax, ebx
and esi, edi
neg eax
mov edi, edx
add esi, ecx
lea ecx, [eax - 1]
mov eax, edx
neg edx
or edi, ecx
xor eax, ecx
mov ecx, esi
xor edi, eax
mov eax, ebx
and ecx, 0x852630a9
lea edx, [edx - 1]
or eax, edx
xor eax, edx
xor ebx, eax
mov edx, ebx
xor ebx, edi
or edx, edi
mov edi, esi
and edi, 0x7ad9cf56
lea eax, [edx + edx]
mov edx, esi
not edx
or esi, 0x852630a9
and edx, 0x852630a9
sub eax, ebx
imul edi, edx
imul esi, ecx
lea edx, [edi + esi]
mov edi, edx
and edx, 0x5b28f161
or edi, 0x5b28f161
lea esi, [edi + edx]
mov edi, esi
mov ebx, esi
mov edx, esi
not edi
or ebx, 0x37697399
and edx, 0x37697399
and edi, 0x37697399
and esi, 0xc8968c66
imul edx, ebx
imul esi, edi
mov edi, eax
lea ecx, [edx + esi]
mov edx, ecx
and ecx, 0xc8502a07
xor edx, 0x48502a07
mov esi, eax
lea ebx, [edx + ecx*2]
mov ecx, eax
and ecx, ebx
or edi, ebx
neg ebx
not ecx
not edi
sub ecx, edi
lea edx, [ebx - 1]
or esi, edx
xor eax, edx
xor esi, eax
mov edx, ecx
not ecx
lea edi, [esi + esi]
xor edx, edi
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x140]
lea ebx, [edi + edi]
and eax, ebx
sub edx, eax
mov edi, edx
not edx
and edx, 0xf433deb1
xor edi, 0x7433deb1
lea ebx, [ecx + 1]
xor ebx, 1
lea eax, [edx + edx]
sub edi, eax
lea eax, [ecx + ecx + 2]
and eax, 0xfffffffc
lea edx, [ecx + ecx]
sub eax, ebx
mov dword [esp + 0x18dc], eax
shrd eax, eax, 0x19
mov dword [esp + 0x94c], edi
mov dword [esp + 0x18d8], edx
lea esi, [eax + eax]
and esi, 0x2869fc64
sub esi, eax
lea edi, [esi - 0x1434fe33]
lea esi, [eax - 0x1434fe33]
and eax, 0xebcb01cd
sub esi, eax
mov ecx, esi
xor ecx, edi
not edi
lea ebx, [esi + esi]
add edi, edi
and edi, ebx
mov ebx, dword [esp]
mov eax, ebx
mov esi, ebx
xor eax, 0x642869fc
and esi, 0x642869fc
sub ecx, edi
not ecx
add eax, esi
xor ebx, eax
lea edi, [eax + eax]
and edi, edx
lea ecx, [ecx + 1]
sub edi, ebx
shld ecx, ecx, 0x19
mov dword [esp + 0x18e0], ecx
lea edx, [edi + edi]
or edx, 0xc850d3f8
lea eax, [edx - 0x642869fc]
mov edx, ecx
sub eax, edi
neg ecx
mov edi, eax
not edx
neg edi
mov esi, edx
lea ebx, [edi - 1]
mov edi, eax
or esi, ebx
lea ebx, [eax + ecx - 1]
sub esi, edx
lea edx, [ecx - 1]
or edi, edx
mov ecx, esi
sub ebx, edi
not ecx
and ecx, ebx
mov edx, ebx
mov edi, ebx
not ebx
and edx, esi
or edi, esi
and ebx, esi
imul edi, edx
imul ebx, ecx
mov edx, dword [esp + 0x18e0]
add edi, ebx
mov ebx, eax
or ebx, edx
sub ebx, eax
lea esi, [eax + edx]
and eax, edx
mov dword [esp + 0x950], ebx
xor ebx, edx
sub esi, eax
mov dword [esp + 0x18e4], ecx
mov edx, esi
mov ecx, ebx
not edx
not ecx
mov eax, esi
and edx, ebx
and ecx, esi
and eax, ebx
or esi, ebx
imul ecx, edx
imul esi, eax
mov edx, dword [esp]
lea eax, [ecx + esi]
mov ebx, eax
mov ecx, edx
and ebx, edi
xor eax, edi
and ecx, 0x9bd79603
lea edi, [eax + ebx*2]
mov dword [esp + 0x18e8], edi
mov eax, edx
lea edi, [ecx + ecx]
sub eax, edi
mov ebx, edx
xor ebx, ecx
lea esi, [eax - 0x642869fd]
mov edi, esi
lea eax, [ebx - 0x642869fd]
mov ebx, esi
mov ecx, esi
xor ebx, 0x9bd79603
or esi, 0x9bd79603
xor ebx, esi
or edi, eax
and ecx, eax
xor edx, ebx
sub edi, ecx
mov ecx, dword [esp + 0x15c]
lea eax, [ebx + ebx]
and ecx, eax
mov eax, edi
neg eax
add ecx, edx
mov esi, ecx
lea edx, [eax - 1]
or esi, edx
mov edx, ecx
neg edx
lea ebx, [eax + ecx]
sub ebx, esi
mov esi, edi
lea edx, [edx - 1]
or esi, edx
lea eax, [ebx - 1]
sub esi, edx
mov ebx, eax
xor esi, edi
not ebx
mov edx, esi
and ebx, esi
not edx
and edx, eax
imul edx, ebx
mov ebx, esi
and ebx, eax
or esi, eax
mov eax, edi
not eax
or eax, ecx
imul esi, ebx
lea ebx, [edi + eax + 1]
lea eax, [edi + ecx]
and edi, ecx
sub eax, edi
add esi, edx
mov ecx, eax
mov edx, eax
or ecx, ebx
and edx, ebx
imul edx, ecx
mov ecx, eax
not ecx
and ecx, ebx
not ebx
and eax, ebx
imul eax, ecx
mov dword [esp + 0x18ec], esi
lea edi, [edx + eax]
mov edx, edi
or edi, esi
and edx, esi
mov eax, dword [esp + 0x18e4]
mov ecx, dword [esp + 0x18e8]
mov ebx, ecx
lea esi, [edx + edi]
mov dword [esp + 0x18f0], esi
lea edi, [eax + esi]
mov edx, edi
xor ebx, edi
not edx
or edx, ecx
and ecx, edi
add ecx, ebx
lea edx, [edx + edi + 1]
mov edi, ecx
or edi, edx
xor ecx, edx
mov edx, dword [esp + 0x950]
lea esi, [edi + edi]
sub esi, eax
lea eax, [edx + edx]
and eax, 0x4596f540
xor edx, 0x22cb7aa0
sub esi, ecx
mov ecx, dword [esp]
lea ebx, [eax + edx]
mov edx, esi
mov dword [esp + 0x18f4], ebx
rol ebx, cl
rol edx, cl
mov eax, ebx
mov edi, edx
not eax
not edi
neg ecx
imul eax, edx
imul edi, ebx
shld esi, esi, 0x1d
neg ebx
add edx, edx
sub eax, edi
mov edi, edx
mov dword [esp + 0x18f8], ecx
lea ebx, [ebx + ebx - 2]
or edi, ebx
sub edi, edx
mov edx, eax
xor edi, ebx
mov ebx, esi
xor edx, edi
and eax, edi
lea eax, [edx + eax*2]
rol eax, cl
mov ecx, dword [esp + 0x18f4]
shld ecx, ecx, 0x1d
and ebx, ecx
lea edi, [esi + ecx]
xor esi, ecx
lea edx, [ebx + ebx]
sub edi, edx
mov edx, edi
lea ecx, [ebx + esi]
not edx
imul edx, ecx
not ecx
imul edi, ecx
sub edx, edi
not edx
lea ebx, [edx + 1]
shld ebx, ebx, 3
lea edx, [ebx + ebx]
mov esi, edx
not esi
and esi, eax
not eax
and eax, edx
lea edi, [esi + ebx*2]
lea ebx, [edi + edi]
mov edi, ebx
lea edx, [eax + esi]
not ebx
xor edi, edx
and ebx, edx
mov esi, dword [esp + 0x950]
mov edx, esi
lea ecx, [ebx + ebx]
sub edi, ecx
xor edx, edi
not edi
and esi, edi
lea eax, [esi + esi]
sub edx, eax
mov ecx, edx
shld ecx, edx, 0x13
neg ecx
mov dword [esp + 0x954], edx
lea eax, [ecx - 1]
mov ebx, eax
and ebx, 0x25589312
xor ebx, 0x25589312
lea edi, [ebx + ecx - 1]
mov ecx, dword [esp + 0x18f0]
mov esi, edi
not esi
imul esi, eax
not eax
imul eax, edi
ror edx, cl
sub esi, eax
mov edi, edx
mov eax, 0x126244ab
neg edi
ror eax, cl
shrd esi, esi, 0x13
lea ebx, [edi - 1]
mov edi, eax
not edi
or edi, ebx
lea edi, [eax + edi + 1]
mov eax, edi
xor edi, edx
or eax, edx
mov edx, esi
not edx
and edx, 0xa0b1cb57
lea ebx, [eax + eax]
sub ebx, edi
mov edi, esi
rol ebx, cl
mov ecx, esi
and ecx, 0x5f4e34a8
or edi, 0xa0b1cb57
and esi, 0xa0b1cb57
imul edx, ecx
imul esi, edi
add edx, esi
mov eax, edx
xor edx, 0xee758ad9
and eax, 0x118a7526
lea ecx, [eax + eax]
sub ecx, edx
mov eax, ecx
mov edi, ecx
not eax
mov esi, ecx
and edi, 0x690baf98
and eax, 0x96f45067
and esi, 0x96f45067
or ecx, 0x96f45067
imul eax, edi
mov edi, ebx
imul ecx, esi
neg edi
lea edx, [eax + ecx]
mov esi, ebx
lea ecx, [edx + edx]
or ecx, 0x53055a9e
xor edx, 0x2982ad4f
sub ecx, edx
not esi
mov edx, ecx
lea eax, [edi - 1]
mov edi, ecx
or edx, eax
neg edi
xor edx, eax
xor edx, ecx
mov eax, edx
not eax
lea edi, [edi - 1]
or esi, edi
lea edi, [ebx + esi + 1]
mov esi, edx
and eax, edi
mov dword [esp + 0x18fc], eax
mov eax, edi
not eax
and esi, eax
mov eax, edx
or eax, edi
and edx, edi
imul esi, dword [esp + 0x18fc]
mov edi, ecx
imul edx, eax
xor edi, ebx
lea eax, [esi + edx]
mov edx, ecx
mov esi, ecx
and edx, ebx
or esi, ebx
xor edx, ebx
xor esi, edi
mov ebx, esi
add edx, ecx
mov ecx, esi
and ebx, edx
or ecx, edx
imul ecx, ebx
mov ebx, esi
not ebx
and ebx, edx
not edx
and esi, edx
imul esi, ebx
mov edx, dword [esp + 0x954]
lea edi, [ecx + esi]
mov ecx, eax
mov dword [esp + 0x1900], edi
xor ecx, edi
and edi, eax
bswap edx
mov dword [esp + 0x1904], ecx
lea eax, [ecx + edi*2]
mov edi, edx
xor edi, 1
and edx, 1
mov dword [esp + 0x1908], eax
lea edx, [edi + edx*2 - 1]
not edx
bswap edx
shld edx, edx, 0x1e
mov ecx, edx
and ecx, 0xc498912a
xor ecx, edx
lea eax, [edx + edx]
and eax, 0x89312254
lea edi, [edx - 0x3b676ed6]
sub edi, eax
mov edx, edi
neg edi
not edx
lea esi, [ecx - 0x3b676ed6]
mov ebx, esi
not esi
neg ebx
imul edx, ebx
imul edi, esi
not edx
not edi
sub edx, edi
mov eax, dword [esp + 0x954]
mov ecx, eax
mov edi, eax
and ecx, 0xed9dbb54
xor edi, 0xed9dbb54
mov esi, edx
not esi
lea ebx, [ecx + edi]
mov edi, eax
not edi
imul edi, ebx
not ebx
imul eax, ebx
not edi
not eax
sub edi, eax
lea esi, [esi + 1]
shrd esi, esi, 0x1e
lea ebx, [edi + edi]
or ebx, 0xdb3b76a8
sub ebx, edi
lea edi, [ebx + 0x126244ac]
mov edx, edi
mov eax, edi
not edx
or eax, esi
and edx, esi
sub eax, edi
xor eax, esi
lea ecx, [edx + ebx + 0x126244ac]
mov edx, eax
mov ebx, eax
and edx, ecx
or ebx, ecx
imul ebx, edx
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
imul ecx, edx
mov edx, edi
lea eax, [ebx + ecx]
mov ebx, esi
neg ebx
mov ecx, edi
neg edi
lea ebx, [ebx - 1]
or edx, ebx
xor ecx, ebx
sub edx, ecx
lea ebx, [edi + esi]
lea edi, [edi - 1]
or edi, esi
mov esi, edx
sub ebx, edi
lea ecx, [ebx - 1]
mov ebx, edx
mov edi, ecx
or ebx, ecx
not edi
and esi, edi
mov edi, edx
not edi
and edx, ecx
and edi, ecx
imul edi, esi
mov esi, eax
imul edx, ebx
add edi, edx
or esi, edi
xor eax, edi
mov dword [esp + 0x190c], esi
add esi, esi
sub esi, eax
mov eax, dword [esp + 0x1908]
mov edx, eax
mov ecx, eax
mov ebx, eax
not ecx
sub ebx, esi
lea edi, [esi + 0x375b3c2]
or edx, edi
and ecx, edi
sub edx, esi
lea ecx, [ebx + ecx*2 - 0x375b3c2]
lea edi, [edx - 0x375b3c2]
xor eax, edi
lea esi, [eax + eax]
mov eax, dword [esp + 0x1a34]
mov edi, esi
xor esi, ecx
and edi, ecx
mov ebx, eax
lea edi, [esi + edi*2 - 0x375b3c2]
mov edx, edi
bswap edx
and ebx, edx
xor eax, edx
lea esi, [eax + ebx*2]
add eax, ebx
mov edx, eax
lea ecx, [ebx + ebx]
mov ebx, esi
not eax
neg esi
neg edx
imul esi, eax
mov eax, edi
or eax, 0x7bbd68df
not ebx
xor eax, edi
not esi
xor eax, 0x7bbd68df
imul ebx, edx
not ebx
lea edi, [eax + eax]
and edi, 0x8852e40
xor eax, 0x84429720
sub ebx, esi
bswap ebx
mov dword [esp + 0x1910], ecx
add eax, edi
lea edx, [eax + eax]
mov esi, edx
lea edi, [ebx + ebx]
and esi, edi
xor edx, edi
add edx, esi
mov esi, ebx
not esi
and esi, eax
lea ebx, [ebx + esi*2]
sub ebx, eax
mov eax, ebx
xor eax, edx
not edx
and edx, ebx
mov ebx, dword [esp]
rol ebx, cl
mov esi, ebx
bswap esi
lea edi, [edx + edx]
sub eax, edi
mov edx, esi
mov dword [esp + 0x5ec], eax
and edx, 1
rol eax, cl
xor esi, 1
mov ecx, dword [esp + 0x190c]
rol eax, cl
mov edi, eax
neg edi
lea edx, [esi + edx*2]
mov dword [esp + 0x1914], edx
lea esi, [edx - 1]
mov dword [esp + 0x1918], esi
not esi
bswap esi
rol esi, cl
lea edi, [edi - 1]
mov edx, edi
or edx, esi
sub edx, esi
xor edx, edi
mov esi, edx
or edx, eax
and esi, eax
lea edi, [esi + edx]
ror edi, cl
mov ecx, ebx
and ecx, 1
or ebx, 1
lea ecx, [ecx + ebx - 1]
not ecx
lea ebx, [edi + edi]
mov eax, ecx
neg eax
lea edx, [ecx + edi]
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x1910]
and edi, ebx
lea esi, [eax + eax - 2]
mov eax, esi
sub edx, edi
or eax, ebx
sub eax, ebx
xor eax, esi
mov esi, edx
not esi
mov edi, eax
and edi, esi
xor eax, edx
mov ebx, dword [esp + 0x5ec]
mov edx, dword [esp + 0x15c]
lea esi, [edi + edi]
sub esi, eax
mov eax, dword [esp + 0x18ec]
ror esi, cl
mov dword [esp + 0x958], esi
lea edi, [eax + ebx]
shld ebx, ebx, 0x17
lea ecx, [edi + edi]
not ecx
or edx, ecx
mov ecx, edi
not ecx
lea esi, [edx + edi*2 + 1]
mov edx, dword [esp]
and edx, ecx
lea ecx, [edx + edx]
sub ecx, dword [esp]
add ecx, edi
mov edi, ecx
and ecx, esi
xor edi, esi
sub edi, eax
mov eax, dword [esp + 0x187c]
mov edx, eax
and edx, ebx
xor edx, ebx
lea esi, [edi + ecx*2]
lea edi, [eax + edx]
mov edx, dword [esp + 0x1880]
mov ecx, edi
not ecx
add ecx, ecx
and edx, ecx
sub edx, eax
lea eax, [edx + edi]
mov ecx, eax
not eax
sub ecx, ebx
add ebx, ebx
lea edi, [eax + eax]
mov eax, esi
and ebx, edi
neg eax
add ecx, ebx
shrd ecx, ecx, 0x17
mov edi, ecx
lea edx, [eax - 1]
mov ebx, edx
not edi
not ebx
mov eax, edx
and ebx, ecx
and edi, edx
or eax, ecx
and edx, ecx
imul edi, ebx
neg ecx
imul edx, eax
lea eax, [edi + edx]
lea edx, [ecx - 1]
mov ecx, esi
mov edi, edx
not ecx
not edi
mov ebx, edx
and ecx, edx
and edi, esi
or ebx, esi
and edx, esi
imul edi, ecx
imul edx, ebx
mov ebx, eax
lea esi, [edi + edx]
not eax
xor ebx, esi
and eax, esi
mov ecx, dword [esp + 0x958]
lea edi, [eax + eax]
sub ebx, edi
mov edi, ebx
mov eax, ebx
not edi
and eax, ecx
and edi, ecx
mov dword [esp + 0x191c], ebx
lea edx, [ebx + ecx]
mov esi, edx
sub esi, eax
lea eax, [edi + edi]
sub eax, ecx
lea edi, [eax + ebx]
mov dword [esp + 0x1920], edi
not edi
mov eax, esi
imul eax, edi
not esi
imul esi, dword [esp + 0x1920]
mov edi, eax
not esi
not edi
mov eax, ecx
sub edi, esi
mov esi, ecx
not esi
sub eax, ebx
mov dword [esp + 0x1924], edi
lea edi, [ebx + ebx]
or ebx, ecx
sub edx, ebx
mov ecx, edx
add esi, esi
and esi, edi
mov dword [esp + 0x1928], edi
add esi, eax
or ecx, esi
xor edx, esi
lea ebx, [ecx + ecx]
sub ebx, edx
mov edi, ebx
mov ecx, ebx
neg edi
not ecx
mov edx, dword [esp + 0x1924]
mov esi, edx
lea eax, [edi - 1]
mov edi, edx
xor esi, eax
or edi, eax
mov eax, edx
sub edi, esi
neg eax
lea eax, [eax - 1]
or ecx, eax
mov eax, edi
not eax
lea esi, [ebx + ecx + 1]
mov ecx, esi
and eax, esi
not ecx
and ecx, edi
imul eax, ecx
mov ecx, edi
and ecx, esi
or edi, esi
imul edi, ecx
mov ecx, edx
lea esi, [eax + edi]
mov edi, edx
and edi, ebx
mov eax, edx
xor edi, ebx
or eax, ebx
sub eax, ebx
xor ecx, eax
mov ebx, ecx
lea eax, [edx + edi]
mov edx, ecx
mov edi, eax
not edx
not edi
and edx, eax
and edi, ecx
or ebx, eax
and ecx, eax
imul edx, edi
imul ecx, ebx
lea ebx, [edx + ecx]
mov ecx, dword [esp + 0x1928]
mov edi, ebx
and ebx, esi
or edi, esi
lea esi, [edi + ebx]
mov dword [esp + 0x192c], esi
mov esi, dword [esp + 0x958]
mov eax, esi
shrd eax, esi, 0x1b
not eax
neg eax
not eax
mov ebx, dword [esp + 0x191c]
lea edi, [eax + 1]
mov eax, ebx
shrd edi, edi, 5
xor eax, edi
lea edx, [edi + edi]
or ecx, edx
mov edx, edi
not edx
sub ecx, eax
and edx, ebx
mov eax, ecx
not ecx
add edi, edx
xor eax, edi
add edi, edi
add ecx, ecx
and edi, ecx
mov ecx, dword [esp + 0x1900]
sub eax, edi
rol ebx, cl
lea edi, [ebx - 1]
not edi
mov edx, edi
xor edi, 1
and edx, 0xfffffffe
add edx, edx
sub edx, edi
mov edi, esi
ror edx, cl
mov ecx, esi
mov ebx, edx
and ecx, edx
xor edi, edx
not ebx
add edi, ecx
lea ecx, [esi + esi]
add ebx, ebx
and ecx, ebx
sub ecx, esi
lea esi, [ecx + edx]
mov edx, eax
mov ecx, esi
neg edx
xor ecx, edi
not edi
and edi, esi
lea ebx, [edx - 1]
not ebx
lea esi, [edi + edi]
sub ecx, esi
mov edi, ecx
or ebx, ecx
neg edi
add edx, ebx
mov ebx, eax
lea esi, [edi - 1]
or ebx, esi
sub ebx, esi
xor ebx, eax
mov edi, ebx
mov esi, ebx
not edi
and edi, edx
mov dword [esp + 0x1930], edi
mov edi, edx
not edi
and esi, edi
mov edi, ebx
and edi, edx
or ebx, edx
imul esi, dword [esp + 0x1930]
mov edx, eax
imul ebx, edi
or edx, ecx
lea edi, [esi + ebx]
mov esi, eax
lea ebx, [eax + ecx]
xor esi, ecx
and eax, ecx
sub ebx, edx
mov ecx, ebx
lea edx, [esi + eax]
mov eax, ebx
mov esi, ebx
not eax
and esi, edx
or ecx, edx
and eax, edx
not edx
and edx, ebx
imul ecx, esi
imul edx, eax
lea ebx, [ecx + edx]
lea ecx, [edi + edi]
xor edi, ebx
lea eax, [ebx + ebx]
and ecx, eax
mov eax, dword [esp + 0x1904]
lea esi, [eax + ecx]
add esi, edi
mov edi, dword [esp + 0x192c]
lea ecx, [esi + esi]
lea edx, [edi + edi]
mov ebx, edx
or ebx, ecx
xor ebx, ecx
xor ebx, edx
mov edx, esi
not edx
and edx, edi
lea ecx, [edx + edx]
sub ecx, edi
lea edi, [ecx + esi]
mov esi, ebx
or esi, edi
xor ebx, edi
mov ecx, dword [esp + 0x17f0]
bswap ecx
bswap ecx
mov dword [esp + 0x1938], ecx
add esi, esi
sub esi, eax
mov eax, dword [esp + 0x5ec]
sub esi, ebx
bswap eax
mov dword [esp + 0x1934], esi
mov esi, eax
bswap esi
mov edi, esi
neg edi
bswap ecx
lea edx, [edi - 1]
mov ebx, edx
lea edi, [esi + esi]
or ebx, ecx
sub ebx, ecx
mov ecx, eax
xor ebx, edx
neg ecx
lea edx, [ebx + ebx]
xor ebx, esi
or edi, edx
lea edx, [ecx - 1]
sub edi, ebx
bswap edi
or edx, edi
sub edx, ecx
mov ecx, eax
not ecx
lea esi, [edx + 1]
xor esi, edi
lea ebx, [ecx + ecx]
lea edx, [esi + esi]
mov dword [esp + 0x193c], edx
lea edx, [edi + edi]
and ebx, edx
add eax, ebx
sub eax, edi
mov ebx, dword [esp + 0x193c]
mov ecx, ebx
mov edi, eax
not ecx
mov esi, edi
not edi
imul esi, ecx
imul ebx, edi
sub esi, ebx
mov edx, esi
neg edx
mov ebx, dword [esp + 0x1938]
mov eax, ebx
not eax
mov edi, eax
lea ecx, [edx - 1]
or edi, ecx
mov dword [esp + 0x1940], ecx
mov dword [esp + 0x558], 0
lea edx, [ebx + edi]
xor ebx, esi
and esi, eax
lea edx, [edx + edx + 2]
mov edi, dword [esp + 0x5ec]
lea ecx, [edx + edx]
lea eax, [esi + esi]
sub ebx, eax
mov esi, ebx
xor ebx, edx
mov edx, edi
not esi
xor edx, 1
not edi
neg edx
and edi, 1
lea eax, [esi + esi]
and eax, ecx
sub eax, ebx
lea esi, [edx + edi*2 - 1]
mov ebx, esi
not ebx
bswap eax
mov dword [esp + 0x95c], eax
lea eax, [ebx + ebx]
and eax, 2
lea edi, [eax + esi - 1]
neg esi
lea edx, [esi - 1]
mov ecx, edx
or ecx, 1
lea ebx, [ecx - 1]
xor ebx, edx
lea ecx, [ebx + ebx]
mov edx, ecx
not edx
imul edx, edi
not edi
imul edi, ecx
not edx
not edi
mov ecx, dword [esp + 0x18dc]
sub edx, edi
mov edi, dword [esp]
mov ebx, edx
ror edi, cl
mov eax, edi
mov esi, edi
ror ebx, cl
not eax
sub esi, ebx
and eax, ebx
lea esi, [esi + eax*2]
mov eax, esi
xor esi, ebx
or eax, ebx
sub eax, esi
lea esi, [edx + edx]
mov ebx, eax
xor eax, edi
or ebx, edi
mov edi, edx
add ebx, ebx
sub ebx, eax
rol ebx, cl
lea eax, [edx + ebx]
lea ecx, [ebx + ebx]
neg ebx
and ecx, esi
sub eax, ecx
mov ecx, dword [esp + 0x15c]
neg ecx
lea ebx, [ebx - 1]
or edi, ebx
xor edi, ebx
mov ebx, eax
xor edx, edi
not eax
mov edi, dword [esp]
add edx, edx
mov esi, edx
not esi
imul ebx, esi
imul eax, edx
not ebx
not eax
sub ebx, eax
lea edx, [ecx - 2]
xor edi, ebx
lea esi, [ebx + ebx]
mov ebx, dword [esp + 0x18d8]
mov eax, esi
and ebx, esi
or eax, edx
sub edi, ebx
sub eax, esi
xor eax, edx
mov edx, eax
and eax, edi
xor edx, edi
lea ecx, [edx + eax*2]
mov eax, dword [esp + 0x95c]
mov edi, ecx
mov edx, ecx
and edi, eax
xor edx, eax
mov dword [esp + 0x960], ecx
lea ebx, [ecx + eax]
lea esi, [edi + edi]
sub ebx, esi
lea esi, [edi + edx]
lea edx, [ebx + esi]
and ebx, esi
lea edi, [ebx + ebx]
mov ebx, ecx
neg ebx
sub edx, edi
mov edi, edx
lea esi, [ebx - 1]
mov ebx, esi
or esi, eax
xor ebx, eax
sub esi, ebx
mov ebx, edx
mov eax, esi
and esi, ecx
xor eax, ecx
lea eax, [eax + esi*2]
mov ecx, eax
neg ecx
lea esi, [ecx - 1]
xor edi, esi
or ebx, esi
mov esi, edx
sub ebx, edi
neg esi
lea ecx, [esi - 1]
mov esi, eax
or esi, ecx
sub esi, eax
xor esi, ecx
mov ecx, esi
mov edi, esi
or ecx, ebx
and edi, ebx
imul edi, ecx
mov ecx, ebx
not ecx
and ecx, esi
not esi
and ebx, esi
mov esi, edx
imul ebx, ecx
or esi, eax
lea ecx, [edi + ebx]
mov ebx, edx
and ebx, eax
mov edi, edx
xor ebx, eax
xor edi, eax
xor esi, edi
lea eax, [edx + ebx]
mov edx, esi
mov edi, eax
mov ebx, esi
not edi
not edx
and ebx, edi
mov edi, esi
and edx, eax
and edi, eax
or esi, eax
mov eax, ecx
imul ebx, edx
imul esi, edi
add ebx, esi
or eax, ebx
xor ecx, ebx
lea edx, [eax + eax]
mov eax, dword [esp + 0x95c]
mov ebx, eax
sub edx, ecx
mov ecx, dword [esp + 0x1940]
not eax
rol ebx, cl
neg ebx
mov dword [esp + 0x1944], edx
mov edx, dword [esp + 0x960]
bswap edx
not edx
lea esi, [ebx - 1]
bswap edx
mov edi, esi
rol edx, cl
lea ebx, [ebx + ebx - 2]
and edi, edx
neg ecx
xor edi, esi
add edx, edi
xor esi, edx
not edx
lea edi, [edx + edx]
mov edx, dword [esp + 0x960]
and edi, ebx
mov ebx, eax
sub esi, edi
xor ebx, edx
rol esi, cl
mov ecx, eax
mov edi, eax
not ecx
and edi, ebx
and ecx, edx
lea ebx, [edi + edx]
lea edi, [ecx + ecx]
mov ecx, ebx
sub edi, edx
not ebx
add eax, edi
xor ecx, eax
add ebx, ebx
lea edx, [eax + eax]
and ebx, edx
sub ecx, ebx
mov edx, ecx
mov edi, ecx
and edx, esi
or edi, esi
lea ebx, [ecx + esi]
mov eax, ebx
sub ebx, edx
sub eax, edi
mov edi, ebx
not edi
mov edx, eax
and edi, eax
not edx
mov dword [esp + 0x1948], edi
mov edi, ebx
and edi, edx
mov edx, ebx
and edx, eax
or ebx, eax
imul edi, dword [esp + 0x1948]
mov eax, esi
imul ebx, edx
neg eax
add edi, ebx
mov ebx, ecx
mov edx, ecx
neg ecx
lea eax, [eax - 1]
xor ebx, eax
or edx, eax
sub edx, ebx
lea ebx, [ecx - 1]
mov ecx, ebx
or ebx, esi
xor ecx, esi
xor ecx, ebx
mov ebx, ecx
mov esi, ecx
mov eax, ecx
not ebx
or esi, edx
and eax, edx
and ebx, edx
not edx
and edx, ecx
imul eax, esi
lea esi, [edi + edi]
imul edx, ebx
lea ecx, [eax + edx]
xor edi, ecx
lea eax, [ecx + ecx]
or esi, eax
mov eax, dword [esp + 0x1944]
sub esi, edi
mov ecx, eax
mov edx, eax
not ecx
or edx, esi
and ecx, esi
lea ebx, [eax + esi]
sub ebx, edx
mov edx, dword [esp + 0x1934]
lea eax, [eax + ecx*2]
sub eax, esi
mov esi, eax
add ebx, ebx
and esi, ebx
or eax, ebx
mov ebx, dword [esp + 0x1918]
mov ecx, ebx
and ecx, edx
xor ebx, edx
lea edi, [esi + eax]
mov eax, edi
not eax
lea edx, [ebx + ecx*2]
mov ecx, edx
or ecx, edi
xor ecx, edi
xor ecx, edx
mov esi, ecx
and esi, eax
lea ebx, [edi + esi*2]
sub ebx, ecx
mov eax, ebx
and ebx, edx
or eax, edx
shrd edi, edi, 0xc
shrd edx, edx, 0xc
lea esi, [eax + ebx]
mov ebx, edi
neg ebx
mov eax, edx
not eax
lea ecx, [esi + esi]
lea esi, [ebx - 1]
or eax, esi
lea ebx, [edx + eax + 1]
neg edx
lea eax, [edx - 1]
or eax, edi
lea esi, [edi + edx - 1]
sub esi, eax
lea edx, [ebx + ebx]
lea edi, [esi + esi]
xor esi, ebx
and edi, edx
mov edx, ecx
neg edx
add edi, esi
shld edi, edi, 0xc
mov ebx, edi
neg ebx
lea esi, [ebx - 1]
lea ebx, [edx - 1]
mov eax, ebx
mov edx, ebx
or eax, edi
and edx, edi
imul edx, eax
mov eax, ebx
not eax
and eax, edi
not edi
and edi, ebx
imul edi, eax
mov eax, esi
and eax, ecx
lea ebx, [edx + edi]
mov edx, esi
neg ebx
or edx, ecx
imul edx, eax
mov eax, esi
not eax
lea ebx, [ebx - 1]
and eax, ecx
not ecx
and ecx, esi
mov esi, ebx
imul ecx, eax
mov edi, dword [esp + 0x1914]
lea eax, [edx + ecx]
neg eax
mov ecx, dword [esp + 4]
lea edx, [eax - 1]
xor esi, edx
not edx
and edx, ebx
lea ebx, [edx + edx]
sub esi, ebx
lea ebx, [edi - 2]
not ebx
mov eax, esi
xor eax, ebx
and esi, ebx
lea edx, [eax + esi*2]
mov eax, dword [esp + 0x304]
imul ecx, edx
mov dword [esp + 0x4e8], ecx
xor eax, 0x6b568862
mov dword [esp + 0x4ec], eax
je 0x100192e7
test byte [esp + 0x4e8], 1
je 0x100192d1
mov ebx, dword [esp + 0x4e8]
mov esi, dword [esp + 0x558]
mov edx, dword [esp + 0x4ec]
mov edi, edx
mov eax, edx
lea ecx, [esi + ebx]
xor edi, ecx
and eax, ecx
lea esi, [edx + ecx]
or edx, ecx
sub esi, edx
mov ecx, esi
add eax, edi
or ecx, eax
and esi, eax
sub ecx, ebx
lea ebx, [ecx + esi]
mov dword [esp + 0x558], ebx
shr dword [esp + 0x4e8], 1
lea edx, [esp + 0x4ec]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001928c
mov edx, dword [esp + 0x94c]
mov esi, edx
neg esi
mov ebx, dword [esp + 0x558]
mov eax, ebx
not eax
mov edi, eax
lea ecx, [esi - 1]
or edi, ecx
sub edi, eax
lea ecx, [eax + eax]
and eax, 0x342b6c2b
lea esi, [edi + edi]
lea edi, [edx + edx]
and ecx, edi
mov edi, ebx
xor edi, edx
lea edx, [esi + esi]
sub ecx, edi
lea edi, [ecx + ecx]
xor ecx, esi
and edi, edx
mov edx, ebx
mov esi, ebx
and edx, 0xcbd493d4
or esi, 0xb42b6c2b
and ebx, 0x342b6c2b
imul eax, edx
imul ebx, esi
add eax, ebx
add edi, ecx
lea ecx, [eax + eax]
xor eax, 0xc3c532f3
and ecx, 0x78a65e6
lea ebx, [ecx + eax]
mov ecx, ebx
mov esi, ebx
mov edx, ebx
not ecx
or esi, 0xa615f283
and edx, 0x2615f283
and ecx, 0x2615f283
and ebx, 0xd9ea0d7c
imul edx, esi
imul ebx, ecx
lea eax, [edx + ebx]
mov ecx, eax
or eax, 0xa7fe37a7
and ecx, 0x27fe37a7
add eax, ecx
mov ecx, dword [esp + 0x94c]
mov edx, eax
mov ebx, eax
neg edx
or ebx, 1
and eax, 1
lea esi, [edx - 1]
not esi
and ecx, esi
lea esi, [ebx + eax]
lea ecx, [edx + ecx - 1]
mov edx, esi
and edx, ecx
or esi, ecx
lea ecx, [edx + esi]
lea ebx, [ecx + ecx]
lea eax, [ebx + ebx]
mov ecx, eax
lea edx, [edi + edi + 0x5a358640]
or ecx, edx
xor eax, edx
mov esi, ecx
sub ecx, edi
sub ecx, ebx
xor esi, eax
mov edi, esi
lea ecx, [ecx - 0x2d1ac320]
or edi, ecx
xor esi, ecx
lea eax, [edi + edi]
mov edi, dword [esp + 0x154]
sub eax, esi
mov esi, dword [esp + 4]
mov ecx, esi
mov dword [esp + 0x194c], eax
xor ecx, edi
lea ebx, [eax - 0x2d1ac320]
mov eax, esi
or eax, edi
mov edx, eax
sub eax, edi
mov edi, esi
sub edx, ecx
xor edi, eax
mov eax, edx
mov dword [esp + 0x1950], ebx
mov ebx, edi
not ebx
mov ecx, edx
and eax, ebx
not ecx
mov ebx, edi
and ecx, edi
or ebx, edx
and edi, edx
imul ecx, eax
imul edi, ebx
mov ebx, dword [esp + 0x5d8]
lea eax, [ecx + edi]
lea ecx, [eax + eax]
lea edx, [ebx + ebx]
xor ebx, eax
imul eax, esi, 0x89940000
or edx, ecx
shld esi, esi, 7
sub edx, ebx
imul edx, eax
mov dword [esp + 0x31c], edx
neg edx
mov dword [esp + 0x1954], edx
lea edi, [edx + 0x20a400e6]
neg edi
lea ecx, [edi - 1]
mov edi, esi
not ecx
lea edx, [ecx - 0x20a400e7]
shld edx, edx, 7
mov ecx, edx
not ecx
mov ebx, ecx
lea eax, [edx + edx]
or ebx, esi
sub ebx, ecx
lea ecx, [ebx + ebx]
lea ebx, [esi + esi]
and eax, ebx
sub edi, eax
shrd esi, esi, 6
lea eax, [edi + edx]
shrd edx, edx, 6
mov ebx, eax
mov edi, edx
or ebx, ecx
and eax, ecx
neg edi
lea ecx, [ebx + eax]
lea ebx, [edi - 1]
mov eax, ebx
or eax, esi
xor eax, ebx
mov ebx, ecx
xor eax, esi
neg ebx
mov esi, eax
or eax, edx
and esi, edx
lea edx, [esi + eax]
shrd edx, edx, 0x1a
mov esi, edx
lea eax, [ebx - 1]
not esi
mov edi, eax
mov dword [esp + 0x1958], esi
mov ebx, eax
and esi, eax
not eax
or edi, edx
and ebx, edx
and eax, edx
neg edx
imul ebx, edi
imul eax, esi
lea edi, [ebx + eax]
lea ebx, [edx - 1]
mov edx, dword [esp + 4]
mov esi, ebx
mov eax, ebx
or esi, ecx
and eax, ecx
imul eax, esi
mov esi, ecx
not esi
and esi, ebx
not ebx
and ebx, ecx
imul ebx, esi
add eax, ebx
mov ecx, eax
not ecx
and ecx, edi
xor edi, eax
mov eax, edx
xor eax, 0x3f7c3ca1
lea ebx, [ecx + ecx]
mov ecx, edx
or ecx, 0x3f7c3ca1
sub ebx, edi
mov edi, dword [esp + 0x160]
sub ecx, eax
mov eax, edi
mov esi, ecx
and eax, 0x3f7c3ca1
shrd ebx, ebx, 7
mov dword [esp + 0x964], ebx
mov ebx, ecx
add edx, eax
or ebx, edx
and esi, edx
imul esi, ebx
mov ebx, ecx
not ebx
and ebx, edx
not edx
and ecx, edx
imul ecx, ebx
mov edx, dword [esp + 0x154]
lea ebx, [esi + ecx]
mov dword [esp + 0x195c], ecx
mov ecx, edx
xor ecx, 0x3f7c3ca1
or edx, 0x3f7c3ca1
sub edx, ecx
mov ecx, edi
or ecx, 0xc083c35e
mov eax, edx
sub ecx, edi
mov edi, edx
or eax, ecx
and edi, ecx
imul edi, eax
mov eax, edx
not eax
and eax, ecx
not ecx
and edx, ecx
lea ecx, [ebx + ebx]
imul edx, eax
mov dword [esp + 0x1960], ebx
lea eax, [edi + edx]
lea edi, [eax + eax]
xor eax, ebx
and ecx, edi
add eax, ecx
mov edi, eax
mov ebx, eax
not edi
and ebx, 0x56dc55fc
and edi, 0xa923aa03
mov edx, eax
imul edi, ebx
mov ecx, eax
or edx, 0xa923aa03
and ecx, 0xa923aa03
neg edi
neg eax
imul ecx, edx
mov dword [esp + 0x1964], edx
lea ebx, [edi - 1]
sub ebx, ecx
lea ecx, [eax - 1]
mov edx, ecx
mov edi, ecx
not edx
mov eax, ecx
and edx, 0x56dc55fc
and edi, 0xa923aa03
and eax, 0x56dc55fc
or ecx, 0x56dc55fc
imul edi, edx
imul ecx, eax
lea eax, [edi + ecx]
neg eax
mov dword [esp + 0x1968], eax
lea ecx, [eax - 1]
mov edi, ecx
not edi
and edi, ebx
xor ebx, ecx
lea eax, [edi + edi]
sub eax, ebx
mov ecx, eax
mov edi, eax
not ecx
or edi, 0xea60a761
and ecx, 0xea60a761
xor edi, 0xea60a761
xor edi, eax
mov ebx, edi
lea edx, [eax + ecx]
mov ecx, edi
and ecx, edx
or ebx, edx
imul ebx, ecx
mov ecx, edi
not ecx
and ecx, edx
not edx
and edi, edx
mov edx, eax
imul edi, ecx
xor edx, 0x159f589e
lea ecx, [ebx + edi]
mov edi, eax
neg eax
or edi, 0x159f589e
xor edi, edx
mov edx, edi
lea ebx, [eax - 1]
or ebx, 0xea60a761
sub eax, ebx
lea ebx, [eax - 0x159f58a0]
mov eax, edi
and eax, ebx
or edx, ebx
imul edx, eax
mov eax, ebx
mov dword [esp + 0x196c], edx
not eax
mov edx, edi
not edi
and edx, eax
and edi, ebx
lea ebx, [esp + 0x1970]
mov dword [ebx], edx
imul edi, dword [ebx]
mov eax, dword [esp + 0x196c]
lea ebx, [eax + edi]
mov eax, ecx
xor eax, ebx
and ecx, ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x195c]
mov dword [esp + 0x1974], edx
lea esi, [esi + ecx + 0x3c13f87c]
mov ecx, edx
and ecx, esi
mov ebx, ecx
xor ebx, esi
add ecx, ecx
lea edi, [ebx + edx]
lea ebx, [edi + edi]
mov edi, dword [esp + 0x1960]
lea esi, [edi + edx]
sub esi, ecx
lea ecx, [esi + 0x3c13f87c]
mov edx, ecx
xor ecx, ebx
not edx
and edx, ebx
mov ebx, eax
neg ebx
add edx, edx
sub edx, edi
lea edi, [ebx + ebx + 2]
sub edx, ecx
lea esi, [ebx + 1]
lea ecx, [edx + edx]
xor ecx, edi
and ecx, edi
mov edi, edx
not edi
and edi, esi
lea ebx, [ecx + edx*2]
lea ecx, [edx + edi*2]
sub ecx, esi
mov esi, ebx
mov edi, ecx
not esi
neg edi
not ecx
imul esi, edi
neg ebx
imul ebx, ecx
not esi
not ebx
add esi, eax
sub esi, ebx
lea ecx, [esi - 0x219f5574]
mov eax, ecx
not ecx
xor eax, 1
and ecx, 1
neg eax
lea edi, [eax + ecx*2 - 1]
lea esi, [edi - 0x219f5574]
neg edi
mov ebx, esi
mov edx, esi
xor ebx, 0x2d25c75e
or edx, 0x2d25c75e
sub edx, ebx
mov ebx, edx
lea edi, [edi + 0x219f5573]
mov ecx, edi
or ecx, 0xd2da38a1
lea eax, [ecx + 0x2d25c75f]
mov dword [esp + 0x968], eax
xor edi, eax
mov eax, edx
mov ecx, edi
and eax, edi
not ecx
and ebx, ecx
mov ecx, edx
not ecx
and ecx, edi
or edi, edx
imul ecx, ebx
mov ebx, esi
imul edi, eax
mov dword [esp + 0x1978], eax
xor ebx, 0xd2da38a1
mov eax, esi
and esi, 0xd2da38a1
or eax, 0xd2da38a1
add ecx, edi
sub eax, ebx
lea edx, [esi + ebx]
mov ebx, eax
mov edi, edx
not ebx
not edi
mov esi, eax
and edi, eax
and ebx, edx
or esi, edx
and eax, edx
imul ebx, edi
imul eax, esi
lea edx, [ebx + eax]
lea edi, [edx + edx]
xor edx, ecx
lea esi, [ecx + ecx]
or edi, esi
sub edi, edx
mov ecx, edi
not edi
neg ecx
lea ecx, [ecx - 1]
mov eax, ecx
mov ebx, ecx
not eax
and ebx, 0x3a6647b4
and eax, 0xc599b84b
mov esi, ecx
imul eax, ebx
and esi, 0xc599b84b
or ecx, 0xc599b84b
neg eax
imul ecx, esi
lea ebx, [eax - 1]
sub ebx, ecx
lea eax, [edi + 1]
mov ecx, eax
mov esi, eax
not ecx
and esi, 0x3a6647b5
and ecx, 0xc599b84a
mov edx, eax
imul esi, ecx
and edx, 0xc599b84a
or eax, 0xc599b84a
neg esi
imul eax, edx
mov dword [esp + 0x197c], edx
lea ecx, [esi - 1]
sub ecx, eax
mov edx, ebx
mov eax, ecx
not ebx
not eax
imul edx, eax
imul ebx, ecx
not edx
not ebx
sub edx, ebx
mov ecx, edx
mov edi, edx
or ecx, 0xa55dab61
and edi, 0xa55dab61
mov esi, edx
mov ebx, edx
sub esi, edi
neg edx
lea ecx, [ecx + 0x5aa2549f]
xor ebx, ecx
mov eax, ebx
lea esi, [esi - 0x5aa2549f]
mov edi, esi
not eax
not edi
and eax, esi
and edi, ebx
imul edi, eax
mov eax, ebx
or eax, esi
and ebx, esi
imul ebx, eax
lea eax, [edx - 1]
lea esi, [edi + ebx]
mov ebx, eax
or ebx, 0xa55dab61
sub eax, ebx
lea eax, [eax - 0x5aa2549f]
mov ebx, eax
mov edx, eax
mov edi, eax
not ebx
or edx, ecx
and edi, ecx
and ebx, ecx
not ecx
and ecx, eax
imul edi, edx
imul ecx, ebx
lea eax, [edi + ecx]
mov ebx, eax
or eax, esi
and ebx, esi
add eax, ebx
mov ebx, dword [esp + 0x968]
neg ebx
lea edx, [eax + eax]
lea ecx, [ebx - 0x28681295]
mov esi, ecx
lea ebx, [ebx + ebx - 0x50d0252a]
neg esi
lea edi, [esi + esi - 2]
lea esi, [edi + eax*2]
or edi, edx
mov edx, eax
sub esi, edi
not edx
add edx, edx
and ebx, edx
add eax, ebx
sub eax, ecx
mov edx, eax
mov eax, edx
mov ecx, esi
mov ebx, ecx
neg eax
not ebx
imul ebx, eax
not edx
neg ecx
not ebx
imul ecx, edx
sub ebx, dword [esp + 0x968]
not ecx
sub ebx, ecx
mov edx, dword [esp + 0x31c]
mov eax, ebx
mov esi, edx
bswap eax
bswap esi
mov ecx, eax
mov edi, eax
xor ecx, esi
or edi, esi
xor ecx, edi
shld ebx, ebx, 0x14
lea edi, [eax + esi]
and eax, esi
lea esi, [eax + eax]
sub edi, esi
mov esi, edx
mov eax, edi
and edi, ecx
xor eax, ecx
not edx
lea ecx, [eax + edi*2]
mov edi, dword [esp + 0x1954]
bswap ecx
add edx, edx
xor esi, ecx
lea eax, [ecx + ecx]
and edx, eax
lea eax, [edi - 1]
sub esi, edx
mov edx, eax
or edx, ecx
xor edx, eax
xor edx, ecx
lea ecx, [edx + edx]
mov edx, esi
or edx, ecx
and esi, ecx
add edx, esi
shld edx, edx, 0x14
mov ecx, edx
mov eax, edx
xor ecx, ebx
and eax, ebx
or edx, ebx
sub edx, ecx
lea eax, [ecx + eax*2]
mov edi, eax
not eax
lea esi, [edx + edx]
and eax, esi
xor edi, esi
lea ebx, [eax + eax]
sub edi, ebx
mov ebx, dword [esp + 0x964]
mov eax, ebx
ror eax, cl
neg ecx
not eax
shld edi, edi, 0xc
ror eax, cl
mov ecx, dword [esp + 0x197c]
mov dword [esp + 0x96c], edi
ror eax, cl
ror edi, cl
mov edx, eax
and edx, edi
neg ecx
bswap ebx
lea esi, [eax + edi]
or eax, edi
sub esi, edx
not edx
not eax
mov edi, edx
sub edi, eax
mov eax, edi
xor edi, esi
not eax
lea edx, [esi + esi]
add eax, eax
and eax, edx
sub eax, edi
ror eax, cl
mov ecx, dword [esp + 0x96c]
not ecx
lea edx, [ecx + ecx]
bswap ecx
mov edi, ecx
mov esi, ecx
xor edi, ebx
and esi, ebx
mov dword [esp + 0x1980], edx
add edi, esi
mov edx, edi
not edi
xor edx, ebx
add ebx, ebx
lea esi, [edi + edi]
and esi, ebx
sub edx, esi
mov edi, edx
or edi, ecx
add edi, edi
sub edi, ecx
mov ecx, eax
sub edi, edx
neg ecx
bswap edi
mov esi, edi
neg esi
lea ecx, [ecx - 1]
mov edx, ecx
or ecx, edi
xor edx, edi
sub ecx, edx
lea ebx, [esi - 1]
mov esi, ebx
or esi, eax
xor esi, ebx
xor esi, eax
mov edx, esi
mov ebx, esi
or edx, ecx
and ebx, ecx
imul ebx, edx
mov edx, esi
mov dword [esp + 0x1984], ebx
not edx
mov ebx, ecx
not ecx
and ebx, edx
and esi, ecx
lea ecx, [esp + 0x1988]
mov dword [ecx], ebx
mov ebx, eax
imul esi, dword [ecx]
xor ebx, edi
mov ecx, dword [esp + 0x1984]
lea edx, [ecx + esi]
mov ecx, eax
or ecx, edi
sub ecx, ebx
and ebx, eax
mov eax, ecx
mov dword [esp + 0x198c], edx
add edi, ebx
mov ebx, ecx
mov esi, edi
and eax, edi
not esi
or ebx, edi
and esi, ecx
not ecx
and ecx, edi
imul ebx, eax
imul ecx, esi
lea edx, [ebx + ecx]
mov ebx, dword [esp + 0x964]
mov ecx, dword [esp + 0x96c]
mov edi, ebx
mov dword [esp + 0x1990], edx
and edi, ecx
mov edx, ebx
lea eax, [ebx + ebx]
and eax, dword [esp + 0x1980]
xor edx, edi
sub eax, ebx
shrd ebx, ebx, 7
lea edi, [edx + ecx]
add eax, ecx
mov edx, eax
not eax
shrd ecx, ecx, 7
sub edx, edi
and eax, edi
lea esi, [ebx + ebx]
lea edi, [edx + eax*2]
mov eax, ebx
xor eax, ecx
lea edx, [ecx + ecx]
and esi, edx
not ebx
add esi, eax
mov eax, ebx
or eax, ecx
mov edx, esi
sub eax, ebx
not edx
mov ecx, eax
not eax
neg ecx
neg esi
imul edx, ecx
mov ebx, edi
imul esi, eax
not edx
not esi
sub edx, esi
not ebx
shrd edx, edx, 0x19
mov ecx, edi
and ebx, edx
or ecx, edx
sub ecx, edi
xor ecx, edx
mov eax, ecx
add ebx, edi
mov esi, ecx
or eax, ebx
and esi, ebx
imul esi, eax
mov eax, ebx
mov dword [esp + 0x1994], esi
not eax
mov esi, ecx
not ecx
and esi, eax
and ecx, ebx
lea ebx, [esp + 0x1998]
mov dword [ebx], esi
mov esi, edi
neg esi
imul ecx, dword [ebx]
mov eax, dword [esp + 0x1994]
lea esi, [esi - 1]
mov ebx, esi
or ebx, edx
xor ebx, edx
neg edx
xor ebx, esi
add eax, ecx
mov ecx, edi
lea edx, [edx - 1]
xor ecx, edx
or edi, edx
sub edi, ecx
mov ecx, ebx
mov edx, edi
not ecx
not edx
mov esi, edi
and edx, ebx
and ecx, edi
or esi, ebx
and edi, ebx
imul ecx, edx
lea ebx, [eax + eax]
imul edi, esi
mov edx, eax
add ecx, edi
xor edx, ecx
lea esi, [ecx + ecx]
or esi, ebx
mov ebx, dword [esp + 0x198c]
mov edi, ebx
mov ecx, dword [esp + 0x1990]
mov eax, esi
mov esi, dword [esp + 0x1978]
xor edi, ecx
sub edi, esi
and ebx, ecx
sub eax, edx
mov ecx, eax
lea ebx, [edi + ebx*2]
and ecx, ebx
xor ecx, eax
lea edx, [ecx + ebx]
lea edi, [edx + edx]
lea ecx, [ebx + ebx]
lea edx, [eax + eax]
or ecx, edx
sub ecx, eax
mov eax, ecx
sub eax, ebx
mov ebx, eax
xor eax, edi
not ebx
and ebx, edi
mov edx, dword [esp + 4]
lea esi, [esi + ebx*2]
mov ebx, dword [esp + 0x31c]
sub esi, eax
mov eax, edx
mov dword [esp + 0x199c], esi
mov esi, dword [esp + 0x1958]
mov ecx, esi
rol ebx, cl
rol eax, cl
mov edi, ebx
or edi, eax
mov ecx, ebx
xor ecx, eax
add edi, edi
sub edi, ecx
mov ecx, eax
not ecx
or ecx, ebx
lea ebx, [ecx + eax + 1]
mov eax, dword [esp + 0x1964]
mov ecx, eax
rol edx, cl
lea ecx, [edi + edi]
mov dword [esp + 0x19a0], edx
mov edx, ebx
not edx
xor edi, ebx
add edx, edx
and ecx, edx
mov ebx, ecx
mov ecx, esi
sub ebx, edi
ror ebx, cl
mov ecx, eax
mov edi, ebx
neg eax
rol edi, cl
mov ebx, edi
mov ecx, edi
mov edx, dword [esp + 0x19a0]
or ebx, edx
xor ecx, edx
lea esi, [ebx + ebx]
sub ebx, edi
xor ebx, edx
sub esi, ecx
mov edx, dword [esp + 0x1974]
mov ecx, edx
mov edi, dword [esp + 0x31c]
rol edi, cl
mov dword [esp + 0x19a4], edi
add ebx, ebx
mov edi, ebx
lea ecx, [esi + esi]
not edi
xor esi, ebx
add edi, edi
and edi, ecx
mov ecx, eax
sub edi, esi
rol edi, cl
mov ecx, edx
rol edi, cl
neg edx
mov eax, edi
mov ecx, edx
neg eax
mov edx, dword [esp + 4]
shrd edx, edx, 0x1f
lea esi, [eax - 1]
mov eax, dword [esp + 0x19a4]
mov ebx, esi
mov dword [esp + 0x19a8], esi
or ebx, eax
xor esi, eax
neg eax
sub ebx, esi
lea eax, [eax - 1]
mov esi, eax
xor eax, edi
or esi, edi
sub esi, eax
mov eax, ebx
xor eax, esi
lea edi, [esi + esi]
lea esi, [ebx + ebx]
and edi, esi
mov esi, dword [esp + 0x31c]
shrd esi, esi, 0x1f
lea ebx, [eax + edi]
rol ebx, cl
mov ecx, edx
mov dword [esp + 0x5f0], ebx
mov ebx, esi
shld ebx, esi, 9
shld ecx, edx, 9
mov eax, ebx
and eax, ecx
xor eax, ecx
lea edi, [eax + ebx]
mov eax, ecx
not eax
and eax, edi
xor edi, ecx
add eax, eax
sub eax, edi
mov edi, esi
neg edi
lea ecx, [edi - 1]
or ecx, edx
sub ecx, edi
lea edi, [ecx + 1]
xor edi, edx
neg edx
lea ecx, [edx - 1]
mov edx, ecx
or edx, esi
xor edx, ecx
lea ecx, [edi + edi]
xor edx, esi
mov esi, edi
xor esi, edx
lea edi, [edx + edx]
mov edx, eax
not edx
and ecx, edi
and edx, ebx
add esi, ecx
lea edi, [edx + edx]
mov edx, esi
sub edi, ebx
mov ebx, dword [esp + 0x1968]
add eax, edi
shrd eax, eax, 9
lea ecx, [eax + ebx - 1]
or edx, ecx
lea edi, [esi + ecx]
mov dword [esp + 0x970], edx
xor edx, ecx
xor edx, esi
add esi, esi
add ecx, ecx
and esi, ecx
sub edi, esi
lea eax, [edx + edx]
mov edx, edi
xor edx, eax
sub edx, ebx
lea ebx, [eax + eax]
lea ecx, [edi + edi]
and ebx, ecx
lea edx, [edx + ebx + 1]
mov ebx, dword [esp + 0x5f0]
shld edx, edx, 0x1f
mov ecx, ebx
mov esi, ebx
and ecx, edx
or esi, edx
mov dword [esp + 0x19b0], esi
lea edi, [ebx + edx]
mov dword [esp + 0x19b8], edi
sub edi, ecx
mov dword [esp + 0x19b4], ecx
sub esi, ecx
mov ecx, edi
xor ebx, edx
not ecx
mov dword [esp + 0x19ac], edx
lea eax, [esi + esi]
add ecx, ecx
and eax, ecx
sub eax, esi
mov ecx, dword [esp + 0x19b4]
lea esi, [eax + edi]
mov eax, dword [esp + 0x19b8]
sub eax, dword [esp + 0x19b0]
lea edi, [ebx + ecx*2]
mov edx, eax
xor eax, edi
not edx
and edx, edi
lea ecx, [edx + edx]
sub ecx, eax
mov ebx, ecx
mov eax, ecx
and ebx, esi
mov edi, ecx
xor ebx, esi
or eax, esi
xor edi, esi
sub eax, edi
mov edi, eax
lea edx, [ecx + ebx]
mov ebx, eax
and ebx, edx
or edi, edx
imul edi, ebx
mov ebx, edx
mov dword [esp + 0x19bc], edi
not ebx
mov edi, eax
not eax
and edi, ebx
and eax, edx
lea edx, [esp + 0x19c0]
mov dword [edx], edi
mov ebx, esi
imul eax, dword [edx]
neg ebx
mov edx, dword [esp + 0x19bc]
lea edi, [edx + eax]
mov eax, ecx
lea edx, [ebx - 1]
mov ebx, ecx
neg ecx
or ebx, edx
xor eax, edx
sub ebx, eax
mov eax, ebx
lea edx, [ecx + esi]
lea ecx, [ecx - 1]
or ecx, esi
mov esi, ebx
sub edx, ecx
not esi
mov dword [esp + 0x19c4], esi
lea ecx, [edx - 1]
mov edx, ebx
and eax, ecx
or edx, ecx
and esi, ecx
not ecx
and ecx, ebx
imul edx, eax
imul ecx, esi
lea esi, [edx + ecx]
mov ecx, esi
and esi, edi
or ecx, edi
mov edi, dword [esp + 0x5f0]
not edi
mov eax, edi
mov ebx, edi
lea edx, [ecx + esi]
mov dword [esp + 0x19c8], edx
mov edx, dword [esp + 0x19ac]
and eax, edx
xor ebx, edx
lea ecx, [eax + ebx]
mov eax, edi
or eax, edx
lea ebx, [eax + eax]
sub ebx, edx
sub ebx, edi
mov eax, ebx
xor eax, ecx
not ecx
and ebx, ecx
mov ecx, dword [esp + 0x19a8]
ror edx, cl
lea edi, [ebx + ebx]
sub eax, edi
mov dword [esp + 0x19cc], eax
mov eax, edx
mov edi, dword [esp + 0x5f0]
shld edi, edi, 0x1c
mov dword [esp + 0x2bc], 0
lea esi, [eax + eax]
or esi, 2
xor eax, 1
sub esi, eax
lea ebx, [esi - 1]
mov esi, edi
not ebx
rol ebx, cl
lea ecx, [edi + edi]
shld ebx, ebx, 0x1c
and esi, ebx
xor esi, ebx
lea edx, [ebx + ebx]
or edx, ecx
sub edx, ebx
sub edx, edi
add esi, edi
mov edi, esi
not edi
lea eax, [edx + edx]
lea ebx, [edi + edi]
and ebx, eax
sub ebx, edx
lea ecx, [ebx + esi]
mov ebx, dword [esp + 0x19cc]
mov edx, ebx
neg edx
shrd ecx, ecx, 0x1c
lea esi, [edx - 1]
mov edx, ecx
neg edx
mov edi, esi
xor edi, ecx
or esi, ecx
sub esi, edi
mov edi, ebx
lea eax, [edx - 1]
not eax
or edi, eax
lea eax, [edi + edx]
mov edi, esi
mov edx, esi
or edi, eax
and edx, eax
imul edx, edi
mov edi, esi
not edi
and edi, eax
not eax
and eax, esi
imul eax, edi
lea esi, [edx + eax]
mov eax, ebx
and eax, ecx
mov edx, ebx
xor ebx, eax
not edx
mov edi, edx
or edi, ecx
sub edi, edx
mov edx, edi
add ecx, ebx
mov ebx, ecx
mov eax, edi
not ebx
not edx
and eax, ebx
mov ebx, edi
and edx, ecx
and ebx, ecx
or edi, ecx
imul eax, edx
imul edi, ebx
lea edx, [eax + edi]
lea edi, [esi + esi]
xor esi, edx
lea ecx, [edx + edx]
mov edx, dword [esp + 0x19c8]
or edi, ecx
mov ebx, edx
sub edi, esi
mov eax, edx
or ebx, edi
not eax
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x199c]
sub ecx, edx
sub ecx, edi
or edi, eax
add edx, edi
mov edi, ecx
lea esi, [edx + edx + 2]
mov edx, dword [esp + 0x970]
mov eax, edx
and edi, esi
or ecx, esi
not eax
xor edx, ebx
add ecx, edi
lea edi, [ebx + ebx]
lea esi, [eax + eax]
and edi, esi
lea eax, [ecx + ecx]
sub edi, edx
bswap eax
bswap ecx
lea ebx, [edi + edi]
bswap edi
bswap ebx
mov esi, ebx
not esi
and esi, eax
lea edx, [ebx + esi*2]
mov esi, eax
and esi, ebx
sub edx, eax
xor esi, ebx
mov ebx, edi
neg ebx
add eax, esi
lea ebx, [ebx - 1]
mov esi, ebx
xor ebx, ecx
or esi, ecx
sub esi, ebx
lea ebx, [esi + esi]
mov esi, ecx
not esi
and esi, edi
xor edi, ecx
add esi, esi
sub esi, edi
lea edi, [ebx + ebx]
lea ecx, [esi + esi]
xor esi, ebx
and ecx, edi
mov ebx, dword [esp + 0x19c4]
add esi, ecx
mov ecx, edx
and ecx, eax
or edx, eax
not ecx
not edx
sub ecx, edx
bswap ecx
sub ecx, ebx
bswap esi
lea eax, [ecx + ecx]
mov edx, eax
lea edi, [ecx + esi]
add esi, esi
and edx, esi
sub edi, edx
mov edx, eax
or edx, esi
sub edx, esi
xor edx, eax
mov eax, edi
and eax, edx
xor edi, edx
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 4]
lea esi, [edi + ebx]
mov edi, dword [esp + 0x970]
mov edx, edi
xor edi, esi
or edx, esi
mov ebx, dword [esp + 0x1950]
mov esi, ebx
lea ecx, [edx + edx]
mov edx, dword [esp + 0x194c]
sub ecx, edi
imul eax, ecx
or esi, eax
lea ecx, [eax + edx - 0x2d1ac320]
sub ecx, esi
lea edi, [edx + edx - 0x5a358640]
mov edx, ecx
xor esi, eax
not edx
add edx, edx
and edi, edx
sub edi, ebx
lea edx, [edi + ecx]
mov ecx, ebx
mov edi, ebx
xor ecx, eax
and edi, eax
xor ebx, esi
add edi, ecx
mov ecx, ebx
mov esi, edi
not ecx
not esi
imul esi, ebx
imul ecx, edi
sub esi, ecx
lea ecx, [edx + edx]
xor edx, eax
lea edi, [eax + eax]
or ecx, edi
sub ecx, edx
lea edi, [esi + esi]
neg edi
lea eax, [ecx + ecx]
sub eax, ebx
lea ecx, [edi - 2]
lea edx, [eax + eax]
not edx
or edx, ecx
lea edi, [edx + eax*2 + 1]
lea edx, [eax + esi]
and eax, esi
lea esi, [eax + eax]
sub edx, esi
mov eax, edx
not eax
imul eax, edi
not edi
imul edi, edx
not eax
not edi
mov edx, dword [esp + 0x5d8]
mov dword [esp + 0x7d4], edx
add ebx, eax
mov eax, dword [esp + 0x304]
xor eax, 0x149064f3
sub ebx, edi
mov dword [esp + 0x19d0], ebx
add eax, 0xc7f0a36f
mov dword [esp + 0x4f0], eax
je 0x1001a3c9
test byte [esp + 0x7d4], 1
je 0x1001a3af
mov edi, dword [esp + 0x4f0]
mov esi, edi
or esi, 0x366e9315
mov edx, edi
xor edx, 0x366e9315
mov eax, edi
lea ebx, [esi - 0x366e9315]
mov esi, edi
and esi, 0x366e9315
xor eax, ebx
mov ebx, eax
lea ecx, [edx + esi]
mov edx, eax
mov esi, ecx
or ebx, ecx
not esi
and edx, ecx
and esi, eax
not eax
and eax, ecx
mov ecx, edi
imul edx, ebx
mov ebx, edi
imul eax, esi
neg edi
add eax, edx
or ebx, 0xc9916cea
xor ecx, 0xc9916cea
sub ebx, ecx
lea edx, [edi - 1]
mov esi, edx
or esi, 0x366e9315
lea ecx, [esi - 0x366e9315]
mov esi, ebx
xor ecx, edx
mov edi, ecx
mov edx, ecx
or edi, ebx
and edx, ebx
imul edx, edi
mov edi, ecx
not edi
not ebx
and esi, edi
and ebx, ecx
imul ebx, esi
lea esi, [eax + eax]
lea ecx, [edx + ebx]
lea edx, [ecx + ecx]
xor ecx, eax
and esi, edx
lea edi, [esi + ecx]
mov eax, edi
mov esi, edi
and eax, 0x1bd0ba5a
or esi, 0x1bd0ba5a
xor eax, 0x1bd0ba5a
add eax, edi
xor edi, 0x1bd0ba5a
xor esi, edi
mov ecx, esi
xor esi, eax
and ecx, eax
mov dword [esp + 0x10e0], ecx
lea eax, [esi + ecx*2]
mov esi, eax
lea edx, [ecx + ecx]
mov dword [esp + 0x10e4], edx
lea ecx, [eax + 0x366e9315]
mov ebx, ecx
mov edx, ecx
or ebx, 0x2d18243d
mov edi, ecx
sub esi, ebx
and edx, 0x2d18243d
xor edi, 0x2d18243d
neg eax
lea esi, [esi + 0x6386b752]
lea ebx, [edx + edi]
mov edi, esi
mov edx, ebx
not edi
not edx
and edi, ebx
and edx, esi
imul edx, edi
mov edi, esi
or edi, ebx
and esi, ebx
imul esi, edi
mov ebx, ecx
or ebx, 0xd2e7dbc2
xor ecx, 0xd2e7dbc2
sub ebx, ecx
lea ecx, [eax - 0x366e9316]
lea edi, [edx + esi]
mov esi, ecx
xor esi, 0x2d18243d
or ecx, 0x2d18243d
sub ecx, esi
mov esi, ebx
not esi
mov eax, ecx
mov edx, ecx
and esi, ecx
not ecx
and eax, ebx
or edx, ebx
and ebx, ecx
imul edx, eax
imul ebx, esi
lea esi, [edx + ebx]
mov edx, edi
or edx, esi
and edi, esi
add edi, edx
mov esi, edi
mov ecx, edi
or esi, 0xba9ef08d
and ecx, 0xba9ef08d
mov eax, edi
sub eax, ecx
lea edx, [esi + 0x45610f73]
xor edx, edi
mov esi, edx
lea ebx, [eax - 0x45610f73]
and esi, ebx
or edx, ebx
mov ebx, dword [esp + 0x2bc]
mov ecx, ebx
bswap ecx
add esi, edx
mov edx, esi
bswap edx
lea edi, [ecx + ecx]
lea eax, [edx + edx]
or edi, eax
mov eax, edx
xor eax, ecx
sub edi, eax
mov eax, edx
or eax, ecx
xor eax, ecx
xor eax, edx
mov edx, edi
neg edi
not edx
lea ecx, [eax + eax]
mov eax, ecx
not ecx
imul edi, ecx
neg eax
imul edx, eax
not edx
lea ecx, [ebx + ebx]
mov ebx, ecx
lea eax, [esi + esi]
mov esi, ecx
xor ebx, eax
and esi, eax
not edi
sub edx, edi
mov edi, dword [esp + 0x10e0]
bswap edx
add ebx, esi
mov esi, ecx
not ecx
sub esi, eax
and ecx, eax
lea eax, [esi + ecx*2]
mov esi, eax
xor esi, ebx
not ebx
and ebx, eax
lea ecx, [esi + edi*2]
lea eax, [ebx + ebx]
sub ecx, eax
mov ebx, ecx
not ebx
mov esi, ebx
or ebx, edx
and esi, edx
lea eax, [ecx + ebx + 1]
add esi, ecx
mov edx, esi
or esi, eax
and edx, eax
sub edx, dword [esp + 0x10e4]
lea ecx, [edx + esi]
mov dword [esp + 0x2bc], ecx
shr dword [esp + 0x7d4], 1
lea edx, [esp + 0x4f0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001a17c
mov edx, dword [esp + 0x19d0]
mov ecx, edx
mov eax, dword [esp + 0x2bc]
mov esi, edx
rol eax, cl
mov edi, eax
rol esi, cl
neg edi
mov dword [esp + 0x290], 0
lea ebx, [esi + esi]
lea edi, [edi + edi - 2]
or ebx, edi
lea ecx, [edi + esi*2]
sub ecx, ebx
mov ebx, eax
not ebx
xor eax, esi
and ebx, esi
mov edi, ecx
not edi
add ebx, ebx
sub ebx, eax
lea eax, [edi + edi]
xor ecx, ebx
mov esi, ecx
mov ecx, edx
neg ecx
add ebx, ebx
and eax, ebx
sub esi, eax
rol esi, cl
mov ecx, edi
mov dword [esp + 0x19d4], esi
mov esi, edx
ror esi, cl
mov ebx, dword [esp + 0x2bc]
mov edx, esi
ror ebx, cl
and edx, ebx
lea eax, [esi + ebx]
xor esi, ebx
lea ecx, [edx + edx]
sub eax, ecx
mov ecx, edi
lea ebx, [esi + edx]
lea esi, [eax + ebx]
and eax, ebx
add eax, eax
sub esi, eax
rol esi, cl
mov eax, dword [esp + 0x19d4]
lea ebx, [edx + esi*2]
mov ecx, ebx
and ecx, eax
mov edi, ecx
not ecx
xor edi, ebx
or ebx, eax
not ebx
sub ecx, ebx
add edi, eax
add edi, edi
mov esi, edi
not esi
imul esi, ecx
not ecx
imul ecx, edi
sub esi, edx
sub esi, ecx
mov edx, esi
mov edi, esi
neg edx
not edi
mov dword [esp + 0x19d8], esi
lea ecx, [edx - 1]
or edi, ecx
lea eax, [esi + edi]
add esi, esi
mov ecx, esi
xor esi, 0x1f
or ecx, 0x1f
lea eax, [eax + eax + 2]
sub ecx, esi
mov esi, 0x8b90c177
ror esi, cl
mov ebx, esi
mov edi, esi
not ebx
and edi, 0xb9dd51a8
mov edx, ebx
and edx, 0x4622ae57
mov dword [esp + 0x19dc], eax
mov dword [esp + 0x19e0], ecx
ror eax, cl
mov ecx, esi
imul edi, edx
mov edx, esi
and edx, 0x4622ae57
or ecx, 0x4622ae57
imul ecx, edx
add ecx, edi
mov edi, ecx
xor ecx, 0x12455c67
and edi, 0xedbaa398
lea edx, [edi + edi]
sub edx, ecx
mov edi, edx
mov ecx, edx
not edi
and ecx, 0x8f6be298
and edi, 0x70941d67
imul edi, ecx
mov ecx, edx
and ecx, 0x70941d67
or edx, 0x70941d67
imul edx, ecx
lea ecx, [edi + edx]
mov edx, eax
not edx
lea edi, [ecx + ecx]
and edi, 0x61d7b0e2
xor ecx, 0xb0ebd871
add ecx, edi
and edx, ecx
lea edi, [edx + eax]
mov edx, esi
and edx, eax
add edi, edi
mov dword [esp + 0x19e4], edi
lea edi, [ecx + eax]
and ecx, eax
add ecx, ecx
sub edi, ecx
mov ecx, esi
xor ecx, eax
neg esi
add ecx, edx
mov edx, ecx
imul ebx, ecx
not edx
imul esi, edx
neg ebx
not esi
not ebx
mov ecx, edi
sub esi, ebx
not ecx
lea ebx, [esi + eax]
lea edx, [esi + esi]
mov esi, dword [esp + 0x19e4]
imul ecx, esi
not esi
imul esi, edi
not ecx
add eax, eax
or edx, eax
not esi
sub edx, ebx
sub ecx, esi
mov edi, edx
sub ecx, ebx
not edi
and edi, ecx
lea esi, [edx + edi*2]
mov edi, edx
sub esi, ecx
neg ecx
lea eax, [ecx - 1]
or edi, eax
xor edx, eax
xor edi, edx
mov edx, dword [esp + 0x19e0]
xor edx, 0x20
mov dword [esp + 0x19e8], edx
neg edx
lea ecx, [edi + edi]
mov edi, esi
mov eax, ecx
xor esi, ecx
not eax
mov ecx, edx
and edi, eax
lea edi, [ebx + edi*2]
sub edi, esi
ror edi, cl
mov ebx, edi
mov ecx, edi
not ebx
mov eax, edi
mov esi, edi
and ebx, 0x7b6b90c1
and ecx, 0x84946f3e
and eax, 0x7b6b90c1
or esi, 0x7b6b90c1
imul ecx, ebx
imul esi, eax
lea edx, [ecx + esi]
mov ecx, edx
and edx, 0xbb60ef43
or ecx, 0xbb60ef43
lea ebx, [ecx + edx]
mov eax, ebx
mov esi, ebx
mov ecx, ebx
not eax
and esi, 0x2480ff41
and ecx, 0xdb7f00be
and eax, 0x2480ff41
or ebx, 0x2480ff41
imul eax, ecx
lea edx, [edi + edi]
imul ebx, esi
mov dword [esp + 0x974], esi
lea ecx, [eax + ebx]
lea esi, [ecx + ecx]
xor ecx, 0x2f707d03
and esi, 0xa11f05f8
sub esi, ecx
lea eax, [esi + esi]
lea ebx, [esi + edi]
and esi, edi
lea ecx, [eax + edi*2]
or eax, edx
sub ecx, eax
lea edi, [esi + esi]
sub ebx, edi
mov esi, ebx
xor ebx, ecx
or esi, ecx
mov ecx, dword [esp + 0x19dc]
shld ecx, ecx, 0xb
mov eax, ecx
lea edi, [esi + esi]
neg eax
sub edi, ebx
mov dword [esp + 0x19ec], edi
lea eax, [eax - 1]
mov esi, eax
shld esi, eax, 0xb
mov ebx, esi
mov edi, esi
or ebx, 0x5de2e430
neg edi
mov edx, ebx
neg ebx
not edx
not esi
imul edi, edx
mov edx, eax
imul esi, ebx
not edi
not esi
sub edi, esi
mov esi, eax
and esi, 0x79f443a4
or edx, 0x79f443a4
imul edx, esi
mov esi, eax
not eax
and esi, 0x860bbc5b
and eax, 0x79f443a4
neg edx
imul eax, esi
lea ebx, [ecx - 1]
not ebx
lea edx, [edx - 1]
mov ecx, ebx
sub edx, eax
mov eax, ebx
not ecx
and eax, 0x860bbc5c
and ecx, 0x79f443a3
imul ecx, eax
mov esi, ebx
neg ecx
and esi, 0x79f443a3
or ebx, 0x79f443a3
imul ebx, esi
lea esi, [edi + 0x5de2e430]
add edi, edi
and edi, 0xbbc5c860
lea ecx, [ecx - 1]
mov eax, ecx
mov ecx, edx
sub esi, edi
sub eax, ebx
not ecx
shrd esi, esi, 0xb
imul ecx, eax
not eax
lea ebx, [esi + esi]
imul edx, eax
mov esi, dword [esp + 0x19e8]
sub ecx, edx
sub ebx, esi
lea edi, [ecx + ecx]
lea eax, [ebx + ebx]
mov edx, eax
and eax, edi
xor edx, edi
lea edi, [ecx + ebx]
and ecx, ebx
add eax, edx
lea edx, [ecx + ecx]
sub edi, edx
mov ecx, edi
xor ecx, eax
not eax
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x974]
lea esi, [edi + edi]
lea edx, [eax + eax]
and esi, edx
lea edi, [ecx + ecx]
sub ebx, esi
shld ebx, ebx, 0x15
mov edx, dword [esp + 0x19ec]
mov esi, ebx
not esi
lea eax, [edx + edx]
xor edx, ecx
mov ecx, esi
or edi, eax
neg ecx
sub edi, edx
not ecx
mov eax, edi
mov edx, edi
lea ecx, [ecx + 1]
xor eax, ecx
and edx, ecx
add edx, eax
mov eax, edi
or eax, ecx
add eax, eax
sub eax, edi
sub eax, ecx
mov ecx, eax
xor ecx, edx
not edx
add eax, eax
add edx, edx
and eax, edx
sub ecx, eax
mov eax, edi
neg eax
add ecx, ecx
lea edx, [eax - 1]
mov eax, esi
or eax, edx
mov edx, edi
sub eax, esi
not edi
xor edx, ebx
lea esi, [eax + eax]
lea eax, [ebx + ebx]
lea ebx, [edi + edi]
mov edi, edx
and eax, ebx
sub edi, eax
mov edx, edi
xor edx, esi
add esi, esi
add edi, edi
and esi, edi
lea ebx, [edx + esi]
mov edx, ebx
mov esi, ebx
neg edx
not esi
lea eax, [edx - 1]
not eax
or eax, ecx
lea edi, [edx + eax]
lea eax, [edi + edi]
lea edx, [esi + esi]
lea edi, [ecx + ecx]
and edx, edi
sub edx, ecx
lea edi, [edx + ebx]
mov ecx, edi
lea ebx, [eax + eax]
not ecx
xor eax, edi
mov edi, dword [esp + 0x974]
not edi
add ecx, ecx
and ebx, ecx
mov ecx, dword [esp + 0x19d8]
lea edx, [edi + 1]
sub ebx, eax
mov esi, ebx
xor ebx, edx
or esi, edx
lea edi, [ecx - 0x21]
not edi
add esi, esi
sub esi, ebx
lea ecx, [edi + ecx*2]
neg ecx
lea ebx, [esi + esi]
lea eax, [ecx + 0x41]
mov edx, eax
neg edx
lea edx, [edx + edx + 0x40]
mov edi, edx
not edi
or edi, ebx
lea edx, [edi + edx + 1]
mov edi, esi
not esi
sub edi, eax
mov dword [esp + 0x19f0], edx
lea edx, [ecx + ecx + 0x40]
lea eax, [esi + esi]
mov esi, dword [esp]
mov ebx, esi
and eax, edx
imul ebx, dword [esp + 4]
mov dword [esp + 0x7d8], ebx
lea ecx, [edi + eax + 0x21]
mov dword [esp + 0x19f4], ecx
mov dword [esp + 0x4f4], esi
test esi, esi
je 0x1001a9ae
test byte [esp + 0x7d8], 1
je 0x1001a994
mov ecx, dword [esp + 0x4f4]
mov ebx, dword [esp + 0x290]
lea esi, [ecx + ecx]
mov edx, esi
lea eax, [ebx + ebx]
and edx, eax
lea edi, [edx + edx]
mov dword [esp + 0x82c], edi
lea edx, [esi + ebx*2]
mov dword [esp + 0x10e8], edx
sub edx, edi
or esi, eax
mov eax, dword [esp + 0x10e8]
mov edi, edx
sub eax, esi
mov esi, ecx
xor edi, eax
and edx, eax
neg esi
lea eax, [edi + edx*2]
mov edi, ebx
lea edx, [esi - 1]
mov esi, ebx
or esi, edx
xor edi, edx
mov edx, ebx
xor esi, edi
not edx
mov edi, ecx
not ecx
imul edi, edx
imul ebx, ecx
not edi
not ebx
sub edi, ebx
add esi, esi
lea ecx, [esi + esi]
lea edx, [edi + edi]
xor edi, esi
and edx, ecx
sub edx, dword [esp + 0x82c]
lea ecx, [edx + edi]
mov edx, eax
mov esi, ecx
neg edx
neg esi
mov edi, eax
lea ebx, [edx - 1]
mov edx, eax
lea esi, [esi - 1]
or edx, esi
and edi, esi
imul edi, edx
mov edx, esi
not edx
and edx, eax
not eax
and eax, esi
mov esi, ecx
imul eax, edx
and esi, ebx
add edi, eax
mov eax, ecx
or eax, ebx
neg edi
imul eax, esi
mov esi, ebx
not esi
lea edx, [edi - 1]
and esi, ecx
not ecx
and ecx, ebx
imul ecx, esi
lea ebx, [eax + ecx]
neg ebx
lea edi, [ebx - 1]
mov eax, edi
not eax
imul eax, edx
not edx
imul edx, edi
not eax
not edx
sub eax, dword [esp + 0x82c]
sub eax, edx
mov dword [esp + 0x290], eax
shr dword [esp + 0x7d8], 1
lea edx, [esp + 0x4f4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001a89c
mov eax, dword [esp + 4]
mov dword [esp + 0x4f8], eax
mov dword [esp + 0x1b8], 0
test eax, eax
je 0x1001aeaa
test byte [esp + 0x290], 1
je 0x1001ae90
mov ebx, dword [esp + 0x4f8]
mov edi, ebx
neg edi
mov esi, dword [esp + 0x1b8]
lea edi, [edi + ebx*2]
sub edi, esi
shrd esi, esi, 5
mov ecx, esi
mov eax, edi
shrd ecx, esi, 0x1a
shrd eax, edi, 5
shrd esi, esi, 0xd
not ecx
mov edx, eax
neg ecx
and edx, 0x98da0c5
not ecx
lea ebx, [ecx + 1]
mov ecx, eax
or ecx, 0x98da0c5
imul edx, ecx
mov ecx, eax
shrd ebx, ebx, 6
not eax
and ecx, 0xf6725f3a
and eax, 0x98da0c5
imul eax, ecx
add edx, eax
lea ecx, [edx + edx]
xor edx, 0xbc674424
and ecx, 0x873177b6
sub ecx, edx
mov eax, ecx
mov edx, ecx
not eax
and edx, 0x38eb21f2
and eax, 0xc714de0d
imul eax, edx
mov edx, ecx
and edx, 0xc714de0d
or ecx, 0xc714de0d
imul ecx, edx
add eax, ecx
mov edx, eax
xor eax, 0x92da522c
and edx, 0xed25add3
lea ecx, [edx + edx]
mov edx, ebx
neg edx
sub ecx, eax
mov eax, ecx
lea edx, [edx - 1]
xor eax, edx
or ecx, edx
xor eax, ecx
mov ecx, eax
or eax, ebx
and ecx, ebx
lea ebx, [ecx + eax]
mov ecx, esi
and ecx, 1
xor esi, 1
lea eax, [esi + ecx*2 - 1]
mov esi, ebx
not eax
shld eax, eax, 0xd
mov ecx, eax
neg ecx
lea edx, [ecx - 1]
or esi, edx
mov edx, ebx
sub esi, ecx
lea ecx, [esi + 1]
xor edx, ecx
lea esi, [ebx + eax]
and ebx, eax
add edx, edx
add ebx, ebx
sub esi, ebx
mov ebx, edi
mov ecx, esi
xor esi, edx
not ecx
xor ebx, 0x3ca0a017
and ecx, edx
lea eax, [ecx + ecx]
mov ecx, edi
sub eax, esi
and ecx, 0x3ca0a017
shld eax, eax, 5
add ecx, ebx
lea edx, [eax + eax]
mov eax, edi
or eax, 0x3ca0a017
xor eax, ebx
mov esi, eax
mov ebx, eax
or esi, ecx
and ebx, ecx
imul ebx, esi
mov esi, ecx
mov dword [esp + 0x10ec], edx
not esi
mov edx, eax
not eax
and edx, esi
and eax, ecx
imul eax, edx
mov esi, edi
or esi, 0xc35f5fe8
lea edx, [ebx + eax]
mov ebx, edi
xor esi, 0xc35f5fe8
neg ebx
xor esi, edi
mov edi, esi
lea ecx, [ebx - 1]
mov eax, ecx
or eax, 0x3ca0a017
sub eax, ecx
mov ecx, edx
xor eax, 0x3ca0a017
mov ebx, eax
not ebx
and edi, ebx
mov ebx, esi
not ebx
and ebx, eax
imul ebx, edi
mov edi, esi
or edi, eax
and esi, eax
imul esi, edi
lea edi, [ebx + esi]
xor ecx, edi
lea ebx, [edx + edx]
add edi, edi
and ebx, edi
lea esi, [ecx + ebx]
lea edx, [esi + esi - 2]
mov eax, edx
xor eax, 0xf5b91b68
and eax, edx
and edx, 0xf5b91b68
sub esi, edx
lea ecx, [eax - 0xa46e498]
lea ebx, [esi - 0x523724d]
mov edi, ebx
xor ebx, ecx
not edi
and edi, ecx
lea edx, [edi + edi]
sub edx, ebx
lea eax, [edx + 1]
neg edx
mov esi, eax
mov ecx, eax
and esi, 0x15c697a7
mov edi, eax
xor esi, eax
or ecx, 0x15c697a7
xor edi, 0x15c697a7
sub ecx, edi
mov dword [esp + 0x830], esi
mov ebx, ecx
lea edi, [esi + 0x15c697a7]
mov esi, ecx
or esi, edi
and ebx, edi
imul ebx, esi
mov esi, edi
not esi
and esi, ecx
not ecx
and ecx, edi
mov edi, eax
imul ecx, esi
xor edi, 0xea396858
add ecx, ebx
mov ebx, eax
or ebx, 0xea396858
mov eax, edi
xor eax, ebx
lea ebx, [edx - 2]
or ebx, 0xea396858
mov esi, eax
mov edi, eax
lea ebx, [ebx + 0x15c697a8]
and esi, ebx
or edi, ebx
imul edi, esi
mov esi, ebx
not esi
and esi, eax
not eax
and eax, ebx
imul eax, esi
lea edx, [edi + eax]
mov edi, ecx
mov eax, dword [esp + 0x830]
or edi, edx
sub edi, eax
and ecx, edx
add edi, ecx
mov ebx, edi
mov edx, edi
not ebx
and edx, 0x1aad9c6c
and ebx, 0xe5526393
mov ecx, edi
imul edx, ebx
mov ebx, edi
and ecx, 0xe5526393
or ebx, 0xe5526393
neg edx
neg edi
imul ebx, ecx
lea esi, [edx - 1]
sub esi, ebx
lea edi, [edi - 1]
mov ecx, edi
mov ebx, edi
and ecx, 0x1aad9c6c
or ebx, 0x1aad9c6c
imul ebx, ecx
mov edx, edi
not edx
and edi, 0xe5526393
mov dword [esp + 0x834], edx
and edx, 0x1aad9c6c
neg ebx
imul edi, edx
lea edx, [esi + esi]
lea ebx, [ebx - 1]
sub ebx, edi
mov ecx, ebx
xor esi, ebx
not ecx
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x1b8]
and edx, edi
bswap ecx
add edx, eax
sub edx, esi
lea ebx, [ecx + ecx]
bswap edx
mov dword [esp + 0x10f4], ebx
bswap ebx
lea esi, [edx + edx]
mov eax, esi
bswap eax
mov dword [esp + 0x10f0], eax
neg eax
lea edi, [eax - 1]
mov eax, edi
or edi, ebx
xor eax, ebx
lea ebx, [edx + ecx]
and edx, ecx
sub edi, eax
mov eax, dword [esp + 0x10f4]
lea ecx, [edx + edx]
sub ebx, ecx
mov ecx, esi
or ecx, eax
mov edx, ebx
xor ecx, esi
xor ecx, eax
xor edx, ecx
lea esi, [ebx + ebx]
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x10f0]
or esi, eax
mov eax, edi
mov ebx, esi
xor eax, ecx
and edi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x834]
lea edi, [eax + edi*2]
bswap edi
lea edx, [ebx + ebx]
mov dword [esp + 0x10f8], edx
neg edx
add edi, ecx
lea ecx, [edx - 2]
lea edx, [edi + edi]
mov esi, edx
mov eax, edx
xor esi, ecx
or eax, ecx
lea ecx, [esp + 0x10fc]
mov dword [ecx], esi
or edx, dword [esp + 0x10f8]
sub eax, dword [ecx]
sub edx, ebx
sub edx, edi
mov ebx, eax
not eax
xor ebx, edx
sub ebx, dword [esp + 0x834]
lea edi, [edx + edx]
mov edx, dword [esp + 0x10ec]
lea ecx, [eax + eax]
and edi, ecx
sub ebx, edi
lea esi, [edx + edx]
bswap ebx
lea eax, [esi + esi]
mov dword [esp + 0x1100], ebx
bswap edx
lea edi, [ebx + ebx]
mov ebx, edi
lea ecx, [edi + edi]
xor ebx, esi
or eax, ecx
sub eax, ebx
or edi, esi
sub edi, ebx
mov ecx, eax
not eax
xor ecx, edi
add edi, edi
lea esi, [eax + eax]
mov eax, dword [esp + 0x1100]
bswap eax
and esi, edi
sub ecx, esi
mov esi, eax
neg esi
lea ebx, [esi - 1]
not ebx
or ebx, edx
neg edx
lea edx, [edx - 1]
mov edi, edx
or edx, eax
xor edi, eax
add ebx, esi
xor edi, edx
lea eax, [ebx + ebx]
lea edx, [edi + edi]
xor edi, ebx
or eax, edx
mov ebx, ecx
sub eax, edi
neg ebx
bswap eax
mov edx, dword [esp + 0x830]
lea ebx, [ebx - 1]
lea esi, [eax + edx + 0x15c697a7]
mov eax, esi
mov edi, esi
and eax, ebx
or edi, ebx
imul edi, eax
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
neg esi
imul ebx, eax
lea eax, [edi + ebx]
mov edi, ecx
mov ebx, ecx
lea esi, [esi - 1]
and edi, esi
or ebx, esi
imul ebx, edi
mov edi, ecx
not edi
and edi, esi
not esi
and ecx, esi
lea esi, [eax + eax]
imul ecx, edi
add ecx, ebx
mov ebx, ecx
xor eax, ecx
not ebx
lea edi, [ebx + ebx]
and esi, edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x1b8]
neg edx
sub edi, eax
lea ebx, [edx - 1]
xor ebx, 1
lea edx, [edx + edx - 2]
or edx, 2
lea eax, [edi + 0x15c697a7]
sub edx, ebx
lea ecx, [edx + edx]
neg ecx
lea esi, [ecx - 2]
lea ecx, [edi + edi + 0x2b8d2f4e]
mov edi, ecx
mov ebx, ecx
or edi, esi
xor ebx, esi
xor edi, ebx
mov ebx, edx
not edx
sub ebx, eax
lea eax, [edx + edx]
and ecx, eax
lea eax, [ebx + ecx]
mov esi, eax
not esi
and esi, edi
xor edi, eax
lea edx, [esi + esi]
sub edx, edi
mov dword [esp + 0x1b8], edx
shr dword [esp + 0x290], 1
lea edx, [esp + 0x4f8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001a9cc
mov eax, dword [esp + 4]
imul eax, dword [esp + 0x1b8]
mov dword [esp + 0x7dc], eax
mov dword [esp + 0x55c], 0
mov dword [esp + 0x4fc], 0x3b200000
test byte [esp + 0x7dc], 1
je 0x1001b0e8
mov eax, dword [esp + 0x55c]
mov esi, eax
neg esi
mov edi, eax
or edi, 0xaac52c76
sub edi, eax
xor edi, 0xaac52c76
lea ecx, [esi - 1]
mov esi, edi
mov edx, ecx
or edx, 0x553ad389
sub edx, ecx
mov ecx, edi
xor edx, 0x553ad389
not ecx
mov ebx, edx
and ecx, edx
not ebx
and esi, ebx
mov ebx, edx
and ebx, edi
or edx, edi
imul esi, ecx
mov edi, eax
imul edx, ebx
mov ecx, eax
add edx, esi
mov esi, eax
xor edi, 0x553ad389
and esi, 0x553ad389
or ecx, 0x553ad389
xor eax, esi
sub ecx, edi
mov ebx, ecx
mov edi, ecx
lea esi, [eax + 0x553ad389]
mov eax, ecx
or ebx, esi
and eax, esi
imul eax, ebx
mov ebx, esi
not ebx
not ecx
and edi, ebx
and ecx, esi
imul ecx, edi
lea esi, [eax + ecx]
mov eax, esi
lea edi, [esi + esi]
xor eax, edx
add edx, edx
and edi, edx
lea edx, [eax + edi]
mov esi, edx
and esi, 0xfb79a38a
lea ecx, [esi + esi]
sub ecx, edx
neg edx
lea eax, [edx - 1]
mov esi, eax
xor eax, 0x4865c75
or esi, 0x84865c75
lea ebx, [ecx + 0x4865c75]
sub esi, eax
lea ecx, [esi + esi]
mov esi, ebx
not ebx
xor esi, ecx
and ebx, ecx
lea eax, [ebx + ebx]
sub esi, eax
lea edi, [esi + 0x553ad389]
mov edx, edi
mov eax, edi
not edx
and eax, 0xa1d192b9
or edx, 0xa1d192b9
xor eax, edi
or edi, 0xa1d192b9
lea ecx, [edx + esi + 0x553ad38a]
neg esi
lea edx, [eax - 0x5e2e6d47]
mov eax, edx
mov ebx, edx
or eax, ecx
and ebx, ecx
imul ebx, eax
mov eax, edx
not eax
and eax, ecx
not ecx
and ecx, edx
imul ecx, eax
lea eax, [esi - 0x553ad38a]
mov edx, eax
xor eax, 0xa1d192b9
or edx, 0xa1d192b9
add ebx, ecx
sub edx, eax
lea ecx, [edi + 0x5e2e6d47]
mov eax, edx
mov esi, edx
and eax, ecx
or esi, ecx
mov edi, ecx
imul esi, eax
not edi
mov eax, edx
not edx
and eax, edi
and edx, ecx
imul edx, eax
lea ecx, [esi + edx]
mov eax, ecx
xor ecx, ebx
and eax, ebx
lea esi, [ecx + eax*2]
mov ebx, esi
lea edx, [esi + esi]
not ebx
mov ecx, edx
and ecx, 0x9726bc2c
xor ecx, edx
lea eax, [ebx + ebx]
and eax, 0x9726bc2c
lea ebx, [ecx - 0x68d943d4]
lea edi, [eax + esi - 0x4b935e16]
mov edx, edi
not edx
imul edx, ebx
not ebx
imul ebx, edi
not edx
not ebx
mov edi, dword [esp + 0x4fc]
sub edx, ebx
mov eax, edi
mov ebx, edi
neg eax
lea esi, [edx - 0x553ad38a]
mov ecx, esi
lea edx, [edx + edx + 0x558a58ec]
or edx, 2
lea eax, [eax - 1]
or ecx, eax
sub ecx, esi
xor ecx, eax
mov eax, edi
xor ebx, ecx
and eax, ecx
lea ecx, [ebx + eax*2]
mov eax, esi
neg eax
xor esi, 1
sub edx, esi
lea ebx, [eax - 1]
not ebx
and edi, ebx
mov ebx, edx
lea eax, [edi + eax - 1]
or ebx, eax
xor edx, eax
lea esi, [ebx + ebx]
sub esi, edx
mov edx, esi
mov eax, esi
xor edx, ecx
or eax, ecx
sub eax, edx
lea edx, [ecx + ecx]
lea edi, [esi + esi]
or edi, edx
sub edi, ecx
sub edi, esi
add eax, eax
mov ecx, edi
or edi, eax
and ecx, eax
lea eax, [ecx + edi]
mov dword [esp + 0x55c], eax
shr dword [esp + 0x7dc], 1
lea edx, [esp + 0x4fc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001aed3
mov ecx, dword [esp + 0x304]
xor ecx, 0x39232a8f
and ecx, 0xff56ffff
mov edi, dword [esp + 0x160]
not ecx
mov edx, edi
and ecx, 0xaebfc2ed
or edx, 0xf9408563
mov eax, dword [esp]
sub edx, edi
mov esi, dword [esp + 4]
mov ebx, edx
imul eax, ecx
or esi, 0xf9408563
mov ecx, esi
not ebx
not ecx
mov edi, edx
and ebx, esi
and edi, ecx
mov dword [esp + 0x5f4], eax
mov eax, edx
imul edi, ebx
or eax, esi
mov ebx, dword [esp + 0x1758]
and edx, esi
or ebx, 0xf9408563
mov ecx, dword [esp + 0x308]
imul edx, eax
mov dword [esp + 0x2c0], 0
lea eax, [ecx + ebx]
mov ebx, eax
add edi, edx
mov edx, eax
lea ecx, [esi + 0x6bf7a9d]
mov esi, eax
not ebx
and esi, ecx
or edx, ecx
and ebx, ecx
not ecx
and ecx, eax
mov eax, edi
imul edx, esi
imul ecx, ebx
lea esi, [edx + ecx]
or eax, esi
xor edi, esi
lea edx, [eax + eax]
sub edx, edi
sub edx, esi
mov ebx, edx
or ebx, 0x891bb4b7
lea ecx, [edx + edx]
or ecx, 0x1237696f
mov dword [esp + 0x19f8], ecx
lea eax, [ecx - 0x1237696f]
lea ecx, [ebx + ebx]
sub ecx, edx
mov dword [esp + 0x19fc], ecx
lea edi, [ecx + 0x76e44b49]
mov dword [esp + 0x1a00], edi
xor edi, eax
not eax
lea edx, [edi + esi]
lea esi, [ecx + ecx - 0x1237696e]
lea ecx, [eax + eax]
and esi, ecx
sub edx, esi
mov eax, edx
mov ebx, edx
neg eax
mov edi, edx
or ebx, 0xfd82dbb4
xor edi, 0xfd82dbb4
sub ebx, edi
lea esi, [eax - 1]
mov edi, esi
or edi, 0x27d244b
sub edi, esi
mov esi, ebx
xor edi, 0x27d244b
not esi
and esi, edi
mov eax, edi
mov ecx, edi
not edi
and eax, ebx
or ecx, ebx
and edi, ebx
mov ebx, edx
imul ecx, eax
or ebx, 0x27d244b
imul edi, esi
mov dword [esp + 0x1a04], esi
add ecx, edi
mov edi, edx
mov esi, edx
xor edi, 0x27d244b
sub esi, ebx
and edi, edx
lea eax, [esi + 0x27d244b]
mov esi, ecx
mov edx, eax
lea ebx, [edi + 0x27d244b]
mov edi, ebx
not edx
not edi
and edx, ebx
and edi, eax
imul edi, edx
mov edx, ebx
or edx, eax
and ebx, eax
imul ebx, edx
lea edx, [edi + ebx]
or esi, edx
and ecx, edx
lea ebx, [esi + ecx]
mov esi, dword [esp + 0x1a00]
neg esi
mov eax, ebx
lea ecx, [esi - 0x441d5263]
or eax, ecx
lea edi, [esi + esi + 0x77c55b3a]
mov esi, edi
not esi
lea edx, [eax + eax]
mov eax, dword [esp + 0x19fc]
sub edx, ebx
sub edx, ecx
lea ecx, [ebx + ebx]
or esi, ecx
mov ebx, edx
lea esi, [esi + edi + 1]
xor ebx, esi
and edx, esi
lea ecx, [ebx + eax + 0x76e44b49]
lea ebx, [ecx + edx*2]
mov edx, dword [esp + 0x5f4]
mov edi, ebx
mov esi, ebx
or edi, 0x9d8156ef
and esi, 0x9d8156ef
mov eax, ebx
imul esi, edi
not eax
shrd edx, edx, 0x1f
mov edi, ebx
and eax, 0x9d8156ef
and edi, 0x627ea910
not edx
imul edi, eax
mov ecx, dword [esp + 0x19f8]
add edi, esi
mov esi, edi
not esi
imul esi, esi, 0xff6cc879
imul edi, edi, 0xff6cc87a
mov dword [esp + 0x1a08], ebx
lea eax, [esi + edi]
mov esi, eax
mov edi, eax
or esi, 0xf312980f
and edi, 0xf312980f
imul edi, esi
mov esi, eax
not eax
and esi, 0xced67f0
and eax, 0xf312980f
imul eax, esi
add edi, eax
mov esi, edi
not esi
imul esi, esi, 0x7e1668e9
imul edi, edi, 0x7e1668ea
add esi, edi
rol esi, cl
lea edi, [edx + 1]
not edi
lea edx, [edx + edx + 2]
neg edi
not edx
not edi
sub edi, edx
shld edi, edi, 0x1f
rol edi, cl
mov eax, edi
not eax
and eax, esi
lea edx, [eax + eax]
mov eax, edi
sub edx, esi
xor eax, esi
add edx, edi
and edi, esi
add eax, edi
lea esi, [eax + eax]
lea edi, [edx + edx]
or esi, edi
sub esi, edx
mov edx, ebx
sub esi, eax
ror esi, cl
mov ecx, ebx
ror edx, cl
neg edx
mov ebx, dword [esp + 0x5f4]
lea edi, [edx - 1]
rol edi, cl
mov eax, edi
mov ecx, edi
and eax, ebx
xor ecx, ebx
lea edx, [ecx + eax*2]
xor eax, edi
lea ecx, [edx + edx]
add eax, ebx
mov ebx, eax
xor eax, edx
not ebx
add ebx, ebx
and ebx, ecx
sub ebx, eax
mov eax, esi
mov edx, ebx
neg eax
neg edx
mov ecx, ebx
not ecx
lea eax, [eax - 1]
lea edx, [edx - 1]
mov edi, edx
or edi, esi
sub edi, esi
xor edi, edx
mov edx, ecx
or edx, eax
sub edx, ecx
mov eax, edx
mov ecx, edx
and eax, edi
or ecx, edi
imul ecx, eax
mov eax, edx
mov dword [esp + 0x1a0c], ecx
not eax
mov ecx, edi
not edi
and ecx, eax
and edx, edi
lea eax, [esp + 0x1a10]
mov dword [eax], ecx
mov edi, esi
imul edx, dword [eax]
not edi
mov ecx, dword [esp + 0x1a0c]
or edi, ebx
lea eax, [ecx + edx]
mov ecx, ebx
xor ecx, esi
lea edx, [esi + edi + 1]
and ecx, esi
mov esi, edx
lea edi, [ebx + ecx]
mov ebx, edx
and esi, edi
or ebx, edi
imul ebx, esi
mov esi, edi
not esi
lea ecx, [eax + eax]
and esi, edx
not edx
and edx, edi
imul edx, esi
mov esi, dword [esp + 0x1a08]
add ebx, edx
xor eax, ebx
lea edi, [ebx + ebx]
or ecx, edi
mov edi, esi
mov ebx, dword [esp + 0x5f4]
or edi, ebx
sub ecx, eax
mov edx, esi
mov dword [esp + 0x1a14], ecx
and edx, ebx
lea ecx, [esi + ebx]
sub ecx, edx
lea eax, [edi + edi]
sub eax, ebx
sub eax, esi
mov edx, eax
xor edx, ecx
not ecx
lea edi, [eax + eax]
mov eax, esi
neg eax
add ecx, ecx
and edi, ecx
sub edx, edi
lea edi, [eax - 1]
mov ecx, edi
or edi, ebx
xor ecx, ebx
sub edi, ecx
mov ecx, edx
mov ebx, edi
or edi, esi
and ebx, esi
mov esi, edx
lea eax, [ebx + edi]
and esi, eax
or ecx, eax
xor esi, eax
sub ecx, eax
xor ecx, edx
mov ebx, ecx
lea edi, [edx + esi]
mov esi, ecx
and ebx, edi
or esi, edi
imul esi, ebx
mov ebx, edi
not ebx
and ebx, ecx
not ecx
and ecx, edi
imul ecx, ebx
mov ebx, eax
lea edi, [esi + ecx]
mov esi, edx
neg esi
mov ecx, eax
neg eax
lea esi, [esi - 1]
or ecx, esi
xor ebx, esi
sub ecx, ebx
lea esi, [eax - 1]
mov ebx, edx
mov eax, ecx
or ebx, esi
not eax
xor edx, ebx
mov ebx, ecx
xor edx, esi
mov esi, ecx
and esi, edx
or ebx, edx
imul ebx, esi
mov esi, edx
not edx
and esi, eax
and ecx, edx
mov edx, edi
imul ecx, esi
mov eax, dword [esp + 0x1a04]
lea esi, [ebx + ecx]
and edx, esi
or edi, esi
mov ecx, dword [esp + 0x1a14]
mov esi, ecx
lea ebx, [eax + edx]
lea edx, [edi + ebx]
mov ebx, ecx
not ebx
mov edi, ecx
and ebx, edx
xor esi, edx
or edi, edx
sub edi, esi
mov esi, edi
lea edx, [ecx + ebx]
xor esi, edx
sub esi, eax
lea ecx, [edi + edi]
mov edi, dword [esp + 0x19f4]
lea eax, [edx + edx]
and ecx, eax
mov edx, edi
lea ebx, [esi + ecx]
mov esi, dword [esp + 0x19f0]
xor edx, esi
not esi
and edi, esi
mov ecx, ebx
mov esi, dword [esp + 0x55c]
not ecx
and ecx, 0x9e0b8163
lea eax, [edi + edi]
mov edi, ebx
sub edx, eax
and edi, 0x61f47e9c
imul ecx, edi
add edx, esi
mov esi, ebx
and esi, 0x9e0b8163
or ebx, 0x9e0b8163
imul ebx, esi
lea edi, [ecx + ebx]
mov ecx, edi
not ecx
imul eax, ecx, 0xc0930864
imul esi, edi, 0xc0930865
lea edi, [eax + esi]
mov ecx, edi
mov esi, edi
mov eax, edi
not edi
or ecx, 0xdf2084b
and esi, 0xdf2084b
and eax, 0xf20df7b4
and edi, 0xdf2084b
imul esi, ecx
imul edi, eax
mov eax, edx
lea ecx, [esi + edi]
not eax
lea esi, [ecx + ecx]
and esi, 0xbbd2a98
xor ecx, 0x5de954c
add eax, eax
lea edi, [esi + ecx]
lea ebx, [edi + edi + 0x2cb04134]
and ebx, eax
lea esi, [edi + 0x1658209a]
mov ecx, edx
or ecx, esi
xor ecx, edx
xor ecx, esi
lea eax, [ebx + edx]
sub eax, edi
lea edx, [ecx + ecx]
mov dword [esp + 0x1a1c], edx
lea ebx, [eax - 0x1658209a]
mov dword [esp + 0x1a18], ebx
mov eax, dword [esp]
mov dword [esp + 0x7e0], eax
mov dword [esp + 0x500], eax
test eax, eax
je 0x1001bfbd
test byte [esp + 0x7e0], 1
je 0x1001bfa3
mov ecx, dword [esp + 0x2c0]
mov ebx, ecx
not ebx
shld ecx, ecx, 0x1d
lea esi, [ebx + 1]
mov dword [esp + 0x1104], esi
mov edi, esi
not esi
and esi, 1
xor edi, 1
lea eax, [esi + esi]
sub edi, eax
mov edx, edi
and edx, 0xbe8daa71
xor edx, 0xbe8daa71
lea eax, [edi + edx]
mov ebx, eax
not ebx
lea esi, [ebx + ebx]
mov ebx, edi
and esi, 0x7d1b54e2
not ebx
mov dword [esp + 0x838], ebx
lea eax, [eax + esi + 0x4172558f]
mov esi, ecx
not esi
lea edx, [ebx + ebx]
and esi, 0x37d1b54e
lea ebx, [eax + eax]
sub edi, eax
and edx, ebx
add ecx, esi
lea esi, [ecx + ecx]
xor ecx, 0xc82e4ab2
or esi, 0x905c9564
lea ebx, [edi + edx]
sub esi, ecx
mov ecx, ebx
shrd esi, esi, 0x1d
mov edi, esi
neg edi
lea eax, [edi - 1]
or ecx, eax
mov eax, ebx
neg eax
lea edx, [edi + ebx]
sub edx, ecx
mov ecx, esi
mov dword [esp + 0x1108], eax
not ecx
lea eax, [eax - 1]
mov dword [esp + 0x110c], eax
or ecx, eax
lea edi, [edx - 1]
mov edx, edi
not edx
lea ecx, [esi + ecx + 1]
mov eax, ecx
and edx, ecx
not eax
and eax, edi
imul edx, eax
mov eax, edi
or eax, ecx
and edi, ecx
mov ecx, ebx
not ecx
imul edi, eax
and ecx, esi
mov eax, ebx
add edi, edx
or eax, esi
lea edx, [ecx + ebx]
sub eax, ebx
xor eax, esi
mov dword [esp + 0x1110], ecx
mov esi, eax
mov ecx, edx
not esi
not ecx
mov ebx, eax
and esi, edx
and ecx, eax
or ebx, edx
and eax, edx
imul ecx, esi
imul eax, ebx
mov edx, dword [esp + 0x1160]
add ecx, eax
mov ebx, ecx
xor ecx, edi
or ebx, edi
mov eax, edx
add ebx, ebx
sub ebx, ecx
mov ecx, dword [esp + 0x2c0]
bswap ecx
mov esi, ecx
neg esi
mov dword [esp + 0x1114], ebx
mov ebx, ecx
xor ebx, 1
lea edi, [esi - 1]
and eax, edi
mov edi, ecx
and edi, 1
lea esi, [edx + esi - 1]
mov dword [esp + 0x1118], esi
sub esi, eax
lea eax, [ebx + edi*2]
mov ebx, esi
and ebx, eax
xor esi, eax
mov dword [esp + 0x83c], eax
mov edi, edx
mov eax, edx
or edi, ecx
xor eax, ecx
sub edi, eax
lea esi, [esi + ebx*2]
mov ebx, edi
and edi, ecx
or ebx, ecx
sub ebx, edi
mov edi, dword [esp + 0x1164]
xor edx, ebx
bswap esi
lea ecx, [ebx + ebx]
and edi, ecx
lea ebx, [edi + edx]
bswap ebx
mov ecx, ebx
neg ecx
lea edi, [ecx - 1]
mov ecx, esi
neg ecx
mov eax, edi
or eax, esi
sub eax, edi
xor eax, esi
lea edx, [ecx - 1]
or edx, ebx
lea edi, [ebx + ecx - 1]
sub edi, edx
mov edx, eax
mov ecx, edi
not ecx
and edx, ecx
mov ecx, edi
mov dword [esp + 0x111c], edx
mov edx, eax
not edx
and ecx, edx
mov edx, edi
and edx, eax
or edi, eax
imul ecx, dword [esp + 0x111c]
mov eax, esi
imul edi, edx
xor eax, ebx
lea edx, [ecx + edi]
mov ecx, esi
or ecx, ebx
sub ecx, esi
and esi, ebx
xor ecx, ebx
mov ebx, ecx
lea edi, [eax + esi]
mov eax, ecx
mov esi, edi
not eax
not esi
and eax, edi
and esi, ecx
and ebx, edi
or ecx, edi
imul esi, eax
imul ecx, ebx
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x1114]
mov edi, ebx
and ebx, edx
xor edi, edx
mov edx, ecx
mov eax, ecx
not eax
lea edi, [edi + ebx*2]
and edx, edi
or eax, edi
lea ebx, [ecx + edi]
lea esi, [edx + edx]
sub ebx, esi
add ecx, eax
lea edi, [ecx + ecx + 2]
mov ecx, ebx
xor ecx, edi
and ebx, edi
lea ecx, [ecx + ebx*2]
mov eax, ecx
neg eax
lea edx, [eax - 1]
mov esi, edx
xor edx, 0xf585501d
or esi, 0xf585501d
sub esi, edx
mov ebx, esi
xor esi, ecx
or ebx, ecx
lea edi, [ebx + ebx]
sub edi, esi
lea esi, [eax + eax - 2]
mov eax, esi
or eax, 0xeb0aa03a
sub eax, esi
mov esi, ecx
xor esi, 0xf585501d
add ecx, ecx
and ecx, 0x14f55fc4
xor eax, 0xeb0aa03a
sub esi, ecx
lea ebx, [edi + edi]
mov edx, esi
xor edx, eax
not eax
mov ecx, dword [esp + 0x838]
lea edx, [edx + ecx*2]
lea ecx, [esi + esi]
lea esi, [eax + eax]
and ecx, esi
lea eax, [ebx + ebx]
sub edx, ecx
lea esi, [edx + edx]
neg esi
lea edi, [edx + edi*2]
and edx, ebx
lea esi, [esi - 2]
mov ecx, esi
lea ebx, [edx + edx]
mov edx, edi
or ecx, eax
sub edx, ebx
mov dword [esp + 0x1120], ecx
xor ecx, esi
mov esi, edx
xor ecx, eax
not esi
xor edx, ecx
lea ebx, [ecx + ecx]
lea eax, [esi + esi]
mov esi, dword [esp + 0x838]
and ebx, eax
lea eax, [ebx + esi*2]
sub eax, edx
mov ebx, eax
shld ebx, eax, 3
mov ecx, ebx
mov esi, ebx
not ecx
and esi, 0x6e46b48e
and ecx, 0xee46b48e
mov dword [esp + 0x1124], eax
lea edi, [ebx + ecx*2 - 0x6e46b48e]
xor ebx, 0x6e46b48e
mov ecx, edi
not edi
lea edx, [esi + ebx]
mov esi, eax
and edi, edx
xor ecx, edx
xor esi, 0xcdc8d691
lea ebx, [edi + edi]
sub ecx, ebx
mov ebx, eax
or ebx, 0xcdc8d691
sub ebx, esi
mov edi, ebx
and edi, 0xcdc8d691
lea ecx, [ecx - 1]
not ecx
shld ecx, ecx, 0x1d
lea esi, [edi + edi]
mov edi, ecx
sub ebx, esi
mov esi, eax
neg edi
add eax, eax
lea edx, [ebx - 0x3237296f]
xor esi, edx
lea ebx, [ebx + ebx - 0x646e52de]
and eax, ebx
lea ebx, [edi - 1]
mov edx, ebx
add esi, eax
mov eax, esi
or edx, esi
neg eax
sub edx, esi
xor edx, ebx
lea ebx, [eax - 1]
mov edi, ebx
or edi, ecx
xor edi, ebx
xor edi, ecx
mov eax, edi
mov ebx, edi
not eax
and eax, edx
mov dword [esp + 0x1128], eax
mov eax, edx
not eax
and ebx, eax
mov eax, edi
or eax, edx
and edi, edx
imul ebx, dword [esp + 0x1128]
mov edx, esi
imul edi, eax
or edx, ecx
lea eax, [ebx + edi]
mov edi, esi
and esi, ecx
xor edi, ecx
sub edx, edi
mov ebx, edx
not ebx
lea ecx, [edi + esi]
mov edi, edx
mov esi, ecx
and ebx, ecx
not esi
and edi, esi
imul edi, ebx
mov ebx, edx
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ecx, eax
mov esi, dword [esp + 0x1124]
lea ebx, [edi + edx]
mov edx, esi
or ecx, ebx
not edx
mov edi, esi
and edx, 0x3237296e
or edi, 0xb237296e
xor eax, ebx
mov ebx, esi
xor ebx, 0x3237296e
add ecx, ecx
sub ecx, eax
mov dword [esp + 0x112c], ecx
add edx, esi
shld esi, esi, 1
not esi
lea ecx, [edi + edi]
mov edi, edx
sub ecx, ebx
not edi
lea ebx, [ecx + ecx]
xor ecx, edx
lea eax, [edi + edi]
and ebx, eax
lea eax, [esi + esi]
sub eax, esi
sub ebx, ecx
shld eax, eax, 0x1f
mov ecx, eax
mov edi, eax
xor ecx, 0xcdc8d691
and edi, 0xcdc8d691
mov esi, eax
not esi
mov dword [esp + 0x1130], ebx
lea edx, [ecx + edi]
imul esi, edx
not edx
imul edx, eax
not esi
not edx
sub esi, edx
mov eax, ebx
mov ecx, esi
not eax
and ecx, 0xcdc8d691
lea edi, [ecx + ecx]
mov ecx, eax
sub esi, edi
mov dword [esp + 0x1134], esi
lea edx, [esi - 0x3237296f]
or ecx, edx
lea edi, [ebx + ecx + 1]
mov ecx, ebx
and ecx, edx
xor ebx, ecx
lea ecx, [ebx + esi - 0x3237296f]
mov ebx, ecx
mov esi, ecx
or ebx, edi
and esi, edi
imul esi, ebx
mov ebx, edi
not ebx
and ebx, ecx
not ecx
and ecx, edi
mov edi, edx
imul ecx, ebx
neg edi
add esi, ecx
mov ecx, eax
lea ebx, [edi - 1]
or ecx, ebx
mov ebx, dword [esp + 0x1130]
sub ecx, eax
neg ebx
mov eax, dword [esp + 0x1134]
lea edi, [ebx + eax - 0x3237296f]
lea eax, [ebx - 1]
mov ebx, ecx
or edx, eax
not ebx
sub edi, edx
mov eax, ecx
lea edx, [edi - 1]
mov edi, edx
and ebx, edx
not edi
and eax, edi
imul eax, ebx
mov ebx, ecx
and ebx, edx
or ecx, edx
imul ecx, ebx
mov edi, dword [esp + 0x112c]
lea edx, [eax + ecx]
mov ebx, edx
and edx, esi
or ebx, esi
lea esi, [edi + edi]
mov eax, esi
not eax
add edx, ebx
lea ecx, [edx + edx]
and eax, ecx
and esi, ecx
lea ebx, [eax + edi*2]
mov eax, 0x51229e6d
add edi, edx
sub edi, esi
mov edx, edi
xor edx, ebx
not ebx
and ebx, edi
lea ecx, [ebx + ebx]
sub edx, ecx
mov ecx, dword [esp + 0x1120]
mov esi, edx
rol eax, cl
neg ecx
neg eax
shrd esi, edx, 0x16
mov edi, esi
not edi
lea ebx, [eax - 1]
rol ebx, cl
mov ecx, esi
shrd ebx, ebx, 0x16
sub ecx, ebx
and edi, ebx
lea eax, [ecx + edi*2]
mov ecx, esi
xor ecx, ebx
and ecx, ebx
mov dword [esp + 0x1138], eax
lea edi, [ecx + esi]
mov esi, eax
not esi
lea ecx, [edi + edi]
lea ebx, [esi + esi]
and ebx, ecx
mov ecx, dword [esp + 0x1118]
rol edx, cl
lea esi, [ebx + eax]
mov eax, 0x51229e6d
rol eax, cl
sub esi, edi
mov ebx, eax
shrd esi, esi, 0xa
neg ebx
lea edi, [esi + esi]
mov dword [esp + 0x113c], edi
lea esi, [ebx - 1]
or esi, edx
lea edi, [edx + ebx - 1]
mov ebx, eax
sub edi, esi
not ebx
lea esi, [edx + edx]
xor edx, eax
add edi, edi
add ebx, ebx
and ebx, esi
sub ebx, edx
mov esi, ebx
not esi
imul esi, edi
not edi
imul edi, ebx
not esi
not edi
sub esi, edi
ror esi, cl
mov dword [esp + 0x1140], esi
neg esi
mov ebx, dword [esp + 0x113c]
mov edx, ebx
not edx
mov edi, ebx
lea ecx, [esi - 1]
mov esi, ebx
mov eax, ecx
and edx, ecx
not eax
or edi, ecx
and eax, ebx
and esi, ecx
imul edx, eax
neg ebx
imul esi, edi
neg edx
lea ecx, [ebx - 1]
lea eax, [edx - 1]
sub eax, esi
mov dword [esp + 0x1144], eax
mov edx, ecx
mov ebx, edx
mov eax, edx
mov ecx, edx
mov edi, dword [esp + 0x1140]
or ebx, edi
and eax, edi
not ecx
mov esi, edi
not edi
and esi, ecx
and edx, edi
imul eax, ebx
imul edx, esi
mov ecx, dword [esp + 0x1144]
lea esi, [eax + edx]
neg esi
lea ebx, [ecx + ecx]
lea edx, [esi - 1]
mov eax, edx
xor ecx, edx
not eax
mov edx, dword [esp + 0x500]
mov edi, edx
lea esi, [eax + eax]
mov eax, edx
and esi, ebx
sub esi, ecx
and edi, esi
or eax, esi
sub eax, edi
mov dword [esp + 0x1148], esi
lea ecx, [edx + esi]
sub ecx, edi
lea edi, [esi + esi]
mov ebx, ecx
not ebx
imul ebx, eax
not eax
imul ecx, eax
sub ebx, ecx
mov ecx, edi
not ecx
lea eax, [edx + edx]
or ecx, eax
lea eax, [ecx + esi*2 + 1]
mov ecx, eax
xor esi, eax
not ecx
mov eax, edx
add ecx, ecx
and edi, ecx
sub edi, esi
mov esi, edx
or eax, edi
xor esi, edi
mov edi, ebx
lea ecx, [eax + eax]
sub ecx, esi
and edi, ecx
lea esi, [ebx + ecx]
lea eax, [edi + edi]
sub esi, eax
lea eax, [ecx + ecx]
mov ecx, esi
lea edi, [ebx + ebx]
mov ebx, eax
or ebx, edi
xor ebx, edi
xor ebx, eax
or ecx, ebx
and esi, ebx
mov eax, dword [esp + 0x1138]
add ecx, esi
mov ebx, ecx
lea edi, [eax + ecx]
mov esi, edi
not ebx
not esi
and ebx, edi
and esi, ecx
add edi, edi
add esi, ebx
lea ebx, [ecx + ecx]
mov ecx, ebx
xor ebx, edi
or ecx, edi
sub ecx, ebx
mov edi, ecx
or ecx, esi
and edi, esi
sub edi, eax
mov eax, dword [esp + 0x1148]
lea esi, [edi + ecx]
mov ecx, dword [esp + 0x83c]
rol eax, cl
mov dword [esp + 0x114c], esi
mov esi, eax
neg esi
rol edx, cl
mov edi, dword [esp + 0x1110]
mov ebx, edx
sub ebx, edi
mov ecx, ebx
lea esi, [esi - 1]
or ecx, esi
sub ecx, ebx
xor ecx, esi
lea esi, [ebx + eax]
mov dword [esp + 0x1150], eax
add ebx, ebx
add eax, eax
and ebx, eax
sub esi, ebx
add ecx, ecx
mov ebx, esi
xor ebx, ecx
not ecx
add esi, esi
add edi, ebx
lea ebx, [ecx + ecx]
and ebx, esi
lea esi, [edx + edx]
or esi, 2
xor edx, 1
sub esi, edx
sub edi, ebx
not esi
lea ecx, [esi + esi + 2]
mov esi, ecx
mov ebx, ecx
xor esi, eax
and ebx, eax
mov eax, dword [esp + 0x1150]
lea edx, [esi + ebx*2]
and esi, ecx
mov ebx, edx
not edx
lea esi, [esi + eax*2]
xor ebx, esi
lea ecx, [edx + edx]
add esi, esi
and ecx, esi
lea edx, [edi + edi]
sub ebx, ecx
mov ecx, edi
not ecx
mov eax, edx
and ecx, ebx
lea esi, [ebx + ebx]
or eax, esi
xor edx, esi
sub eax, edx
lea esi, [edi + ecx*2]
sub esi, ebx
lea edx, [eax + eax]
xor eax, esi
lea edi, [esi + esi]
mov esi, dword [esp + 0x83c]
and edi, edx
mov ecx, esi
xor ecx, 0x20
lea ebx, [esi + esi]
sub ecx, ebx
lea edx, [edi + eax]
mov eax, dword [esp + 0x114c]
rol edx, cl
mov esi, eax
mov dword [esp + 0x1154], edx
not esi
bswap edx
imul edi, esi, 0xe367feae
imul ebx, eax, 0xe367feaf
lea eax, [edx - 1]
not eax
lea esi, [edi + ebx]
mov ebx, eax
not eax
and eax, 1
xor ebx, 1
mov edx, esi
lea edi, [eax + eax]
sub ebx, edi
mov edi, esi
bswap ebx
neg edi
mov ecx, ebx
neg ecx
lea eax, [ecx - 1]
or edx, eax
lea ecx, [edi - 1]
sub edx, esi
xor edx, eax
mov eax, ebx
not eax
mov dword [esp + 0x1158], eax
or eax, ecx
lea edi, [ebx + eax + 1]
mov eax, edx
mov ecx, edi
not ecx
and eax, ecx
mov ecx, edx
not ecx
and ecx, edi
imul ecx, eax
mov eax, edx
or eax, edi
and edx, edi
imul edx, eax
mov eax, esi
mov edi, esi
add edx, ecx
mov ecx, dword [esp + 0x1158]
xor eax, ebx
and ecx, esi
or edi, ebx
sub edi, eax
mov eax, edi
add ebx, ecx
mov ecx, edi
and ecx, ebx
or eax, ebx
imul eax, ecx
mov ecx, ebx
not ecx
and ecx, edi
not edi
and edi, ebx
imul edi, ecx
add eax, edi
mov ebx, eax
lea ecx, [eax + eax]
xor ebx, edx
add edx, edx
and ecx, edx
add ebx, ecx
mov ecx, dword [esp + 0x1104]
ror esi, cl
not esi
mov dword [esp + 0x115c], ebx
lea eax, [esi + 1]
not eax
lea esi, [eax + esi*2 + 2]
rol esi, cl
mov edi, esi
mov ebx, esi
neg edi
not ebx
lea edx, [edi - 1]
mov edi, dword [esp + 0x1154]
mov eax, edi
mov ecx, edx
neg eax
xor ecx, edi
or edx, edi
xor ecx, edx
lea eax, [eax - 1]
or ebx, eax
mov eax, ecx
lea edx, [esi + ebx + 1]
mov ebx, edx
not ebx
and eax, ebx
mov ebx, ecx
not ebx
and ebx, edx
imul ebx, eax
mov eax, ecx
or eax, edx
and ecx, edx
imul ecx, eax
mov edx, edi
or edx, esi
lea eax, [ebx + ecx]
mov ebx, edi
xor edx, edi
xor ebx, esi
and edi, esi
xor edx, esi
mov ecx, edx
mov esi, edx
add edi, ebx
or ecx, edi
and esi, edi
mov ebx, edi
imul esi, ecx
not ebx
mov ecx, edx
not edx
and ecx, ebx
and edx, edi
imul edx, ecx
lea edi, [eax + eax]
add edx, esi
lea esi, [edx + edx]
xor edx, eax
and esi, edi
lea ebx, [esi + edx]
mov esi, dword [esp + 0x115c]
mov edx, dword [esp + 0x1108]
not ebx
mov ecx, ebx
lea eax, [esi + esi]
xor esi, 1
and eax, 2
lea edi, [eax + esi - 1]
not edi
lea esi, [edi + edx - 1]
or ecx, esi
lea edx, [ebx + ebx]
not edx
mov eax, edx
lea edi, [ecx + ecx]
sub edi, ebx
lea ebx, [esi + esi]
neg ebx
sub edi, esi
lea esi, [ebx - 2]
or eax, esi
sub eax, edx
mov esi, eax
xor esi, edi
not edi
sub esi, dword [esp + 0x110c]
lea edx, [eax + eax]
lea ecx, [edi + edi]
and ecx, edx
sub esi, ecx
lea eax, [esi + esi]
xor esi, 0x1c980152
and eax, 0xc6cffd5a
sub eax, esi
mov dword [esp + 0x2c0], eax
shr dword [esp + 0x7e0], 1
lea edx, [esp + 0x500]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001b63e
imul eax, dword [esp + 4], 0x92400000
mov edx, dword [esp + 0x2c0]
imul edx, eax
mov eax, dword [esp]
mov ebx, eax
neg ebx
mov esi, edx
neg esi
lea ecx, [ebx - 1]
mov dword [esp + 0x1c0], ecx
not ecx
lea edi, [esi - 1]
mov dword [esp + 0x5f8], ecx
or ecx, edx
add ebx, ecx
mov ecx, eax
or ecx, edi
sub ecx, esi
lea esi, [ecx + 1]
mov ecx, eax
xor ecx, esi
mov esi, ebx
not esi
mov edi, ecx
and edi, esi
mov esi, ecx
not esi
and esi, ebx
imul esi, edi
mov edi, ecx
or edi, ebx
and ecx, ebx
imul ecx, edi
mov ebx, eax
mov edi, eax
add esi, ecx
mov ecx, edx
xor ebx, edx
not ecx
or edi, edx
and eax, ecx
sub edi, ebx
mov ebx, edi
mov ecx, edi
add edx, eax
and ebx, edx
or ecx, edx
imul ecx, ebx
mov ebx, edi
not ebx
and ebx, edx
not edx
and edx, edi
imul edx, ebx
mov edi, dword [esp + 0x1a1c]
lea eax, [ecx + edx]
mov edx, esi
add esi, esi
xor edx, eax
add eax, eax
and eax, esi
mov ebx, edi
mov ecx, dword [esp + 0x1a18]
xor ebx, ecx
and edi, ecx
mov ecx, dword [esp + 4]
add edx, eax
imul ecx, edx
lea edi, [ebx + edi*2]
lea ebx, [edi + ecx]
cmp ebx, 0x9780a360
jne 0x1001c08f
mov dword [esp + 0x978], 0
jmp 0x10024ad9
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1c4], 0
lea edi, [ebx - 0x17a07a7a]
mov edx, edi
mov ecx, edi
or edx, 0xe85f8585
and ecx, 0x17a07a7a
lea esi, [edx + edx + 0x2f40f4f6]
mov eax, esi
lea edx, [ecx + ecx]
sub edi, edx
lea ecx, [edi + 0x17a07a7a]
or eax, ecx
xor esi, ecx
lea edx, [eax + eax]
sub edx, esi
lea eax, [ebx + ebx]
mov ecx, eax
not ecx
and ecx, 0x2f40f4f4
lea edi, [ecx + ebx*2]
mov ecx, edi
lea ebx, [eax + eax]
or ebx, 0x5e81e9e8
not ecx
sub ebx, eax
neg edi
lea ebx, [ebx - 0x2f40f4f4]
mov eax, ebx
not ebx
neg eax
imul ecx, eax
mov eax, edx
imul edi, ebx
neg eax
not ecx
not edi
lea edx, [edx + 0x17a07a7a]
sub ecx, edi
mov ebx, ecx
lea esi, [eax - 0x17a07a7b]
mov eax, ecx
mov edi, esi
not eax
not edi
and eax, esi
and ebx, edi
mov edi, ecx
imul eax, ebx
mov ebx, ecx
or edi, esi
and ebx, esi
imul ebx, edi
neg ecx
mov esi, edx
lea edi, [eax + ebx]
mov ebx, edx
lea ecx, [ecx - 1]
and esi, ecx
or ebx, ecx
imul ebx, esi
mov esi, ecx
not esi
and esi, edx
not edx
and edx, ecx
imul edx, esi
mov esi, dword [esp + 0x930]
lea ecx, [ebx + edx]
mov ebx, ecx
mov eax, esi
not ebx
not eax
imul ebx, edi
not edi
imul edi, ecx
not ebx
not edi
sub ebx, edi
mov edx, esi
lea edi, [esp + 0x1b40]
mov dword [edi], ebx
mov ebx, esi
mov ecx, dword [edi]
and ebx, 0x909caf90
mov dword [esp + 0x1b44], ecx
mov ecx, esi
mov dword [esp + 0x1b48], eax
and ecx, 0x6f63506f
and eax, 0x6f63506f
or edx, 0x6f63506f
imul ebx, eax
imul edx, ecx
ror esi, cl
lea edi, [ebx + edx]
mov edx, edi
lea ebx, [edi + edi]
xor edx, 0xe4fd868c
and ebx, 0xc9fb0d18
lea edi, [edx + ebx]
mov edx, edi
mov eax, edi
not edx
mov ebx, edi
and eax, 0x771ff170
and edx, 0x88e00e8f
and ebx, 0x88e00e8f
or edi, 0x88e00e8f
imul edx, eax
imul edi, ebx
lea eax, [edx + edi]
mov ebx, eax
xor eax, 0x1e862fcc
and ebx, 0x1e862fcc
lea edi, [eax + ebx*2]
mov edx, edi
mov eax, edi
mov ebx, edi
not edx
and eax, 0xd1100000
and ebx, 0x2eefffff
and edx, 0xd1100000
xor eax, edi
mov edi, esi
neg edi
add edx, ebx
lea ebx, [eax - 0x2ef00000]
mov eax, ebx
lea edi, [edi - 1]
not eax
imul eax, edx
not edx
imul edx, ebx
not eax
not edx
mov ebx, 0xd1100000
sub eax, edx
ror ebx, cl
mov edx, edi
or edx, ebx
not eax
xor edx, edi
neg ecx
xor edx, ebx
mov ebx, edx
and edx, esi
xor ebx, esi
lea ebx, [ebx + edx*2]
mov edx, eax
neg edx
ror ebx, cl
mov edi, ebx
neg edi
lea esi, [edx - 2]
not esi
or esi, ebx
lea esi, [esi + edx - 1]
lea edx, [edi - 1]
lea edi, [eax + 1]
mov ecx, edi
or ecx, edx
sub ecx, eax
lea eax, [ecx - 1]
xor eax, edx
mov ecx, eax
mov edx, eax
or ecx, esi
and edx, esi
imul edx, ecx
mov ecx, eax
not ecx
and ecx, esi
not esi
and eax, esi
imul eax, ecx
mov ecx, edi
or ecx, ebx
lea esi, [edx + eax]
mov eax, edi
mov edx, edi
and eax, ebx
xor edx, ebx
xor eax, edi
xor ecx, edx
mov edi, ecx
lea edx, [eax + ebx]
mov ebx, ecx
and edi, edx
or ebx, edx
imul ebx, edi
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
mov edx, esi
imul ecx, edi
add ebx, ecx
mov ecx, dword [esp + 0x930]
or edx, ebx
and esi, ebx
mov ebx, ecx
shld ebx, ecx, 0xf
lea eax, [edx + esi]
mov dword [esp + 0x1b4c], eax
lea edx, [ebx - 1]
not edx
mov edi, edx
not edx
and edx, 1
xor edi, 1
mov esi, edi
lea eax, [edx + edx]
sub esi, eax
shrd esi, esi, 0xf
mov ebx, esi
and ebx, 0xd1100000
xor ebx, 0xd1100000
lea eax, [ebx + esi]
lea edx, [eax + eax]
or edx, 0xa2200000
sub edx, eax
lea eax, [edx + 0x2ef00000]
mov edx, eax
not eax
sub edx, esi
add esi, esi
lea ebx, [eax + eax]
mov eax, ecx
and ebx, esi
or eax, 0x396489e9
mov esi, dword [esp + 0x1b48]
and esi, 0x396489e9
add edx, ebx
mov ebx, ecx
and ebx, 0x396489e9
and ecx, 0xc69b7616
imul ebx, eax
imul ecx, esi
mov dword [esp + 0x1b50], edx
add ebx, ecx
mov edx, ebx
and ebx, 0x85e32ff7
or edx, 0x85e32ff7
lea eax, [edx + ebx]
mov esi, eax
mov ebx, eax
not esi
mov edx, eax
and esi, 0x3c54de59
and ebx, 0xc3ab21a6
and edx, 0x3c54de59
or eax, 0x3c54de59
imul ebx, esi
imul eax, edx
lea esi, [ebx + eax]
mov eax, 0xd1100000
mov ebx, esi
not ebx
imul ebx, ebx, 0x309fdedf
imul edx, esi, 0x309fdee0
mov ecx, ebx
add edx, ebx
ror edx, cl
mov ecx, edi
rol eax, cl
not eax
ror eax, cl
mov ecx, ebx
ror eax, cl
lea esi, [edx + edx]
neg ebx
lea edi, [edx + eax]
and edx, eax
lea ecx, [eax + eax]
and esi, ecx
mov ecx, edi
sub edi, edx
sub ecx, esi
mov eax, edi
mov esi, ecx
not eax
and esi, eax
lea edx, [esi + esi]
sub edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x1b50]
mov esi, ebx
lea eax, [edx + edi]
mov edi, ebx
ror eax, cl
mov edx, ebx
xor edi, eax
and edx, eax
or esi, eax
sub esi, ebx
xor esi, eax
mov ecx, esi
add edi, edx
not ecx
mov edx, edi
and ecx, edi
not edx
mov dword [esp + 0x1b54], ecx
mov ecx, esi
and ecx, edx
mov edx, esi
and edx, edi
or esi, edi
imul esi, edx
mov edx, ebx
imul ecx, dword [esp + 0x1b54]
neg edx
add ecx, esi
mov esi, ebx
lea edi, [edx - 1]
mov edx, edi
or edx, eax
sub edx, edi
xor edx, eax
neg eax
lea edi, [eax - 1]
mov eax, edx
xor esi, edi
or ebx, edi
sub ebx, esi
not eax
mov esi, ebx
mov edi, ebx
and eax, ebx
not ebx
or esi, edx
and edi, edx
and edx, ebx
lea ebx, [ecx + ecx]
imul edi, esi
imul edx, eax
lea esi, [edi + edx]
xor ecx, esi
lea eax, [esi + esi]
and ebx, eax
mov esi, dword [esp + 0x1b4c]
mov eax, esi
lea edx, [ebx + ecx]
and eax, edx
lea edi, [esi + esi]
lea ebx, [esi + edx]
add edx, edx
lea ecx, [eax + eax]
mov eax, edi
xor eax, edx
or edi, edx
sub ebx, ecx
xor eax, edi
lea edx, [eax + eax]
xor eax, ebx
lea ecx, [ebx + ebx]
mov ebx, dword [esp]
or edx, ecx
sub edx, eax
mov dword [esp + 0x2d4], edx
mov dword [esp + 0x58c], ebx
test ebx, ebx
je 0x1001c61b
test byte [esp + 0x2d4], 1
je 0x1001c601
mov edx, dword [esp + 0x1c4]
mov esi, edx
mov eax, dword [esp + 0x2d4]
not esi
mov ebx, eax
not eax
imul ebx, esi
imul edx, eax
sub ebx, edx
mov edi, ebx
mov esi, ebx
not edi
and esi, 0xfe67b5f6
mov dword [esp + 0x1abc], edi
and edi, 0x1984a09
imul edi, esi
mov esi, ebx
mov ecx, ebx
or esi, 0x1984a09
and ecx, 0x1984a09
imul ecx, esi
lea edx, [edi + ecx]
mov eax, edx
xor edx, 0xe9f23ddc
or eax, 0xe9f23ddc
lea edi, [eax + eax]
sub edi, edx
mov ecx, edi
mov esi, edi
not ecx
mov eax, edi
and esi, 0xde339bc6
and ecx, 0x21cc6439
and eax, 0x21cc6439
or edi, 0x21cc6439
imul ecx, esi
imul edi, eax
lea esi, [ecx + edi]
mov ecx, dword [esp + 0x58c]
mov edx, esi
lea eax, [esi + esi]
xor edx, 0xa1964a04
and eax, 0xc32c9408
lea esi, [edx + eax]
mov edx, ecx
neg esi
mov eax, ecx
lea edi, [esi - 1]
xor edx, edi
and eax, edx
lea eax, [esi + eax - 1]
mov edx, eax
not eax
xor edx, edi
lea esi, [esi + esi - 2]
lea edi, [eax + eax]
mov eax, ebx
and esi, edi
neg eax
sub edx, esi
mov edi, ecx
lea esi, [edx + edx]
lea edx, [eax - 1]
mov eax, ecx
xor eax, edx
or edi, edx
mov edx, ecx
xor eax, edi
and ecx, dword [esp + 0x1abc]
xor edx, ebx
lea ebx, [ecx + ecx]
sub edx, ebx
add eax, eax
mov edi, edx
or edx, eax
and edi, eax
lea eax, [esi + esi]
add edi, edx
mov edx, edi
lea ecx, [edi + edi]
not edx
lea ebx, [eax + edi*2]
and edx, esi
and eax, ecx
sub ebx, eax
mov eax, ebx
not ebx
lea ecx, [edx + edx]
mov edx, dword [esp + 0x2d4]
sub ecx, esi
add edi, ecx
mov esi, edi
lea ecx, [edx + edx]
not esi
imul eax, esi
imul ebx, edi
not eax
not ebx
sub eax, ebx
mov edi, edx
xor edi, eax
lea esi, [eax + eax]
and ecx, esi
lea eax, [edi + ecx]
mov dword [esp + 0x1c4], eax
shr dword [esp + 0x2d4], 1
lea edx, [esp + 0x58c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001c4b4
mov esi, dword [esp + 0x1c4]
mov edi, esi
mov ebx, esi
not edi
mov eax, esi
mov edx, esi
mov ecx, esi
and ebx, 0x4ea939d8
mov dword [esp + 0x1b58], edi
and eax, 0xb156c627
and edi, 0x4ea939d8
or edx, 0x4ea939d8
neg ecx
imul edi, eax
imul edx, ebx
mov dword [esp + 0x984], ebx
lea ecx, [ecx - 1]
mov eax, ecx
lea ebx, [edi + edx]
mov edx, ecx
and eax, 0xb156c627
or edx, 0xb156c627
imul edx, eax
mov eax, ecx
not eax
and ecx, 0x4ea939d8
and eax, 0xb156c627
imul ecx, eax
bswap esi
lea edi, [edx + ecx]
mov ecx, edi
mov eax, esi
not ecx
not eax
imul ecx, ebx
not ebx
imul ebx, edi
not ecx
not ebx
sub ecx, ebx
mov dword [esp + 0x988], ecx
bswap ecx
mov edi, ecx
neg edi
mov dword [esp + 0x600], 0
lea edx, [edi - 1]
mov edi, eax
or edi, edx
mov edx, esi
imul eax, ecx
neg edx
neg eax
lea ebx, [edi + esi]
not eax
lea edi, [ebx + ebx + 2]
mov ebx, ecx
not ebx
imul ebx, edx
not ebx
sub ebx, eax
mov eax, ebx
xor eax, edi
add edi, edi
lea edx, [ebx + ebx]
and edi, edx
lea edx, [eax + edi]
mov eax, edx
lea ebx, [edx + ecx]
and eax, ecx
sub ebx, eax
lea eax, [edx + edx]
lea edi, [ebx + ebx]
or edi, eax
sub edi, edx
sub edi, ebx
lea ebx, [ecx + ecx]
lea edx, [edi + edi]
or ebx, edx
sub ebx, ecx
sub ebx, edi
lea edi, [esi + esi]
lea ecx, [ebx + ebx]
mov eax, ecx
or eax, edi
mov edx, eax
sub eax, esi
sub edx, ecx
sub eax, ebx
xor edx, edi
mov esi, edx
xor edx, eax
or esi, eax
mov ecx, dword [esp + 0x988]
lea edi, [esi + esi]
sub edi, edx
mov edx, ecx
bswap edi
or edx, 0x111c4495
mov esi, edx
sub esi, ecx
xor esi, 0x111c4495
lea ebx, [edi + edi]
mov edi, ecx
and edi, 0x111c4495
xor ecx, edi
mov edi, esi
mov dword [esp + 0x98c], ebx
mov ebx, esi
not edi
lea ecx, [ecx + 0x111c4495]
mov eax, ecx
or ebx, ecx
not eax
and edi, ecx
and eax, esi
and esi, ecx
imul eax, edi
imul esi, ebx
mov dword [esp + 0x1b5c], ebx
add eax, esi
lea esi, [edx - 0x111c4495]
mov edx, dword [esp + 0x988]
neg edx
mov ecx, esi
not ecx
lea ebx, [edx - 1]
mov edx, ebx
xor ebx, 0x111c4495
or edx, 0x111c4495
sub edx, ebx
mov ebx, edx
mov edi, edx
and ebx, ecx
not edi
mov ecx, edx
and edi, esi
or ecx, esi
and edx, esi
imul edi, ebx
imul edx, ecx
lea esi, [edi + edx]
mov ebx, esi
lea edi, [esi + esi]
xor ebx, eax
add eax, eax
and edi, eax
lea ecx, [ebx + edi]
mov edx, ecx
lea esi, [ecx + ecx]
not edx
neg esi
lea eax, [edx + edx]
and eax, 0x687272e0
lea edi, [eax + ecx + 0x4bc6c690]
lea eax, [esi - 2]
mov ebx, eax
xor eax, 0x687272e0
or ebx, 0x687272e0
sub ebx, eax
mov eax, ebx
xor eax, edi
not edi
and edi, ebx
lea edx, [edi + edi]
sub eax, edx
mov ecx, eax
mov edx, eax
neg ecx
or edx, 0xde1666bd
lea ebx, [ecx - 1]
mov esi, ebx
or esi, 0xde1666bd
lea edi, [esi + 0x21e99943]
xor ebx, edi
lea edi, [edx + 0x21e99943]
mov esi, edi
mov ecx, ebx
not esi
not ecx
and esi, ebx
and ecx, edi
imul ecx, esi
mov esi, ebx
and esi, edi
or ebx, edi
imul ebx, esi
mov esi, eax
and esi, 0xde1666bd
lea edi, [ecx + ebx]
xor esi, eax
sub edx, eax
xor edx, 0xde1666bd
mov ecx, edx
mov eax, edx
lea ebx, [esi - 0x21e99943]
mov esi, ebx
or ecx, ebx
not esi
and eax, ebx
and esi, edx
not edx
and edx, ebx
mov ebx, edi
imul eax, ecx
imul edx, esi
lea esi, [eax + edx]
and ebx, esi
or edi, esi
lea eax, [ebx + edi]
neg eax
lea edi, [ebx + edi + 0x47b14b7]
mov ebx, edi
not edi
and ebx, 0xeac207af
and edi, 0x153df850
lea edx, [eax - 0x47b14b7]
add ebx, edi
lea edi, [edx - 1]
or edi, 0x953df850
sub edx, edi
lea eax, [edx + edx + 0x2a7bf09e]
mov ecx, eax
add eax, eax
xor ecx, ebx
not ebx
lea edi, [ebx + ebx]
and edi, eax
sub ecx, edi
mov dword [esp + 0x1b60], ecx
lea ebx, [ecx - 0x47b14b7]
mov edi, ebx
mov edx, ebx
mov eax, ebx
not ebx
or edi, 0xc764b21d
and edx, 0xc764b21d
and eax, 0x389b4de2
and ebx, 0xc764b21d
imul edx, edi
imul ebx, eax
lea eax, [edx + ebx]
mov edi, eax
xor eax, 0xe829e382
and edi, 0xe829e382
lea ebx, [eax + edi*2]
mov ecx, ebx
mov edx, ebx
mov edi, ebx
not ecx
or edx, 0xb419a035
and edi, 0xb419a035
and ecx, 0x3419a035
and ebx, 0xcbe65fca
imul edi, edx
imul ebx, ecx
mov dword [esp + 0x1b64], edi
lea eax, [ebx + edi]
mov edi, eax
not eax
and eax, 0x1e8f59ea
xor edi, 0xde8f59ea
mov ebx, dword [esp + 0x1c4]
mov ecx, ebx
lea edx, [eax + eax]
mov eax, ebx
sub edi, edx
mov edx, ebx
xor eax, edi
and ecx, edi
or edx, edi
lea eax, [eax + ecx*2]
mov ecx, ebx
xor ecx, edx
lea edx, [esp + 0x1b68]
mov dword [edx], ecx
xor edi, dword [edx]
mov edx, edi
xor edi, eax
not edx
and edx, eax
lea ecx, [edx + edx]
mov edx, ebx
sub ecx, edi
add ebx, ebx
mov dword [esp + 0x1b70], ebx
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x1b60]
sub ecx, esi
mov dword [esp + 0x1b6c], edi
mov edi, dword [esp + 0x1b58]
lea eax, [ecx - 0x47b14b7]
sub edx, eax
and edi, eax
mov eax, ebx
lea edx, [edx + edi*2]
lea edi, [ecx + ecx - 0x8f6296e]
or eax, edi
xor ebx, edi
xor eax, ebx
mov edi, eax
xor edi, edx
lea ebx, [edi + esi]
lea esi, [edx + edx]
lea edi, [eax + eax]
and esi, edi
lea edx, [esi + ebx]
mov eax, edx
neg eax
lea esi, [eax - 1]
mov eax, dword [esp + 0x1b6c]
mov ecx, eax
neg ecx
lea ecx, [ecx - 1]
mov edi, ecx
mov ebx, ecx
and edi, edx
or ebx, edx
imul ebx, edi
mov edi, ecx
not edi
neg ebx
and edi, edx
not edx
and edx, ecx
imul edx, edi
mov edi, eax
not edi
lea ebx, [ebx - 1]
mov ecx, ebx
mov ebx, esi
sub ecx, edx
not ebx
mov edx, esi
and ebx, eax
and edi, esi
or edx, eax
and esi, eax
imul edi, ebx
imul esi, edx
lea eax, [edi + esi]
mov edi, ecx
neg eax
not edi
lea edx, [eax - 1]
mov eax, dword [esp + 0x984]
and edi, edx
xor ecx, edx
lea esi, [edi + edi]
mov edi, eax
sub esi, ecx
not edi
mov dword [esp + 0x1b74], edi
imul edi, esi
not esi
imul eax, esi
not edi
not eax
sub edi, eax
mov dword [esp + 0x1b78], edi
mov ecx, dword [esp + 0x1b5c]
lea ebx, [edi - 1]
mov edi, dword [esp + 0x98c]
not ebx
lea edx, [ebx + ebx]
neg edx
not edx
sub edx, ebx
lea eax, [edx + edx]
ror eax, cl
lea edx, [edi + edi]
ror edx, cl
neg ecx
mov esi, edx
not esi
mov ebx, esi
and ebx, eax
lea edi, [ebx + edx]
mov ebx, eax
not ebx
and ebx, edi
xor edi, eax
add ebx, ebx
sub ebx, edi
mov eax, ebx
and eax, esi
mov edi, dword [esp + 0x98c]
lea eax, [edx + eax*2]
sub eax, ebx
mov ebx, dword [esp + 0x1b78]
mov edx, ebx
ror eax, cl
mov ecx, ebx
mov esi, ebx
or ecx, edi
and edx, edi
xor esi, edi
sub ecx, ebx
xor ecx, edi
mov ebx, dword [esp + 0x1b64]
lea edx, [esi + edx*2]
mov esi, edx
not edx
lea edi, [ecx + ecx]
xor esi, edi
add edi, edi
lea ecx, [esi + ebx]
lea esi, [edx + edx]
and esi, edi
mov edi, eax
sub ecx, esi
not edi
mov edx, ecx
mov esi, edi
neg edx
lea edx, [edx - 1]
or esi, edx
lea edx, [ecx + ecx]
sub esi, edi
lea edi, [esi + esi]
lea esi, [ecx + eax]
mov ecx, edi
not ecx
add eax, eax
and eax, edx
neg edi
sub esi, eax
mov eax, esi
not esi
neg eax
imul ecx, eax
imul edi, esi
not ecx
not edi
mov eax, dword [esp + 0x1b70]
neg eax
not eax
neg eax
add ecx, ebx
sub ecx, edi
mov ebx, dword [esp + 0x1b74]
lea edx, [ecx + ecx]
xor ecx, dword [esp + 0x984]
lea edi, [ebx + ebx]
mov ebx, dword [esp + 0x1c4]
and edx, edi
sub edx, ecx
mov edi, edx
lea ebx, [ebx + eax - 1]
or edi, ebx
lea eax, [edi + edi]
mov edi, ebx
sub eax, edx
neg edx
sub eax, ebx
lea esi, [edx - 1]
xor edi, esi
or ebx, esi
xor edi, ebx
lea edx, [edi + edi]
mov edi, eax
not eax
lea esi, [edx + edx]
xor edi, edx
lea ecx, [eax + eax]
mov eax, dword [esp + 4]
and ecx, esi
sub edi, ecx
mov dword [esp + 0x1b7c], edi
mov dword [esp + 0x8f0], eax
mov dword [esp + 0x590], eax
test eax, eax
je 0x1001ccda
test byte [esp + 0x8f0], 1
je 0x1001ccc0
mov edx, dword [esp + 0x600]
bswap edx
mov ecx, dword [esp + 0x590]
bswap ecx
mov dword [esp + 0x1ac0], ecx
lea eax, [edx + edx]
neg eax
lea esi, [ecx + ecx]
lea ebx, [eax - 2]
mov eax, ebx
or ebx, esi
xor eax, esi
mov esi, edx
sub ebx, eax
mov eax, ecx
not eax
not esi
mov edi, eax
mov dword [esp + 0x1ac4], esi
imul edi, edx
imul esi, ecx
neg edi
neg esi
not edi
not esi
sub edi, esi
lea esi, [ebx + ebx]
mov ecx, edi
xor edi, ebx
not ecx
mov ebx, eax
and ebx, edx
add ecx, ecx
and ecx, esi
mov esi, dword [esp + 0x1ac0]
sub ecx, edi
mov edi, dword [esp + 0x1ac4]
bswap ecx
add ebx, esi
and edi, ebx
xor ebx, edx
add edi, edi
sub edi, ebx
and eax, edi
not edi
and edi, esi
lea edx, [eax + edi]
mov eax, ecx
bswap edx
mov edi, ecx
and eax, 0x68ce708d
or edi, 0x68ce708d
imul edi, eax
lea esi, [edx + edx]
mov edx, ecx
not ecx
and edx, 0x97318f72
and ecx, 0x68ce708d
imul ecx, edx
lea ebx, [edi + ecx]
lea eax, [ebx + ebx]
xor ebx, 0xe1f947f8
and eax, 0x3c0d700e
sub eax, ebx
mov ebx, eax
mov edx, eax
not ebx
mov edi, eax
and edx, 0x65d72dba
and ebx, 0x9a28d245
or edi, 0x9a28d245
and eax, 0x9a28d245
imul ebx, edx
imul eax, edi
lea ecx, [ebx + eax]
mov ebx, esi
mov eax, ecx
and ecx, 0xd3f9d5d8
xor eax, 0xd3f9d5d8
lea edx, [eax + ecx*2]
mov ecx, esi
and ecx, edx
mov eax, esi
xor ecx, esi
xor ebx, edx
or eax, edx
sub eax, ebx
lea esi, [ecx + edx]
mov edx, eax
and edx, esi
or eax, esi
lea ecx, [edx + eax]
mov dword [esp + 0x600], ecx
shr dword [esp + 0x8f0], 1
lea edx, [esp + 0x590]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001cb97
imul eax, dword [esp + 0x600], 0xd9600000
mov ecx, eax
neg ecx
mov ebx, dword [esp + 0x154]
mov edx, ebx
xor edx, eax
or ebx, eax
sub ebx, edx
mov edx, dword [esp + 4]
lea ecx, [ecx - 1]
mov esi, edx
or esi, ecx
sub esi, ecx
mov ecx, edx
xor ecx, esi
mov edi, ecx
mov esi, ecx
and edi, ebx
or esi, ebx
imul esi, edi
mov edi, ebx
not edi
and edi, ecx
not ecx
and ecx, ebx
imul ecx, edi
mov edi, edx
xor edi, eax
lea ebx, [esi + ecx]
mov esi, edx
mov ecx, eax
or esi, eax
not ecx
sub esi, edi
mov edi, edx
and edi, ecx
mov ecx, esi
mov dword [esp + 0x594], edx
mov dword [esp + 0x320], 0
add edi, eax
mov eax, esi
and ecx, edi
or eax, edi
imul eax, ecx
mov ecx, edi
not ecx
and ecx, esi
not esi
and esi, edi
mov edi, ebx
imul esi, ecx
add eax, esi
and edi, eax
or ebx, eax
lea eax, [edi + ebx]
mov dword [esp + 0x8f4], eax
test edx, edx
je 0x1001cdd0
test byte [esp + 0x8f4], 1
je 0x1001cdba
mov ebx, dword [esp + 0x594]
mov ecx, dword [esp + 0x320]
mov edi, ecx
mov esi, ecx
mov eax, ecx
lea edx, [ecx + ebx]
and edi, edx
xor esi, edx
xor edi, edx
or eax, edx
sub eax, esi
mov ebx, eax
lea edx, [ecx + edi]
neg ecx
or ebx, edx
and eax, edx
lea esi, [ebx + eax]
add ecx, esi
mov dword [esp + 0x320], ecx
shr dword [esp + 0x8f4], 1
lea edx, [esp + 0x594]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001cd78
mov esi, dword [esp]
shld esi, esi, 7
mov ebx, esi
mov edx, dword [esp + 0x320]
mov edi, edx
neg ebx
shld edi, edx, 7
mov ecx, edi
not ecx
lea eax, [ebx - 1]
and ecx, eax
mov ebx, esi
xor ebx, 1
bswap edx
lea eax, [ecx + edi]
lea edi, [esi + esi]
and edi, 2
lea esi, [ebx + edi]
mov edi, esi
xor esi, eax
and edi, eax
lea eax, [esi + edi*2]
mov edi, dword [esp + 0x17ec]
mov esi, edi
mov ecx, edi
or esi, edx
and ecx, edx
xor edi, edx
xor edi, esi
shld eax, eax, 0x19
lea ebx, [esi + ecx]
mov ecx, edi
not ecx
mov esi, eax
imul ecx, ebx
not ebx
imul ebx, edi
not ecx
not ebx
sub ecx, ebx
neg esi
bswap ecx
mov edx, ecx
neg edx
lea esi, [esi - 1]
lea edi, [edx - 1]
mov edx, esi
mov ebx, edi
xor edi, eax
or ebx, eax
or edx, ecx
xor ebx, edi
xor edx, ecx
xor edx, esi
mov edi, ebx
mov esi, ebx
or edi, edx
and esi, edx
imul esi, edi
mov edi, edx
mov dword [esp + 0x1b80], esi
not edi
mov esi, ebx
not ebx
and esi, edi
and edx, ebx
lea edi, [esp + 0x1b84]
mov dword [edi], esi
mov esi, eax
not esi
mov ebx, ecx
imul edx, dword [edi]
or esi, ecx
and ebx, eax
xor ecx, eax
mov edi, dword [esp + 0x1b80]
add edx, edi
lea edi, [eax + esi + 1]
lea eax, [ebx + ecx]
mov esi, eax
mov ebx, eax
or esi, edi
and ebx, edi
imul ebx, esi
mov esi, edi
not esi
and esi, eax
not eax
and eax, edi
imul eax, esi
lea esi, [ebx + eax]
mov edi, esi
xor esi, edx
or edi, edx
lea ebx, [edi + edi]
sub ebx, esi
mov dword [esp + 0x1b88], ebx
mov ebx, dword [esp + 0x320]
mov esi, ebx
not esi
mov edx, ebx
mov ecx, esi
mov eax, ebx
mov edi, ebx
and edx, 0x3f44fdc2
and ecx, 0xc0bb023d
and eax, 0xc0bb023d
or edi, 0xc0bb023d
imul ecx, edx
imul edi, eax
lea edx, [ecx + edi]
mov ecx, edx
and edx, 0xde960f89
xor ecx, 0xde960f89
lea edx, [ecx + edx*2]
mov eax, edx
mov edi, edx
and eax, 0xd20e2515
or edi, 0xd20e2515
imul edi, eax
mov eax, edx
not eax
and edx, 0x2df1daea
and eax, 0xd20e2515
imul edx, eax
add edi, edx
mov dword [esp + 0x1b8c], edi
mov edx, dword [esp]
lea ecx, [edi + edi]
and ecx, 0xa3e7d984
xor edi, 0x2e0c133d
sub ecx, edi
shld ecx, ecx, 0x11
mov eax, ecx
or ecx, 1
and eax, 1
lea edi, [eax + ecx - 1]
mov ecx, edx
not edi
mov eax, edx
shrd edi, edi, 0x11
and ecx, edi
xor eax, edi
lea eax, [eax + ecx*2]
xor ecx, edi
lea edi, [edx + ecx]
mov ecx, dword [esp + 0x140]
mov edx, edi
add edi, edi
xor edx, eax
not eax
add eax, eax
and eax, edi
sub edx, eax
mov eax, ecx
mov edi, dword [esp + 0x1888]
and eax, 0xa132b38e
and edi, 0x5ecd4c71
imul eax, edi
mov edi, ecx
and edi, 0x5ecd4c71
or ecx, 0x5ecd4c71
imul ecx, edi
add eax, ecx
lea edi, [eax + eax]
xor eax, 0xb8090f0b
or edi, 0x70121e16
sub edi, eax
mov ecx, edi
mov eax, edi
and ecx, 0xcc9cf491
or eax, 0xcc9cf491
imul eax, ecx
mov ecx, edi
not edi
and ecx, 0x33630b6e
and edi, 0xcc9cf491
imul edi, ecx
lea ecx, [eax + edi]
mov edi, ecx
and ecx, 0x31d3fec5
xor edi, 0x31d3fec5
lea ecx, [edi + ecx*2]
mov edi, ebx
mov eax, ecx
not eax
and edi, eax
add edi, ecx
and eax, edi
xor ecx, edi
add eax, eax
sub eax, ecx
mov ecx, edx
sub ebx, eax
and esi, eax
neg ecx
lea eax, [ebx + esi*2]
mov ebx, eax
lea edi, [ecx - 1]
or ebx, edi
mov edi, eax
sub ebx, ecx
neg edi
lea esi, [ebx + 1]
mov ebx, eax
xor ebx, esi
lea edi, [edi - 1]
mov esi, edx
or esi, edi
xor esi, edx
xor esi, edi
mov edi, ebx
mov ecx, esi
not ecx
and edi, ecx
mov ecx, esi
mov dword [esp + 0x1b90], edi
mov edi, ebx
not edi
and ecx, edi
mov edi, esi
or edi, ebx
and esi, ebx
imul ecx, dword [esp + 0x1b90]
mov ebx, edx
imul esi, edi
or ebx, eax
add esi, ecx
mov ecx, edx
and edx, eax
xor ecx, eax
sub ebx, ecx
mov edi, ebx
lea eax, [edx + ecx]
mov ecx, ebx
and ecx, eax
or edi, eax
imul edi, ecx
mov ecx, eax
not ecx
and ecx, ebx
not ebx
and ebx, eax
imul ebx, ecx
mov edx, dword [esp + 0x1b8c]
add edi, ebx
mov eax, edi
xor eax, esi
add esi, esi
lea ebx, [eax + edx]
lea eax, [edi + edi]
and eax, esi
lea esi, [eax + ebx]
mov eax, dword [esp + 0x1b88]
mov ebx, esi
not ebx
lea edi, [eax + eax]
lea ecx, [ebx + ebx]
mov ebx, eax
or ebx, esi
and ecx, edi
xor ebx, esi
sub ecx, eax
xor eax, ebx
lea edi, [ecx + esi]
mov ecx, dword [esp + 0x1b7c]
lea ebx, [eax + eax]
lea esi, [edi + edi]
lea eax, [ebx + ebx]
xor ebx, edi
and esi, eax
lea edi, [ecx + ecx]
sub esi, edx
mov edx, edi
not edx
mov eax, edi
and edx, 0x27ea5829
and eax, 0xd815a7d6
imul eax, edx
mov edx, edi
or edx, 0x27ea5829
and edi, 0x27ea5829
imul edi, edx
add ebx, esi
add edi, eax
mov eax, edi
xor edi, 0xb9e13350
and eax, 0xc61eccaf
lea esi, [ebx + ebx]
lea edx, [eax + eax]
sub edx, edi
mov edi, edx
mov eax, edx
not edi
and eax, 0xfa913be6
and edi, 0x56ec419
imul edi, eax
mov eax, edx
and eax, 0x56ec419
or edx, 0x56ec419
imul edx, eax
add edi, edx
mov eax, edi
not eax
imul eax, eax, 0xd158bd30
imul edx, edi, 0xd158bd31
add edx, eax
mov edi, edx
neg edi
lea edi, [edi - 1]
mov eax, edi
xor eax, esi
and eax, edi
lea edi, [eax + ebx*2]
mov dword [esp + 0x1b94], edi
mov eax, ecx
lea edi, [edx + edx]
and edi, 2
xor edx, 1
and eax, 0xba69d02e
add edi, edx
mov dword [esp + 0x1b98], edi
mov edi, ecx
not edi
and edi, 0x45962fd1
imul eax, edi
mov edi, ecx
or edi, 0x45962fd1
and ecx, 0x45962fd1
imul ecx, edi
lea edi, [eax + ecx]
mov edx, edi
lea eax, [edi + edi]
xor edx, 0xfb37a1d2
and eax, 0xf66f43a4
add edx, eax
mov edi, edx
mov ecx, edx
not edi
mov eax, edx
and edi, 0x88a8931
or ecx, 0x88a8931
and eax, 0x88a8931
and edx, 0xf77576ce
imul eax, ecx
imul edx, edi
mov dword [esp + 0x1b9c], edi
lea ecx, [eax + edx]
lea eax, [ecx + ecx]
xor ecx, 0xa6735b32
and eax, 0xb319499a
sub eax, ecx
mov ecx, eax
xor ecx, ebx
lea edx, [eax + eax]
or eax, ebx
xor eax, ecx
and esi, edx
add eax, eax
mov ebx, eax
add esi, ecx
not ebx
xor eax, esi
lea edx, [ebx + ebx]
lea ebx, [esi + esi]
and edx, ebx
mov ebx, dword [esp + 0x1b94]
sub edx, eax
mov eax, dword [esp + 0x1b98]
lea ecx, [ebx + ebx]
xor ebx, eax
lea esi, [eax + eax]
mov eax, edx
and esi, ecx
lea ecx, [esi + ebx]
add edi, ecx
or eax, edi
mov ebx, edi
xor eax, edi
not edi
xor eax, edx
sub ebx, edx
and edi, edx
mov edx, dword [esp + 0x1878]
lea esi, [eax + eax]
mov dword [esp + 0x1ba0], esi
lea esi, [edx + 1]
lea eax, [ebx + edi*2]
mov dword [esp + 0x1ba4], eax
mov eax, esi
not esi
and esi, 1
xor eax, 1
mov ebx, dword [esp + 4]
mov edi, ebx
mov edx, ebx
lea ecx, [esi + esi]
sub eax, ecx
mov ecx, dword [esp + 0x18f8]
rol eax, cl
and edi, eax
xor edx, eax
lea ecx, [edi + edx]
mov edx, ebx
not ebx
lea esi, [ecx + ecx]
mov edi, dword [esp + 0x92c]
xor edx, ecx
and edi, esi
neg ebx
sub edi, edx
mov esi, edi
not edi
sub esi, eax
and edi, eax
lea edx, [ebx - 1]
mov ecx, edx
not ecx
lea eax, [esi + edi*2]
mov edi, dword [esp]
and edi, ecx
lea esi, [edi + ebx - 1]
mov edi, edx
mov edx, esi
neg edi
imul ecx, esi
not edx
imul edx, edi
neg ecx
not edx
not ecx
sub edx, ecx
mov esi, edx
mov edi, edx
mov ebx, edx
not edx
and esi, 0x71b39553
or edi, 0x71b39553
and ebx, 0x8e4c6aac
and edx, 0x71b39553
imul edi, esi
imul edx, ebx
lea ebx, [edi + edx]
mov edi, ebx
xor ebx, 0xf240bae9
or edi, 0xf240bae9
lea esi, [edi + edi]
sub esi, ebx
mov edi, esi
mov edx, esi
not edi
mov ecx, esi
and edi, 0x44e976db
and edx, 0xbb168924
or ecx, 0x44e976db
and esi, 0x44e976db
imul edx, edi
imul esi, ecx
lea edi, [edx + esi]
mov edx, edi
xor edi, 0xea67b4ad
and edx, 0xea67b4ad
lea edx, [edi + edx*2]
mov ebx, edx
not ebx
mov esi, ebx
or esi, eax
sub esi, ebx
and ebx, eax
mov edi, esi
not edi
add ebx, edx
mov ecx, ebx
and edi, ebx
not ecx
and ecx, esi
imul ecx, edi
mov edi, esi
or edi, ebx
and esi, ebx
imul esi, edi
mov edi, eax
neg edi
add esi, ecx
mov ebx, edx
mov ecx, edx
neg edx
lea edi, [edi - 1]
or ebx, edi
xor ecx, edi
sub ebx, ecx
lea edx, [edx - 1]
mov edi, edx
xor edx, eax
or edi, eax
xor edi, edx
mov eax, edi
mov ecx, edi
and eax, ebx
or ecx, ebx
imul ecx, eax
mov eax, ebx
not eax
mov edx, edi
not edi
and edx, eax
and ebx, edi
imul ebx, edx
mov eax, dword [esp + 0x160]
lea edx, [ecx + ebx]
mov ecx, esi
and esi, edx
xor ecx, edx
mov ebx, dword [esp + 4]
lea edi, [ecx + esi*2]
mov esi, dword [esp]
mov edx, esi
and edx, eax
mov dword [esp + 0x1ba8], edi
mov edi, ebx
lea ecx, [ebx + edx]
or ebx, dword [esp + 0x140]
imul eax, ecx
not ecx
imul edi, ecx
not eax
not edi
sub eax, edi
mov edx, eax
not edx
mov ecx, dword [esp + 0x15c]
lea edi, [edx + edx]
and ecx, edi
sub ecx, esi
lea esi, [esi + ebx + 1]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x175c]
lea edx, [eax + eax]
sub edx, dword [esp + 0x928]
mov eax, edx
not edx
and edx, esi
xor eax, esi
lea ecx, [edx + edx]
sub eax, ecx
mov dword [esp + 0x1bac], eax
lea ebx, [eax + edi]
mov dword [esp + 0x1bb0], ebx
mov eax, edi
mov edi, eax
mov edx, dword [esp + 0x1bac]
mov ebx, eax
xor edi, edx
mov esi, eax
and ebx, edi
or esi, edx
mov ecx, dword [esp + 0x1bb0]
sub ecx, esi
mov esi, ecx
not esi
add ebx, edx
mov edi, ebx
and esi, ebx
not edi
and edi, ecx
imul esi, edi
mov edi, ecx
and edi, ebx
or ecx, ebx
imul ecx, edi
mov edi, edx
neg edi
mov ebx, eax
neg eax
not ebx
mov dword [esp + 0x2d8], 0
add esi, ecx
lea ecx, [edi - 1]
mov edi, ebx
or edi, ecx
lea eax, [eax - 1]
mov ecx, edx
sub edi, ebx
or ecx, eax
sub ecx, edx
xor ecx, eax
mov eax, ecx
mov ebx, ecx
mov edx, ecx
not eax
or ebx, edi
and edx, edi
and eax, edi
not edi
and ecx, edi
imul edx, ebx
imul ecx, eax
mov eax, esi
add edx, ecx
or eax, edx
and esi, edx
mov ecx, dword [esp + 0x1ba8]
mov ebx, ecx
mov edx, ecx
or ebx, 0xae1f5115
and edx, 0x51e0aeea
lea edi, [eax + esi]
mov eax, ecx
not ecx
and eax, 0xae1f5115
and ecx, 0xae1f5115
imul ebx, eax
imul ecx, edx
lea esi, [ebx + ecx]
mov edx, esi
not edx
imul eax, edx, 0x4b58e3af
imul edx, esi, 0x4b58e3b0
lea esi, [eax + edx]
mov ebx, esi
mov eax, esi
mov ecx, esi
not esi
or ebx, 0xed02763d
and eax, 0xed02763d
and ecx, 0x12fd89c2
and esi, 0xed02763d
imul eax, ebx
imul esi, ecx
add eax, esi
mov ecx, eax
xor eax, 0xb77eeab3
or ecx, 0xb77eeab3
lea ebx, [ecx + ecx]
sub ebx, eax
mov edx, ebx
mov esi, ebx
xor edx, edi
and esi, edx
mov edx, ebx
or edx, edi
and ebx, edi
sub edx, ebx
lea ecx, [esi + edi]
mov edi, edx
not edi
lea eax, [ecx + ecx]
xor edx, eax
lea ebx, [eax + eax]
mov eax, dword [esp]
mov dword [esp + 0x598], eax
lea ecx, [edi + edi]
and ecx, ebx
sub ecx, edx
mov dword [esp + 0x8f8], ecx
test eax, eax
je 0x1001d830
test byte [esp + 0x8f8], 1
je 0x1001d816
mov edi, dword [esp + 0x2d8]
mov edx, edi
and edx, 0x4514fe29
mov ecx, edi
xor ecx, edx
mov ebx, edi
mov esi, edi
xor ebx, 0x4514fe29
or esi, 0x4514fe29
xor ebx, esi
mov edx, ebx
lea ecx, [ecx + 0x4514fe29]
mov eax, ecx
mov esi, ebx
not eax
not edx
and esi, eax
mov eax, ebx
and edx, ecx
and eax, ecx
or ebx, ecx
mov ecx, edi
neg ecx
imul esi, edx
imul ebx, eax
lea eax, [ecx - 1]
or eax, 0xbaeb01d6
lea edx, [esi + ebx]
mov esi, edi
or edi, 0xbaeb01d6
xor esi, 0xbaeb01d6
sub edi, esi
mov esi, edi
lea ecx, [eax + 0x4514fe2a]
mov ebx, ecx
mov eax, edi
not ebx
or esi, ecx
and eax, ebx
mov ebx, edi
not edi
and ebx, ecx
and edi, ecx
imul ebx, esi
imul edi, eax
lea ecx, [ebx + edi]
mov edi, edx
or edi, ecx
and edx, ecx
lea ecx, [edi + edx]
mov edi, eax
neg edi
lea esi, [edi + 0xf9c04a4]
mov ebx, esi
xor esi, ecx
or ebx, ecx
lea edi, [eax + eax - 0x1f38094a]
xor ebx, esi
mov esi, ecx
not ecx
sub esi, eax
lea edx, [ebx + ebx]
add ecx, ecx
and edi, ecx
lea ebx, [esi + edi + 0xf9c04a5]
mov esi, ebx
not esi
imul esi, edx
not edx
imul edx, ebx
not esi
not edx
add esi, eax
sub esi, edx
mov eax, esi
mov ecx, esi
and eax, 0xd2637e19
mov edx, esi
sub ecx, eax
or edx, 0xd2637e19
mov edi, edx
sub edi, esi
neg esi
xor edi, 0xd2637e19
mov eax, edi
lea ebx, [ecx - 0x2d9c81e7]
mov ecx, ebx
not eax
not ecx
and eax, ebx
and ecx, edi
imul ecx, eax
mov eax, edi
and eax, ebx
or edi, ebx
imul edi, eax
lea eax, [edx + 0x2d9c81e7]
lea ebx, [ecx + edi]
lea edi, [esi - 1]
mov edx, edi
or edi, 0xd2637e19
xor edx, 0xd2637e19
sub edi, edx
mov edx, eax
mov ecx, edi
not edx
not ecx
mov esi, edi
and ecx, eax
and edx, edi
or esi, eax
and edi, eax
imul edx, ecx
imul edi, esi
mov esi, ebx
lea eax, [edx + edi]
or esi, eax
xor ebx, eax
lea edi, [esi + esi]
sub edi, ebx
mov ecx, edi
mov edx, edi
and ecx, 0x9ab55e3
mov esi, edi
xor edx, 0x89ab55e3
or esi, 0x89ab55e3
sub esi, edx
mov dword [esp + 0x1ac8], ecx
lea eax, [ecx + ecx]
mov dword [esp + 0x1acc], eax
sub edi, eax
add esi, esi
mov edx, esi
lea ebx, [edi - 0x7654aa1d]
and edx, ebx
xor esi, ebx
lea ebx, [esi + edx*2]
mov edx, dword [esp + 0x598]
mov edi, ebx
mov esi, edx
neg edi
mov ecx, edx
neg esi
lea eax, [edi - 1]
mov edi, edx
or ecx, eax
xor edi, ecx
mov ecx, ebx
not ecx
xor edi, eax
lea eax, [esi - 1]
mov esi, ecx
or esi, eax
add ebx, ebx
sub esi, ecx
lea ecx, [edx + edx]
mov eax, ecx
mov edx, ecx
or eax, 0xc06b3db3
and edx, 0xc06b3db3
imul edx, eax
mov eax, ecx
not ecx
and eax, 0x3f94c24c
and ecx, 0xc06b3db3
imul ecx, eax
add edx, ecx
lea eax, [edx + edx]
xor edx, 0x576921cb
and eax, 0x512dbc68
sub eax, edx
mov edx, eax
mov ecx, eax
not edx
and ecx, 0xc3ee4684
and edx, 0x3c11b97b
imul ecx, edx
mov edx, eax
or edx, 0x3c11b97b
and eax, 0x3c11b97b
imul eax, edx
add eax, ecx
mov edx, eax
xor eax, 0x34961077
and edx, 0xcb69ef88
lea ecx, [edx + edx]
sub ecx, eax
mov edx, ecx
mov eax, ecx
and edx, ebx
xor eax, ebx
add eax, edx
mov edx, eax
not eax
sub edx, ebx
add ebx, ebx
add eax, eax
and ebx, eax
mov eax, ecx
not ecx
add ebx, edx
sub eax, ebx
lea edx, [ecx + ecx]
add ebx, ebx
and edx, ebx
mov ebx, dword [esp + 0x1ac8]
add edx, eax
mov eax, edi
and eax, esi
xor edi, esi
lea ecx, [eax + eax]
sub ecx, dword [esp + 0x1acc]
add ecx, edi
mov esi, ecx
lea eax, [ecx + ecx]
not esi
and esi, edx
lea edi, [esi + ecx]
lea esi, [edx + edx]
or esi, eax
add edi, edi
sub esi, edx
mov edx, edi
sub esi, ecx
not edx
imul edx, esi
not esi
imul esi, edi
lea eax, [edx + ebx*2]
sub eax, esi
mov dword [esp + 0x2d8], eax
shr dword [esp + 0x8f8], 1
lea edx, [esp + 0x598]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001d56e
mov dword [esp + 0x604], 0
mov dword [esp + 0x2dc], 0x6b000000
test byte [esp + 0x2d8], 1
je 0x1001d963
mov ecx, dword [esp + 0x604]
mov eax, ecx
mov ebx, ecx
mov esi, ecx
mov edi, ecx
not eax
and ebx, 0x79563db
or esi, 0x79563db
and edi, 0xf86a9c24
and eax, 0x79563db
imul esi, ebx
imul eax, edi
lea edx, [esi + eax]
mov eax, dword [esp + 0x2dc]
lea edi, [edx + edx]
xor edx, 0xe810ffb4
and edi, 0x2fde0096
sub edi, edx
mov ebx, edi
mov esi, edi
mov edx, edi
not ebx
or esi, 0xd8e3e053
and edx, 0xd8e3e053
and ebx, 0xd8e3e053
and edi, 0x271c1fac
imul edx, esi
imul edi, ebx
lea ebx, [edx + edi]
lea esi, [ebx + ebx]
xor ebx, 0xb9dc675c
and esi, 0xf3b8ceb8
lea edx, [eax + eax]
mov eax, edx
shld eax, edx, 0xc
lea edi, [esi + ebx]
lea esi, [edi + edi]
shld esi, esi, 0xc
mov ebx, esi
mov edi, esi
and ebx, eax
xor edi, eax
add edi, ebx
mov ebx, eax
not ebx
imul ebx, edi
not edi
imul edi, eax
not ebx
not edi
sub ebx, edi
lea edi, [ecx + ecx]
mov eax, ebx
and ebx, esi
or eax, esi
mov esi, edi
sub eax, ebx
or esi, edx
mov ebx, eax
shrd ebx, eax, 0xc
mov eax, edi
xor eax, edx
sub esi, eax
lea eax, [ebx + ebx]
mov edx, esi
xor ecx, esi
not edx
add edx, edx
and edx, edi
mov edi, dword [esp + 0x2dc]
sub edx, ecx
mov esi, edi
or edi, edx
and esi, edx
lea ecx, [esi + edi]
mov edi, ecx
mov esi, ecx
or edi, ebx
xor esi, ebx
sub edi, esi
lea esi, [ecx + ebx]
add ecx, ecx
and eax, ecx
sub esi, eax
mov ebx, esi
add edi, edi
and ebx, edi
or esi, edi
lea eax, [ebx + esi]
mov dword [esp + 0x604], eax
shr dword [esp + 0x2d8], 1
lea edx, [esp + 0x2dc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001d846
mov edx, dword [esp + 0x604]
mov esi, edx
neg esi
mov ebx, edx
or ebx, 0x9bafa626
mov eax, edx
lea edi, [esi - 1]
mov ecx, edi
or edi, 0x645059d9
xor ecx, 0x645059d9
lea esi, [ebx + 0x645059da]
sub edi, ecx
xor eax, esi
mov esi, edi
mov ebx, edi
mov ecx, edi
not esi
and ebx, eax
or ecx, eax
and esi, eax
not eax
and edi, eax
imul ecx, ebx
mov ebx, edx
imul edi, esi
or ebx, 0x645059d9
add edi, ecx
mov esi, ebx
xor esi, 0x645059d9
xor edx, esi
mov dword [esp + 0x1bb4], ecx
mov ecx, edx
mov eax, edx
or ecx, ebx
and eax, ebx
imul eax, ecx
mov ecx, ebx
not ecx
and ecx, edx
not edx
and edx, ebx
imul edx, ecx
mov ecx, edi
lea esi, [eax + edx]
xor ecx, esi
and edi, esi
lea ebx, [ecx + edi*2]
mov esi, ebx
lea eax, [ebx + ebx]
not ebx
mov edi, eax
and esi, 0xcefcaf0f
and ebx, 0x310350f0
or edi, 0x9df95e1e
xor edi, eax
xor edi, 0x9df95e1e
lea ecx, [esi + ebx]
mov esi, edi
not edi
lea edx, [ecx + ecx]
xor esi, ecx
lea eax, [edi + edi]
and eax, edx
sub esi, eax
mov ebx, esi
mov edi, esi
and ebx, 0x23d69669
or edi, 0x23d69669
xor ebx, 0x23d69669
mov edx, esi
lea ecx, [edi - 0x23d69669]
xor edx, ecx
add ebx, esi
mov eax, ebx
mov ecx, edx
not eax
mov edi, edx
and ecx, eax
mov eax, edx
or eax, ebx
and edx, ebx
imul edx, eax
mov eax, esi
or eax, 0xdc296996
not edi
sub eax, esi
neg esi
and edi, ebx
xor eax, 0xdc296996
imul edi, ecx
lea esi, [esi - 1]
mov ecx, esi
or esi, 0x23d69669
xor ecx, 0x23d69669
add edi, edx
xor ecx, esi
mov edx, eax
mov ebx, ecx
mov esi, eax
not ebx
not esi
and edx, ebx
mov ebx, ecx
and ebx, esi
mov esi, ecx
or esi, eax
and ecx, eax
imul ebx, edx
imul ecx, esi
mov esi, edi
lea eax, [ebx + ecx]
xor esi, eax
lea edx, [eax + eax]
add edi, edi
and edx, edi
lea edi, [esi + edx]
mov eax, edi
and edi, 0x1a480a2c
neg eax
lea ebx, [eax - 1]
or ebx, 0x9a480a2c
lea ecx, [eax + edi*2 + 0x65b7f5d3]
mov edi, ecx
not edi
lea esi, [ebx + ebx - 0x34901458]
imul edi, esi
not esi
imul esi, ecx
sub edi, esi
mov dword [esp + 0x1bb8], edi
lea ecx, [edi - 0x15df37bd]
mov dword [esp + 0x1bbc], ecx
mov eax, ecx
mov edx, ecx
not eax
mov esi, ecx
mov ebx, eax
mov edi, ecx
and ebx, 0xc4cec6fd
and edx, 0x3b313902
or esi, 0xc4cec6fd
and edi, 0xc4cec6fd
imul edx, ebx
add eax, eax
imul edi, esi
add edx, edi
mov ebx, edx
xor edx, 0x31eeb29f
and ebx, 0xce114d60
lea esi, [ebx + ebx]
sub esi, edx
mov ebx, esi
mov edi, esi
or ebx, 0xb3c60655
and edi, 0xb3c60655
imul edi, ebx
mov ebx, esi
not esi
and ebx, 0x4c39f9aa
and esi, 0xb3c60655
imul esi, ebx
lea ebx, [edi + esi]
mov edi, ebx
xor ebx, 0x806b08cb
or edi, 0x806b08cb
lea esi, [edi + edi]
mov edi, dword [esp + 0x92c]
sub esi, ebx
mov ebx, dword [esp + 4]
lea edx, [esi + esi]
and edi, edx
lea edx, [ebx + edi]
mov edi, ebx
and edi, esi
sub edx, esi
xor esi, edi
lea edi, [ebx + esi]
mov esi, edi
not edi
sub esi, edx
add edx, edx
add edi, edi
and edi, edx
mov edx, ebx
or edx, ecx
add edi, esi
mov esi, ebx
xor esi, edx
xor esi, ecx
mov edx, dword [esp + 0x1bb8]
lea ecx, [esi + esi]
and ecx, eax
add ecx, edx
sub ecx, esi
lea esi, [ecx - 0x15df37bd]
mov ecx, ebx
xor ecx, esi
and ebx, esi
lea esi, [ecx + ebx*2]
mov ecx, edi
not ecx
mov eax, esi
or ecx, esi
xor eax, edi
and eax, edi
lea ecx, [edi + ecx + 1]
mov edx, ecx
lea ebx, [eax + esi]
mov eax, ecx
or edx, ebx
and eax, ebx
imul eax, edx
mov edx, ebx
not edx
and edx, ecx
not ecx
and ecx, ebx
imul ecx, edx
lea ebx, [eax + ecx]
mov eax, edi
neg eax
mov ecx, esi
lea edx, [eax - 1]
mov eax, edi
or ecx, edx
sub ecx, esi
neg esi
xor ecx, edx
lea esi, [esi - 1]
xor eax, esi
or edi, esi
sub edi, eax
mov eax, ecx
mov esi, edi
not eax
mov edx, edi
not esi
and edx, eax
mov eax, ecx
and esi, ecx
and eax, edi
or ecx, edi
imul edx, esi
imul ecx, eax
lea edi, [edx + ecx]
mov edx, dword [esp + 4]
mov esi, edi
and edi, ebx
or esi, ebx
lea ebx, [esi + edi]
mov dword [esp + 0x1bc0], ebx
mov ebx, dword [esp + 0x1bbc]
lea edi, [edx - 1]
not edi
mov esi, ebx
shrd esi, ebx, 0x1e
shld edx, edx, 0x11
neg edx
lea ecx, [edi + edi]
neg ecx
not ecx
sub ecx, edi
shrd ecx, ecx, 0x1e
mov eax, ecx
not eax
and eax, esi
lea edi, [eax + ecx]
mov eax, ecx
or eax, esi
and ecx, esi
mov esi, eax
sub esi, ecx
mov eax, esi
xor eax, edi
not edi
and esi, edi
mov ecx, dword [esp + 0x1bb4]
rol ebx, cl
not ebx
ror ebx, cl
lea edi, [esi + esi]
sub eax, edi
lea edi, [edx - 1]
shld ebx, ebx, 0x11
shld eax, eax, 0x1e
mov esi, edi
mov edx, edi
xor esi, ebx
not edx
and esi, edi
lea ecx, [esi + ebx]
mov ebx, eax
imul edx, ecx
not ecx
imul ecx, edi
not edx
not ecx
sub edx, ecx
neg ebx
shld edx, edx, 0xf
mov edi, edx
mov esi, edx
neg edi
not esi
lea ebx, [ebx - 1]
lea edi, [edi - 1]
mov ecx, edi
xor edi, eax
or ecx, eax
xor ecx, edi
mov edi, esi
or edi, ebx
sub edi, esi
mov ebx, edi
mov esi, edi
and ebx, ecx
or esi, ecx
imul esi, ebx
mov ebx, ecx
mov dword [esp + 0x1bc4], esi
not ebx
mov esi, edi
not edi
and esi, ebx
and ecx, edi
lea edi, [esp + 0x1bc8]
mov dword [edi], esi
lea esi, [eax + edx]
imul ecx, dword [edi]
mov edi, dword [esp + 0x1bc4]
lea ebx, [edi + ecx]
mov ecx, eax
or ecx, edx
sub ecx, eax
and eax, edx
xor ecx, edx
sub esi, eax
mov eax, ecx
mov edx, esi
not eax
mov edi, esi
and eax, esi
not esi
and edx, ecx
or edi, ecx
and ecx, esi
mov esi, ebx
imul edi, edx
imul ecx, eax
mov edx, dword [esp + 0x1bc0]
add edi, ecx
and esi, edi
or ebx, edi
add esi, ebx
mov edi, esi
not edi
and edi, edx
lea ecx, [edi + esi]
lea edi, [ecx + ecx]
mov ecx, edx
and ecx, esi
or edx, esi
not ecx
not edx
sub ecx, edx
mov esi, edi
mov eax, ecx
not esi
neg eax
not ecx
neg edi
imul esi, eax
imul edi, ecx
not esi
not edi
mov edx, dword [esp]
sub esi, edi
mov dword [esp + 0x62c], esi
mov esi, edx
mov ecx, edx
xor esi, 0x19185c95
and ecx, 0x19185c95
mov ebx, edx
or ebx, 0x19185c95
mov edi, esi
xor edi, ebx
mov eax, edi
lea ebx, [esi + ecx]
mov esi, edi
mov ecx, ebx
and esi, ebx
not ecx
or eax, ebx
and ecx, edi
not edi
and edi, ebx
imul edi, ecx
mov ecx, edx
imul eax, esi
or ecx, 0xe6e7a36a
lea esi, [eax + edi]
mov ebx, dword [esp + 0x5f8]
mov edi, ebx
or edi, 0x19185c95
sub edi, ebx
mov ebx, edi
lea eax, [ecx + 0x19185c96]
xor edx, eax
mov ecx, edi
mov eax, edx
and ecx, edx
not eax
or ebx, edx
and eax, edi
not edi
and edi, edx
imul ebx, ecx
imul edi, eax
lea edx, [ebx + edi]
mov edi, edx
and edx, esi
xor edi, esi
lea ecx, [edi + edx*2]
mov esi, ecx
not ecx
neg esi
lea edi, [esi - 1]
mov ebx, edi
mov eax, edi
mov esi, edi
not ebx
and eax, 0xfa067140
or esi, 0xfa067140
and ebx, 0xfa067140
and edi, 0x5f98ebf
imul esi, eax
imul edi, ebx
lea edx, [esi + edi]
neg edx
lea esi, [ecx + 1]
mov edi, esi
mov eax, esi
not edi
mov ebx, esi
and edi, 0xfa06713f
and eax, 0x5f98ec0
or ebx, 0xfa06713f
and esi, 0xfa06713f
imul eax, edi
imul esi, ebx
lea ecx, [eax + esi]
neg ecx
lea eax, [edx + edx - 2]
lea edx, [edx - 1]
lea edi, [ecx - 1]
mov esi, edi
xor edi, edx
not esi
lea ebx, [esi + esi]
and eax, ebx
sub eax, edi
mov esi, eax
mov ecx, eax
and esi, 0x1bc58ebd
mov ebx, eax
xor ecx, esi
or ebx, 0x1bc58ebd
sub ebx, eax
xor ebx, 0x1bc58ebd
mov edx, ebx
mov esi, ebx
mov edi, ebx
lea ecx, [ecx + 0x1bc58ebd]
or edx, ecx
and esi, ecx
imul esi, edx
mov edx, ecx
not edx
not ebx
and edi, edx
and ebx, ecx
imul ebx, edi
lea ecx, [esi + ebx]
mov ebx, eax
or ebx, 0xe43a7142
xor ebx, 0xe43a7142
xor ebx, eax
neg eax
mov esi, ebx
lea edi, [eax - 1]
mov eax, ebx
mov edx, edi
xor edi, 0x1bc58ebd
or edx, 0x1bc58ebd
sub edx, edi
or esi, edx
and eax, edx
imul eax, esi
mov esi, ebx
not esi
mov edi, edx
not edx
and edi, esi
and edx, ebx
lea ebx, [ecx + ecx]
imul edx, edi
lea edi, [eax + edx]
xor ecx, edi
lea esi, [edi + edi]
or esi, ebx
sub esi, ecx
mov edi, esi
or edi, 0xf02ce3c0
sub edi, esi
xor edi, 0xf02ce3c0
lea eax, [esi + esi]
or eax, 0xe059c780
sub eax, esi
mov esi, dword [esp + 0x62c]
add edi, edi
mov ebx, edi
lea edx, [eax + 0xfd31c40]
mov eax, esi
xor ebx, edx
and edi, edx
mov edx, eax
not esi
and eax, 0xb5cda2d2
and esi, 0x4a325d2d
imul esi, eax
lea ecx, [ebx + edi*2]
mov dword [esp + 0x630], ecx
mov ecx, edx
or ecx, 0x4a325d2d
and edx, 0x4a325d2d
imul edx, ecx
mov ecx, esi
mov dword [esp + 0x608], 0
lea ebx, [ecx + edx]
lea edi, [ebx + ebx]
xor ebx, 0xe24fcc0e
and edi, 0xc49f981c
lea edx, [edi + ebx]
mov esi, edx
mov ecx, edx
not esi
mov eax, edx
and esi, 0xc83cfaa5
and ecx, 0x37c3055a
or eax, 0xc83cfaa5
and edx, 0xc83cfaa5
imul ecx, esi
imul edx, eax
lea esi, [ecx + edx]
mov ecx, dword [esp + 0x630]
mov ebx, esi
xor esi, 0x8dfc3106
and ebx, 0xf203cef9
lea edi, [ebx + ebx]
mov ebx, ecx
sub edi, esi
shld edi, edi, 0x15
shld ebx, ecx, 0x15
lea esi, [edi + ebx]
and edi, ebx
mov ebx, esi
sub ebx, edi
mov edx, ebx
not edx
lea eax, [edi + edi]
sub esi, eax
imul edx, esi
not esi
imul ebx, esi
mov esi, dword [esp + 0x62c]
mov edi, esi
or edi, ecx
mov eax, esi
sub edx, ebx
xor eax, ecx
shrd edx, edx, 0x15
lea ebx, [edi + edi]
sub edi, ecx
sub ebx, eax
xor esi, edi
mov ecx, esi
mov eax, ebx
neg ecx
not eax
not esi
neg ebx
imul eax, ecx
mov edi, edx
imul ebx, esi
not eax
not ebx
sub eax, ebx
not edi
mov ebx, eax
mov esi, eax
and ebx, edi
or esi, edx
xor esi, edx
xor esi, eax
mov ecx, esi
lea edi, [ebx + edx]
mov ebx, esi
or ecx, edi
and ebx, edi
imul ebx, ecx
mov ecx, esi
not ecx
and ecx, edi
not edi
and edi, esi
imul edi, ecx
add edi, ebx
mov ebx, eax
neg ebx
lea ecx, [ebx - 1]
mov esi, ecx
or esi, edx
xor esi, ecx
xor esi, edx
neg edx
mov ecx, esi
not ecx
lea ebx, [edx - 1]
not ebx
or eax, ebx
add edx, eax
mov eax, esi
mov ebx, edx
and ecx, edx
not ebx
and eax, edx
and ebx, esi
or esi, edx
imul ebx, ecx
mov ecx, edi
imul esi, eax
mov eax, dword [esp + 0x630]
lea edx, [ebx + esi]
xor ecx, edx
lea ebx, [edi + edi]
bswap eax
lea esi, [edx + edx]
and ebx, esi
lea edx, [ecx + ebx]
mov dword [esp + 0x1bcc], edx
mov ecx, eax
mov edx, dword [esp + 0x62c]
mov edi, edx
mov ebx, edx
xor edi, 1
and ebx, 1
shld edx, edx, 0xf
lea esi, [edi + ebx*2]
mov ebx, eax
not esi
lea edi, [esi + 1]
bswap edi
and ebx, edi
xor ecx, edi
lea esi, [edi + edi]
add ecx, ebx
mov ebx, ecx
not ebx
add ebx, ebx
and esi, ebx
sub esi, edi
mov edi, eax
not edi
add ecx, esi
mov esi, edx
and edi, ecx
lea eax, [eax + edi*2]
sub eax, ecx
mov ecx, dword [esp + 0x630]
shld ecx, ecx, 0x13
neg ecx
bswap eax
lea ebx, [ecx - 1]
shld ebx, ebx, 0xd
shld ebx, ebx, 0xf
xor esi, ebx
lea ecx, [edx + edx]
lea edi, [ebx + ebx]
or ecx, edi
sub ecx, esi
and esi, edx
mov edx, ecx
neg ecx
not edx
add esi, ebx
mov ebx, esi
not esi
neg ebx
imul edx, ebx
imul ecx, esi
not edx
not ecx
sub edx, ecx
mov esi, eax
shrd edx, edx, 0xf
or esi, edx
mov ecx, eax
and ecx, edx
lea edi, [eax + edx]
mov ebx, edi
sub edi, ecx
sub ebx, esi
mov ecx, ebx
mov esi, ebx
and ecx, edi
or esi, edi
imul esi, ecx
mov ecx, edi
mov dword [esp + 0x1bd0], esi
not ecx
mov esi, ebx
not ebx
and esi, ecx
and edi, ebx
lea ebx, [esp + 0x1bd4]
mov dword [ebx], esi
mov esi, edx
imul edi, dword [ebx]
neg esi
mov ebx, dword [esp + 0x1bd0]
lea ecx, [ebx + edi]
lea ebx, [esi - 1]
mov edi, ebx
or edi, eax
sub edi, eax
neg eax
xor edi, ebx
lea esi, [eax - 1]
mov eax, edi
mov ebx, esi
or esi, edx
xor ebx, edx
mov edx, edi
xor ebx, esi
not eax
mov esi, ebx
and eax, ebx
not esi
and edx, esi
mov esi, ebx
or esi, edi
and ebx, edi
imul edx, eax
mov eax, ecx
imul ebx, esi
lea esi, [edx + ebx]
and eax, esi
or ecx, esi
mov esi, dword [esp + 0x1bcc]
lea ebx, [eax + ecx]
mov edi, ebx
mov eax, ebx
and edi, esi
xor eax, esi
lea ecx, [esi + esi]
lea edx, [edi + eax]
mov edi, dword [esp]
mov dword [esp + 0x59c], edi
lea eax, [edx + edx]
mov dword [esp + 0x1bd8], eax
lea edx, [ebx + ebx]
or edx, ecx
sub edx, esi
sub edx, ebx
imul ebx, edi, 0x5f260000
mov esi, dword [esp + 4]
imul esi, ebx
mov dword [esp + 0x1bdc], edx
mov dword [esp + 0x8fc], esi
test edi, edi
je 0x1001e270
test byte [esp + 0x8fc], 1
je 0x1001e25a
mov edx, dword [esp + 0x59c]
mov esi, dword [esp + 0x608]
lea ebx, [edx + edx]
mov eax, ebx
lea ecx, [esi + esi]
or eax, ecx
lea edi, [esi + edx]
sub eax, ecx
xor eax, ebx
and ebx, ecx
sub edi, ebx
mov edx, eax
and edx, edi
or eax, edi
lea ecx, [edx + eax]
mov dword [esp + 0x608], ecx
shr dword [esp + 0x8fc], 1
lea edx, [esp + 0x59c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001e21d
imul esi, dword [esp + 4], 0x1d288000
mov edi, dword [esp + 0x5d8]
imul edi, esi
mov ecx, dword [esp + 0x1ba0]
mov eax, ecx
mov ebx, dword [esp + 0x1ba4]
and eax, ebx
sub edi, dword [esp + 0x1b9c]
or ecx, ebx
mov dword [esp + 0x60c], 0
lea edx, [edi + eax]
mov eax, dword [esp + 0x1bdc]
mov ebx, eax
lea edi, [ecx + edx]
mov ecx, dword [esp + 0x1bd8]
mov esi, ecx
not esi
not eax
imul ebx, esi
imul ecx, eax
imul eax, dword [esp], 0xdf385fbe
mov esi, dword [esp + 0x608]
lea edx, [edi + ebx]
sub edx, ecx
mov edi, eax
mov ebx, eax
not edi
and ebx, 0x7033334c
and edi, 0x8fccccb3
imul edi, ebx
lea ecx, [esi + edx]
mov esi, eax
and esi, 0x8fccccb3
or eax, 0x8fccccb3
imul eax, esi
mov dword [esp + 0x1be0], ecx
lea ecx, [edi + eax]
mov edx, ecx
not ecx
and ecx, 0x1cbeecf1
xor edx, 0x1cbeecf1
lea ebx, [ecx + ecx]
sub edx, ebx
mov esi, edx
mov ebx, edx
mov ecx, edx
not edx
and esi, 0xa59ec27b
or ebx, 0xa59ec27b
and ecx, 0x5a613d84
and edx, 0xa59ec27b
imul ebx, esi
imul edx, ecx
lea eax, [ebx + edx]
mov edi, eax
not edi
imul ebx, edi, 0x110879cb
imul esi, eax, 0xeef78636
not ebx
not esi
sub ebx, esi
mov edi, ebx
mov edx, ebx
neg edi
mov ecx, ebx
or edx, 0x9ed61f5e
xor ecx, 0x9ed61f5e
sub edx, ecx
mov ecx, edx
lea esi, [edi - 1]
mov eax, esi
xor esi, 0x6129e0a1
or eax, 0x6129e0a1
sub eax, esi
mov esi, edx
mov edi, eax
not esi
not edi
and ecx, eax
and edi, edx
or edx, eax
imul edx, ecx
and esi, eax
imul esi, edi
mov eax, ebx
mov ecx, ebx
xor eax, 0x6129e0a1
or ecx, 0x6129e0a1
sub ecx, eax
and eax, 0x6129e0a1
mov edi, ecx
add edx, esi
lea esi, [ebx + eax]
mov eax, ecx
mov ebx, ecx
not eax
and ebx, esi
or edi, esi
mov dword [esp + 0x1be4], eax
and eax, esi
imul edi, ebx
not esi
mov ebx, ecx
and ebx, esi
imul ebx, eax
lea esi, [edi + ebx]
mov ebx, edx
xor ebx, esi
add edx, edx
add esi, esi
and edx, esi
lea eax, [ebx + edx]
mov edi, eax
lea ebx, [eax + eax]
or edi, 0xb78e6fef
lea esi, [edi + edi]
mov edi, ebx
or edi, 0x6f1cdfde
sub esi, eax
sub edi, ebx
xor edi, 0x6f1cdfde
lea edx, [esi - 0x378e6fef]
lea esi, [esi + esi - 0x6f1cdfde]
lea eax, [edi + edi]
xor edi, edx
and esi, eax
add edi, esi
mov edx, edi
mov esi, edi
xor edx, 0xc1800361
and esi, 0xc1800361
mov eax, edi
or eax, 0xc1800361
sub eax, edx
lea ebx, [edx + esi]
mov edx, eax
not edx
mov esi, eax
and edx, ebx
mov dword [esp + 0x1be8], edx
mov edx, ebx
not edx
and esi, edx
mov edx, eax
and edx, ebx
or eax, ebx
imul esi, dword [esp + 0x1be8]
imul eax, edx
lea edx, [esi + eax]
mov esi, edi
neg esi
lea ebx, [esi - 1]
or ebx, 0xc1800361
sub ebx, esi
mov esi, edi
or esi, 0x3e7ffc9e
sub edi, esi
lea eax, [ebx + 1]
xor eax, 0xc1800361
mov ebx, eax
lea esi, [edi + 0x3e7ffc9e]
mov edi, eax
and ebx, esi
or edi, esi
imul edi, ebx
mov ebx, eax
not ebx
and ebx, esi
not esi
and eax, esi
imul eax, ebx
lea ebx, [edi + eax]
lea esi, [ebx + ebx]
xor ebx, edx
lea edi, [edx + edx]
and esi, edi
lea eax, [esi + ebx]
mov edx, eax
mov edi, eax
and edx, 0x2137c971
lea esi, [edx + edx]
sub edi, esi
mov esi, eax
xor esi, 0x2137c971
or eax, 0xa137c971
sub eax, esi
mov esi, ecx
lea ebx, [edi + 0x2137c971]
lea edx, [eax + eax]
mov edi, edx
and edx, ebx
xor edi, ebx
mov ebx, dword [esp + 0x1be0]
and esi, ebx
lea eax, [edi + edx*2]
mov edi, ecx
or edi, ebx
neg ecx
lea edx, [esi + edi]
mov edi, eax
mov esi, edx
not edi
or esi, eax
sub esi, eax
xor esi, edx
lea ebx, [esi + esi]
imul edi, ebx
not ebx
imul ebx, eax
sub edi, ebx
lea esi, [edx + edx]
lea ebx, [edi + edi]
xor edi, edx
or ebx, esi
mov esi, edx
not esi
sub ebx, edi
lea edi, [eax + eax]
add esi, esi
and esi, edi
sub esi, eax
lea edi, [esi + edx]
mov esi, edx
and esi, eax
xor esi, edx
mov edx, ebx
add eax, esi
mov esi, edi
and esi, eax
or edi, eax
not esi
not edi
sub esi, edi
mov edi, ebx
lea eax, [esi + esi]
or edi, eax
xor edx, eax
sub edi, edx
add eax, eax
lea edx, [ebx + ebx]
and eax, edx
lea esi, [ebx + esi*2]
sub esi, eax
mov ebx, esi
add edi, edi
xor ebx, edi
and esi, edi
mov eax, dword [esp + 0x1be4]
mov edx, dword [esp + 4]
mov dword [esp + 0x900], edx
mov dword [esp + 0x5a0], edx
lea esi, [ebx + esi*2]
mov edi, esi
imul eax, esi
not edi
imul ecx, edi
neg eax
not ecx
not eax
sub ecx, eax
mov dword [esp + 0x1bec], ecx
test edx, edx
je 0x1001e6cc
test byte [esp + 0x900], 1
je 0x1001e6b2
mov esi, dword [esp + 0x5a0]
mov ecx, esi
mov edx, esi
not ecx
mov edi, esi
mov ebx, esi
and edx, 0xa7bda134
and ecx, 0x58425ecb
and edi, 0x58425ecb
or ebx, 0x58425ecb
imul ecx, edx
imul ebx, edi
lea eax, [ecx + ebx]
mov edx, eax
and eax, 0x381c2f92
xor edx, 0xb81c2f92
lea edi, [edx + eax*2]
mov ecx, edi
mov eax, edi
not ecx
mov ebx, edi
and ecx, 0xc67196e3
and eax, 0x398e691c
and ebx, 0xc67196e3
or edi, 0xc67196e3
imul eax, ecx
imul edi, ebx
lea ecx, [eax + edi]
imul ebx, ecx, 0x4fb04589
not ecx
imul eax, ecx, 0xb04fba76
not ebx
not eax
sub eax, ebx
mov ebx, dword [esp + 0x60c]
mov edx, ebx
mov ecx, ebx
lea edi, [eax - 1]
and edx, edi
xor ecx, edi
add edx, ecx
mov ecx, edx
not edx
xor ecx, edi
lea edi, [eax + eax - 2]
lea eax, [edx + edx]
and edi, eax
lea edx, [esi + esi]
sub ecx, edi
lea edi, [ebx + ebx]
or edi, edx
mov edx, ebx
sub edi, ebx
sub edi, esi
xor edx, edi
or ebx, edi
sub ebx, edx
mov edi, esi
and edi, ebx
or esi, ebx
lea edx, [ecx - 0xe26108a]
lea ebx, [ecx + ecx - 0x1c4c2114]
add esi, edi
mov eax, esi
not eax
and eax, edx
lea edx, [esi + esi]
or edx, ebx
sub edx, ecx
sub edx, esi
lea edi, [eax + esi]
add edi, edi
mov eax, edi
not edi
lea ecx, [edx + 0xe26108a]
and edi, ecx
xor eax, ecx
lea esi, [edi + edi]
sub eax, esi
lea edx, [eax + 0xe26108a]
mov dword [esp + 0x60c], edx
shr dword [esp + 0x900], 1
lea edx, [esp + 0x5a0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1001e5a4
mov edi, dword [esp + 0x60c]
mov ebx, edi
mov edx, edi
or ebx, 0x72d4fc49
not edx
mov esi, ebx
or edx, 0x72d4fc49
mov eax, ebx
mov dword [esp + 0x1da0], edx
lea ecx, [edi + edx + 1]
neg edx
and esi, ecx
or eax, ecx
imul eax, esi
mov esi, ebx
not esi
and esi, ecx
not ecx
and ecx, ebx
mov ebx, edi
imul ecx, esi
xor ebx, 0x8d2b03b6
lea esi, [eax + ecx]
mov ecx, edi
neg edi
or ecx, 0x8d2b03b6
sub ecx, ebx
lea ebx, [edi - 1]
mov eax, ebx
or eax, 0x72d4fc49
lea edi, [eax - 0x72d4fc49]
mov eax, ecx
xor edi, ebx
mov ebx, ecx
not ebx
and ebx, edi
mov dword [esp + 0x1da4], ebx
mov ebx, edi
not ebx
and eax, ebx
mov ebx, edi
or ebx, ecx
and edi, ecx
imul eax, dword [esp + 0x1da4]
imul edi, ebx
lea ecx, [eax + edi]
mov edi, esi
xor edi, ecx
lea ebx, [ecx + ecx]
add esi, esi
and ebx, esi
lea ecx, [edx - 0x412c7ad3]
not ecx
lea esi, [edi + ebx]
lea ebx, [edx + edx + 0x7da70a5a]
mov eax, ebx
lea edi, [esi + esi]
or eax, edi
xor ebx, edi
sub eax, ebx
lea ebx, [ecx + ecx]
and ebx, edi
mov edi, eax
sub ebx, esi
lea esi, [ebx + edx - 0x412c7ad3]
mov edx, dword [esp + 0x1da0]
or edi, esi
xor eax, esi
lea edi, [edx + edi*2]
sub edi, eax
mov ebx, edi
mov esi, edi
neg ebx
or esi, 0x71404a06
mov edx, edi
lea ebx, [ebx - 1]
mov ecx, ebx
lea eax, [esi - 0x71404a06]
xor ecx, 0x8ebfb5f9
or ebx, 0x8ebfb5f9
xor edx, eax
sub ebx, ecx
mov ecx, edx
mov esi, edx
or ecx, ebx
and esi, ebx
imul esi, ecx
mov ecx, ebx
not ecx
and ecx, edx
not edx
and ebx, edx
imul ebx, ecx
mov ecx, edi
or ecx, 0x8ebfb5f9
lea eax, [esi + ebx]
mov esi, edi
xor esi, 0x8ebfb5f9
and edi, esi
sub ecx, esi
mov ebx, ecx
lea edx, [edi - 0x71404a07]
mov edi, ecx
mov esi, edx
not edi
not esi
and edi, edx
and esi, ecx
and ebx, edx
imul edi, esi
mov esi, ecx
or esi, edx
imul esi, ebx
lea edx, [edi + esi]
mov ebx, edx
or edx, eax
and ebx, eax
mov eax, ecx
neg eax
lea edi, [ebx + edx]
mov ebx, edi
lea esi, [eax + 0x487a63a]
mov edx, edi
xor ebx, esi
or edx, esi
lea eax, [ecx - 0x487a63b]
sub edx, ebx
and eax, edi
lea esi, [edx + edx]
lea edx, [ecx + edi]
lea edi, [eax + eax]
mov eax, dword [esp + 4]
sub edx, edi
lea edi, [edx + 0x7b7859c5]
mov dword [esp + 0x1da8], edi
mov ebx, edi
xor ebx, esi
not esi
and esi, edi
mov edi, dword [esp + 0x160]
and edi, 0xb4f11cdb
lea edx, [ecx + ebx]
mov ebx, eax
and ebx, 0x4b0ee324
lea ecx, [esi + esi]
sub edx, ecx
mov ecx, eax
or ecx, 0xb4f11cdb
and eax, 0xb4f11cdb
imul edi, ebx
imul eax, ecx
mov dword [esp + 0x1dac], edx
lea esi, [edi + eax]
mov edi, esi
not edi
imul ebx, edi, 0x76fd5b6f
imul edi, esi, 0x76fd5b70
lea eax, [ebx + edi]
mov ebx, eax
mov esi, eax
mov edi, eax
not eax
or ebx, 0xcf797f53
and esi, 0xcf797f53
and edi, 0x308680ac
and eax, 0xcf797f53
imul esi, ebx
imul eax, edi
lea edi, [esi + eax]
mov esi, edi
and edi, 0x3cf7b5fd
xor esi, 0x3cf7b5fd
lea edi, [esi + edi*2]
mov ebx, edi
xor edi, 1
or ebx, 1
lea esi, [ebx + ebx]
sub esi, edi
lea eax, [esi - 1]
mov esi, edx
neg esi
not eax
lea edi, [esi - 1]
lea ebx, [eax + esi - 1]
and eax, edi
mov esi, edx
mov edi, edx
and esi, 1
xor edi, 1
sub ebx, eax
ror edx, cl
not edx
lea eax, [edi + esi*2]
lea edi, [ebx + ebx]
xor ebx, eax
lea esi, [eax + eax]
and edi, esi
lea esi, [edx + edx + 2]
and esi, 0xfffffffc
add edi, ebx
lea ebx, [edx + 1]
xor ebx, 1
sub esi, ebx
rol esi, cl
mov ebx, dword [esp + 4]
mov eax, ebx
and eax, esi
lea ecx, [ebx + esi]
sub ecx, eax
xor ebx, ecx
not ecx
mov eax, dword [esp + 0x1bc]
lea edx, [ecx + ecx]
and eax, edx
sub ebx, eax
mov ecx, ebx
not ecx
and ecx, esi
lea edx, [ecx + ecx]
sub edx, esi
add ebx, edx
mov esi, ebx
mov edx, ebx
xor esi, edi
or edx, edi
sub edx, esi
and esi, ebx
mov ecx, edx
mov eax, edx
add esi, edi
or ecx, esi
and eax, esi
imul eax, ecx
mov ecx, esi
mov dword [esp + 0x1db0], eax
not ecx
mov eax, edx
not edx
and eax, ecx
and edx, esi
lea esi, [esp + 0x1db4]
mov dword [esi], eax
mov eax, ebx
imul edx, dword [esi]
neg eax
mov esi, dword [esp + 0x1db0]
mov ecx, edi
lea eax, [eax - 1]
or ecx, eax
add esi, edx
mov edx, edi
neg edi
xor edx, eax
mov eax, ebx
sub ecx, edx
mov edx, ecx
lea edi, [edi - 1]
or eax, edi
sub eax, ebx
mov ebx, ecx
xor eax, edi
mov edi, eax
or ebx, eax
not edi
and edx, eax
and edi, ecx
not ecx
and eax, ecx
imul edx, ebx
imul eax, edi
mov ecx, dword [esp + 0x1da8]
lea edi, [edx + eax]
mov edx, esi
or esi, edi
and edx, edi
lea edi, [edx + esi]
mov dword [esp + 0x1db8], edi
mov edx, dword [esp + 0x1dac]
mov esi, edx
mov edi, dword [esp + 4]
ror edi, cl
ror esi, cl
mov ebx, edi
and ebx, esi
xor ebx, edi
bswap edx
lea eax, [ebx + esi]
mov ebx, edi
or ebx, esi
add ebx, ebx
sub ebx, esi
sub ebx, edi
mov esi, ebx
xor esi, eax
not eax
and ebx, eax
lea edi, [ebx + ebx]
sub esi, edi
mov edi, dword [esp + 0x30c]
mov ebx, edi
rol esi, cl
mov ecx, edi
xor ecx, edx
and ebx, edx
lea eax, [ecx + ebx*2]
mov ecx, edi
or ecx, edx
xor edi, ecx
xor edi, edx
mov edx, edi
xor edi, eax
not edx
and edx, eax
lea ebx, [edx + edx]
sub ebx, edi
mov edi, esi
bswap ebx
mov eax, ebx
xor edi, ebx
not eax
and edi, esi
or eax, esi
add edi, ebx
mov edx, edi
lea ecx, [ebx + eax + 1]
mov eax, edi
and edx, ecx
or eax, ecx
imul edx, eax
mov eax, edi
not eax
and eax, ecx
not ecx
and ecx, edi
mov edi, ebx
imul ecx, eax
neg edi
lea eax, [edx + ecx]
mov edx, esi
neg esi
not edx
lea ecx, [edi - 1]
mov edi, edx
or edi, ecx
sub edi, edx
mov edx, edi
lea esi, [esi - 1]
mov ecx, esi
xor esi, ebx
or ecx, ebx
mov ebx, edi
sub ecx, esi
mov esi, edi
not esi
and edx, ecx
or ebx, ecx
and esi, ecx
not ecx
and edi, ecx
imul ebx, edx
mov edx, eax
imul edi, esi
lea esi, [ebx + edi]
mov ebx, dword [esp + 0x1db8]
and edx, esi
xor eax, esi
lea esi, [eax + edx*2]
mov edi, esi
mov ecx, esi
not edi
xor ecx, ebx
or edi, ebx
lea edx, [edi + esi + 1]
and esi, ebx
mov ebx, dword [esp + 4]
lea eax, [ecx + esi]
mov edi, eax
xor eax, edx
or edi, edx
add edi, edi
sub edi, eax
mov ecx, edi
mov esi, edi
rol esi, cl
mov edx, esi
not edx
rol ebx, cl
mov ecx, edx
or ecx, ebx
sub ecx, edx
mov eax, ecx
and ecx, ebx
or eax, ebx
sub eax, ecx
mov ecx, eax
xor eax, esi
or ecx, esi
neg esi
mov dword [esp + 0x9b4], edi
add ecx, ecx
sub ecx, eax
lea esi, [esi - 1]
mov eax, esi
or eax, ebx
sub eax, esi
xor eax, ebx
neg ebx
lea esi, [ebx - 1]
mov ebx, edx
or ebx, esi
mov esi, ecx
sub ebx, edx
and esi, 0x5867aac6
mov edx, ebx
and ebx, eax
or edx, eax
add edx, ebx
mov ebx, ecx
not ebx
and ebx, 0xa7985539
imul ebx, esi
mov esi, ecx
and esi, 0xa7985539
or ecx, 0xa7985539
imul ecx, esi
lea esi, [ebx + ecx]
lea eax, [esi + esi]
xor esi, 0xa1f8775e
or eax, 0x43f0eebc
sub eax, esi
mov esi, eax
mov ebx, eax
and esi, 0x9bd60909
or ebx, 0x9bd60909
imul ebx, esi
mov esi, eax
not eax
and esi, 0x6429f6f6
and eax, 0x9bd60909
imul eax, esi
lea esi, [ebx + eax]
lea ebx, [esi + esi]
xor esi, 0xdf7d7fb2
or ebx, 0xbefaff64
sub ebx, esi
mov esi, edx
neg esi
lea eax, [ebx + ebx]
lea ecx, [esi + esi - 2]
mov esi, eax
or esi, ecx
add ebx, edx
mov dword [esp + 0x1dbc], esi
mov esi, eax
xor esi, ecx
add edx, edx
and eax, edx
mov ecx, dword [esp + 0x1dbc]
sub ebx, eax
sub ecx, esi
mov edx, ebx
mov esi, ecx
neg edx
not esi
not ebx
neg ecx
imul esi, edx
imul ecx, ebx
not esi
not ecx
sub esi, ecx
mov ecx, edi
xor ecx, 0x20
neg ecx
rol esi, cl
mov dword [esp + 0x9b8], esi
mov esi, edi
neg esi
mov eax, dword [esp + 0x154]
mov edx, eax
or edx, edi
sub edx, edi
xor eax, edx
lea ebx, [esi - 1]
mov esi, dword [esp + 4]
mov ecx, esi
xor ecx, ebx
mov edx, esi
or edx, ebx
mov ebx, ecx
xor ebx, edx
mov edx, eax
or edx, ebx
xor eax, ebx
mov ebx, esi
xor ebx, edi
add edx, edx
sub edx, eax
mov dword [esp + 0x1dc0], edx
mov edx, esi
and edx, edi
add edx, ebx
mov eax, edx
lea ebx, [edi + edi]
not eax
add eax, eax
and ebx, eax
sub ebx, edi
mov edi, esi
lea ecx, [ebx + edx]
or edi, ecx
add edi, edi
sub edi, esi
sub edi, ecx
mov esi, edi
mov eax, edi
not esi
mov edx, edi
and esi, 0x72e17c1d
and eax, 0x8d1e83e2
or edx, 0x72e17c1d
and edi, 0x72e17c1d
imul eax, esi
imul edi, edx
lea ebx, [eax + edi]
mov eax, ebx
and ebx, 0x20e118a5
xor eax, 0x20e118a5
lea edi, [eax + ebx*2]
mov esi, edi
mov ecx, edi
or esi, 0x83692635
and ecx, 0x83692635
imul ecx, esi
mov edx, edi
not edi
and edx, 0x7c96d9ca
and edi, 0x83692635
mov dword [esp + 0x9bc], edx
mov esi, edi
imul esi, dword [esp + 0x9bc]
mov eax, dword [esp + 0x1dc0]
lea ebx, [ecx + esi]
mov ecx, ebx
or ebx, 0x3d1067d7
and ecx, 0x3d1067d7
lea esi, [eax + eax]
lea edx, [ecx + ebx]
lea ebx, [edx + edx]
mov ecx, ebx
mov edi, ebx
or ecx, esi
xor edi, esi
sub ecx, edi
mov edi, eax
not edi
add edi, edi
and edi, ebx
mov ebx, dword [esp + 0x9b8]
mov esi, ebx
bswap esi
add eax, edi
sub eax, edx
mov edi, eax
xor edi, ecx
add ecx, ecx
lea edx, [eax + eax]
and edx, ecx
lea ecx, [edi + edx]
mov dword [esp + 0x1dc4], ecx
mov eax, ecx
bswap eax
mov edx, eax
neg edx
lea edi, [edx - 1]
not edi
and edi, esi
lea esi, [edi + edx - 1]
mov edx, eax
and edx, 1
xor eax, 1
lea edx, [eax + edx*2]
lea eax, [esi + esi]
lea edi, [edx + edx]
xor edx, esi
mov esi, ebx
or eax, edi
not esi
sub eax, edx
bswap eax
lea edx, [ecx + ecx]
mov dword [esp + 0x1dc8], edx
lea edi, [esi + esi]
and edx, edi
lea esi, [ebx + edx]
mov edx, ebx
sub esi, ecx
xor edx, esi
or ebx, esi
sub ebx, edx
mov dword [esp + 0x1dcc], edx
mov edx, ebx
or edx, ecx
and ebx, ecx
add edx, ebx
mov esi, edx
mov ecx, edx
and esi, eax
not ecx
xor esi, eax
mov edi, ecx
or edi, eax
sub edi, ecx
mov ebx, edi
add esi, edx
mov ecx, esi
not ecx
and ebx, ecx
mov ecx, edi
not ecx
and ecx, esi
imul ecx, ebx
mov ebx, edi
and ebx, esi
or edi, esi
imul edi, ebx
mov ebx, eax
neg ebx
add edi, ecx
mov dword [esp + 0x1dd0], ebx
mov esi, edx
not eax
lea ecx, [ebx - 1]
mov ebx, edx
neg edx
or ebx, ecx
mov dword [esp + 0x1dd4], ecx
xor esi, ecx
sub ebx, esi
lea ecx, [edx - 1]
mov edx, eax
or edx, ecx
mov ecx, ebx
sub edx, eax
mov eax, ebx
mov esi, edx
not eax
not esi
and eax, edx
and ecx, esi
mov esi, edx
and esi, ebx
or edx, ebx
imul ecx, eax
imul edx, esi
mov esi, dword [esp + 0x1dc4]
lea eax, [ecx + edx]
mov ebx, eax
and eax, edi
or ebx, edi
mov edx, dword [esp + 0x9b8]
lea edi, [ebx + eax]
mov dword [esp + 0x1dd8], edi
mov edi, edx
mov eax, esi
shld edi, edx, 6
mov ecx, edi
not eax
neg ecx
lea edx, [edx - 1]
shld eax, eax, 6
not edx
lea ebx, [ecx - 1]
not ebx
and ebx, eax
lea eax, [ebx + ecx - 1]
mov ecx, edi
and ecx, 1
xor edi, 1
lea edi, [edi + ecx*2]
lea ebx, [edi + edi]
xor edi, eax
lea ecx, [eax + eax]
mov eax, edx
not edx
or ebx, ecx
xor eax, 1
sub ebx, edi
shrd ebx, ebx, 6
lea ecx, [edx + edx]
and ecx, 2
sub eax, ecx
mov edi, eax
mov edx, eax
xor edi, esi
not edx
and edi, eax
lea ecx, [edi + esi]
and edx, ecx
xor eax, ecx
lea edi, [edx + edx]
mov edx, dword [esp + 0x1dc8]
sub edi, eax
lea ecx, [edi + esi]
lea esi, [edi + edi]
and edx, esi
sub ecx, edx
mov eax, ecx
mov edi, ecx
xor eax, ebx
and edi, ebx
mov edx, ecx
or edx, ebx
sub edx, eax
mov dword [esp + 0x1ddc], ecx
lea esi, [eax + edi]
mov eax, edx
mov edi, edx
not eax
and eax, esi
mov dword [esp + 0x1de0], eax
mov eax, esi
not eax
and edi, eax
mov eax, edx
and eax, esi
or edx, esi
imul edi, dword [esp + 0x1de0]
mov esi, ebx
imul edx, eax
neg esi
lea eax, [edi + edx]
mov edx, ecx
mov edi, ecx
neg ecx
lea esi, [esi - 1]
xor edx, esi
or edi, esi
sub edi, edx
lea edx, [ecx - 1]
mov esi, edx
xor edx, ebx
or esi, ebx
mov ebx, esi
mov esi, edi
sub ebx, edx
mov edx, edi
mov ecx, ebx
not esi
not ecx
and esi, ebx
and edx, ecx
mov ecx, ebx
or ecx, edi
and ebx, edi
imul edx, esi
imul ebx, ecx
add edx, ebx
lea ebx, [eax + eax]
lea ecx, [edx + edx]
xor edx, eax
or ebx, ecx
sub ebx, edx
mov edi, ebx
mov esi, ebx
mov eax, dword [esp + 0x1dd8]
or edi, eax
xor esi, eax
mov ecx, edi
sub ecx, esi
and ebx, eax
sub edi, ebx
mov ebx, edi
lea edx, [ecx + ecx]
xor ebx, edx
lea eax, [edx + edx]
lea ecx, [edi + edi]
mov edi, dword [esp + 0x9b4]
and eax, ecx
mov ecx, dword [esp + 0x1dcc]
sub edi, ecx
mov esi, edi
not edi
xor esi, 1
lea edx, [ebx + eax]
mov dword [esp + 0x1de4], edx
lea edx, [edi + edi]
and edx, 2
sub edx, esi
sub edx, ecx
lea esi, [edx - 1]
neg esi
lea ecx, [edx + edx - 2]
and ecx, 0xfffffffc
lea ebx, [ecx + esi + 1]
lea ecx, [esi - 1]
mov eax, ecx
or eax, 1
lea edi, [eax - 1]
xor edi, ecx
lea edx, [edi + edi]
mov eax, edx
lea esi, [edx + edx]
xor eax, ebx
not ebx
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 4]
and esi, ecx
sub eax, esi
mov esi, ebx
mov edx, eax
or esi, eax
not edx
mov ecx, dword [esp + 0x1bc]
lea edi, [edx + edx]
and ecx, edi
mov edi, ebx
mov edx, ecx
xor edi, esi
sub edx, ebx
mov esi, eax
xor esi, edi
mov edi, esi
add edx, eax
or edi, edx
and esi, edx
add esi, edi
mov edi, ebx
xor edi, eax
sub ecx, edi
mov edi, dword [esp + 0x154]
mov edx, edi
or edx, eax
sub edx, eax
xor edi, edx
mov dword [esp + 0x1de8], edx
mov edx, ecx
lea eax, [edi + edi]
xor edx, eax
and ecx, eax
lea eax, [edx + ecx*2]
mov edx, esi
neg edx
mov ecx, eax
lea edi, [edx - 1]
mov edx, eax
and ecx, edi
or edx, edi
imul edx, ecx
mov ecx, eax
not ecx
and ecx, edi
not edi
and edi, eax
neg eax
imul edi, ecx
mov dword [esp + 0x1dec], edx
add edx, edi
mov edi, esi
lea ecx, [eax - 1]
mov eax, esi
and edi, ecx
or eax, ecx
imul edi, eax
mov eax, esi
not eax
and eax, ecx
not ecx
and ecx, esi
imul ecx, eax
lea eax, [edi + ecx]
mov ecx, edx
mov esi, eax
not ecx
mov edi, dword [esp + 0x1dd0]
neg esi
not eax
neg edx
imul ecx, esi
imul edx, eax
not ecx
lea ebx, [ebx + edi - 1]
neg ebx
not edx
sub ecx, edx
mov dword [esp + 0x9c0], ecx
mov eax, dword [esp + 0x1de8]
mov edi, dword [esp + 0x1dd4]
lea ecx, [ebx - 1]
mov edx, ecx
xor ecx, 1
and edx, 1
sub edi, eax
mov ebx, dword [esp + 0x9bc]
lea esi, [ecx + edx*2]
lea edx, [edi + esi]
mov ecx, edx
neg ecx
lea edi, [ecx + ecx - 2]
mov esi, edi
xor edi, 2
or esi, 2
lea ecx, [ebx + 0x20]
xor esi, edi
mov edi, edx
and edi, 1
lea ebx, [edi + edi]
mov edi, esi
sub edx, ebx
lea edx, [edx + 1]
xor edi, edx
not edx
and esi, edx
add edi, eax
lea eax, [esi + esi]
sub edi, eax
mov eax, dword [esp + 0x9b4]
ror eax, cl
mov ebx, eax
neg ebx
ror edi, cl
mov edx, edi
not edx
bswap edi
lea esi, [ebx - 1]
mov ebx, edx
or ebx, esi
sub ebx, edx
lea edx, [eax + eax]
mov esi, ebx
xor esi, eax
bswap eax
add ebx, ebx
and edx, ebx
lea ebx, [eax + eax]
add edx, esi
lea esi, [edi + edi]
not esi
mov dword [esp + 0x1df0], esi
or esi, ebx
sub esi, dword [esp + 0x1df0]
mov ebx, esi
xor ebx, eax
not eax
and esi, eax
lea eax, [esi + esi]
sub ebx, eax
mov esi, ebx
and ebx, edi
or esi, edi
add ebx, esi
bswap ebx
mov edi, ebx
neg edi
lea eax, [edi - 1]
mov esi, eax
xor eax, edx
or esi, edx
sub esi, eax
mov eax, ebx
not eax
lea edi, [esi + esi]
lea esi, [eax + eax]
lea eax, [edx + edx]
and esi, eax
add esi, ebx
mov ebx, edi
sub esi, edx
not ebx
mov edx, esi
not esi
neg edx
neg edi
imul ebx, edx
imul edi, esi
not ebx
not edi
mov esi, dword [esp + 0x9c0]
sub ebx, edi
rol ebx, cl
mov ecx, esi
or ecx, 1
mov edx, esi
xor edx, 1
mov edi, ebx
not edi
mov dword [esp + 0x1df8], edi
mov dword [esp + 0x1df4], ebx
lea eax, [ecx + ecx]
sub eax, edx
mov edx, edi
not eax
add edi, edi
lea ecx, [eax + 1]
and edx, ecx
add edx, ebx
lea ecx, [edx + edx]
and ecx, edi
lea edi, [ecx + ebx]
sub edi, edx
lea ecx, [eax + eax + 2]
lea edx, [edi + edi]
or ecx, edx
sub ecx, eax
sub ecx, edi
mov dword [esp + 0x1dfc], ecx
lea edx, [ecx - 1]
mov ecx, dword [esp + 0x1ddc]
rol ebx, cl
not ebx
lea eax, [ebx + ebx + 2]
and eax, 0xfffffffc
lea edi, [ebx + 1]
xor edi, 1
sub eax, edi
mov edi, esi
ror eax, cl
mov ecx, esi
xor edi, eax
and ecx, eax
lea ebx, [edi + ecx*2]
and edi, eax
add esi, edi
mov eax, esi
lea ecx, [esi + esi]
xor eax, ebx
not ebx
mov esi, edx
lea edi, [ebx + ebx]
and ecx, edi
mov edi, edx
sub eax, ecx
mov ebx, eax
neg ebx
lea ecx, [ebx - 1]
mov ebx, eax
xor edi, ecx
or esi, ecx
mov ecx, edx
sub esi, edi
neg ecx
lea edi, [ecx - 1]
mov ecx, eax
or ebx, edi
xor ecx, edi
sub ebx, ecx
mov edi, ebx
mov ecx, ebx
or edi, esi
and ecx, esi
imul ecx, edi
mov edi, ebx
not edi
and edi, esi
not esi
and ebx, esi
imul ebx, edi
mov esi, dword [esp + 0x1dfc]
add ecx, ebx
mov ebx, eax
or ebx, edx
sub ebx, eax
lea edi, [eax + esi - 1]
and eax, edx
xor ebx, edx
sub edi, eax
mov esi, ebx
mov edx, edi
mov eax, ebx
not edx
not esi
and eax, edx
mov edx, ebx
and esi, edi
and edx, edi
or ebx, edi
imul eax, esi
mov esi, ecx
imul ebx, edx
lea edx, [eax + ebx]
xor esi, edx
lea edi, [edx + edx]
add ecx, ecx
mov dword [esp + 0x1e00], ecx
mov ebx, edi
and ebx, dword [esp + 0x1e00]
mov ecx, esi
lea edi, [ecx + ebx]
mov ebx, dword [esp + 0x9c0]
mov eax, ebx
mov dword [esp + 0x1e04], edi
mov edi, dword [esp + 0x1df4]
mov ecx, edi
shld eax, ebx, 6
shld ecx, edi, 6
mov esi, eax
and esi, ecx
xor esi, eax
lea edx, [esi + ecx]
mov esi, edx
not esi
imul esi, eax
not eax
imul eax, edx
sub esi, eax
lea eax, [ecx + ecx]
mov edx, esi
not edx
add edx, edx
and eax, edx
sub eax, ecx
mov ecx, ebx
xor ecx, edi
lea edx, [eax + esi]
mov eax, ebx
or eax, edi
sub edi, ebx
and ebx, dword [esp + 0x1df8]
xor eax, ecx
mov ecx, eax
shld edx, edx, 0x1a
lea edi, [edi + ebx*2]
and ecx, edi
xor eax, edi
lea edi, [eax + ecx*2]
mov dword [esp + 0x1e08], edi
mov ecx, edi
mov eax, edi
not ecx
or eax, edx
mov esi, ecx
sub eax, edx
and esi, edx
xor eax, edi
mov ebx, eax
not ebx
add esi, edi
mov edi, esi
and ebx, esi
mov dword [esp + 0x1e0c], ebx
not edi
mov ebx, eax
and ebx, edi
mov edi, eax
and edi, esi
or eax, esi
mov esi, edx
imul ebx, dword [esp + 0x1e0c]
neg esi
imul eax, edi
lea edi, [ebx + eax]
lea eax, [esi - 1]
mov esi, dword [esp + 0x1e08]
or ecx, eax
lea ecx, [esi + ecx + 1]
neg esi
lea ebx, [esi - 1]
mov eax, ebx
xor ebx, edx
or eax, edx
sub eax, ebx
mov ebx, ecx
mov esi, eax
mov edx, eax
and esi, ecx
or edx, ecx
imul edx, esi
not ebx
mov esi, eax
not eax
and esi, ebx
and eax, ecx
imul eax, esi
lea ecx, [edx + eax]
mov eax, ecx
xor ecx, edi
and eax, edi
lea edi, [ecx + eax*2]
mov eax, dword [esp + 0x1e04]
mov esi, eax
mov edx, eax
and esi, edi
not edx
xor esi, edi
or edx, edi
lea ebx, [esi + eax]
mov ecx, ebx
lea edi, [eax + edx + 1]
xor ecx, edi
lea eax, [ebx + ebx]
mov edx, dword [esp + 0x1de4]
add edi, edi
and eax, edi
mov esi, edx
lea edi, [ecx + eax]
mov ecx, edx
mov ebx, edi
neg ebx
lea eax, [ebx - 1]
mov ebx, edi
xor esi, eax
or ecx, eax
mov eax, edx
sub ecx, esi
not eax
not ebx
mov esi, edx
imul eax, edi
add edi, edi
imul esi, ebx
not eax
not esi
sub eax, esi
add ecx, ecx
mov esi, eax
and eax, ecx
or esi, ecx
lea ecx, [edx + edx]
lea ebx, [esi + eax]
lea eax, [ecx + ecx]
lea esi, [edi + edi]
or eax, esi
mov esi, edi
xor esi, ecx
sub eax, esi
lea esi, [edi + edx*2]
and edi, ecx
mov edx, eax
sub esi, edi
not eax
xor edx, esi
and eax, esi
mov ecx, dword [esp + 0x1dec]
add edx, ecx
lea edi, [eax + eax]
sub edx, edi
mov esi, edx
mov edi, edx
not esi
or edi, ebx
and esi, ebx
sub edi, edx
xor edi, ebx
mov ebx, edi
add esi, edx
or ebx, esi
xor edi, esi
add ebx, ebx
sub ebx, ecx
sub ebx, edi
mov edx, ebx
neg edx
mov dword [esp + 0x1e10], ebx
not ebx
mov dword [esp + 0x1e14], ebx
lea ecx, [edx - 1]
neg edx
mov eax, ecx
and eax, 0x4fdf7fff
xor eax, ecx
not ecx
lea edi, [edx + 1]
lea edx, [eax + 0x4fdf7fff]
neg eax
not edx
imul edx, edi
not edx
lea edi, [eax - 0x4fdf7fff]
imul ecx, edi
lea eax, [ebx + 1]
mov esi, eax
not eax
xor esi, 1
not ecx
sub edx, ecx
mov ecx, dword [esp + 0x1a70]
mov ebx, dword [esp + 0x1a6c]
lea edi, [eax + eax]
and edi, 2
mov eax, ebx
sub esi, edi
bswap esi
and ecx, esi
and eax, esi
not eax
lea edi, [ebx + ecx]
or ebx, esi
not ebx
sub eax, ebx
mov ecx, eax
xor eax, edi
not ecx
lea esi, [ecx + ecx]
lea ecx, [edi + edi]
and esi, ecx
mov ecx, edx
sub esi, eax
neg ecx
bswap esi
mov eax, edx
mov edi, esi
neg edi
lea ecx, [ecx - 1]
mov ebx, ecx
or ebx, esi
sub ebx, esi
lea edi, [edi - 1]
or eax, edi
xor ebx, ecx
sub eax, edi
mov edi, ebx
xor eax, edx
mov ecx, ebx
or edi, eax
and ecx, eax
imul ecx, edi
mov edi, ebx
not edi
and edi, eax
not eax
and eax, ebx
imul eax, edi
mov edi, edx
or edi, esi
add eax, ecx
sub edi, edx
lea ecx, [edx + esi]
and edx, esi
xor edi, esi
sub ecx, edx
mov esi, ecx
mov ebx, ecx
or esi, edi
and ebx, edi
mov edx, ecx
imul ebx, esi
not edx
mov esi, edi
not edi
and esi, edx
and ecx, edi
imul ecx, esi
lea edi, [eax + eax]
lea edx, [ebx + ecx]
mov ecx, dword [esp + 0x1e10]
xor eax, edx
lea esi, [edx + edx]
and edi, esi
add edi, eax
mov eax, ecx
shrd eax, ecx, 0x12
mov esi, eax
mov dword [esp + 0x1e18], edi
and esi, 0x20002c08
lea edi, [eax + 0x20002c08]
lea ebx, [eax + eax]
xor eax, 0x20002c08
and ebx, 0x40005810
sub edi, ebx
lea edx, [esi + eax]
mov esi, edx
not esi
lea ebx, [edi + edi]
xor edi, edx
mov edx, dword [esp + 0x1e14]
and edx, 0x30208000
lea eax, [esi + esi]
and eax, ebx
sub eax, edi
not eax
lea edi, [ecx + edx*2 + 0x4fdf8000]
mov esi, edi
or edi, 0xb0208000
xor esi, 0xb0208000
xor esi, edi
mov ebx, esi
or esi, ecx
and ebx, ecx
lea eax, [eax + 1]
shrd eax, eax, 0xe
lea ecx, [ebx + esi]
mov esi, ecx
mov ebx, ecx
xor esi, eax
and ebx, eax
mov edi, ecx
lea edx, [ecx + eax]
or edi, eax
sub edx, edi
mov edi, edx
add esi, ebx
mov ebx, esi
not ebx
and edi, ebx
mov ebx, edx
not ebx
and ebx, esi
imul ebx, edi
mov edi, edx
and edi, esi
or edx, esi
imul edx, edi
mov esi, eax
neg esi
lea edi, [ebx + edx]
mov ebx, ecx
mov edx, ecx
neg ecx
lea esi, [esi - 1]
xor ebx, esi
or edx, esi
sub edx, ebx
lea ecx, [ecx - 1]
mov esi, ecx
or ecx, eax
xor esi, eax
mov ebx, edx
sub ecx, esi
mov eax, edx
and ebx, ecx
or eax, ecx
imul eax, ebx
mov ebx, edx
not ebx
and ebx, ecx
not ecx
and edx, ecx
imul edx, ebx
mov ecx, dword [esp + 0x1e18]
lea esi, [eax + edx]
mov eax, edi
or edi, esi
and eax, esi
lea edx, [eax + edi]
mov esi, edx
lea edi, [ecx + edx]
not esi
mov eax, esi
or eax, ecx
and ecx, edx
sub eax, esi
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x1bec]
sub edi, edx
add eax, eax
lea ebx, [eax + eax]
lea esi, [edi + edi]
xor edi, eax
or esi, ebx
sub esi, edi
lea edi, [ecx + ecx]
mov edx, edi
mov ebx, esi
not ebx
lea eax, [esi + esi]
and edx, eax
xor edx, edi
lea eax, [edx + esi*2]
lea edx, [ebx + ebx]
mov ebx, 0xf0080000
and edi, edx
sub edi, ecx
lea ecx, [edi + esi]
mov edi, ecx
xor edi, eax
not eax
and eax, ecx
lea ecx, [eax + eax]
mov eax, dword [esp + 0x310]
sub edi, ecx
mov ecx, eax
ror ebx, cl
mov edx, eax
mov dword [esp + 0x1e1c], edi
mov edi, ebx
ror edx, cl
not edi
and edi, edx
mov esi, edx
or esi, ebx
sub esi, edx
xor esi, ebx
lea edi, [ebx + edi*2]
sub edi, edx
lea ebx, [esi + esi]
xor esi, edi
lea edx, [edi + edi]
and edx, ebx
lea edi, [edx + esi]
rol edi, cl
mov edx, edi
mov esi, edi
not edx
and esi, 0xf48a7cd8
and edx, 0xb758327
imul edx, esi
mov esi, edi
and esi, 0xb758327
or edi, 0xb758327
imul edi, esi
lea ebx, [edx + edi]
mov dword [esp + 0x9c4], ebx
lea esi, [ebx + ebx]
xor ebx, 0xf87fe038
and esi, 0xf003f8e
sub esi, ebx
mov edx, esi
mov edi, esi
mov ebx, esi
not esi
or edx, 0x2309bc97
and edi, 0x2309bc97
and ebx, 0xdcf64368
and esi, 0x2309bc97
imul edi, edx
imul esi, ebx
mov ebx, eax
add edi, esi
bswap ebx
lea esi, [edi + edi]
or esi, 0xc1cc210
xor edi, 0x60e6108
sub esi, edi
mov edi, esi
mov ecx, esi
and edi, 0xf0080000
xor ecx, 0xf0080000
xor edi, 0xf0080000
mov dword [esp + 0x1e20], ebx
lea edx, [edi + esi]
or esi, 0xf0080000
sub esi, ecx
mov edi, esi
xor edi, edx
not edx
add esi, esi
add edx, edx
and esi, edx
sub edi, esi
mov esi, ebx
neg esi
bswap edi
lea edx, [esi - 1]
mov esi, edx
or esi, edi
xor esi, edx
xor esi, edi
lea edx, [esi + esi]
mov esi, ebx
not esi
mov dword [esp + 0x1e24], esi
imul esi, edi
not edi
imul edi, ebx
sub esi, edi
mov ebx, esi
or esi, edx
and ebx, edx
lea edx, [eax - 0xf003f8e]
mov dword [esp + 0x1e28], edx
lea edi, [ebx + esi]
bswap edi
mov dword [esp + 0x9c8], edi
mov edi, edx
and edi, 0xf0080000
sub edx, edi
lea ebx, [edx + edx - 0x1ff00000]
mov dword [esp + 0x1e2c], ebx
mov ebx, eax
mov edx, 0xf0080000
ror ebx, cl
lea eax, [eax + eax - 0x1e007f1c]
mov esi, ebx
and eax, 0xe0100000
ror edx, cl
not esi
and esi, edx
neg ecx
lea edi, [esi + ebx]
mov esi, edx
not esi
and esi, edi
xor edi, edx
lea edx, [ebx + ebx]
add esi, esi
sub esi, edi
lea edi, [esi + ebx]
lea ebx, [esi + esi]
and edx, ebx
sub edi, edx
mov edx, dword [esp + 0x1e28]
sub edx, eax
mov eax, dword [esp + 0x1e2c]
mov ebx, eax
ror edi, cl
not ebx
mov dword [esp + 0x1e30], edi
lea ecx, [edx - 0xff80000]
imul ebx, ecx
not ecx
imul ecx, eax
sub ebx, dword [esp + 0x9c4]
lea edi, [edi - 1]
sub ebx, ecx
not edi
mov eax, edi
mov dword [esp + 0x1e38], edi
mov dword [esp + 0x1e34], ebx
lea esi, [ebx + 0xf003f8e]
neg esi
lea edx, [esi - 1]
or eax, edx
and edi, edx
mov dword [esp + 0x1e3c], eax
mov eax, edi
imul eax, dword [esp + 0x1e3c]
mov ebx, edx
mov edi, ebx
mov edx, dword [esp + 0x1e38]
not edi
mov ecx, edx
not edx
and ecx, edi
and ebx, edx
neg eax
imul ebx, ecx
mov ecx, dword [esp + 0x1e34]
lea esi, [eax - 1]
mov eax, dword [esp + 0x1e30]
sub esi, ebx
neg eax
lea ebx, [ecx + 0xf003f8d]
not ebx
mov edi, ebx
mov edx, ebx
lea eax, [eax - 1]
or edi, eax
and edx, eax
mov ecx, eax
imul edx, edi
not ecx
mov edi, ebx
not ebx
and edi, ecx
and ebx, eax
imul ebx, edi
mov edi, esi
not esi
lea eax, [edx + ebx]
neg eax
mov ecx, dword [esp + 0x9c4]
lea eax, [eax - 1]
mov edx, eax
not edx
imul edi, edx
imul esi, eax
not edi
not esi
lea ebx, [ecx + edi]
sub ebx, esi
mov esi, dword [esp + 0x9c8]
mov edi, esi
xor edi, ebx
mov dword [esp + 0x1e40], ebx
lea eax, [esi + esi]
lea edx, [ebx + ebx]
and eax, edx
lea ecx, [esi + ebx]
sub ecx, eax
mov eax, esi
and eax, edi
mov edx, ecx
shrd esi, esi, 0xa
lea edi, [ebx + eax]
or edx, edi
shrd ebx, ebx, 0xa
lea eax, [edx + edx]
mov dword [esp + 0x1e44], eax
sub eax, ecx
mov edx, esi
mov ecx, esi
or edx, ebx
and ecx, ebx
xor esi, ebx
sub eax, edi
lea edi, [ecx + edx]
sub edx, esi
mov esi, edx
mov ebx, edi
neg esi
not ebx
not edx
neg edi
imul ebx, esi
mov esi, eax
imul edi, edx
not ebx
not edi
sub ebx, edi
mov edi, eax
shrd ebx, ebx, 0x16
and edi, ebx
mov ecx, eax
xor edi, eax
or esi, ebx
xor ecx, ebx
sub esi, ecx
lea edx, [edi + ebx]
mov edi, esi
mov ecx, edx
not edi
not ecx
and edi, edx
and ecx, esi
imul ecx, edi
mov edi, esi
or edi, edx
and esi, edx
mov edx, ebx
imul esi, edi
neg edx
lea edi, [ecx + esi]
lea esi, [edx - 1]
mov edx, eax
neg eax
not esi
or edx, esi
mov dword [esp + 0x1e48], esi
sub edx, esi
lea esi, [eax - 1]
mov eax, esi
or eax, ebx
xor eax, ebx
mov ebx, edx
xor eax, esi
not ebx
mov ecx, eax
mov esi, edx
and ecx, ebx
mov ebx, eax
not ebx
and esi, ebx
mov ebx, eax
mov dword [esp + 0x1e4c], eax
and ebx, edx
or eax, edx
imul esi, ecx
lea ecx, [edi + edi]
imul eax, ebx
add eax, esi
lea edx, [eax + eax]
xor eax, edi
and edx, ecx
mov ecx, dword [esp + 0x1e44]
lea edi, [edx + eax]
mov edx, dword [esp + 0x9c8]
mov eax, edx
ror eax, cl
neg ecx
mov dword [esp + 0x1e50], edi
bswap edx
lea eax, [eax - 1]
not eax
lea edi, [eax + eax]
neg edi
not edi
sub edi, eax
ror edi, cl
mov eax, dword [esp + 0x1e40]
mov esi, eax
shld edi, edi, 0xf
shld esi, eax, 0xf
mov ebx, edi
mov ecx, edi
xor ebx, esi
and ecx, esi
bswap eax
not eax
neg eax
not eax
lea ebx, [ebx + ecx*2]
mov ecx, edi
not ecx
and ecx, esi
mov esi, ebx
neg ebx
lea eax, [eax + 1]
bswap eax
not esi
bswap eax
add edi, ecx
mov ecx, edi
not edi
neg ecx
imul ebx, edi
mov edi, eax
imul esi, ecx
not edi
not esi
and edi, edx
not ebx
sub esi, ebx
shrd esi, esi, 0xf
lea ebx, [edi + eax]
mov edi, eax
or edi, edx
and eax, edx
sub edi, eax
mov edx, edi
xor edx, ebx
not ebx
lea eax, [edi + edi]
mov edi, esi
neg edi
lea ecx, [ebx + ebx]
and ecx, eax
sub edx, ecx
bswap edx
lea ebx, [edi - 1]
mov eax, edx
not eax
mov ecx, eax
or ecx, ebx
mov ebx, edx
neg ebx
sub ecx, eax
lea eax, [ebx - 1]
not eax
or eax, esi
add ebx, eax
mov eax, ecx
mov edi, ebx
not edi
and eax, edi
mov edi, ecx
not edi
and edi, ebx
imul edi, eax
mov eax, ecx
or eax, ebx
and ecx, ebx
imul ecx, eax
mov eax, edx
or eax, esi
lea ebx, [edi + ecx]
mov ecx, edx
mov edi, edx
and ecx, esi
xor edi, esi
xor ecx, esi
sub eax, edi
mov edi, eax
mov esi, eax
not edi
add ecx, edx
mov edx, eax
or esi, ecx
and edx, ecx
and edi, ecx
not ecx
and eax, ecx
imul edx, esi
imul eax, edi
mov edi, dword [esp + 0x1e50]
add eax, edx
mov ecx, edi
lea esi, [eax + eax]
not ecx
lea edx, [ebx + ebx]
or esi, edx
xor ebx, eax
sub esi, ebx
mov eax, esi
mov edx, esi
and ecx, esi
xor eax, edi
or edx, edi
xor eax, edx
lea edi, [edi + ecx*2]
sub edi, esi
mov esi, edi
add eax, eax
xor esi, eax
and edi, eax
mov eax, dword [esp + 0x1e4c]
mov edx, eax
neg edx
lea ebx, [esi + edi*2]
mov esi, dword [esp + 0x310]
shld esi, esi, 0x1e
mov dword [esp + 0x1e54], ebx
lea edi, [edx + 0xff7ffff]
lea eax, [eax + edx*2 + 0x1feffffe]
sub eax, edi
shld eax, eax, 0x1e
mov edi, eax
mov ecx, eax
or edi, esi
xor ecx, esi
lea ebx, [edi + edi]
sub edi, esi
sub ebx, ecx
xor edi, eax
mov edx, ebx
not ebx
and ebx, edi
xor edx, edi
mov dword [esp + 0x9cc], edx
lea edi, [esi + esi]
lea ecx, [ebx + ebx]
sub edx, ecx
mov ebx, edx
not ebx
lea ecx, [ebx + ebx]
and ecx, edi
sub ecx, esi
lea ebx, [ecx + edx]
neg edx
mov esi, ebx
neg ebx
not esi
lea edx, [edx + edx - 2]
mov ecx, edx
xor edx, edi
or ecx, edi
sub ecx, edx
mov edi, ecx
not ecx
neg edi
imul esi, edi
imul ebx, ecx
not esi
not ebx
sub esi, ebx
mov edx, esi
and esi, eax
xor edx, eax
mov ecx, dword [esp + 0x1e24]
or ecx, 1
lea eax, [edx + esi]
lea edi, [eax + eax]
mov eax, edi
lea edx, [edx + esi*2]
mov ebx, edx
not eax
neg ebx
not edx
neg edi
imul eax, ebx
imul edi, edx
mov edx, dword [esp + 0x1e20]
not eax
not edi
mov ebx, edx
sub eax, edi
mov edi, edx
and edi, 1
or ebx, 1
not edi
not ebx
sub edi, ebx
add edx, ecx
mov esi, edi
lea ebx, [edx + edx + 2]
or esi, ebx
and edi, ebx
neg esi
shrd eax, eax, 0x1e
mov dword [esp + 0x9d0], eax
lea ecx, [esi - 0x33480001]
sub ecx, edi
mov ebx, ecx
and ecx, 1
xor ebx, 1
lea esi, [ebx + ecx*2 + 0x33480000]
bswap esi
mov edx, esi
xor edx, 1
lea edi, [esi + esi]
or edi, 2
sub edi, edx
lea edx, [edi - 1]
not edx
mov edi, edx
mov ebx, edx
or edi, 0xf0080000
xor ebx, 0xf0080000
sub edi, ebx
mov ecx, edi
not ecx
lea ebx, [ecx + ecx]
and ebx, 0xe0100000
lea edi, [edi + ebx + 0xff80000]
mov ebx, edx
or ebx, edi
and edx, edi
lea edi, [ebx + edx]
mov edx, dword [esp + 0x1e48]
sub esi, edx
mov ebx, esi
mov ecx, esi
or ebx, 1
and ecx, 1
mov dword [esp + 0x1e58], ebx
sub ebx, ecx
mov ecx, dword [esp + 0x1e58]
sub ecx, esi
mov esi, ebx
xor ecx, 1
add ecx, ecx
and esi, ecx
or ebx, ecx
add esi, edx
lea edx, [ebx + esi]
lea ecx, [esi + ebx + 0x2155cb91]
mov ebx, edi
or ebx, ecx
lea esi, [ebx + ebx]
sub esi, edi
xor edi, ecx
xor ebx, edi
sub esi, edx
add ebx, ebx
lea edx, [esi - 0x2155cb91]
lea edi, [ebx + ebx]
xor ebx, edx
mov edx, eax
lea ecx, [esi + esi - 0x42ab9722]
and edi, ecx
shrd edx, eax, 0x1e
mov esi, edx
not eax
neg eax
lea ebx, [edi + ebx - 0x2155cb91]
mov edi, ebx
not eax
not edi
shrd edi, edi, 0x1e
and esi, edi
xor esi, edi
mov dword [esp + 0x9d4], ebx
lea ecx, [esi + edx]
mov esi, edi
not esi
and esi, edx
add esi, esi
sub esi, edx
lea edx, [ecx + ecx]
add esi, edi
mov edi, esi
xor ecx, esi
not edi
add edi, edi
and edx, edi
sub edx, ecx
lea ecx, [eax + 1]
mov edi, ecx
not edi
and edi, ebx
shrd edx, edx, 2
lea eax, [edi + eax + 1]
mov esi, eax
or eax, ecx
and esi, ecx
not eax
not esi
sub esi, eax
lea eax, [esi + ebx]
lea ecx, [esi + esi]
add ebx, ebx
and ecx, ebx
mov ebx, edx
sub eax, ecx
not ebx
and ebx, eax
mov edi, eax
or edi, edx
mov esi, eax
xor esi, edi
xor esi, edx
mov edi, esi
lea ecx, [ebx + edx]
mov ebx, ecx
not ebx
and edi, ebx
mov ebx, esi
not ebx
and ebx, ecx
imul ebx, edi
mov edi, esi
and edi, ecx
or esi, ecx
mov ecx, eax
imul esi, edi
neg ecx
lea edi, [ebx + esi]
lea ebx, [ecx - 1]
mov esi, ebx
or esi, edx
sub esi, ebx
mov ebx, eax
xor esi, edx
neg edx
mov ecx, esi
lea edx, [edx - 1]
or ebx, edx
sub ebx, eax
mov eax, esi
xor ebx, edx
mov edx, ebx
and ecx, ebx
not edx
or eax, ebx
and edx, esi
not esi
and esi, ebx
imul eax, ecx
imul esi, edx
mov ebx, dword [esp + 0x9d4]
add eax, esi
mov ecx, eax
lea edx, [eax + eax]
xor ecx, edi
add edi, edi
shld ebx, ebx, 0x14
and edx, edi
neg ebx
mov esi, dword [esp + 0x9d0]
shld esi, esi, 0x14
lea eax, [ecx + edx]
mov edx, esi
mov dword [esp + 0x1e5c], eax
lea eax, [ebx - 1]
not edx
mov ecx, eax
and edx, eax
not ecx
lea edi, [edx + esi]
imul ecx, edi
not edi
imul edi, eax
not ecx
not edi
sub ecx, edi
mov dword [esp + 0x1e60], ecx
mov ecx, dword [esp + 0x9d0]
mov ebx, dword [esp + 0x9d4]
bswap ecx
bswap ebx
mov edx, ecx
mov esi, ebx
not edx
not esi
and edx, ebx
and esi, ecx
mov eax, dword [esp + 0x1e60]
shld eax, eax, 0xc
mov dword [esp + 0x324], 0
add edx, esi
mov edi, edx
or edi, ecx
xor edi, ecx
xor edi, edx
mov edx, edi
xor edi, ebx
and edx, ebx
mov dword [esp + 0x5a4], 0xbb000000
lea edx, [edi + edx*2]
bswap edx
mov ebx, edx
mov ecx, edx
or ebx, eax
and ecx, eax
lea esi, [edx + eax]
sub esi, ebx
mov ebx, edx
xor ebx, eax
mov edi, esi
not edi
add ecx, ebx
mov ebx, ecx
and edi, ecx
mov dword [esp + 0x1e64], edi
not ebx
mov edi, esi
and edi, ebx
mov ebx, esi
and ebx, ecx
or esi, ecx
mov ecx, eax
imul edi, dword [esp + 0x1e64]
neg ecx
imul esi, ebx
lea ebx, [edi + esi]
lea esi, [ecx + edx]
lea ecx, [ecx - 1]
or ecx, edx
neg edx
sub esi, ecx
lea ecx, [edx - 1]
lea edi, [esi - 1]
mov esi, ecx
or esi, eax
mov edx, edi
xor esi, eax
not edx
xor esi, ecx
mov eax, esi
mov ecx, esi
not eax
or ecx, edi
and edx, esi
and eax, edi
and esi, edi
imul eax, edx
mov edx, ebx
imul esi, ecx
lea edi, [eax + esi]
xor edx, edi
lea eax, [edi + edi]
add ebx, ebx
and eax, ebx
lea esi, [edx + eax]
mov eax, dword [esp + 0x1e5c]
mov ebx, eax
and ebx, esi
mov edx, ebx
not ebx
xor edx, esi
lea edi, [eax + edx]
or eax, esi
not eax
lea edx, [edi + edi]
sub ebx, eax
lea esi, [edx + edx]
mov eax, ebx
xor ebx, edx
not eax
mov edx, dword [esp + 0x1e54]
add eax, eax
and esi, eax
mov eax, edx
sub esi, ebx
mov ebx, dword [esp + 0x9cc]
xor eax, ebx
and edx, ebx
lea ebx, [esi + esi]
rol esi, cl
bswap ebx
lea edi, [eax + edx*2]
mov eax, ebx
neg eax
mov dword [esp + 0x1e68], edi
add edi, edi
bswap edi
lea eax, [eax - 1]
mov edx, eax
xor eax, edi
or edx, edi
xor edx, eax
mov eax, edx
xor edx, ebx
and eax, ebx
mov ebx, dword [esp + 0x1e68]
rol ebx, cl
lea edi, [edx + eax*2]
mov eax, ebx
mov edx, ebx
xor eax, esi
and edx, esi
or ebx, esi
sub ebx, eax
mov esi, ebx
not esi
bswap edi
add edx, eax
and esi, edx
xor ebx, edx
mov edx, edi
not edx
add esi, esi
sub esi, ebx
ror esi, cl
mov ecx, esi
neg ecx
lea ebx, [ecx - 1]
mov eax, ebx
and edx, ebx
not eax
and eax, edi
imul eax, edx
mov edx, ebx
and edx, edi
or ebx, edi
neg edi
neg eax
imul ebx, edx
lea edx, [edi - 1]
mov edi, edx
lea ecx, [eax - 1]
mov eax, edx
and edi, esi
or eax, esi
sub ecx, ebx
imul edi, eax
mov eax, edx
not eax
and eax, esi
not esi
and esi, edx
imul esi, eax
lea ebx, [edi + esi]
mov esi, dword [esp + 0x9cc]
neg ebx
mov edi, esi
mov edx, ebx
not edi
neg edx
lea ebx, [ebx - 1]
not ebx
lea eax, [edx + 1]
mov edx, ecx
not edx
neg ecx
imul edx, eax
imul ecx, ebx
not edx
not ecx
sub edx, ecx
and edi, edx
xor esi, edx
mov edx, dword [esp]
mov ecx, edx
mov dword [esp + 0x904], edx
lea eax, [edi + edi]
mov edi, edx
sub eax, esi
mov ebx, eax
xor edi, eax
not ebx
or ecx, ebx
sub ecx, ebx
mov ebx, edx
and ebx, edi
mov esi, ecx
lea edi, [eax + ebx]
mov ebx, ecx
and esi, edi
or ebx, edi
imul ebx, esi
mov esi, ecx
not esi
and esi, edi
not edi
and ecx, edi
mov edi, dword [esp + 0x5f8]
imul ecx, esi
mov esi, edi
or esi, eax
neg eax
sub esi, edi
add ebx, ecx
mov ecx, edx
lea edi, [eax - 1]
mov eax, esi
or ecx, edi
sub ecx, edx
xor ecx, edi
mov edi, esi
or eax, ecx
and edi, ecx
imul edi, eax
mov eax, esi
mov dword [esp + 0x1e6c], edi
not eax
mov edi, ecx
not ecx
and edi, eax
and esi, ecx
lea ecx, [esp + 0x1e70]
mov dword [ecx], edi
lea edi, [ebx + ebx]
imul esi, dword [ecx]
mov ecx, dword [esp + 0x1e6c]
add ecx, esi
lea eax, [ecx + ecx]
xor ecx, ebx
or eax, edi
sub eax, ecx
mov ecx, edx
imul ecx, eax
mov ebx, dword [esp + 0x1e1c]
lea edi, [ecx + ecx]
lea esi, [ebx + ebx]
not esi
and esi, edi
lea eax, [esi + ebx*2]
mov esi, ebx
not ebx
sub esi, ecx
and ebx, ecx
lea ecx, [esi + ebx*2]
mov ebx, ecx
not ebx
imul ebx, eax
not eax
imul eax, ecx
not ebx
not eax
sub ebx, eax
mov dword [esp + 0x634], ebx
test byte [esp + 0x904], 1
je 0x10020199
mov ebx, dword [esp + 0x324]
mov esi, ebx
mov edx, dword [esp + 0x5a4]
not esi
mov ecx, edx
not edx
mov dword [esp + 0x1ad0], esi
imul ecx, esi
mov esi, ebx
imul esi, edx
mov eax, ecx
not esi
not eax
lea edx, [ebx + ebx]
sub eax, esi
mov dword [esp + 0x1ad4], eax
ror edx, cl
mov edi, edx
not edi
add eax, eax
mov dword [esp + 0x1ad8], eax
ror eax, cl
neg ecx
mov esi, eax
and edi, eax
not esi
and esi, edx
add esi, edi
mov edi, esi
or edi, eax
xor edi, eax
xor edi, esi
mov eax, edi
xor edi, edx
and eax, edx
lea esi, [edi + eax*2]
mov eax, ebx
neg eax
ror esi, cl
lea edx, [eax + eax - 2]
mov eax, dword [esp + 0x1ad8]
mov ecx, eax
or ecx, edx
xor ecx, edx
mov edx, dword [esp + 0x1ad4]
mov edi, edx
not edi
xor ecx, eax
imul edx, dword [esp + 0x1ad0]
mov eax, ecx
imul ebx, edi
not ebx
not edx
sub ebx, edx
or eax, ebx
xor ecx, ebx
mov ebx, esi
lea esi, [esi + 0x83cb86f]
neg ebx
not esi
lea edi, [eax + eax]
sub edi, ecx
lea edx, [ebx - 0x83cb870]
lea ecx, [edi - 1]
neg edi
not ecx
lea ebx, [edi - 1]
mov eax, ebx
lea edi, [esi + 1]
mov esi, edi
not eax
not esi
and eax, edi
and esi, ebx
imul esi, eax
mov eax, ebx
and eax, edi
or ebx, edi
imul ebx, eax
mov eax, ecx
and eax, edx
lea edi, [esi + ebx]
neg edi
mov esi, edx
not esi
and esi, ecx
lea ebx, [edi - 1]
mov edi, ecx
not edi
or ecx, edx
and edi, edx
imul esi, edi
imul ecx, eax
mov eax, ebx
lea edx, [esi + ecx]
neg edx
not eax
mov edi, dword [esp + 0x324]
lea ecx, [edx - 1]
mov edx, edi
and eax, ecx
xor ebx, ecx
lea esi, [eax + eax]
sub esi, ebx
lea eax, [esi - 0x83cb86f]
xor edx, eax
and edi, eax
lea ecx, [edx + edi*2]
mov dword [esp + 0x324], ecx
shr dword [esp + 0x904], 1
lea edx, [esp + 0x5a4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002005d
mov eax, dword [esp + 4]
mov ecx, dword [esp]
imul eax, ecx
mov edx, dword [esp + 0x324]
imul edx, eax
mov dword [esp + 0x908], edx
mov dword [esp + 0x5a8], ecx
mov dword [esp + 0x610], 0
test ecx, ecx
je 0x100204a1
test byte [esp + 0x908], 1
je 0x10020487
mov eax, dword [esp + 0x610]
mov edx, eax
mov edi, eax
and edx, 0xd4fb62cb
mov ecx, eax
not edi
sub ecx, edx
mov esi, edi
or esi, 0xd4fb62cb
sub esi, edi
or edi, 0x2b049d34
mov edx, esi
lea ebx, [ecx - 0x2b049d35]
mov ecx, esi
or edx, ebx
and ecx, ebx
imul edx, ecx
mov ecx, esi
not ecx
lea edi, [edi + eax + 1]
and ecx, ebx
not ebx
and esi, ebx
mov ebx, eax
imul esi, ecx
neg ebx
mov ecx, edi
add esi, edx
not ecx
lea edx, [ebx - 1]
or edx, 0xd4fb62cb
sub edx, ebx
lea ebx, [edx + 1]
xor ebx, 0xd4fb62cb
mov eax, ebx
mov edx, ebx
not eax
and ecx, ebx
and eax, edi
and edx, edi
or ebx, edi
mov edi, esi
imul ecx, eax
add esi, esi
imul ebx, edx
lea eax, [ecx + ebx]
xor edi, eax
lea edx, [eax + eax]
and edx, esi
lea ebx, [edi + edx]
mov ecx, ebx
lea eax, [ebx + ebx]
mov esi, eax
xor eax, 0x81455e3c
and esi, 0x81455e3c
and ecx, 0xc0a2af1e
lea edi, [esi + eax]
lea eax, [ecx + ecx]
sub ebx, eax
mov eax, edi
not edi
lea edx, [ebx - 0x3f5d50e2]
xor eax, edx
lea edx, [edi + edi]
lea ebx, [ebx + ebx - 0x7ebaa1c4]
and edx, ebx
sub eax, edx
mov edi, eax
mov esi, eax
neg edi
or esi, 0x8ed48d1c
mov ecx, eax
lea edx, [edi - 1]
lea ebx, [esi + 0x712b72e4]
mov esi, edx
or esi, 0x712b72e3
xor edx, 0x712b72e3
sub esi, edx
xor ecx, ebx
mov edi, esi
mov ebx, esi
mov edx, esi
not edi
and ebx, ecx
or edx, ecx
and edi, ecx
not ecx
and ecx, esi
imul edx, ebx
imul ecx, edi
lea edi, [edx + ecx]
mov edx, eax
mov ecx, eax
xor edx, 0x712b72e3
or ecx, 0x712b72e3
mov dword [esp + 0x1adc], edx
sub ecx, edx
and edx, 0x712b72e3
lea ebx, [eax + edx]
mov eax, ecx
mov esi, ebx
not eax
not esi
mov edx, ecx
and eax, ebx
and edx, esi
imul edx, eax
mov eax, ecx
or eax, ebx
and ecx, ebx
imul ecx, eax
mov eax, edi
lea ebx, [edx + ecx]
xor eax, ebx
lea ecx, [ebx + ebx]
add edi, edi
and ecx, edi
lea edx, [eax + ecx]
neg edx
lea esi, [edx - 1]
mov edx, esi
mov ebx, esi
or edx, 0x15b95c66
and ebx, 0x15b95c66
imul ebx, edx
mov edx, esi
not edx
and esi, 0xea46a399
and edx, 0x15b95c66
neg ebx
imul esi, edx
lea edx, [eax + ecx - 1]
not edx
lea ebx, [ebx - 1]
mov ecx, edx
mov eax, edx
or ecx, 0x15b95c65
and eax, 0x15b95c65
imul eax, ecx
sub ebx, esi
neg eax
mov edi, ebx
not ebx
lea ecx, [eax - 1]
mov eax, edx
not edx
and eax, 0xea46a39a
and edx, 0x15b95c65
imul edx, eax
sub ecx, edx
mov esi, ecx
not esi
imul edi, esi
imul ebx, ecx
not edi
not ebx
sub edi, ebx
mov edx, edi
xor edx, 0x8ed48d1c
mov ecx, dword [esp + 0x5a8]
lea eax, [edi + edi]
and eax, 0x1da91a38
lea esi, [edx + eax]
mov eax, ecx
mov edi, esi
shld edi, esi, 0xf
shld eax, ecx, 0xf
mov edx, edi
xor edx, eax
mov ebx, edx
and ebx, eax
add eax, eax
add ebx, edi
add edi, edi
or eax, edi
mov edi, esi
neg edi
sub eax, edx
add ebx, ebx
lea edx, [edi - 1]
mov edi, ecx
not edi
and edi, edx
mov edx, esi
xor edx, 1
and esi, 1
add ecx, edi
lea esi, [edx + esi*2]
lea edx, [esi + esi]
lea edi, [ecx + ecx]
xor ecx, esi
mov esi, eax
and edx, edi
not esi
imul esi, ebx
not ebx
imul ebx, eax
not esi
not ebx
sub esi, ebx
add edx, ecx
shrd esi, esi, 0xf
lea ecx, [edx + edx]
mov edx, dword [esp + 0x1adc]
lea edi, [ecx + ecx]
add esi, edx
mov ebx, esi
mov eax, esi
not ebx
sub eax, ecx
add ebx, ebx
and edi, ebx
mov ebx, ecx
or ebx, esi
sub ebx, ecx
xor ebx, esi
add eax, edi
add ebx, ebx
mov ecx, ebx
and ebx, eax
or ecx, eax
sub ecx, edx
lea edx, [ecx + ebx]
imul eax, edx, 0x712b72e3
not edx
imul ecx, edx, 0x8ed48d1c
not eax
not ecx
sub eax, ecx
mov dword [esp + 0x610], eax
shr dword [esp + 0x908], 1
lea edx, [esp + 0x5a8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100201e8
mov ebx, dword [esp + 0x610]
mov esi, ebx
or esi, dword [esp + 0x140]
mov edi, dword [esp]
mov eax, edi
and eax, ebx
mov dword [esp + 0x328], 0
lea ecx, [edi + esi + 1]
mov esi, ebx
mov edx, ecx
xor esi, eax
not edx
lea eax, [edi + esi]
mov esi, eax
and edx, eax
not esi
and esi, ecx
imul esi, edx
mov edx, eax
or edx, ecx
and eax, ecx
imul eax, edx
lea edx, [esi + eax]
mov esi, ebx
neg esi
mov eax, ebx
lea ecx, [esi - 1]
not ecx
or edi, ecx
lea ecx, [edi + esi]
mov edi, dword [esp + 0x5dc]
or eax, edi
xor ebx, edi
sub eax, ebx
mov ebx, ecx
mov esi, eax
mov edi, eax
or esi, ecx
and edi, ecx
imul edi, esi
not ebx
mov esi, eax
not eax
and esi, ebx
and eax, ecx
imul eax, esi
mov esi, dword [esp + 0x634]
lea ecx, [edi + eax]
mov edi, edx
and edx, ecx
xor edi, ecx
lea ebx, [edi + edx*2]
lea edi, [esi + esi]
neg edi
lea eax, [ebx + ebx]
neg ebx
lea edx, [eax + eax]
lea edi, [edi - 2]
mov ecx, edi
or ecx, edx
sub ecx, edi
mov edi, esi
xor ecx, edx
mov edx, esi
not edx
sub edi, eax
and edx, eax
ror esi, cl
mov dword [esp + 0x1bf0], ecx
lea eax, [edi + edx*2]
mov edi, ecx
not edi
mov edx, ecx
imul edi, eax
not eax
imul edx, eax
sub ebx, edx
lea edx, [ebx + edi]
mov dword [esp + 0x1bf4], edx
ror edx, cl
mov ecx, edi
mov ebx, esi
mov dword [esp + 0x1bf8], edx
rol edx, cl
rol ebx, cl
mov ecx, edx
or ecx, ebx
lea eax, [edx + ebx]
sub eax, ecx
mov ecx, edx
mov dword [esp + 0x1bfc], eax
not ecx
and eax, ecx
mov ecx, dword [esp + 0x1bfc]
not ecx
and ecx, edx
add eax, ecx
mov ecx, edi
mov edx, eax
xor eax, ebx
and edx, ebx
mov edi, esi
neg edi
lea ebx, [eax + edx*2]
ror ebx, cl
lea edi, [edi - 1]
mov ecx, esi
mov eax, edi
not ecx
xor eax, ebx
or edi, ebx
and ecx, ebx
not ebx
xor eax, edi
and ebx, esi
lea edi, [eax + eax]
mov edx, edi
lea eax, [ecx + ebx]
mov esi, eax
not edx
neg esi
not eax
neg edi
imul edx, esi
imul edi, eax
not edx
not edi
sub edx, edi
mov ebx, edx
mov ecx, edx
mov eax, dword [esp + 0x1bf8]
and ebx, eax
xor ebx, eax
or ecx, eax
lea esi, [edx + ebx]
xor edx, eax
lea edi, [ecx + ecx]
sub edi, edx
add esi, esi
mov ebx, edi
lea eax, [esi + esi]
not ebx
xor edi, esi
mov esi, dword [esp + 0x1bf0]
lea ecx, [ebx + ebx]
and eax, ecx
sub eax, edi
mov edi, esi
shl edi, 5
add esi, edi
mov edi, dword [esp + 0x634]
neg esi
not esi
neg esi
bswap edi
mov edx, edi
mov ebx, edi
not ebx
lea ecx, [esi - 1]
mov esi, dword [esp + 0x1bf4]
bswap esi
or edx, esi
sub edx, esi
xor edx, edi
ror eax, cl
lea ecx, [edx + edx]
and ebx, ecx
mov edx, ecx
xor edx, edi
lea ecx, [ebx + ebx]
sub edx, ecx
mov ebx, edx
xor edx, esi
and ebx, esi
lea edx, [edx + ebx*2]
neg edx
lea ebx, [edx - 1]
mov ecx, ebx
and ecx, edi
xor ecx, edi
lea edi, [edx + ecx - 1]
mov ecx, edi
not edi
and edi, ebx
xor ecx, ebx
lea ebx, [esi + 0xf1ea559]
lea edx, [edi + edi]
sub ecx, edx
mov edi, ecx
or edi, ebx
sub edi, ecx
xor edi, ebx
not ebx
lea edx, [edi + edi]
lea edi, [ecx + ecx]
add ebx, ebx
and edi, ebx
add esi, edi
sub esi, ecx
lea edi, [esi + 0xf1ea559]
mov ebx, edi
and edi, edx
or ebx, edx
mov edx, eax
lea ebx, [ebx + edi - 0xf1ea559]
bswap ebx
and edx, ebx
mov ecx, ebx
xor edx, ebx
not ecx
lea esi, [edx + eax]
lea edi, [ecx + ecx]
lea edx, [esi + esi]
xor esi, ebx
and edi, edx
mov edx, eax
sub edi, esi
not edx
and edx, edi
not edi
bswap ebx
and edi, eax
bswap eax
lea ecx, [edx + edi]
lea edx, [ebx + ebx]
lea edi, [eax + eax]
and edx, edi
mov edi, eax
xor edi, ebx
not eax
lea esi, [ecx + ecx]
add edx, edi
mov edi, eax
or edi, ebx
sub edi, eax
lea eax, [edi + edi]
mov edi, eax
xor edi, edx
not edx
and edx, eax
lea eax, [edx + edx]
sub edi, eax
lea eax, [esi + esi]
bswap edi
not eax
lea edx, [edi + edi]
and eax, edx
lea ebx, [eax + ecx*4]
mov ecx, esi
or ecx, edi
and esi, edi
sub ecx, esi
mov edx, ecx
not edx
imul edx, ebx
not ebx
imul ebx, ecx
mov esi, dword [esp + 0x634]
not edx
neg esi
not ebx
sub edx, ebx
mov ebx, edx
and ebx, 0x863951cd
lea edi, [esi + esi + 2]
and edi, 2
lea eax, [esi - 1]
xor eax, 1
mov esi, edx
not esi
and esi, 0x863951cd
lea ecx, [edi + eax]
mov eax, edx
and eax, 0x79c6ae32
or edx, 0x863951cd
imul eax, esi
imul edx, ebx
lea edi, [eax + edx]
mov eax, edi
lea esi, [edi + edi]
xor eax, 0x3b9566ba
and esi, 0x772acd74
lea edi, [eax + esi]
mov ebx, edi
mov edx, edi
mov esi, edi
not ebx
and edx, 0x4c9c0305
or esi, 0x4c9c0305
and ebx, 0x4c9c0305
and edi, 0xb363fcfa
imul esi, edx
imul edi, ebx
lea eax, [esi + edi]
lea esi, [eax + eax]
xor eax, 0x4488d05e
and esi, 0x8911a0bc
lea ebx, [esi + eax]
neg ebx
lea edx, [esi + eax + 0x47d47160]
mov edi, edx
mov eax, ecx
or edi, ecx
and edx, ecx
sub edi, edx
lea esi, [ebx + 0x382b8e9f]
or eax, esi
xor ecx, esi
xor eax, ecx
lea ebx, [edi + edi]
lea edx, [eax + eax]
mov esi, edx
xor edi, edx
not esi
mov edx, dword [esp]
lea ecx, [esi + esi]
and ebx, ecx
sub ebx, edi
mov dword [esp + 0x1c00], ebx
mov ebx, dword [esp + 4]
mov esi, ebx
and esi, edx
mov edi, dword [esp + 0x928]
mov ecx, dword [esp + 0x1760]
mov eax, ecx
add esi, edi
mov edi, ecx
or eax, esi
and edi, esi
imul edi, eax
mov eax, esi
mov dword [esp + 0x1c04], edi
not eax
mov edi, ecx
not ecx
and edi, eax
and ecx, esi
lea esi, [esp + 0x1c08]
mov dword [esi], edi
imul ecx, dword [esi]
mov edi, dword [esp + 0x1c04]
mov esi, dword [esp + 0x154]
lea eax, [edi + ecx]
mov edi, edx
xor edi, esi
or edx, esi
mov ecx, ebx
sub edx, edi
mov edi, dword [esp + 0x1c0]
xor ecx, edi
or ebx, edi
mov edi, edx
xor ecx, ebx
mov esi, edx
and edi, ecx
or esi, ecx
mov ebx, edx
imul esi, edi
not ebx
mov edi, ecx
not ecx
and edi, ebx
and edx, ecx
imul edx, edi
lea edi, [esi + edx]
mov esi, eax
xor esi, edi
add eax, eax
add edi, edi
and eax, edi
lea edi, [esi + eax]
mov ecx, edi
mov edx, edi
neg ecx
mov ebx, edi
xor edx, 0x94709ef0
or ebx, 0x94709ef0
xor ebx, edx
mov dword [esp + 0x1c0c], edx
mov edx, ebx
lea esi, [ecx - 1]
mov ecx, ebx
mov eax, esi
or eax, 0x6b8f610f
sub esi, eax
lea esi, [esi + 0x6b8f610f]
mov eax, esi
and ecx, esi
not eax
or edx, esi
and eax, ebx
not ebx
imul edx, ecx
mov ecx, edi
and ebx, esi
xor ecx, 0x6b8f610f
mov esi, edi
and edi, 0x6b8f610f
imul ebx, eax
or esi, 0x6b8f610f
mov eax, ecx
add ecx, edi
xor eax, esi
add edx, ebx
mov ebx, ecx
mov esi, eax
not ebx
mov edi, eax
not esi
and edi, ebx
mov ebx, eax
and esi, ecx
and ebx, ecx
or eax, ecx
imul edi, esi
imul eax, ebx
lea ebx, [edi + eax]
lea ecx, [ebx + ebx]
xor ebx, edx
lea edi, [edx + edx]
and ecx, edi
lea edx, [ecx + ebx]
neg edx
lea esi, [edx - 0x4ffc8fb1]
mov edi, esi
mov edx, esi
not edi
and edx, 0x1ba34397
and edi, 0xe45cbc68
imul edx, edi
mov edi, esi
or edi, 0xe45cbc68
and esi, 0xe45cbc68
imul esi, edi
lea eax, [edx + esi]
lea esi, [ecx + ebx + 0x4ffc8fb0]
mov edi, esi
mov ebx, esi
not edi
mov ecx, esi
and ebx, 0xe45cbc68
and edi, 0x1ba34397
or ecx, 0x1ba34397
and esi, 0x1ba34397
imul edi, ebx
imul esi, ecx
add edi, esi
mov esi, eax
not esi
imul esi, edi
not edi
imul edi, eax
sub esi, edi
mov ebx, esi
neg ebx
lea edi, [esi - 0x4ffc8fb0]
mov edx, edi
mov eax, edi
or edx, 0x47e09210
xor eax, 0x47e09210
sub edx, eax
lea ecx, [ebx + 0x4ffc8faf]
mov eax, ecx
or eax, 0xb81f6def
xor eax, ecx
mov ecx, edx
xor eax, 0xb81f6def
mov ebx, eax
not ebx
and ecx, ebx
mov ebx, edx
mov dword [esp + 0x1c10], ecx
not ebx
mov ecx, eax
and ecx, ebx
mov ebx, eax
and ebx, edx
or eax, edx
imul ecx, dword [esp + 0x1c10]
mov edx, edi
imul eax, ebx
or edx, 0xb81f6def
lea ebx, [ecx + eax]
mov eax, esi
and edi, 0xb81f6def
sub eax, edx
xor edi, 0xb81f6def
lea ecx, [eax + 0x6822de3f]
lea eax, [esi + edi - 0x4ffc8fb0]
mov esi, ecx
mov edx, eax
not esi
not edx
mov edi, ecx
and edx, ecx
and esi, eax
and edi, eax
or ecx, eax
imul esi, edx
imul ecx, edi
lea eax, [esi + ecx]
lea edx, [eax + eax]
xor eax, ebx
lea edi, [ebx + ebx]
or edx, edi
sub edx, eax
mov eax, dword [esp + 0x1c0c]
mov dword [esp + 0x1c14], edx
sub edx, eax
mov esi, edx
and esi, 0x3f642d18
mov ebx, esi
xor ebx, 0x3f642d18
lea ecx, [esi + esi]
lea edi, [ebx + edx]
sub edx, ecx
add edi, edi
mov ecx, edi
neg edi
not ecx
lea esi, [edx + 0x3f642d18]
mov ebx, esi
not esi
neg ebx
imul ecx, ebx
imul edi, esi
not ecx
not edi
mov dword [esp + 0x1c18], edi
add eax, ecx
mov ebx, 0xd5c30000
mov ecx, dword [esp + 0x1c14]
ror ebx, cl
mov edx, eax
sub edx, dword [esp + 0x1c18]
mov dword [esp + 0x1c1c], edx
lea eax, [ebx - 1]
not eax
mov edi, eax
not edi
lea edi, [edi + eax*2]
rol edi, cl
mov ecx, edx
mov ebx, edi
neg ebx
lea eax, [edi + edi]
xor edi, 1
or eax, 2
sub eax, edi
lea esi, [ebx - 1]
mov ebx, edx
and ecx, esi
xor ebx, esi
lea esi, [ecx + ebx]
mov ecx, edx
and ecx, 1
or edx, 1
mov ebx, eax
and eax, esi
xor ebx, esi
lea edi, [ecx + edx]
not edi
lea esi, [ebx + eax*2]
lea ebx, [edi + 1]
mov eax, ebx
mov ecx, ebx
not eax
mov edi, ebx
and ecx, 0xe636d1ee
and eax, 0x19c92e11
and edi, 0x19c92e11
or ebx, 0x19c92e11
imul eax, ecx
imul ebx, edi
lea edi, [eax + ebx]
mov edx, edi
not edi
xor edx, 0xb6972447
add edi, edi
and edi, 0x6d2e488e
sub edx, edi
mov eax, edx
mov edi, edx
not eax
mov ecx, edx
and eax, 0xb1c782f1
and edi, 0x4e387d0e
and ecx, 0xb1c782f1
or edx, 0xb1c782f1
imul edi, eax
imul edx, ecx
add edx, edi
mov edi, edx
xor edx, 0xeee634d7
or edi, 0xeee634d7
lea ebx, [edi + edi]
sub ebx, edx
shrd ebx, ebx, 0x1c
mov edx, ebx
mov eax, ebx
and edx, 0x5c30000d
not eax
mov edi, ebx
xor edx, 0x5c30000d
and eax, 0x5c30000d
and edi, 0xa3cffff2
lea ecx, [edx + ebx]
mov edx, esi
mov ebx, ecx
add edi, eax
or ebx, edi
mov eax, esi
add ebx, ebx
sub ebx, edi
sub ebx, ecx
shrd ebx, ebx, 4
mov ecx, ebx
neg ecx
lea edi, [ecx - 1]
xor edx, edi
or eax, edi
sub eax, edx
mov edx, esi
neg edx
lea ecx, [edx - 1]
or ecx, ebx
sub ecx, edx
lea edi, [ecx + 1]
xor edi, ebx
mov ecx, edi
mov edx, edi
or ecx, eax
and edx, eax
imul edx, ecx
mov ecx, edi
mov dword [esp + 0x1c20], edx
not ecx
mov edx, eax
not eax
and edx, ecx
and eax, edi
lea edi, [esp + 0x1c24]
mov dword [edi], edx
lea edx, [esi + ebx]
imul eax, dword [edi]
mov edi, dword [esp + 0x1c20]
lea ecx, [edi + eax]
mov edi, esi
or edi, ebx
sub edi, esi
and esi, ebx
sub edx, esi
xor edi, ebx
mov ebx, edx
mov esi, edx
and ebx, edi
or esi, edi
mov eax, edx
imul esi, ebx
not eax
mov ebx, edi
not edi
and ebx, eax
and edx, edi
imul edx, ebx
mov ebx, ecx
lea edi, [esi + edx]
or ebx, edi
and ecx, edi
lea edi, [ebx + ecx]
mov dword [esp + 0x1c28], edi
mov edi, dword [esp + 0x1c1c]
mov ebx, edi
and ebx, 0xd5c30000
mov edx, edi
xor edx, ebx
mov eax, edi
or eax, 0xd5c30000
sub eax, ebx
mov ebx, eax
not eax
lea edx, [edx - 0x2a3d0000]
imul eax, edx
mov esi, edx
mov edx, edi
not esi
or edx, 0x2a3cffff
not eax
imul ebx, esi
not ebx
lea ecx, [edx - 0x2a3cffff]
xor edi, ecx
sub ebx, eax
not ebx
lea ecx, [edi + edi]
xor edi, 0xd5c30000
or ecx, 0xab860000
lea edx, [ebx + 1]
sub ecx, edi
neg ebx
mov eax, ecx
mov esi, edx
neg eax
lea ebx, [ebx - 2]
lea edi, [eax - 1]
mov eax, edx
xor esi, edi
or eax, edi
mov edi, ecx
sub eax, esi
not edi
mov esi, edi
or esi, ebx
sub esi, edi
mov ebx, esi
mov edi, esi
or ebx, eax
and edi, eax
imul edi, ebx
mov ebx, esi
not ebx
mov dword [esp + 0x1c2c], eax
and ebx, eax
not eax
and esi, eax
mov eax, ecx
imul esi, ebx
mov ebx, ecx
xor ebx, edx
or eax, edx
sub eax, ebx
and ebx, edx
mov edx, eax
add edi, esi
not edx
add ecx, ebx
mov ebx, eax
mov esi, ecx
and edx, ecx
not esi
and ebx, esi
mov esi, eax
and esi, ecx
or eax, ecx
imul ebx, edx
mov ecx, edi
imul eax, esi
lea edx, [ebx + eax]
mov ebx, dword [esp + 0x1c2c]
or ecx, edx
xor edi, edx
mov eax, dword [esp + 0x1c28]
lea ecx, [ebx + ecx*2]
sub ecx, edi
mov edx, ecx
xor edx, eax
and edx, ecx
lea edi, [edx + eax]
mov edx, ecx
or edx, eax
and ecx, eax
sub edx, ecx
add edi, edi
mov eax, edx
lea esi, [edi + edi]
not eax
xor edx, edi
add eax, eax
and esi, eax
sub esi, ebx
mov ebx, dword [esp + 4]
sub esi, edx
mov dword [esp + 0x2e0], esi
mov dword [esp + 0x5ac], ebx
test ebx, ebx
je 0x10020e8b
test byte [esp + 0x2e0], 1
je 0x10020e71
mov ecx, dword [esp + 0x2e0]
mov eax, ecx
mov ebx, dword [esp + 0x5ac]
xor eax, ebx
and ecx, ebx
lea ebx, [eax + ecx*2]
mov ecx, dword [esp + 0x328]
mov edi, ecx
mov esi, ecx
xor edi, ebx
and esi, ebx
lea eax, [edi + esi*2]
and edi, ebx
mov edx, eax
not edx
rol ebx, cl
lea esi, [ecx + edi]
imul edx, esi
not esi
imul esi, eax
sub edx, esi
mov esi, ecx
rol esi, cl
mov eax, esi
not eax
or eax, ebx
lea edi, [esi + eax + 1]
mov eax, edi
and edi, esi
or eax, esi
mov esi, edx
sub eax, edi
mov edi, edx
and edi, 0x8713c427
or esi, 0x8713c427
imul esi, edi
mov edi, edx
not edi
and edx, 0x78ec3bd8
and edi, 0x8713c427
imul edx, edi
lea edi, [esi + edx]
mov esi, edi
xor edi, 0xe963b918
and esi, 0x169c46e7
lea edx, [esi + esi]
sub edx, edi
mov edi, edx
mov esi, edx
or edi, 0xaead6b97
and esi, 0xaead6b97
imul esi, edi
mov edi, edx
not edx
and edi, 0x51529468
and edx, 0xaead6b97
imul edx, edi
add esi, edx
mov edi, esi
xor esi, 0x4298cad8
and edi, 0x3d673527
lea edx, [ebx + ebx]
add edi, edi
sub edi, esi
mov esi, eax
xor esi, ebx
add eax, eax
and eax, edx
mov edx, edi
not edx
add esi, eax
ror esi, cl
lea eax, [edi + edi]
sub esi, ebx
and edx, esi
lea ecx, [esi + esi]
and ecx, eax
xor ecx, eax
lea eax, [ecx + esi*2]
lea ecx, [edi + edx*2]
sub ecx, esi
mov esi, ecx
xor ecx, eax
not esi
and esi, eax
mov eax, dword [esp + 0x2e0]
lea edi, [eax - 1]
not edi
lea ebx, [ebx + esi*2]
sub ebx, ecx
mov eax, edi
and eax, ebx
xor edi, ebx
lea edx, [edi + eax*2]
mov dword [esp + 0x328], edx
shr dword [esp + 0x2e0], 1
lea edx, [esp + 0x5ac]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10020d47
mov eax, dword [esp + 0x1c00]
mov ecx, dword [esp + 0x328]
lea edi, [eax + 0x382b8ea0]
not edi
lea ebx, [ecx + ecx]
mov edx, ebx
lea esi, [eax + eax + 0x70571d40]
or edx, esi
xor edx, esi
xor edx, ebx
lea esi, [edi + edi]
and esi, ebx
mov dword [esp + 0x1c30], ebx
add eax, esi
sub eax, ecx
lea ecx, [edx + edx]
lea edi, [eax - 0x47d47160]
xor edx, edi
lea ebx, [eax + eax + 0x70571d40]
or ebx, ecx
sub ebx, edx
mov edi, ebx
mov eax, ebx
neg edi
mov dword [esp + 0x1c34], edi
mov dword [esp + 0x990], ebx
lea esi, [edi - 1]
or esi, 0xeb929d4b
sub esi, edi
mov edi, ebx
or edi, 0x146d62b4
xor eax, edi
xor eax, 0x146d62b4
mov dword [esp + 0x1c38], edi
lea edx, [esi + 1]
xor edx, 0xeb929d4b
mov esi, eax
mov ecx, edx
not esi
not ecx
and esi, edx
and ecx, eax
imul esi, ecx
mov ecx, edx
and ecx, eax
or edx, eax
imul edx, ecx
mov ecx, ebx
xor ecx, 0xeb929d4b
and ebx, 0xeb929d4b
lea eax, [esi + edx]
lea esi, [edi - 0x146d62b4]
mov edi, esi
lea edx, [ecx + ebx]
mov ebx, esi
mov ecx, edx
and edi, edx
not ecx
or ebx, edx
and ecx, esi
not esi
and esi, edx
lea edx, [eax + eax]
imul ebx, edi
imul esi, ecx
mov dword [esp + 0x1c3c], ebx
add ebx, esi
xor eax, ebx
lea ecx, [ebx + ebx]
or edx, ecx
sub edx, eax
mov ecx, edx
mov ebx, edx
not ecx
mov esi, edx
and ecx, 0xc06ccf9f
and ebx, 0x3f933060
and esi, 0xc06ccf9f
or edx, 0xc06ccf9f
imul ebx, ecx
imul edx, esi
add edx, ebx
imul edi, edx, 0x96f9320f
not edx
imul ecx, edx, 0x6906cdf0
not edi
not ecx
sub edi, ecx
mov ebx, edi
mov eax, edi
mov esi, edi
not edi
and ebx, 0x216c8c5f
or eax, 0x216c8c5f
and esi, 0xde9373a0
and edi, 0x216c8c5f
imul eax, ebx
imul edi, esi
add eax, edi
mov edx, eax
mov ecx, eax
and edx, 0x365ac0f
xor ecx, 0x7c9a53f0
lea esi, [edx + edx]
sub esi, ecx
mov edi, esi
and edi, 0x265ec126
lea edx, [esi + esi]
mov ebx, edx
or ebx, 0xb3427db2
sub ebx, edx
lea edx, [edi + edi]
sub esi, edx
xor ebx, 0xb3427db2
mov edx, ebx
neg ebx
not edx
lea ecx, [esi - 0x59a13eda]
mov edi, ecx
not ecx
neg edi
imul edx, edi
imul ebx, ecx
not edx
not ebx
sub edx, ebx
mov esi, edx
mov ebx, edx
neg esi
xor ebx, 0x5b77fb9c
lea ecx, [esi - 1]
mov esi, edx
mov edi, ecx
xor ecx, 0xa4880463
or edi, 0xa4880463
or esi, 0x5b77fb9c
sub edi, ecx
sub esi, ebx
mov ecx, edi
mov ebx, edi
not ecx
and ecx, esi
mov dword [esp + 0x1c40], ecx
mov ecx, esi
not ecx
and ebx, ecx
mov ecx, esi
or ecx, edi
and esi, edi
imul ebx, dword [esp + 0x1c40]
imul esi, ecx
mov ecx, edx
lea edi, [ebx + esi]
mov esi, edx
mov ebx, edx
and esi, 0xa4880463
xor ebx, 0xa4880463
sub edx, esi
or ecx, 0xa4880463
sub ecx, ebx
mov ebx, ecx
lea esi, [edx - 0x5b77fb9d]
mov edx, ecx
and edx, esi
or ebx, esi
imul ebx, edx
mov edx, ecx
not edx
and edx, esi
not esi
and esi, ecx
imul esi, edx
add ebx, esi
mov ecx, ebx
xor ecx, edi
add edi, edi
lea edx, [ecx + eax]
lea ecx, [ebx + ebx]
and ecx, edi
lea esi, [ecx + edx]
mov edx, esi
mov edi, esi
xor edx, 0xc5d949b2
or edi, 0xc5d949b2
sub edi, edx
and edx, esi
mov ecx, edi
lea ebx, [edx - 0x3a26b64e]
or ecx, ebx
xor edi, ebx
lea edx, [ecx + ecx]
sub edx, eax
sub edx, edi
mov ecx, edx
xor ecx, 1
lea eax, [edx + edx]
and eax, 2
lea ebx, [ecx + eax]
mov eax, dword [esp + 0x328]
not ebx
mov esi, eax
lea ecx, [ebx + 1]
mov ebx, eax
mov edi, ecx
not ebx
not edi
mov dword [esp + 0x1c44], ebx
and esi, edi
and ebx, ecx
lea edi, [esi + ebx]
mov esi, eax
xor esi, ecx
and esi, ecx
lea ecx, [edi + edi]
add esi, eax
mov ebx, esi
sub edi, esi
not ebx
mov esi, edx
shrd eax, eax, 7
add ebx, ebx
and ecx, ebx
mov ebx, dword [esp + 0x1c3c]
sub ecx, ebx
sub ecx, edi
mov edi, ecx
not edi
and esi, edi
mov edi, edx
not edi
add esi, ecx
or ecx, edi
mov edi, esi
lea edx, [edx + ecx + 1]
or edi, edx
lea ecx, [eax - 1]
and esi, edx
not ecx
add ebx, edi
mov edi, ecx
not edi
lea edx, [esi + ebx]
neg edi
lea ebx, [ecx + ecx]
not edi
not ebx
mov esi, dword [esp + 0x990]
sub edi, ebx
shrd esi, esi, 7
mov dword [esp + 0x1c48], edx
add edx, edx
mov dword [esp + 0x1c4c], edx
mov edx, edi
mov ecx, edi
and edx, esi
xor ecx, esi
lea ebx, [edx + ecx]
mov edx, edi
not edx
lea ecx, [ebx + ebx]
add edx, edx
and ecx, edx
lea edx, [esi + esi]
add edi, ecx
sub edi, ebx
mov ecx, edi
not edi
sub ecx, esi
lea ebx, [edi + edi]
and ebx, edx
add ecx, ebx
mov ebx, eax
not ebx
add ecx, ecx
lea edi, [ebx + ebx]
and edx, edi
sub edx, esi
neg esi
lea edi, [edx + eax]
lea edx, [esi - 1]
mov esi, ecx
or ebx, edx
neg esi
lea eax, [ebx + eax + 1]
mov ebx, edi
not ebx
lea edx, [eax + eax]
imul ebx, edx
not edx
imul edx, edi
sub ebx, edx
lea esi, [esi - 1]
mov eax, ebx
mov edi, ebx
mov edx, ebx
not eax
and edi, esi
or edx, esi
and eax, esi
not esi
and esi, ebx
neg ebx
imul edx, edi
imul esi, eax
lea ebx, [ebx - 1]
mov eax, ebx
lea edi, [edx + esi]
mov esi, ebx
mov edx, ebx
not esi
and eax, ecx
or edx, ecx
and esi, ecx
not ecx
and ecx, ebx
imul edx, eax
imul ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x990]
mov ebx, edx
xor ebx, edi
not edi
and edi, edx
mov edx, dword [esp + 0x1c48]
lea esi, [edi + edi]
sub ebx, esi
shld ebx, ebx, 7
mov dword [esp + 0x1c50], ebx
ror ebx, cl
mov ecx, dword [esp + 0x1c34]
mov esi, dword [esp + 0x1c4c]
lea eax, [ebx + ebx]
xor ebx, 1
and eax, 2
lea ebx, [eax + ebx - 1]
not ebx
ror ebx, cl
mov ecx, ebx
neg ecx
lea edx, [ecx + edx*2]
lea edi, [ecx - 1]
mov ecx, esi
neg ecx
or edi, esi
sub edx, edi
lea eax, [ecx - 1]
or eax, ebx
lea edi, [ebx + ecx - 1]
sub edi, eax
lea edx, [edx - 1]
mov ecx, edi
mov eax, edx
not ecx
not eax
and ecx, edx
and eax, edi
imul eax, ecx
mov ecx, edi
and ecx, edx
or edi, edx
imul edi, ecx
mov edx, esi
mov ecx, esi
xor edx, ebx
or ecx, ebx
add edi, eax
sub ecx, edx
and edx, esi
mov eax, ecx
not eax
shrd esi, esi, 0x15
add ebx, edx
mov edx, ebx
and eax, ebx
not edx
and edx, ecx
imul edx, eax
mov eax, ecx
and eax, ebx
or ecx, ebx
imul ecx, eax
add edx, ecx
mov ebx, edx
xor edx, edi
or ebx, edi
lea ecx, [ebx + ebx]
sub ecx, edx
mov edx, esi
or edx, 1
and esi, 1
lea ebx, [ecx - 1]
not ebx
lea ecx, [edx + esi]
not ecx
mov edx, dword [esp + 0x1c50]
mov esi, edx
neg esi
lea edi, [ebx + ebx]
xor ebx, 1
and edi, 0xfffffffc
lea eax, [ecx + 1]
shrd eax, eax, 0xb
sub edi, ebx
mov ebx, eax
neg ebx
mov dword [esp + 0x1c54], edi
lea edi, [ebx - 1]
mov ecx, edi
lea ebx, [esi - 1]
mov esi, ebx
xor ecx, edx
or edi, edx
or esi, eax
sub edi, ecx
xor esi, eax
xor esi, ebx
mov ebx, edi
not ebx
mov ecx, esi
and ecx, ebx
mov ebx, esi
not ebx
and ebx, edi
imul ebx, ecx
mov ecx, edi
and ecx, esi
or edi, esi
imul edi, ecx
mov ecx, eax
not ecx
lea esi, [ebx + edi]
mov edi, edx
or ecx, edx
xor edi, eax
and edx, eax
lea ebx, [ecx + eax + 1]
mov ecx, ebx
add edi, edx
mov edx, edi
not ecx
not edx
mov eax, edi
and ecx, edi
and edx, ebx
and eax, ebx
or edi, ebx
imul edx, ecx
mov ebx, esi
imul edi, eax
lea eax, [edx + edi]
and ebx, eax
or esi, eax
mov eax, dword [esp + 0x1c54]
mov edi, eax
neg edi
lea edx, [ebx + esi - 1]
not edx
mov ebx, edx
not ebx
neg ebx
not ebx
lea ecx, [edx + edx]
not ecx
lea edx, [edi - 1]
sub ebx, ecx
mov ecx, ebx
mov esi, ebx
or ecx, edx
and esi, edx
imul esi, ecx
mov ecx, ebx
not ecx
mov edi, ebx
and ecx, edx
not edx
and edi, edx
neg ebx
imul edi, ecx
mov ecx, eax
mov edx, eax
add esi, edi
lea edi, [ebx - 1]
mov ebx, eax
not ebx
or ecx, edi
and edx, edi
and ebx, edi
not edi
and edi, eax
imul edx, ecx
imul edi, ebx
mov eax, dword [esp + 0x1c44]
lea ecx, [edx + edi]
neg eax
not eax
mov edx, dword [esp + 0x1c30]
neg eax
not edx
mov ebx, dword [esp + 0x1c38]
lea eax, [edx + eax - 1]
mov edx, esi
not edx
lea edi, [eax + eax]
imul edx, ecx
not ecx
imul ecx, esi
sub edx, ebx
sub edx, ecx
lea esi, [edx + edx + 0x28dac568]
lea ecx, [eax + edx + 0x146d62b4]
mov eax, edi
mov edx, esi
and eax, esi
or edx, edi
sub ecx, eax
sub edx, edi
xor edx, esi
mov esi, ecx
or esi, edx
xor ecx, edx
lea ebx, [ebx + esi*2]
sub ebx, ecx
mov dword [esp + 0x1c58], ebx
mov ecx, ebx
mov ebx, dword [esp + 0x1c0]
mov esi, ebx
or esi, 0xdd8c0000
lea edx, [ecx - 0x146d62b4]
mov ecx, dword [esp]
mov dword [esp + 0x1c5c], edx
mov edx, ecx
or edx, 0xdd8c0000
xor ecx, 0xdd8c0000
lea eax, [esi + 0x22740000]
xor ebx, eax
mov eax, ebx
mov esi, ebx
lea edi, [edx + 0x22740000]
or eax, edi
and esi, edi
imul esi, eax
mov eax, ebx
not eax
and eax, edi
not edi
and ebx, edi
imul ebx, eax
lea edi, [esi + ebx]
mov ebx, edx
xor ebx, ecx
mov eax, ebx
mov esi, ebx
or eax, edx
and esi, edx
mov ecx, ebx
imul esi, eax
not ecx
mov eax, edx
not edx
and eax, ecx
and edx, ebx
imul edx, eax
lea eax, [esi + edx]
mov esi, edi
and esi, eax
or edi, eax
lea eax, [esi + edi]
mov esi, dword [esp + 4]
shld esi, esi, 0xf
mov ecx, esi
mov ebx, esi
mov edx, esi
not ecx
or ebx, 0x7c94b0dd
and edx, 0x7c94b0dd
and ecx, 0x7c94b0dd
and esi, 0x836b4f22
imul edx, ebx
imul esi, ecx
mov dword [esp + 0x338], eax
lea edi, [edx + esi]
imul ecx, edi, 0xf6c1e59a
not edi
imul eax, edi, 0x93e1a65
not ecx
not eax
sub ecx, eax
mov esi, ecx
mov edx, ecx
mov eax, ecx
not esi
and edx, 0x2b27a775
or eax, 0x2b27a775
and esi, 0x2b27a775
and ecx, 0xd4d8588a
imul eax, edx
imul ecx, esi
add eax, ecx
mov dword [esp + 0x1c60], eax
mov ebx, eax
xor eax, 0xb8fcf329
or ebx, 0xb8fcf329
lea esi, [ebx + ebx]
sub esi, eax
lea ebx, [esi + esi]
mov dword [esp + 0x1c64], ebx
xor esi, 1
and ebx, 0xfffffffc
sub esi, ebx
lea ebx, [esi - 1]
neg ebx
lea esi, [esi + 0x54a133ec]
mov edi, esi
mov eax, esi
not edi
and eax, 1
and edi, 0xfffffffe
mov ecx, esi
imul edi, eax
and ecx, 0xfffffffe
mov dword [esp + 0x1c68], esi
or esi, 0xfffffffe
neg edi
lea eax, [ebx - 0x54a133ee]
imul esi, ecx
mov edx, eax
not edx
lea edi, [edi - 1]
sub edi, esi
mov esi, eax
and edx, 1
and esi, 0xfffffffe
imul esi, edx
mov ebx, eax
or ebx, 1
and eax, 1
neg esi
imul eax, ebx
lea ecx, [esi - 1]
mov esi, edi
sub ecx, eax
not edi
xor esi, ecx
and ecx, edi
lea eax, [ecx + ecx]
sub esi, eax
lea eax, [esi - 0x54a133ed]
shrd eax, eax, 0xf
mov edx, eax
mov ebx, eax
or edx, 0xb8370e5e
and ebx, 0x47c8f1a1
xor ebx, eax
lea edi, [edx + 0x47c8f1a2]
mov ecx, edi
lea ebx, [ebx + 0x47c8f1a1]
mov esi, edi
and ecx, ebx
or esi, ebx
imul esi, ecx
mov ecx, ebx
not ecx
and ecx, edi
not edi
and edi, ebx
imul edi, ecx
add edi, esi
mov esi, eax
neg esi
sub eax, edx
lea ebx, [esi - 1]
mov ecx, ebx
lea edx, [eax - 0x47c8f1a2]
or ecx, 0x47c8f1a1
mov eax, edx
xor ecx, ebx
not eax
xor ecx, 0x47c8f1a1
mov esi, ecx
mov ebx, ecx
and esi, edx
or ebx, edx
imul ebx, esi
mov esi, ecx
not ecx
and esi, eax
and ecx, edx
mov eax, edi
imul ecx, esi
lea edx, [ebx + ecx]
and eax, edx
or edi, edx
lea ecx, [eax + edi]
mov esi, ecx
mov ebx, ecx
not esi
and ebx, 0xb2c1fa2
and esi, 0xf4d3e05d
lea edx, [ecx + ecx]
lea eax, [esi + ebx]
mov esi, edx
xor esi, 0xe9a7c0ba
or edx, 0xe9a7c0ba
sub edx, esi
mov ebx, edx
mov dword [esp + 0x1c6c], edx
or ebx, eax
and edx, eax
lea eax, [ebx + edx]
mov ecx, eax
mov edi, eax
neg ecx
mov esi, eax
xor edi, 0xec34cd9e
or esi, 0xec34cd9e
xor edi, esi
mov edx, edi
mov esi, edi
not edx
lea ebx, [ecx - 1]
mov ecx, ebx
or ecx, 0x13cb3261
xor ecx, 0x13cb3261
xor ecx, ebx
mov ebx, ecx
and esi, ecx
and ebx, edx
mov edx, ecx
not edx
and edx, edi
or edi, ecx
imul edx, ebx
mov ecx, eax
imul edi, esi
and ecx, 0x13cb3261
lea ebx, [edx + edi]
mov dword [esp + 0x1c70], esi
mov edx, eax
mov esi, eax
sub eax, ecx
or edx, 0x13cb3261
xor esi, 0x13cb3261
xor edx, esi
mov esi, edx
lea ecx, [eax + 0x13cb3261]
mov eax, edx
mov edi, ecx
not eax
not edi
and eax, ecx
and esi, edi
mov edi, edx
or edi, ecx
and edx, ecx
imul eax, esi
lea esi, [ebx + ebx]
imul edx, edi
add eax, edx
xor ebx, eax
lea ecx, [eax + eax]
and esi, ecx
add ebx, esi
mov edi, ebx
neg edi
lea esi, [edi - 1]
mov edi, ebx
mov edx, esi
mov eax, esi
not edx
and eax, 0x91026fb7
and edx, 0x6efd9048
mov ecx, esi
imul edx, eax
and ecx, 0x6efd9048
neg edx
or esi, 0x6efd9048
imul esi, ecx
not edi
mov ecx, ebx
lea eax, [edx - 1]
mov edx, ebx
and edi, 0x91026fb7
and ecx, 0x6efd9048
or edx, 0x91026fb7
and ebx, 0x91026fb7
sub eax, esi
imul ecx, edi
imul ebx, edx
lea esi, [ecx + ebx]
neg esi
lea ecx, [esi - 1]
mov esi, eax
xor esi, ecx
not ecx
add eax, eax
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x338]
and eax, edi
sub esi, eax
bswap ecx
mov ebx, ecx
neg ebx
mov dword [esp + 0x994], ecx
lea edi, [esi + 0x7824630b]
bswap edi
lea esi, [ebx - 1]
mov eax, esi
or eax, edi
lea edx, [ebx + edi]
sub edx, eax
lea ebx, [edx - 1]
mov edx, edi
mov eax, ebx
or ebx, ecx
and eax, ecx
neg edx
add ebx, eax
mov dword [esp + 0x1c74], ebx
lea eax, [edx - 1]
mov edx, eax
or edx, ebx
xor edx, eax
xor edx, ebx
lea eax, [edx + edx]
mov edx, ebx
not edx
and edx, edi
add edx, edx
sub edx, edi
lea edi, [edx + ebx]
mov ebx, eax
mov edx, edi
not ebx
neg edx
not edi
neg eax
imul ebx, edx
imul eax, edi
not ebx
not eax
sub ebx, eax
mov edi, ebx
or edi, esi
xor edi, esi
mov esi, ebx
not esi
xor edi, ebx
and esi, ecx
xor ebx, ecx
mov edx, dword [esp + 0x97c]
lea eax, [edi + edi]
lea edi, [esi + esi]
sub edi, ebx
lea ecx, [eax + eax]
mov ebx, dword [esp + 0x338]
shld ebx, ebx, 5
neg ebx
lea esi, [edi + edi]
and ecx, esi
xor edi, eax
lea eax, [ecx + edi]
mov ecx, dword [esp + 0x1c60]
bswap eax
mov dword [esp + 0x33c], eax
lea eax, [ebx - 1]
shrd eax, eax, 5
shrd eax, eax, 0x11
mov ebx, eax
ror ebx, cl
mov esi, ebx
neg esi
ror edx, cl
neg ecx
lea esi, [esi - 1]
mov edi, esi
or edi, edx
sub edi, edx
xor edi, esi
lea esi, [edi + edi]
mov edi, ebx
not edi
and edi, edx
xor edx, ebx
add edi, edi
mov ebx, edi
sub ebx, edx
mov edi, ebx
not edi
imul edi, esi
not esi
imul esi, ebx
mov edx, dword [esp + 0x97c]
not edi
not esi
mov ebx, edx
sub edi, esi
mov esi, edx
or esi, eax
xor esi, eax
xor ebx, esi
mov esi, ebx
or ebx, eax
and esi, eax
not ebx
not esi
sub esi, ebx
ror edi, cl
lea ecx, [edx + edx]
xor edx, esi
lea eax, [esi + esi]
mov esi, edi
or ecx, eax
not esi
sub ecx, edx
mov eax, ecx
not eax
imul esi, ecx
neg ecx
imul eax, edi
not esi
lea ebx, [ecx - 1]
not eax
not ebx
sub esi, eax
mov eax, ebx
or eax, edi
sub eax, ebx
mov ecx, dword [esp + 0x1c6c]
lea edi, [eax + eax]
mov eax, esi
and eax, edi
or esi, edi
add esi, eax
mov eax, dword [esp + 0x33c]
shld esi, esi, 0x11
mov ebx, esi
rol ebx, cl
neg ebx
rol eax, cl
neg ecx
mov dword [esp + 0x998], esi
lea edx, [ebx - 1]
mov dword [esp + 0x1c78], edx
not edx
mov edi, edx
and edi, eax
lea edi, [edi + ebx - 1]
mov ebx, dword [esp + 0x1c78]
mov eax, edi
neg ebx
imul edx, edi
not eax
imul eax, ebx
neg edx
not eax
not edx
sub eax, edx
mov edi, dword [esp + 0x33c]
rol eax, cl
mov ecx, dword [esp + 0x1c70]
ror edi, cl
ror esi, cl
mov ebx, edi
or ebx, esi
sub ebx, esi
xor ebx, edi
lea edx, [ebx + esi]
add ebx, ebx
add esi, esi
and ebx, esi
sub edx, ebx
mov esi, edx
xor edx, edi
and esi, edi
lea esi, [edx + esi*2]
mov edx, eax
rol esi, cl
neg edx
mov edi, esi
neg edi
lea ecx, [edi - 1]
mov ebx, ecx
xor ecx, eax
or ebx, eax
lea edi, [edx - 1]
sub ebx, ecx
mov ecx, edi
or ecx, esi
mov edx, ebx
xor ecx, esi
xor ecx, edi
mov edi, ecx
not edi
and edx, edi
mov edi, ebx
not edi
and edi, ecx
imul edi, edx
mov edx, ecx
or edx, ebx
and ecx, ebx
imul ecx, edx
lea edx, [esi + eax]
lea ebx, [edi + ecx]
mov ecx, esi
and ecx, eax
mov edi, esi
xor ecx, eax
or edi, eax
sub edx, edi
mov eax, edx
add esi, ecx
mov ecx, edx
mov edi, esi
and eax, esi
not edi
or ecx, esi
and edi, edx
not edx
and edx, esi
mov esi, ebx
imul ecx, eax
imul edx, edi
lea eax, [ecx + edx]
or esi, eax
xor ebx, eax
mov eax, dword [esp + 0x998]
lea ecx, [esi + esi]
sub ecx, ebx
lea edx, [eax + eax]
mov ebx, dword [esp + 0x33c]
not ebx
mov edi, ebx
xor edi, eax
mov dword [esp + 0x1c7c], ecx
lea esi, [ebx + ebx]
and esi, edx
lea edx, [ebx + eax]
and ebx, eax
sub edx, ebx
mov eax, edx
add esi, edi
xor eax, esi
not esi
lea ebx, [edx + edx]
lea ecx, [esi + esi]
and ecx, ebx
sub eax, ecx
mov dword [esp + 0x1c80], eax
mov edi, dword [esp + 0x998]
not edi
mov ecx, dword [esp + 0x1c68]
mov ebx, dword [esp + 0x33c]
ror ebx, cl
lea eax, [edi + 1]
mov edx, eax
not eax
and eax, 1
xor edx, 1
lea edi, [eax + eax]
sub edx, edi
ror edx, cl
mov esi, edx
neg esi
mov dword [esp + 0x1c84], edx
lea edi, [esi - 1]
and edi, ebx
xor edi, ebx
lea edi, [edi + esi - 1]
lea esi, [edx + edx]
xor edx, 1
and esi, 2
lea ebx, [esi + edx]
mov esi, edi
and esi, ebx
xor edi, ebx
lea edi, [edi + esi*2]
mov esi, dword [esp + 0x1c80]
rol edi, cl
mov ecx, esi
mov edx, edi
neg ecx
neg edx
lea ecx, [ecx - 1]
mov eax, ecx
lea ebx, [edx - 1]
not ebx
mov edx, esi
or edx, ebx
or eax, edi
sub edx, ebx
sub eax, ecx
mov ecx, edx
xor eax, edi
not ecx
mov ebx, eax
and ecx, eax
not ebx
mov dword [esp + 0x1c88], ecx
mov ecx, edx
and ecx, ebx
mov ebx, edx
or ebx, eax
and edx, eax
imul ecx, dword [esp + 0x1c88]
mov eax, esi
imul edx, ebx
mov ebx, esi
add edx, ecx
and ebx, edi
lea ecx, [esi + edi]
xor esi, edi
or eax, edi
sub ecx, eax
mov eax, ecx
mov edi, ecx
add esi, ebx
or eax, esi
and edi, esi
imul edi, eax
mov eax, esi
not eax
and eax, ecx
not ecx
and ecx, esi
lea esi, [edx + edx]
imul ecx, eax
mov eax, dword [esp + 0x1c74]
add ecx, edi
xor edx, ecx
lea edi, [ecx + ecx]
and edi, esi
mov esi, dword [esp + 0x1c7c]
lea ebx, [eax + edi]
mov edi, esi
add edx, ebx
mov ecx, edx
not ecx
and edi, ecx
lea ebx, [edi + edx]
add edi, edi
sub edi, esi
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 4]
add edi, edx
mov esi, edi
not esi
and esi, ecx
xor ecx, edi
lea edx, [esi + esi]
mov esi, dword [esp + 0x338]
sub edx, eax
sub edx, ecx
mov ecx, dword [esp + 0x1c84]
ror esi, cl
ror ebx, cl
mov eax, esi
mov edi, esi
xor eax, ebx
or edi, ebx
xor eax, edi
mov edi, esi
mov dword [esp + 0x99c], edx
not edi
lea edx, [eax + eax]
imul edi, edx
not edx
imul edx, esi
sub edi, edx
mov esi, edi
and edi, ebx
or esi, ebx
mov ebx, dword [esp + 0x994]
mov edx, ebx
add esi, edi
mov edi, dword [esp + 0x30c]
rol esi, cl
mov ecx, edi
not ecx
or edx, ecx
mov dword [esp + 0x1c8c], ecx
mov dword [esp + 0x1c90], edx
lea ecx, [edi + edx + 1]
mov edx, ebx
mov eax, ecx
not eax
and edx, eax
lea ecx, [ecx + edx*2]
mov edx, edi
sub ecx, ebx
mov ebx, edi
and ebx, ecx
or edx, ecx
lea ecx, [esi + esi]
add ebx, edx
bswap ebx
lea eax, [ebx + ebx + 0x680ebb40]
and ecx, eax
lea edx, [esi + ebx]
neg esi
sub edx, ecx
lea ecx, [ebx + 0x34075da0]
not ecx
lea eax, [esi - 1]
mov esi, ecx
or esi, eax
lea edx, [edx - 0x4bf8a260]
sub esi, ecx
lea eax, [esi + esi]
mov esi, edi
mov ecx, eax
xor eax, edx
not ecx
and ecx, edx
lea ebx, [ecx + ecx]
sub ebx, eax
mov eax, dword [esp + 0x994]
xor esi, eax
and edi, esi
mov esi, dword [esp + 0x1c90]
lea edx, [ebx + ebx]
neg edx
sub esi, dword [esp + 0x1c8c]
lea ecx, [edx - 0x680ebb40]
mov edx, dword [esp + 4]
not ecx
sub ebx, ecx
lea ecx, [eax + edi]
mov edi, ecx
not edi
imul edi, esi
not esi
imul esi, ecx
mov ecx, dword [esp + 0x338]
sub edi, esi
neg ecx
mov esi, edx
bswap edi
mov dword [esp + 0x1c94], ebx
lea ebx, [ebx - 0x4bf8a261]
mov dword [esp + 0x1c98], ebx
lea ecx, [ecx - 1]
xor esi, ecx
and edx, ecx
mov eax, ecx
not eax
add edx, esi
lea esi, [edx + edx]
xor edx, ecx
add eax, eax
and esi, eax
mov eax, edi
sub esi, edx
not eax
lea ecx, [esi + esi]
lea edx, [eax + eax]
and ecx, edx
add ecx, edi
sub ecx, esi
or esi, eax
lea edi, [edi + esi + 1]
lea eax, [edi + edi]
lea esi, [ecx + ecx]
xor ecx, eax
mov dword [esp + 0x1c9c], esi
lea edi, [eax + eax]
and edi, esi
lea esi, [ecx + edi]
mov edi, ebx
mov ecx, dword [esp + 0x1c64]
rol edi, cl
neg ecx
bswap ebx
mov dword [esp + 0x1ca0], esi
lea edx, [edi + edi]
xor edi, 1
or edx, 2
sub edx, edi
mov edi, esi
not edx
lea eax, [edx + 1]
mov edx, esi
rol eax, cl
mov ecx, esi
and edi, eax
xor edx, eax
not ecx
mov dword [esp + 0x1ca4], ecx
add edx, edi
mov edi, eax
not edi
imul edi, edx
not edx
imul edx, eax
not edi
not edx
sub edi, edx
mov eax, ecx
and eax, edi
lea edx, [esi + eax*2]
sub edx, edi
lea eax, [ecx + ecx]
sub eax, ecx
lea ecx, [ebx + ebx]
bswap eax
mov esi, eax
xor esi, ebx
lea edi, [eax + eax]
and edi, ecx
add edi, esi
mov esi, ebx
not esi
and esi, eax
mov eax, edi
not eax
neg edi
lea ecx, [esi + ebx]
mov ebx, ecx
not ecx
neg ebx
imul eax, ebx
imul edi, ecx
not eax
not edi
sub eax, edi
mov edi, edx
bswap eax
neg edi
mov esi, eax
neg esi
lea edi, [edi - 1]
mov ecx, edi
or ecx, eax
lea ebx, [esi - 1]
mov esi, edx
sub ecx, eax
or esi, ebx
xor ecx, edi
sub esi, edx
xor esi, ebx
mov ebx, ecx
mov edi, esi
not edi
and ebx, edi
mov edi, ecx
not edi
and edi, esi
imul edi, ebx
mov ebx, ecx
and ebx, esi
or ecx, esi
imul ecx, ebx
mov esi, edx
and esi, eax
lea ebx, [edi + ecx]
xor esi, edx
mov ecx, edx
or ecx, eax
sub ecx, edx
xor ecx, eax
mov edi, ecx
lea edx, [esi + eax]
mov eax, edx
mov esi, ecx
not eax
not esi
and edi, eax
mov eax, ecx
and esi, edx
or eax, edx
and ecx, edx
imul edi, esi
mov esi, ebx
imul ecx, eax
mov eax, dword [esp + 0x1c98]
lea edx, [edi + ecx]
xor esi, edx
lea edi, [edx + edx]
lea ecx, [ebx + ebx]
and edi, ecx
mov ecx, dword [esp + 0x1ca0]
mov edx, ecx
xor edx, eax
lea ebx, [esi + edi]
mov edi, dword [esp + 0x1c94]
mov dword [esp + 0x1ca8], ebx
lea ebx, [ecx + ecx]
lea esi, [edi + edi + 0x680ebb3e]
and esi, ebx
mov ebx, eax
not ebx
and ebx, ecx
add edx, esi
lea esi, [ebx + edi - 0x4bf8a261]
mov edi, esi
not edi
lea ebx, [edi + edi]
lea edi, [edx + edx]
xor edx, esi
and ebx, edi
sub ebx, edx
mov edx, dword [esp + 0x1ca4]
mov edi, edx
or edi, eax
sub edi, edx
and edx, edi
not edi
and edi, ecx
mov ecx, eax
lea esi, [edx + edi]
or ecx, esi
xor eax, esi
mov esi, ebx
lea edx, [ecx + ecx]
sub edx, eax
mov edi, edx
mov eax, edx
or edi, ebx
and eax, ebx
sub edi, edx
xor esi, edi
lea ecx, [edx + ebx]
sub ecx, eax
mov edi, esi
not edi
mov eax, ecx
and eax, edi
mov edi, ecx
mov dword [esp + 0x1cac], eax
not edi
mov eax, esi
and eax, edi
mov edi, esi
and edi, ecx
or esi, ecx
imul esi, edi
mov edi, ebx
imul eax, dword [esp + 0x1cac]
neg edi
add eax, esi
lea ecx, [edi - 1]
mov edi, edx
or edi, ecx
sub edi, ecx
xor edi, edx
neg edx
lea ecx, [edx - 1]
mov edx, ebx
xor edx, ecx
or ebx, ecx
sub ebx, edx
mov esi, ebx
mov ecx, ebx
and esi, edi
or ecx, edi
imul ecx, esi
mov esi, edi
not esi
and esi, ebx
not ebx
and ebx, edi
imul ebx, esi
lea edx, [ecx + ebx]
lea ecx, [eax + eax]
lea edi, [edx + edx]
xor edx, eax
or ecx, edi
sub ecx, edx
mov edi, dword [esp + 0x1ca8]
mov esi, ecx
mov eax, ecx
xor esi, edi
or eax, edi
sub eax, esi
lea ebx, [ecx + edi]
and ecx, edi
mov esi, dword [esp + 0x99c]
add eax, eax
lea edi, [ecx + ecx]
sub ebx, edi
lea ecx, [eax + eax]
lea edi, [ebx + ebx]
xor ebx, eax
and edi, ecx
mov ecx, dword [esp + 0x1c9c]
rol esi, cl
mov edx, esi
lea eax, [edi + ebx]
mov ebx, eax
rol ebx, cl
and edx, ebx
xor edx, esi
lea edi, [edx + ebx]
mov edx, ebx
not edx
and edx, edi
lea edx, [ebx + edx*2]
mov ebx, eax
sub edx, edi
neg ebx
mov edi, edx
or edi, esi
add edi, edi
sub edi, esi
lea esi, [ebx - 1]
sub edi, edx
not esi
ror edi, cl
lea edx, [eax + eax]
mov ecx, dword [esp + 0x99c]
or ecx, esi
lea esi, [edi + edi + 0x706e1cbc]
add ecx, ebx
lea ebx, [ecx + ecx]
xor ecx, eax
or ebx, edx
mov edx, esi
sub ebx, ecx
mov ecx, esi
lea eax, [ebx + ebx]
xor ecx, eax
and edx, eax
mov eax, ebx
not eax
add ecx, edx
lea edx, [eax + eax]
and edx, esi
sub edx, edi
lea esi, [edx + ebx + 0x47c8f1a2]
mov edx, dword [esp]
mov edi, esi
xor edi, ecx
not ecx
shld edx, edx, 0x11
lea ebx, [ecx + ecx]
lea ecx, [esi + esi]
and ebx, ecx
mov ecx, edx
sub edi, ebx
mov ebx, dword [esp + 4]
lea edi, [edi + 0x47c8f1a2]
imul ebx, edi
mov dword [esp + 0x340], ebx
shld ebx, ebx, 0x11
or ecx, ebx
xor ecx, edx
xor ecx, ebx
mov esi, ecx
or ecx, edx
and esi, edx
not ecx
not esi
sub esi, ecx
mov eax, esi
xor esi, ebx
and eax, ebx
lea eax, [esi + eax*2]
mov esi, dword [esp + 0x1c0]
shrd eax, eax, 0x11
mov ecx, esi
mov edi, esi
or ecx, eax
and edi, eax
imul edi, ecx
mov ecx, dword [esp + 0x5f8]
mov dword [esp + 0x1cb0], eax
and ecx, eax
not eax
and esi, eax
imul esi, ecx
lea edx, [edi + esi]
neg edx
mov dword [esp + 0x1cb4], edx
mov eax, dword [esp + 0x1cb0]
neg eax
mov edx, dword [esp + 0x140]
lea ecx, [eax - 1]
mov eax, dword [esp]
mov edi, eax
mov ebx, eax
and edi, ecx
or ebx, ecx
imul ebx, edi
and edx, ecx
neg ebx
not ecx
lea esi, [ebx - 1]
mov ebx, eax
and ebx, ecx
imul ebx, edx
sub esi, ebx
mov edx, esi
not edx
lea ebx, [edx + edx]
mov edx, dword [esp + 0x1cb4]
lea edi, [edx + edx - 2]
and ebx, edi
lea ecx, [edx - 1]
xor esi, ecx
sub ebx, esi
mov esi, dword [esp + 0x340]
lea edi, [ebx + ebx]
mov dword [esp + 0x1cb8], edi
mov ecx, edi
lea edx, [esi + esi]
and ecx, edx
xor edi, edx
lea edx, [ecx + edi]
mov edi, esi
xor edi, ebx
add edi, ecx
mov ecx, edx
mov ebx, edi
not ecx
not ebx
imul ebx, edx
mov edx, ecx
imul edx, edi
rol esi, cl
not ebx
not edx
mov edi, eax
sub ebx, edx
mov edx, esi
rol edi, cl
not edx
and edx, edi
mov dword [esp + 0x638], ebx
lea ebx, [edx + esi]
mov edx, ebx
not edx
imul edx, edi
not edi
imul edi, ebx
sub edx, edi
lea ebx, [edx + esi]
and edx, esi
lea esi, [edx + edx]
mov edx, eax
sub ebx, esi
ror ebx, cl
or eax, ebx
xor edx, ebx
mov dword [esp + 0x1cbc], edx
lea esi, [ebx + ebx]
lea ecx, [eax + eax]
mov eax, dword [esp + 0x15c]
mov ebx, eax
sub ecx, edx
or ebx, esi
sub ebx, esi
xor eax, ebx
mov edx, eax
xor edx, ecx
not ecx
lea edi, [eax + eax]
add ecx, ecx
and edi, ecx
sub edx, edi
mov esi, edx
mov edi, edx
mov ecx, edx
not edx
and esi, 0xdfce8ad
or edi, 0xdfce8ad
and ecx, 0xf2031752
and edx, 0xdfce8ad
imul edi, esi
imul edx, ecx
lea eax, [edi + edx]
mov ebx, eax
xor eax, 0xfec1decb
or ebx, 0xfec1decb
mov dword [esp + 0x1cc0], ebx
lea edx, [ebx + ebx]
sub edx, eax
mov ecx, edx
mov esi, edx
mov ebx, edx
not edx
and ecx, 0x51ecbb25
or esi, 0x51ecbb25
and ebx, 0xae1344da
and edx, 0x51ecbb25
imul esi, ecx
imul edx, ebx
mov ecx, dword [esp + 0x340]
lea edi, [esi + edx]
mov edx, edi
or edi, 0xf21883a9
and edx, 0xf21883a9
lea ebx, [ecx - 0x346fed77]
not ebx
mov dword [esp + 0x1cc4], ebx
lea esi, [edx + edi]
mov edx, ecx
sub edx, esi
lea eax, [esi + esi]
lea esi, [ebx + ebx]
and esi, eax
not eax
lea ecx, [ecx + ecx - 0x68dfdaee]
lea ebx, [edx + esi - 0x346fed77]
mov esi, eax
or esi, ecx
sub esi, eax
mov ecx, esi
or esi, ebx
and ecx, ebx
lea ebx, [ecx + esi + 0x346fed77]
mov edi, ebx
lea edx, [ecx + esi]
or edi, 0x8f1ec4b9
mov ecx, ebx
mov esi, ebx
xor ecx, 0x8f1ec4b9
and esi, 0x8f1ec4b9
neg edx
mov dword [esp + 0x1cc8], edx
lea eax, [edi + 0x70e13b47]
xor eax, ebx
lea edi, [ecx + esi]
mov ecx, eax
mov esi, edi
not ecx
not esi
and ecx, edi
and esi, eax
imul ecx, esi
mov esi, eax
or esi, edi
and eax, edi
imul eax, esi
add eax, ecx
lea ecx, [edx - 0x346fed77]
mov dword [esp + 0x1ccc], ecx
lea edx, [ecx - 1]
or edx, 0x8f1ec4b9
sub ecx, edx
lea esi, [ecx - 0x70e13b48]
mov ecx, ebx
or ecx, 0x70e13b46
xor ebx, 0x70e13b46
sub ecx, ebx
mov edi, ecx
mov edx, ecx
and edi, esi
or edx, esi
imul edx, edi
mov edi, esi
not edi
and edi, ecx
not ecx
and ecx, esi
imul ecx, edi
lea esi, [edx + ecx]
mov edx, dword [esp + 0x1cc0]
lea ecx, [eax + eax]
lea ebx, [esi + esi]
xor esi, eax
or ecx, ebx
lea ebx, [edx + edx - 0x769550e2]
sub ecx, esi
lea edi, [edx - 0x3b4aa871]
lea eax, [ecx + ecx]
and eax, ebx
mov ebx, ecx
or ebx, edi
lea esi, [edx + ecx]
xor ecx, edi
sub esi, eax
xor ebx, ecx
lea eax, [esi + 0x44b5578f]
lea ecx, [ebx + ebx]
mov esi, ecx
xor ecx, eax
and esi, eax
mov dword [esp + 0x1cd4], ecx
lea edi, [esi + esi]
sub edi, edx
mov dword [esp + 0x1cd0], edi
lea edx, [edi + ecx]
mov ecx, edx
mov eax, edx
or ecx, 0xc21bfe76
mov ebx, edx
and eax, 0x3de40189
xor ebx, 0x3de40189
lea edi, [ecx + 0x3de4018a]
lea esi, [eax + ebx]
mov ebx, edi
mov eax, edi
and ebx, esi
or eax, esi
imul eax, ebx
mov ebx, esi
not ebx
and ebx, edi
not edi
and edi, esi
mov esi, edx
neg edx
xor esi, 0xc21bfe76
sub ecx, esi
imul edi, ebx
lea edx, [edx - 1]
mov esi, edx
lea ebx, [eax + edi]
or esi, 0x3de40189
mov edi, ecx
lea esi, [esi - 0x3de40189]
xor esi, edx
mov eax, esi
mov edx, esi
and eax, ecx
or edx, ecx
imul edx, eax
mov eax, esi
not eax
not ecx
and edi, eax
and esi, ecx
imul esi, edi
add edx, esi
mov esi, dword [esp + 0x1cb8]
mov edi, edx
xor edx, ebx
and edi, ebx
lea ecx, [esi + edi*2]
lea ebx, [edx + ecx]
mov dword [esp + 0x9a0], ebx
mov edx, ebx
or edx, 0xf7409579
lea eax, [edx + edx]
sub eax, ebx
lea edi, [edx + 0x8bf6a87]
xor ebx, edi
lea ecx, [eax - 0x77409579]
mov eax, ecx
lea edx, [ebx + ebx]
or eax, edx
xor ecx, edx
mov edx, dword [esp + 0x638]
lea ebx, [eax + eax]
sub ebx, esi
lea esi, [edx + edx]
sub ebx, ecx
mov ecx, edx
xor ecx, 1
and esi, 2
mov edi, ebx
bswap edi
mov dword [esp + 0x1cdc], edi
mov dword [esp + 0x1cd8], ebx
lea eax, [ecx + esi]
not eax
shld edx, edx, 0x11
lea eax, [eax + 1]
bswap eax
mov ecx, eax
or ecx, edi
lea esi, [eax + edi]
add ecx, ecx
sub ecx, eax
and eax, edi
sub esi, eax
sub ecx, edi
mov edi, esi
or edi, ecx
lea eax, [edi + edi]
sub eax, ecx
mov ecx, dword [esp + 0x1cbc]
sub eax, esi
ror ebx, cl
neg ecx
bswap eax
lea esi, [ebx - 1]
not esi
mov ebx, esi
not esi
and esi, 1
xor ebx, 1
lea edi, [esi + esi]
mov esi, edx
sub ebx, edi
mov edi, edx
ror ebx, cl
shld ebx, ebx, 0x11
and esi, ebx
xor edi, ebx
mov ecx, ebx
not ecx
add edi, esi
lea esi, [edi + edi]
xor edi, ebx
add ecx, ecx
and ecx, esi
sub ecx, edi
mov edi, eax
lea ebx, [ecx + edx]
lea esi, [ecx + ecx]
mov ecx, eax
add edx, edx
and esi, edx
mov edx, eax
sub ebx, esi
shld ebx, ebx, 0xf
xor ecx, ebx
and edi, ebx
or edx, ebx
sub edx, eax
xor edx, ebx
mov esi, edx
add edi, ecx
mov ecx, edx
and esi, edi
or ecx, edi
imul esi, ecx
mov ecx, edi
mov dword [esp + 0x1ce0], esi
not ecx
mov esi, edx
mov dword [esp + 0x9a4], edx
not edx
and esi, ecx
mov ecx, eax
mov dword [esp + 0x1ce4], esi
and edx, edi
neg ecx
imul edx, dword [esp + 0x1ce4]
mov edi, dword [esp + 0x1ce0]
lea ecx, [ecx - 1]
add edi, edx
mov edx, ecx
xor edx, ebx
or ecx, ebx
neg ebx
sub ecx, edx
lea esi, [ebx - 1]
mov ebx, ecx
mov edx, esi
not ebx
or edx, eax
xor edx, eax
xor edx, esi
mov esi, ecx
mov eax, edx
and ebx, edx
not eax
and esi, eax
imul esi, ebx
mov ebx, ecx
and ebx, edx
or ecx, edx
imul ecx, ebx
mov ebx, edi
lea edx, [esi + ecx]
xor ebx, edx
and edi, edx
mov edx, dword [esp + 0x638]
lea eax, [ebx + edi*2]
mov ebx, dword [esp + 0x1cd8]
mov dword [esp + 0x1ce8], eax
mov eax, edx
shld ebx, ebx, 3
shld eax, edx, 3
mov edi, ebx
mov esi, ebx
and edi, eax
or esi, eax
xor ebx, eax
bswap edx
lea ecx, [esi + edi]
lea esi, [edi + ebx]
mov eax, esi
lea edi, [ecx + ecx]
not eax
xor ecx, esi
add eax, eax
and eax, edi
sub eax, ecx
mov ecx, dword [esp + 0x1cdc]
mov esi, ecx
mov ebx, ecx
or esi, edx
and ebx, edx
shrd eax, eax, 3
mov dword [esp + 0x1cec], eax
add ebx, esi
xor esi, edx
xor esi, ecx
mov edi, esi
not edi
imul edi, ebx
not ebx
imul ebx, esi
not edi
not ebx
sub edi, ebx
bswap edi
mov edx, edi
neg edx
lea esi, [edx - 1]
mov ecx, esi
or esi, eax
xor ecx, eax
neg eax
sub esi, ecx
mov ecx, esi
lea edx, [eax - 1]
mov eax, esi
mov ebx, edx
xor edx, edi
or ebx, edi
sub ebx, edx
mov edx, ebx
or eax, ebx
not edx
and ecx, ebx
and edx, esi
not esi
and esi, ebx
mov ebx, edi
imul ecx, eax
mov eax, edi
imul esi, edx
mov dword [esp + 0x1cf0], edx
add esi, ecx
mov edx, dword [esp + 0x1cec]
or eax, edx
sub eax, edi
xor ebx, edx
and edi, edx
xor eax, edx
mov ecx, eax
mov edx, eax
not ecx
add edi, ebx
mov ebx, eax
or edx, edi
and ebx, edi
and ecx, edi
not edi
and edi, eax
imul ebx, edx
mov edx, esi
imul edi, ecx
lea eax, [ebx + edi]
mov edi, dword [esp + 0x1ce8]
and edx, eax
xor esi, eax
lea edx, [esi + edx*2]
lea esi, [edi + edi]
mov ebx, esi
lea ecx, [edx + edx]
xor ebx, ecx
mov ecx, edx
and ebx, esi
sub ecx, edi
mov esi, dword [esp + 0x340]
shld esi, esi, 4
lea eax, [ebx + edx*2]
not edx
and edx, edi
lea edi, [ecx + edx*2]
mov edx, edi
xor edx, eax
not eax
and eax, edi
lea ecx, [eax + eax]
sub edx, ecx
mov ecx, dword [esp + 0x1cc4]
mov dword [esp + 0x1cf4], edx
lea ebx, [ecx + 1]
mov eax, ebx
and eax, esi
xor eax, ebx
not ebx
lea edi, [eax + esi]
add ebx, ebx
lea eax, [esi + esi]
and ebx, eax
lea edx, [edi + edi]
sub ebx, esi
mov esi, edx
not edx
lea ebx, [ebx + ecx + 1]
xor esi, ebx
lea edi, [edx + edx]
sub ecx, esi
lea edx, [ebx + ebx]
and edi, edx
lea ecx, [ecx + edi - 1]
mov edi, dword [esp]
sub edi, dword [esp + 0x9a4]
lea edx, [ecx + ecx]
or edx, 2
xor ecx, 1
sub edx, ecx
mov ebx, edi
shld edx, edx, 0x1c
mov eax, edi
or ebx, edx
xor eax, edx
and edi, edx
xor eax, ebx
mov dword [esp + 0x1cf8], edx
lea esi, [eax + eax]
mov dword [esp + 0x1cfc], esi
mov ecx, edi
mov esi, ebx
not ecx
not esi
sub ecx, esi
mov eax, dword [esp + 0x1cfc]
mov edi, dword [esp + 0x9a4]
lea edx, [eax + eax]
xor eax, ecx
lea ebx, [ecx + ecx]
and edx, ebx
mov ebx, dword [esp + 0x1cf8]
lea esi, [edi + edx]
lea edi, [eax + esi]
mov eax, dword [esp]
mov ecx, eax
mov esi, ebx
or ecx, ebx
lea edx, [eax + ebx]
sub edx, ecx
or esi, edx
lea ecx, [esi + esi]
sub ecx, ebx
mov ebx, eax
sub ecx, edx
mov edx, eax
and edx, ecx
or ebx, ecx
lea esi, [edx + ebx]
mov ecx, esi
mov edx, esi
and ecx, edi
or edx, edi
neg edi
not ecx
not edx
sub ecx, edx
mov edx, esi
not edx
lea ebx, [edi - 1]
mov edi, ecx
or edx, ebx
not ecx
lea esi, [edx + esi + 1]
add esi, esi
xor edi, esi
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x1cd0]
lea ebx, [esi + esi]
mov esi, dword [esp + 0x1cd4]
and edx, ebx
sub edi, edx
mov dword [esp + 0x9a8], edi
mov edx, dword [esp + 0x9a0]
add ecx, esi
ror eax, cl
neg edx
neg eax
mov dword [esp + 0x1d00], ecx
lea ebx, [edx + 1]
lea esi, [eax - 1]
xor esi, 1
lea ecx, [eax + eax - 2]
and ecx, 2
mov eax, ebx
lea edi, [ecx + esi]
mov ecx, edi
neg ecx
lea esi, [ecx - 1]
mov ecx, ebx
and eax, esi
or ecx, esi
imul ecx, eax
mov edx, esi
mov eax, ebx
not edx
not eax
and edx, ebx
and eax, esi
neg ebx
imul eax, edx
lea esi, [ebx - 1]
mov ebx, edi
not ebx
lea edx, [ecx + eax]
mov eax, esi
mov ecx, edi
not eax
and ebx, esi
and eax, edi
or ecx, esi
and edi, esi
imul ebx, eax
lea eax, [edx + edx]
imul edi, ecx
lea esi, [ebx + edi]
mov ecx, esi
xor esi, edx
not ecx
mov edx, dword [esp + 0x1d00]
lea ebx, [ecx + ecx]
mov ecx, edx
and ebx, eax
xor ecx, 0x20
sub ebx, dword [esp + 0x9a0]
sub ebx, esi
lea esi, [edx + edx]
and esi, 0x1e
sub ecx, esi
mov esi, dword [esp + 0x340]
ror ebx, cl
bswap esi
bswap ebx
mov edi, esi
or edi, ebx
mov edx, esi
sub edi, ebx
not edx
xor edi, esi
lea ecx, [edi + edi]
mov eax, ecx
not eax
imul eax, esi
imul edx, ecx
not eax
not edx
sub eax, edx
lea ecx, [ebx + ebx]
lea edi, [eax + eax]
xor eax, ebx
and ecx, edi
mov dword [esp + 0x1d04], ecx
mov dword [esp + 0x1d08], eax
add eax, ecx
mov ecx, dword [esp + 0x638]
ror ebx, cl
ror esi, cl
mov edx, ebx
mov edi, ebx
and edx, esi
or edi, esi
not edx
not edi
neg ecx
sub edx, edi
mov edi, esi
not edi
or edi, ebx
mov ebx, edx
lea esi, [edi + esi + 1]
mov edi, eax
xor ebx, esi
and edx, esi
neg edi
lea esi, [ebx + edx*2]
mov ebx, dword [esp + 0x1cc8]
ror esi, cl
lea ecx, [edi - 1]
lea edx, [esi + ebx - 0x346fed78]
lea ebx, [edx - 1]
neg edx
not ebx
mov esi, ebx
mov edi, ebx
and esi, ecx
or edi, ecx
imul edi, esi
neg edi
lea esi, [edi - 1]
mov dword [esp + 0x1d0c], esi
mov esi, ecx
mov edi, ebx
not esi
not ebx
and edi, esi
and ebx, ecx
imul ebx, edi
mov edi, dword [esp + 0x1d0c]
mov esi, dword [esp + 0x1d04]
sub edi, ebx
mov ebx, dword [esp + 0x1d08]
lea ebx, [esi + ebx - 1]
not ebx
lea esi, [edx - 1]
mov edx, ebx
mov ecx, esi
not edx
not ecx
and edx, esi
and ecx, ebx
imul ecx, edx
mov edx, ebx
and edx, esi
or ebx, esi
neg ecx
imul ebx, edx
mov esi, dword [esp + 0x1ccc]
lea ecx, [ecx - 1]
sub ecx, ebx
mov edx, ecx
mov ebx, dword [esp + 0x1cf0]
sub esi, ebx
xor edx, edi
not edi
add edx, esi
lea esi, [ecx + ecx]
add edi, edi
and esi, edi
sub edx, esi
lea edx, [edx - 1]
mov esi, edx
xor edx, 1
and esi, 0xfffffffe
add esi, esi
sub edx, esi
sub edx, ebx
mov esi, dword [esp + 0x9a8]
lea edi, [edx - 1]
mov edx, esi
bswap edi
not edx
and edx, edi
mov ebx, edi
not ebx
mov dword [esp + 0x9ac], edi
neg edi
mov dword [esp + 0x1d10], ebx
add edx, esi
mov ecx, edx
imul ebx, edx
not ecx
imul edi, ecx
neg ebx
not edi
not ebx
lea edx, [esi + esi]
sub edi, ebx
mov ecx, eax
lea ebx, [esi + edi]
rol esi, cl
add edi, edi
and edx, edi
sub ebx, edx
mov edx, dword [esp + 0x9ac]
rol edx, cl
mov ecx, esi
neg ecx
lea edi, [ecx - 1]
or edi, edx
lea ecx, [edx + ecx - 1]
sub ecx, edi
lea edx, [esi + esi]
lea edi, [ecx + ecx]
xor ecx, esi
and edx, edi
mov edi, ebx
lea esi, [edx + ecx]
mov ecx, eax
ror esi, cl
mov edx, ebx
mov ecx, esi
mov eax, ebx
not ecx
xor eax, esi
and edx, ecx
or edi, esi
xor eax, edi
mov dword [esp + 0x1d14], ecx
mov edi, eax
lea ecx, [edx + esi]
mov edx, eax
and edi, ecx
or edx, ecx
imul edx, edi
mov edi, eax
not edi
and edi, ecx
not ecx
and ecx, eax
imul ecx, edi
mov edi, ebx
lea eax, [edx + ecx]
mov edx, esi
neg edx
lea ecx, [edx - 1]
mov edx, ebx
neg ebx
xor edx, ecx
or edi, ecx
sub edi, edx
mov edx, dword [esp + 0x1d14]
lea ecx, [ebx - 1]
or edx, ecx
mov ecx, edi
lea ebx, [esi + edx + 1]
mov esi, edi
mov edx, ebx
and esi, ebx
not edx
or ecx, ebx
and edx, edi
not edi
and edi, ebx
lea ebx, [eax + eax]
imul ecx, esi
imul edi, edx
lea esi, [ecx + edi]
mov edi, dword [esp + 0x9a8]
xor eax, esi
lea ecx, [esi + esi]
and ebx, ecx
mov esi, dword [esp + 0x9ac]
bswap esi
mov edx, esi
lea ecx, [ebx + eax]
mov dword [esp + 0x1d18], ecx
mov ecx, edi
bswap ecx
not ecx
bswap ecx
bswap ecx
and edx, ecx
xor edx, esi
shrd edi, edi, 9
lea eax, [edx + ecx]
mov ebx, eax
not eax
xor ebx, ecx
add ecx, ecx
lea edx, [eax + eax]
mov eax, edi
and edx, ecx
sub ebx, edx
mov ecx, ebx
and ebx, esi
or ecx, esi
mov esi, dword [esp + 0x1d10]
sub ecx, ebx
neg esi
mov ebx, ecx
not esi
bswap ebx
lea edx, [esi + 1]
shrd edx, edx, 9
and eax, edx
lea ecx, [edi + edx]
sub ecx, eax
mov esi, ecx
not esi
and esi, edx
not edx
and ecx, edx
lea eax, [esi + ecx]
mov esi, eax
or esi, edi
add esi, esi
sub esi, edi
sub esi, eax
mov eax, ebx
shld esi, esi, 9
mov edi, esi
neg eax
neg edi
lea edi, [edi - 1]
mov edx, edi
or edi, ebx
xor edx, ebx
sub edi, edx
lea edx, [eax - 1]
mov ecx, edx
mov eax, edi
or ecx, esi
sub ecx, esi
xor ecx, edx
mov edx, edi
and eax, ecx
or edx, ecx
imul edx, eax
mov eax, edi
mov dword [esp + 0x1d1c], edx
not eax
mov edx, ecx
not ecx
and edx, eax
and ecx, edi
lea edi, [esp + 0x1d20]
mov dword [edi], edx
mov edx, ebx
not edx
or edx, esi
imul ecx, dword [edi]
mov edi, dword [esp + 0x1d1c]
lea eax, [ebx + edx + 1]
mov edx, ebx
and edx, esi
xor edx, esi
add edi, ecx
mov ecx, edi
add ebx, edx
mov esi, ebx
mov edx, ebx
and esi, eax
or edx, eax
imul edx, esi
mov esi, eax
not esi
and esi, ebx
not ebx
and ebx, eax
imul ebx, esi
lea esi, [edx + ebx]
or ecx, esi
xor edi, esi
add ecx, ecx
sub ecx, edi
mov edi, dword [esp + 0x1d18]
lea edx, [edi + edi]
lea eax, [ecx + ecx - 0x638c02]
or edx, eax
sub edx, edi
sub edx, ecx
lea ecx, [ecx - 0x31c601]
mov esi, ecx
xor ecx, edi
or esi, edi
sub esi, ecx
lea ebx, [edx - 0x7fce39ff]
lea eax, [edx + edx + 0x638c02]
mov edx, dword [esp + 0x1cf4]
add esi, esi
xor ebx, esi
lea edi, [esi + esi]
or edi, eax
lea esi, [edx + edx]
sub edi, ebx
mov ecx, esi
mov dword [esp + 0x1d24], edi
lea ebx, [edi + edi + 0x638c02]
mov edi, esi
and ecx, ebx
xor edi, ebx
add ecx, edi
mov edi, ebx
mov eax, ecx
neg edi
not eax
neg ecx
not ebx
imul edi, eax
imul ebx, ecx
not edi
not ebx
sub edi, ebx
mov eax, dword [esp + 0x1d24]
lea ecx, [edi + edx*2]
and edi, esi
shld edx, edx, 0xd
lea ebx, [eax - 0x7fce39ff]
shld ebx, ebx, 0xd
lea esi, [edi + edi]
mov edi, edx
not edi
sub ecx, esi
lea eax, [ebx + ebx]
lea esi, [edi + edi]
mov edi, edx
xor edi, ebx
neg ebx
and esi, eax
lea eax, [edx + edx]
sub esi, edi
mov edi, esi
lea ebx, [ebx + ebx - 2]
lea edx, [ebx + edx*2]
or ebx, eax
sub edx, ebx
and edi, edx
or esi, edx
add edi, esi
shrd edi, edi, 0xd
lea esi, [ecx + ecx]
lea edx, [ecx + edi]
and ecx, edi
lea eax, [edi + edi]
mov ebx, eax
or eax, esi
xor ebx, esi
xor ebx, eax
add ecx, ecx
sub edx, ecx
mov esi, edx
xor edx, ebx
or esi, ebx
lea eax, [esi + esi]
sub eax, edx
mov edx, dword [esp + 0x1c5c]
mov edi, edx
not edi
lea ebx, [eax + eax]
xor eax, 0x93ededb
and ebx, 0x127dbdb6
lea esi, [ebx + eax]
mov eax, edx
and edi, esi
mov ebx, esi
neg ebx
xor eax, esi
lea ecx, [edi + edi]
sub ecx, eax
mov eax, edx
mov dword [esp + 0x1d28], ecx
lea ecx, [ebx - 1]
or eax, ecx
xor edx, ecx
xor eax, edx
mov edx, dword [esp + 0x1c58]
lea ecx, [eax + eax]
mov dword [esp + 0x1d2c], ecx
lea ecx, [esi + esi]
mov ebx, ecx
lea edi, [edx + edx - 0x28dac568]
and ebx, edi
xor ebx, edi
mov dword [esp + 0x1d30], ebx
lea eax, [ebx + esi*2]
mov esi, ecx
xor esi, eax
add ecx, ecx
not eax
lea edx, [eax + eax]
mov dword [esp + 0x1d34], edx
mov edx, ecx
and edx, dword [esp + 0x1d34]
sub esi, edx
mov dword [esp + 0x614], 0
lea ebx, [esi + esi]
lea edx, [edi + edi]
and ebx, edx
lea eax, [edi + esi]
mov edi, dword [esp + 0x1d28]
sub eax, ebx
mov ebx, dword [esp + 0x1d2c]
mov edx, dword [esp + 0x1d30]
lea esi, [edi + edi]
xor edi, ebx
lea ecx, [ebx + ebx]
or ecx, esi
lea ebx, [eax + eax]
sub ecx, edi
mov edi, ebx
add ecx, edx
lea esi, [ecx + ecx]
and edi, esi
xor ebx, esi
mov esi, eax
and esi, ecx
add ebx, edi
lea edi, [ebx + ebx]
add esi, esi
sub eax, esi
add ecx, eax
mov esi, ecx
xor ecx, ebx
not esi
lea eax, [esi + esi]
and eax, edi
sub eax, edx
mov edx, dword [esp + 4]
sub eax, ecx
mov dword [esp + 0x1d38], eax
mov dword [esp + 0x5b0], edx
test edx, edx
je 0x10022c79
mov dword [esp + 0x5b4], 0xf0dc8ecf
test byte [esp + 0x5b4], 1
je 0x10022c63
mov ebx, dword [esp + 0x5b0]
mov ecx, dword [esp + 0x5b4]
mov edx, dword [esp + 0x614]
lea eax, [ecx + ebx]
lea ebx, [edx + edx]
mov esi, ebx
lea edi, [eax + eax]
and esi, edi
xor ebx, edi
add esi, ebx
mov ebx, edx
and ebx, eax
or edx, eax
not ebx
not edx
sub ebx, edx
lea edi, [esi + esi]
mov eax, ebx
xor ebx, esi
not eax
add eax, eax
and edi, eax
sub edi, ecx
sub edi, ebx
mov dword [esp + 0x614], edi
shr dword [esp + 0x5b4], 1
lea edx, [esp + 0x5b0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10022c0f
mov ecx, dword [esp + 0x1c0]
mov ebx, ecx
xor ebx, 0x9e000000
or ecx, 0x9e000000
xor ebx, ecx
mov ecx, dword [esp]
mov esi, ecx
mov edx, ecx
xor esi, 0x61ffffff
or edx, 0x61ffffff
sub edx, esi
mov esi, ebx
not esi
mov edi, edx
mov eax, edx
and esi, edx
not edx
and edi, ebx
or eax, ebx
and edx, ebx
imul eax, edi
imul edx, esi
mov dword [esp + 0x2e4], 0
lea edi, [eax + edx]
mov eax, ecx
mov edx, ecx
or eax, 0x9e000000
mov esi, eax
lea ebx, [eax + 0x62000000]
xor edx, ebx
mov ebx, eax
and esi, edx
or ebx, edx
imul ebx, esi
mov esi, eax
mov dword [esp + 0x1d3c], ebx
not esi
mov ebx, edx
not edx
and ebx, esi
and eax, edx
lea esi, [esp + 0x1d40]
mov dword [esi], ebx
lea edx, [edi + edi]
imul eax, dword [esi]
mov esi, dword [esp + 0x1d3c]
lea ebx, [esi + eax]
xor edi, ebx
lea esi, [ebx + ebx]
or edx, esi
mov ebx, ecx
sub edx, edi
imul ebx, edx
mov esi, ebx
bswap esi
not esi
bswap esi
mov eax, esi
not eax
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x1d44], ebx
lea edi, [eax + eax]
and edx, edi
mov edi, ecx
sub edx, ecx
and edi, esi
lea eax, [edx + esi]
mov edx, ecx
xor edx, esi
lea esi, [edi + edx]
mov edx, ecx
mov edi, esi
and edx, 0x5e4a4175
xor edi, eax
not eax
and eax, esi
lea esi, [eax + eax]
mov eax, ecx
sub edi, esi
or eax, 0x5e4a4175
mov esi, dword [esp + 0x140]
and ecx, 0xa1b5be8a
and esi, 0x5e4a4175
not edi
imul eax, edx
imul ecx, esi
add eax, ecx
mov esi, eax
xor eax, 0xc746ab82
or esi, 0xc746ab82
lea edx, [esi + esi]
sub edx, eax
mov esi, edx
mov eax, edx
not esi
mov ecx, edx
and eax, 0x476e3922
and esi, 0xb891c6dd
or ecx, 0xb891c6dd
and edx, 0xb891c6dd
imul esi, eax
imul edx, ecx
lea ecx, [esi + edx]
imul eax, ecx, 0xbab564c5
not ecx
imul esi, ecx, 0x454a9b3a
not eax
not esi
sub eax, esi
mov edx, eax
and eax, 1
xor edx, 1
lea ecx, [edx + eax*2 - 1]
not ecx
neg ecx
lea esi, [ecx - 1]
mov eax, esi
mov edx, esi
and eax, ebx
not edx
xor eax, ebx
mov dword [esp + 0x1d48], eax
lea ebx, [eax + ecx - 1]
imul edx, ebx
not ebx
imul ebx, esi
mov esi, edi
not edx
neg esi
not ebx
sub edx, ebx
mov ecx, edx
lea eax, [esi - 2]
mov esi, edx
or esi, eax
xor ecx, eax
mov eax, edx
sub esi, ecx
neg eax
lea ebx, [eax - 1]
lea eax, [edi + 1]
mov dword [esp + 0x1d4c], eax
mov ecx, eax
or ecx, ebx
sub ecx, ebx
mov ebx, esi
xor ecx, eax
mov eax, esi
and eax, ecx
or ebx, ecx
imul ebx, eax
mov eax, esi
mov dword [esp + 0x1d50], ebx
not eax
mov ebx, ecx
not ecx
and ebx, eax
and esi, ecx
lea ecx, [esp + 0x1d54]
mov dword [ecx], ebx
lea ebx, [edx + edi]
imul esi, dword [ecx]
mov eax, dword [esp + 0x1d50]
mov edi, dword [esp + 0x1d4c]
lea ecx, [eax + esi]
mov esi, edx
mov eax, edx
or esi, edi
not eax
sub ebx, esi
and eax, edi
mov dword [esp + 0x1d58], ecx
lea ebx, [ebx + 1]
mov edi, ebx
add eax, edx
mov ecx, eax
not edi
not ecx
mov esi, eax
and edi, eax
and ecx, ebx
and esi, ebx
or eax, ebx
imul ecx, edi
imul eax, esi
mov ebx, dword [esp + 0x140]
lea edx, [ecx + eax]
mov eax, dword [esp]
mov esi, eax
mov ecx, eax
and esi, 0xd074851a
and ebx, 0x2f8b7ae5
and ecx, 0x2f8b7ae5
or eax, 0x2f8b7ae5
imul ebx, esi
imul eax, ecx
mov dword [esp + 0x1d5c], edx
lea edx, [ebx + eax]
mov esi, edx
not edx
xor esi, 0x17962c13
lea edi, [edx + edx]
and edi, 0x2f2c5826
sub esi, edi
mov edx, esi
mov ecx, esi
mov eax, esi
not edx
or ecx, 0x7bfcb2ed
and eax, 0x7bfcb2ed
and edx, 0x7bfcb2ed
and esi, 0x84034d12
imul eax, ecx
imul esi, edx
lea ebx, [eax + esi]
mov eax, dword [esp + 0x1d44]
mov edi, ebx
not ebx
mov edx, eax
xor edi, 0x3b9ffc69
shrd edx, eax, 2
lea esi, [ebx + ebx]
mov ebx, edx
and esi, 0x773ff8d2
not ebx
sub edi, esi
shrd edi, edi, 2
mov ecx, edi
add ebx, ebx
xor ecx, edx
and ecx, edx
lea esi, [edi + edi]
and ebx, esi
sub ebx, edi
add ecx, edi
lea esi, [ebx + edx]
mov edx, ecx
not ecx
xor edx, esi
and ecx, esi
mov ebx, dword [esp]
mov esi, ebx
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x15c]
sub edx, edi
lea edi, [eax + eax]
or ecx, edi
sub ecx, ebx
sub ecx, eax
or esi, ecx
sub esi, ebx
xor ecx, esi
shld edx, edx, 2
mov esi, edx
not esi
lea ebx, [ecx + ecx]
and ebx, edi
xor ecx, eax
lea eax, [ebx + ecx]
and esi, eax
mov edi, eax
or edi, edx
lea ebx, [eax + edx]
sub ebx, edi
mov edi, ebx
lea ecx, [esi + edx]
mov esi, ebx
or esi, ecx
and edi, ecx
imul edi, esi
mov esi, ebx
not esi
and esi, ecx
not ecx
and ecx, ebx
mov ebx, edx
imul ecx, esi
neg ebx
mov esi, eax
add ecx, edi
lea edi, [ebx - 1]
mov ebx, eax
neg eax
or ebx, edi
xor esi, edi
sub ebx, esi
lea esi, [eax - 1]
mov eax, ebx
mov edi, esi
xor esi, edx
or edi, edx
sub edi, esi
mov esi, ebx
mov edx, edi
and eax, edi
not edx
and esi, edx
mov edx, ebx
not edx
or ebx, edi
and edx, edi
imul edx, esi
imul ebx, eax
mov edi, dword [esp + 0x1d58]
lea eax, [edx + ebx]
mov esi, eax
xor eax, ecx
and esi, ecx
mov ebx, dword [esp + 0x1d5c]
mov ecx, ebx
xor ecx, edi
add edi, edi
lea edx, [eax + esi*2]
mov eax, dword [esp + 0x1d48]
lea esi, [eax + ecx]
lea ecx, [ebx + ebx]
and ecx, edi
add ecx, esi
mov ebx, ecx
or ebx, edx
mov esi, ebx
sub esi, ecx
xor esi, edx
add ebx, ebx
sub ebx, edx
sub ebx, ecx
mov edx, ebx
add esi, esi
or edx, esi
and ebx, esi
sub edx, eax
lea eax, [edx + ebx]
mov dword [esp + 0x90c], eax
mov eax, dword [esp]
mov dword [esp + 0x5b8], eax
test eax, eax
je 0x100230b9
test byte [esp + 0x90c], 1
je 0x100230a3
mov edi, dword [esp + 0x5b8]
mov edx, dword [esp + 0x2e4]
mov ebx, edx
mov esi, edx
lea ecx, [edi + 0x20a1963f]
and ebx, ecx
xor esi, ebx
mov ebx, edx
or ebx, ecx
xor edx, ecx
xor ebx, edx
lea eax, [esi + edi + 0x20a1963f]
mov esi, ebx
xor esi, eax
add eax, eax
lea ecx, [ebx + ebx]
and ecx, eax
lea edi, [esi + ecx - 0x20a1963f]
mov dword [esp + 0x2e4], edi
shr dword [esp + 0x90c], 1
lea edx, [esp + 0x5b8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10023055
mov eax, dword [esp]
mov dword [esp + 0x5bc], eax
mov dword [esp + 0x32c], 0
test eax, eax
je 0x10023132
test byte [esp + 0x2e4], 1
je 0x1002311c
mov esi, dword [esp + 0x5bc]
mov ebx, dword [esp + 0x32c]
mov edx, ebx
lea ecx, [esi + esi]
mov edi, ecx
not edi
and edx, edi
lea eax, [edx + edx]
sub eax, ebx
lea edx, [eax + esi*2]
mov eax, ebx
xor eax, ecx
or ebx, ecx
sub ebx, eax
lea eax, [ebx + ebx]
mov ecx, eax
xor eax, edx
or ecx, edx
lea edi, [ecx + ecx]
sub edi, esi
sub edi, eax
mov dword [esp + 0x32c], edi
shr dword [esp + 0x2e4], 1
lea edx, [esp + 0x5bc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100230d2
mov ecx, dword [esp + 0x1d38]
mov ebx, ecx
and ebx, 0xf6c12125
xor ecx, 0xf6c12125
mov esi, dword [esp + 0x32c]
bswap esi
lea eax, [ecx + ebx*2]
xor ebx, ebx
mov dword [esp + 0x1d60], eax
xor eax, eax
bswap eax
lea edi, [esi + esi]
mov ecx, eax
xor ecx, esi
not esi
mov dword [esp + 0x194], ebx
ror ebx, cl
lea edx, [eax + eax]
and edi, edx
lea edx, [edi + ecx]
mov edi, esi
or edi, eax
sub edi, esi
mov esi, edi
xor esi, edx
not edx
and edi, edx
mov edx, ebx
not edx
lea eax, [edi + edi]
sub esi, eax
mov eax, dword [esp + 0x32c]
ror eax, cl
and edx, eax
mov edi, eax
not edi
and edi, ebx
bswap esi
lea edx, [ebx + edx*2]
sub edx, eax
add eax, edi
lea edi, [eax + eax]
lea ebx, [edx + eax]
lea eax, [edx + edx]
mov edx, esi
and edi, eax
not edx
sub ebx, edi
rol ebx, cl
lea ecx, [esi + esi]
lea eax, [edx + edx]
lea edi, [ebx + ebx]
xor ecx, edi
and ecx, edi
and edi, eax
mov eax, dword [esp + 0x614]
add edi, esi
sub edi, ebx
lea ecx, [ecx + esi*2]
mov esi, edi
not esi
imul esi, ecx
not ecx
imul ecx, edi
mov ebx, dword [esp + 0x1d60]
not esi
not ecx
sub esi, ecx
mov ecx, dword [esp]
lea edx, [ebx + eax - 1]
not edx
mov dword [esp + 0x1d64], esi
mov dword [esp + 0x1d68], edx
mov dword [esp + 0x910], ecx
mov dword [esp + 0x5c0], ecx
test ecx, ecx
je 0x100232d9
test byte [esp + 0x910], 1
je 0x100232bf
mov edx, dword [esp + 0x5c0]
mov ecx, edx
mov eax, dword [esp + 0x194]
shrd ecx, edx, 0x1c
mov esi, eax
mov edi, ecx
shrd esi, eax, 0x1c
not edi
mov ebx, esi
and edi, esi
or ebx, ecx
xor esi, ecx
sub ebx, esi
mov esi, ebx
add edi, ecx
xor esi, edi
not edi
and ebx, edi
mov edi, eax
neg edi
lea ecx, [ebx + ebx]
mov ebx, edx
sub esi, ecx
lea ecx, [edi - 1]
not ebx
and ebx, ecx
shrd esi, esi, 4
lea edi, [edx + ebx]
mov edx, eax
xor edx, 1
add eax, eax
and eax, 2
add edx, eax
mov ecx, edx
xor edx, edi
or ecx, edi
lea ebx, [ecx + ecx]
sub ebx, edx
lea ecx, [esi + esi]
lea edi, [ebx + ebx]
add edi, edi
mov edx, edi
lea esi, [esi + ebx*2]
not edx
mov eax, edx
or eax, ecx
and ecx, edi
sub eax, edx
sub esi, ecx
mov ebx, esi
xor ebx, eax
lea edx, [esi + esi]
add eax, eax
and edx, eax
lea edi, [ebx + edx]
mov dword [esp + 0x194], edi
shr dword [esp + 0x910], 1
lea edx, [esp + 0x5c0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10023221
mov eax, dword [esp]
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2ec], 0
test eax, eax
je 0x10023404
test byte [esp + 0x194], 1
je 0x100233ea
mov eax, dword [esp + 0x2ec]
mov edi, dword [esp + 0x194]
mov edx, eax
xor edx, edi
mov dword [esp + 0x1ae0], edx
lea ecx, [eax + eax]
mov ebx, ecx
lea eax, [edi + edi]
and ebx, eax
lea eax, [edx + ebx]
mov ebx, dword [esp + 0x2e8]
mov edx, eax
ror edx, cl
mov esi, edx
mov edi, edx
ror ebx, cl
not esi
neg edx
xor edi, ebx
shld eax, eax, 0x19
neg eax
add esi, esi
add ebx, ebx
and esi, ebx
sub edi, esi
lea esi, [edx + edx - 2]
mov edx, ebx
or edx, esi
sub edx, esi
xor edx, ebx
mov ebx, edi
or ebx, edx
and edi, edx
lea edx, [ebx + edi]
rol edx, cl
lea ebx, [eax - 1]
mov ecx, dword [esp + 0x2e8]
mov edi, ebx
shld ecx, ecx, 0x19
and edi, ecx
mov esi, ebx
xor edi, ecx
not esi
lea ecx, [edi + eax - 1]
imul esi, ecx
not ecx
imul ecx, ebx
not esi
not ecx
sub esi, ecx
lea ecx, [edx + edx]
shld esi, esi, 7
mov ebx, dword [esp + 0x1ae0]
lea edi, [esi + esi]
mov esi, edx
sub edi, ebx
not esi
lea eax, [edi + edi]
and ecx, eax
add esi, esi
xor ecx, eax
and esi, eax
lea ecx, [ecx + edx*2]
add edx, esi
sub edx, edi
mov eax, edx
not eax
imul eax, ecx
not ecx
imul ecx, edx
not eax
not ecx
add eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x194]
mov ebx, ecx
not ebx
xor ecx, eax
lea edx, [eax + eax]
add ebx, ebx
and edx, ebx
sub edx, ecx
mov dword [esp + 0x2ec], edx
shr dword [esp + 0x194], 1
lea edx, [esp + 0x2e8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100232f6
mov dword [esp + 0x618], 0
mov dword [esp + 0x2f0], 0x10840000
test byte [esp + 0x2ec], 1
je 0x100234e6
mov ecx, dword [esp + 0x2f0]
mov eax, ecx
mov edx, ecx
neg edx
mov dword [esp + 0x1ae4], edx
rol eax, cl
mov ebx, eax
lea esi, [edx + ecx*2]
mov edx, ecx
not edx
mov dword [esp + 0x1ae8], edx
xor edx, edx
rol edx, cl
mov edi, edx
or ebx, edx
neg edi
xor ebx, eax
xor ebx, edx
neg ebx
lea ecx, [edi - 1]
mov edi, eax
and edi, edx
sub eax, edi
lea ebx, [ebx - 1]
sub ecx, eax
mov edi, ecx
xor edi, ebx
not ebx
add ecx, ecx
lea edx, [ebx + ebx]
mov ebx, dword [esp + 0x2f0]
and edx, ecx
sub ebx, esi
sub edi, edx
mov edx, dword [esp + 0x1ae8]
mov eax, edx
and eax, esi
mov esi, edx
neg esi
mov ecx, dword [esp + 0x1ae4]
rol edi, cl
lea ecx, [ebx + eax*2]
lea ebx, [esi + ecx*2]
mov ecx, ebx
mov eax, ebx
and ecx, edi
or eax, edi
not ecx
lea esi, [ebx + ebx]
not eax
lea ebx, [edi + edi]
mov edi, ebx
sub ecx, eax
or edi, esi
xor ebx, esi
xor edi, ebx
mov eax, ecx
xor eax, edi
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0x618]
add eax, edx
lea edx, [edi + edi]
mov edi, ecx
and edx, esi
lea ebx, [edx + eax]
xor edi, ebx
and ecx, ebx
lea esi, [edi + ecx*2]
mov dword [esp + 0x618], esi
shr dword [esp + 0x2ec], 1
lea edx, [esp + 0x2f0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002341a
mov edi, dword [esp]
mov esi, edi
mov edx, dword [esp + 0x140]
and esi, 0xb8c40000
or edx, 0xb8c40000
xor esi, 0xb8c40000
mov dword [esp + 0x330], 0
lea ebx, [edi + edx + 1]
lea eax, [edi + esi]
mov esi, ebx
not esi
mov edx, eax
mov ecx, eax
and esi, eax
not eax
and edx, ebx
or ecx, ebx
and eax, ebx
or edi, 0xb8c40000
imul ecx, edx
imul eax, esi
mov ebx, dword [esp + 0x5dc]
mov esi, ebx
or esi, 0xb8c40000
xor ebx, 0xb8c40000
sub esi, ebx
lea ebx, [edi + 0x473c0000]
mov edx, esi
add eax, ecx
mov ecx, ebx
not edx
not ecx
and edx, ebx
and ecx, esi
imul edx, ecx
mov ecx, esi
or ecx, ebx
and esi, ebx
imul esi, ecx
lea ebx, [edx + esi]
mov esi, eax
xor esi, ebx
lea edi, [ebx + ebx]
add eax, eax
and edi, eax
mov eax, dword [esp + 0x160]
lea ebx, [esi + edi]
mov esi, dword [esp + 4]
and eax, ebx
mov ecx, esi
mov edx, esi
or ecx, ebx
xor edx, ebx
xor ecx, edx
mov edi, ecx
lea edx, [esi + eax]
mov eax, ecx
or edi, edx
and eax, edx
imul eax, edi
mov edi, ecx
not edi
and edi, edx
not edx
and edx, ecx
imul edx, edi
mov edi, esi
mov dword [esp + 0x5c4], esi
lea ecx, [eax + edx]
mov eax, ebx
mov edx, esi
neg eax
lea eax, [eax - 1]
or edi, eax
sub edi, eax
mov eax, dword [esp + 0x154]
xor edx, edi
mov edi, eax
or edi, ebx
xor edi, ebx
xor eax, edi
mov edi, edx
mov ebx, eax
not ebx
and edi, ebx
mov ebx, edx
not ebx
and ebx, eax
imul ebx, edi
mov edi, eax
or edi, edx
and eax, edx
imul eax, edi
mov edx, ecx
lea edi, [ebx + eax]
mov ebx, esi
and edx, edi
or ecx, edi
mov edi, esi
lea eax, [edx + ecx]
mov ecx, esi
or ecx, eax
xor ebx, eax
sub ecx, ebx
and edi, eax
mov ebx, esi
mov edx, ecx
xor ebx, edi
mov edi, ecx
add ebx, eax
and edi, ebx
or edx, ebx
imul edx, edi
mov edi, ecx
not edi
and edi, ebx
not ebx
and ebx, ecx
imul ebx, edi
mov edi, dword [esp + 0x154]
lea ecx, [edx + ebx]
or edi, eax
sub edi, dword [esp + 0x308]
lea edx, [edi + 1]
mov edi, esi
xor edx, eax
neg eax
lea ebx, [eax - 1]
mov eax, esi
xor edi, ebx
or eax, ebx
xor edi, eax
mov eax, edi
mov ebx, edi
not eax
and eax, edx
mov dword [esp + 0x1d6c], eax
mov eax, edx
not eax
and ebx, eax
mov eax, edx
or eax, edi
and edx, edi
imul ebx, dword [esp + 0x1d6c]
imul edx, eax
mov eax, ecx
add ebx, edx
or eax, ebx
xor ecx, ebx
lea edi, [eax + eax]
sub edi, ecx
mov dword [esp + 0x914], edi
test esi, esi
je 0x100237da
test byte [esp + 0x914], 1
je 0x100237c0
mov edi, dword [esp + 0x5c4]
mov ecx, dword [esp + 0x330]
mov ebx, ecx
and ebx, edi
lea edx, [ecx + edi]
sub edx, ebx
lea ebx, [edi + edi]
mov eax, ebx
lea esi, [ecx + ecx]
or eax, esi
xor ecx, edi
sub eax, ecx
add edx, edx
mov ecx, edx
not ecx
imul ecx, eax
not eax
imul eax, edx
sub ecx, eax
lea eax, [esi + edi*2]
mov edi, esi
not esi
and edi, ebx
and esi, ebx
mov ebx, dword [esp + 0x330]
lea edx, [edi + edi]
sub eax, edx
lea edi, [esi + ebx*2]
mov edx, eax
not edx
imul edx, edi
not edi
imul eax, edi
sub edx, eax
not edx
lea edx, [edx + 1]
mov ebx, edx
mov edi, edx
mov esi, edx
not edx
or ebx, 0x86253f45
and edi, 0x86253f45
and esi, 0x79dac0ba
and edx, 0x86253f45
imul edi, ebx
imul edx, esi
lea esi, [edi + edx]
imul ebx, esi, 0x60ac898e
not esi
imul eax, esi, 0x9f537671
not ebx
not eax
sub ebx, eax
mov esi, ebx
mov edi, ebx
mov edx, ebx
not esi
or edi, 0x761e7b8d
and edx, 0x761e7b8d
and esi, 0x761e7b8d
and ebx, 0x89e18472
imul edx, edi
mov edi, ecx
imul ebx, esi
add edx, ebx
mov ebx, ecx
lea eax, [edx + edx]
xor edx, 0xd21e873d
or eax, 0xa43d0e7a
sub eax, edx
lea esi, [eax + 0x5bc2f186]
xor ebx, esi
or edi, esi
and ebx, esi
add ebx, ecx
xor ecx, edi
xor ecx, esi
lea esi, [ebx + ebx]
lea eax, [ecx + ecx]
xor ecx, ebx
and esi, eax
lea edx, [esi + ecx - 0x5bc2f186]
mov dword [esp + 0x330], edx
shr dword [esp + 0x914], 1
lea edx, [esp + 0x5c4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100236ad
mov ebx, dword [esp + 0x1d68]
mov edi, ebx
mov edx, dword [esp + 0x1d64]
mov ecx, edx
neg edi
not ecx
not ebx
neg edx
imul ecx, edi
imul edx, ebx
not ecx
not edx
sub ecx, edx
mov eax, dword [esp + 0x618]
mov edx, dword [esp + 0x330]
mov edi, edx
mov dword [esp + 0x334], 0
add ecx, eax
mov esi, ecx
mov eax, edx
neg esi
lea ebx, [esi - 1]
or edi, ebx
sub edi, ebx
mov ebx, edx
xor eax, edi
mov edi, ecx
not edi
imul ebx, edi
not ebx
lea esi, [eax + eax]
mov eax, edx
mov edi, esi
not eax
not edi
imul eax, ecx
add ecx, ecx
not eax
sub ebx, eax
imul edi, ebx
not ebx
imul ebx, esi
sub edi, ebx
lea ebx, [edx + edx]
mov esi, ebx
not esi
mov eax, esi
and eax, ecx
add esi, esi
lea edx, [eax + edx*2]
lea eax, [edx + edx]
xor edx, ebx
and eax, esi
mov esi, ecx
sub eax, edx
not ecx
sub esi, eax
lea ebx, [ecx + ecx]
add eax, eax
and ebx, eax
lea eax, [esi + ebx]
lea esi, [eax + eax]
mov edx, esi
lea ebx, [edi + edi + 0x14f960f6]
xor edx, ebx
or esi, ebx
xor edx, esi
lea ebx, [edi + 0xa7cb07b]
mov edi, ebx
not edi
and edi, eax
not eax
and eax, ebx
mov ebx, edx
lea ecx, [edi + eax]
mov eax, dword [esp]
and ebx, ecx
xor edx, ecx
mov esi, eax
lea edi, [edx + ebx*2]
mov ebx, eax
mov dword [esp + 0x1d70], edi
mov edi, dword [esp + 0x1c0]
or ebx, edi
xor esi, edi
mov ecx, ebx
sub ebx, eax
sub ecx, esi
xor edi, ebx
mov ebx, ecx
mov edx, edi
mov eax, ecx
not edx
not ebx
and eax, edx
and ebx, edi
imul ebx, eax
mov eax, ecx
or eax, edi
and ecx, edi
imul ecx, eax
mov edx, dword [esp + 0x1b44]
lea edi, [ebx + ecx]
mov eax, dword [esp + 0x310]
lea ebx, [edx - 0x7d1cb]
mov edx, eax
xor ebx, 0xfd044821
and edx, edi
and ebx, 0xe1000
xor eax, edi
lea esi, [ebx + 0x8110800]
mov dword [esp + 0x2f4], esi
lea edi, [eax + edx*2]
mov dword [esp + 0x918], edi
test byte [esp + 0x918], 1
je 0x10023d6b
mov edi, dword [esp + 0x334]
mov edx, edi
not edx
neg edx
mov ebx, dword [esp + 0x2f4]
lea ecx, [edx - 1]
mov dword [esp + 0x1aec], ecx
ror edi, cl
mov eax, edi
shld eax, edi, 0x1f
mov esi, eax
or eax, 1
and esi, 1
ror ebx, cl
lea ecx, [esi + eax]
not ecx
lea edx, [ebx + ebx]
lea esi, [ecx + 1]
shld esi, esi, 1
lea ecx, [esi + esi]
neg ecx
lea esi, [ecx - 1]
mov eax, esi
and eax, edx
xor eax, edx
lea ecx, [ecx + eax - 1]
mov eax, esi
xor eax, ecx
not ecx
and ecx, esi
lea esi, [ecx + ecx]
mov ecx, ebx
neg ecx
sub eax, esi
mov dword [esp + 0x1af0], eax
lea eax, [edi + edi]
lea ebx, [ebx + edi*2]
lea esi, [ecx - 1]
mov ecx, eax
or ecx, esi
sub ecx, eax
add eax, eax
xor ecx, esi
and eax, edx
sub ebx, eax
mov edx, ebx
lea esi, [ecx + ecx]
xor edx, esi
not esi
sub edx, edi
lea edi, [ebx + ebx]
lea ebx, [esi + esi]
mov esi, dword [esp + 0x1af0]
and edi, ebx
mov eax, esi
sub edx, edi
mov edi, esi
not edi
sub eax, edx
and edi, edx
lea ebx, [esi + esi]
add edx, edx
lea ecx, [edx + esi*2]
or edx, ebx
sub ecx, edx
lea eax, [eax + edi*2]
mov esi, ecx
xor ecx, eax
and esi, eax
xor edi, 0x1f
mov eax, dword [esp + 0x2f4]
lea ebx, [ecx + esi*2]
mov esi, dword [esp + 0x334]
mov ecx, dword [esp + 0x1aec]
add eax, eax
rol ebx, cl
lea ecx, [edi + 1]
neg ecx
mov dword [esp + 0x1af4], ebx
lea ebx, [esi + esi]
rol eax, cl
rol ebx, cl
mov edx, eax
or edx, ebx
mov dword [esp + 0x1af8], ecx
mov dword [esp + 0x1afc], edx
lea edi, [eax + eax]
mov esi, edi
lea ecx, [ebx + ebx]
or esi, ecx
add edx, edx
mov dword [esp + 0x1b00], esi
sub edx, eax
sub esi, edi
sub edx, ebx
xor esi, ecx
lea ecx, [edx + edx]
lea edi, [esi + esi]
xor esi, edx
and edi, ecx
mov edx, dword [esp + 0x1afc]
lea ecx, [edi + esi]
mov esi, dword [esp + 0x1b00]
mov edi, eax
sub esi, eax
xor edi, ebx
sub esi, ebx
sub edx, edi
mov eax, esi
xor eax, edx
and esi, edx
lea edi, [eax + esi*2]
mov esi, ecx
mov ebx, edi
neg ebx
lea edx, [ebx + 0x1f6d15df]
or esi, edx
lea ebx, [edi - 0x1f6d15e0]
or ebx, ecx
sub esi, ecx
xor esi, edx
lea eax, [ebx + ebx]
sub eax, ecx
add esi, esi
sub eax, edi
mov edi, dword [esp + 0x1af8]
lea eax, [eax + 0x1f6d15e0]
mov ecx, eax
lea edx, [edi + edi]
not ecx
imul ecx, esi
not esi
imul esi, eax
not ecx
not esi
sub ecx, esi
lea eax, [ecx - 0x1f6d15e0]
mov ecx, edi
xor ecx, 0x20
sub ecx, edx
rol eax, cl
mov ebx, eax
mov edi, eax
neg ebx
xor edi, 0x282dfdd4
lea ecx, [ebx - 1]
mov ebx, eax
mov esi, ecx
or ebx, 0x282dfdd4
xor esi, 0xd7d2022b
or ecx, 0xd7d2022b
sub ebx, edi
sub ecx, esi
mov edx, ebx
mov edi, ecx
not edx
mov esi, ecx
and edi, edx
not esi
mov edx, ecx
and esi, ebx
or edx, ebx
and ecx, ebx
mov ebx, eax
imul esi, edi
or ebx, 0xd7d2022b
imul ecx, edx
mov edx, eax
lea edi, [esi + ecx]
not edx
lea esi, [ebx + 0x282dfdd5]
and edx, 0xd7d2022b
xor esi, eax
mov ebx, esi
lea ecx, [edx + eax]
mov eax, esi
and ebx, ecx
or eax, ecx
imul eax, ebx
mov ebx, ecx
not ebx
mov edx, edi
and ebx, esi
not esi
and esi, ecx
imul esi, ebx
add eax, esi
or edx, eax
xor edi, eax
lea ecx, [edx + edx]
sub ecx, edi
mov esi, ecx
mov edx, ecx
mov ebx, ecx
not ecx
or esi, 0x479945f1
and edx, 0x479945f1
and ebx, 0xb866ba0e
and ecx, 0x479945f1
imul edx, esi
imul ecx, ebx
lea esi, [edx + ecx]
mov eax, esi
not eax
imul edi, eax, 0x33876c9e
imul edx, esi, 0xcc789363
not edi
not edx
sub edi, edx
mov ecx, edi
mov ebx, edi
mov esi, edi
not ecx
or ebx, 0x30e10b11
and esi, 0x30e10b11
and ecx, 0x30e10b11
and edi, 0xcf1ef4ee
imul esi, ebx
imul edi, ecx
add esi, edi
imul eax, esi, 0xab78ff81
not esi
imul edi, esi, 0x5487007e
not eax
not edi
sub eax, edi
mov edx, eax
and edx, 0x993f91c3
lea ecx, [eax + eax]
not eax
and eax, 0x66c06e3c
mov edi, ecx
and edi, 0xcd80dc78
xor edi, ecx
lea esi, [edx + eax]
mov ecx, esi
not ecx
lea ebx, [edi - 0x327f2388]
imul ecx, ebx
not ebx
imul ebx, esi
not ecx
not ebx
sub ecx, ebx
mov esi, ecx
mov edi, ecx
xor esi, 0xdc3cac83
and edi, 0xdc3cac83
mov eax, ecx
or eax, 0xdc3cac83
sub eax, esi
mov edx, eax
lea ebx, [esi + edi]
mov edi, ebx
mov esi, eax
not edi
not edx
and edi, eax
or esi, ebx
and eax, ebx
and edx, ebx
imul eax, esi
mov esi, ecx
imul edi, edx
mov ebx, ecx
neg ecx
or esi, 0x23c3537c
add eax, edi
xor esi, 0x23c3537c
xor ebx, esi
mov edi, ebx
lea esi, [ecx - 1]
mov edx, esi
or edx, 0xdc3cac83
xor edx, esi
mov esi, ebx
xor edx, 0xdc3cac83
and edi, edx
or esi, edx
imul esi, edi
mov edi, edx
not edi
and edi, ebx
not ebx
and edx, ebx
imul edx, edi
mov dword [esp + 0x1b04], ecx
lea ebx, [esi + edx]
lea esi, [eax + eax]
xor eax, ebx
lea edi, [ebx + ebx]
and esi, edi
lea edi, [esi + eax]
mov ecx, edi
mov esi, edi
neg edi
and ecx, 0x4498b8b4
or esi, 0x4498b8b4
not ecx
not esi
sub ecx, esi
lea edx, [edi - 1]
mov edi, ecx
or edx, 0xbb67474b
not edi
lea ebx, [edx + edx - 0x76ce8e96]
imul edi, ebx
not ebx
imul ecx, ebx
sub edi, ecx
mov ecx, dword [esp + 0x1af4]
lea edx, [ecx + ecx]
mov dword [esp + 0x1b08], edx
shrd edx, edx, 0x19
mov esi, edx
lea eax, [edi + edi]
neg esi
shrd eax, eax, 0x19
not eax
lea ebx, [esi - 1]
mov esi, eax
or esi, ebx
lea ebx, [edx + edx]
sub esi, eax
lea eax, [esi + esi]
xor esi, edx
mov edx, ecx
or eax, ebx
not edx
sub eax, esi
or edx, edi
mov esi, dword [esp + 0x1b08]
shrd eax, eax, 7
lea edx, [esi + edx*2 + 2]
mov ebx, edx
not ebx
and ebx, edi
xor edi, edx
lea esi, [ebx + ebx]
sub esi, edi
mov edx, esi
xor esi, ecx
or edx, ecx
mov edi, dword [esp + 0x1b04]
lea ebx, [edi + edx*2 - 1]
sub ebx, esi
mov ecx, ebx
neg ecx
lea esi, [ecx - 1]
mov edx, esi
xor esi, eax
or edx, eax
sub edx, esi
lea esi, [edx + edx]
mov edx, eax
not eax
sub edx, ebx
and ebx, eax
lea ecx, [edx + ebx*2]
mov eax, ecx
xor ecx, esi
not eax
and eax, esi
lea edi, [edi + eax*2 - 1]
sub edi, ecx
mov dword [esp + 0x334], edi
shr dword [esp + 0x918], 1
lea edx, [esp + 0x2f4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10023927
mov ebx, dword [esp + 0x1d70]
mov dword [esp + 0x61c], 0
lea edi, [ebx - 0xa7cb07b]
mov ecx, edi
mov eax, edi
not ecx
mov esi, edi
and eax, 0x6ea0115a
and ecx, 0x915feea5
or esi, 0x915feea5
and edi, 0x915feea5
imul ecx, eax
lea ebx, [ebx + ebx - 0x14f960f6]
imul edi, esi
lea edx, [ecx + edi]
mov ecx, edx
and edx, 0xcb245466
xor ecx, 0x4b245466
lea edx, [ecx + edx*2]
mov edi, edx
mov eax, edx
not edi
mov ecx, edx
and eax, 0xab21b6d2
and edi, 0x54de492d
and ecx, 0x54de492d
or edx, 0x54de492d
imul edi, eax
imul edx, ecx
lea esi, [edi + edx]
mov edi, esi
or esi, 0xc6181412
and edi, 0xc6181412
lea ecx, [edi + esi]
mov esi, dword [esp + 0x334]
lea edx, [ecx + ecx]
lea edi, [esi + esi]
mov eax, edi
xor eax, edx
and eax, edx
lea edx, [eax + esi*2]
mov dword [esp + 0x9b0], edx
mov eax, esi
mov edx, esi
or eax, ecx
and edx, ecx
lea ecx, [eax + edx]
mov edx, dword [esp + 0x9b0]
mov eax, ecx
not edx
not eax
imul eax, dword [esp + 0x9b0]
imul edx, ecx
not eax
not edx
sub eax, edx
lea edx, [ebx + esi*2]
mov esi, ebx
mov ecx, edi
not esi
and ecx, ebx
and esi, edi
sub edx, ecx
lea ecx, [esi + esi]
mov esi, edx
sub ecx, edi
not edx
add ebx, ecx
and edx, ebx
xor esi, ebx
lea edi, [edx + edx]
sub esi, edi
mov ecx, esi
and ecx, eax
xor ecx, esi
lea edx, [esi + eax]
or esi, eax
sub edx, esi
mov dword [esp + 0x1d78], edx
lea ebx, [eax + ecx]
mov ecx, dword [esp]
mov dword [esp + 0x1d74], ebx
mov edx, ecx
mov ebx, ecx
mov edi, ecx
mov eax, dword [esp + 0x140]
and edx, 0x60b392
and eax, 0xff9f4c6d
or ebx, 0xff9f4c6d
and edi, 0xff9f4c6d
imul eax, edx
imul edi, ebx
lea esi, [eax + edi]
mov edx, esi
xor esi, 0xe07cf102
and edx, 0xe07cf102
lea edi, [esi + edx*2]
mov eax, edi
mov ebx, edi
not eax
mov edx, edi
and eax, 0x8689d65
and ebx, 0xf797629a
or edx, 0x8689d65
and edi, 0x8689d65
imul ebx, eax
imul edi, edx
add ebx, edi
mov eax, ebx
and ebx, 0xd616b036
or eax, 0xd616b036
lea esi, [eax + ebx]
bswap esi
neg esi
lea edx, [esi - 1]
mov esi, ecx
bswap edx
xor esi, 0xd30767ff
shrd edx, edx, 4
mov edi, edx
and ecx, 0xd30767ff
and edi, 0xfd30767f
xor edi, edx
lea eax, [edi - 0x2cf8981]
mov edi, dword [esp + 0x15c]
imul ebx, eax, 0x2cf8980
not eax
imul edx, eax, 0xfd30767f
and edi, 0xa60ecffe
not ebx
not edx
sub ebx, edx
shld ebx, ebx, 4
lea edx, [edi + esi]
lea edi, [esi + ecx]
mov esi, edx
not esi
imul esi, edi
not edi
imul edi, edx
sub esi, edi
mov edi, ebx
mov edx, esi
neg edi
neg edx
mov ecx, esi
lea edi, [edi - 1]
or ecx, edi
lea edx, [edx - 1]
mov eax, edx
or edx, ebx
xor eax, ebx
sub edx, eax
mov eax, esi
xor eax, edi
mov edi, edx
sub ecx, eax
mov eax, ecx
not eax
and edi, eax
mov eax, edx
mov dword [esp + 0x1d7c], edi
not eax
mov edi, ecx
and edi, eax
mov eax, ecx
and eax, edx
or ecx, edx
imul edi, dword [esp + 0x1d7c]
imul ecx, eax
mov eax, esi
add edi, ecx
mov ecx, esi
and esi, ebx
xor ecx, ebx
or eax, ebx
sub eax, ecx
mov ebx, eax
lea edx, [esi + ecx]
mov esi, eax
mov ecx, edx
or ebx, edx
not ecx
and esi, edx
and ecx, eax
not eax
and eax, edx
imul esi, ebx
lea ebx, [edi + edi]
imul eax, ecx
add esi, eax
xor edi, esi
lea edx, [esi + esi]
or edx, ebx
mov ebx, dword [esp]
sub edx, edi
mov dword [esp + 0x1d80], edx
mov edx, ebx
shrd edx, ebx, 0x1a
mov eax, edx
mov esi, edx
and eax, 0x3e26000b
xor esi, 0x3e26000b
and esi, edx
lea ecx, [edx + 0x3e26000b]
lea edi, [eax + eax]
sub ecx, edi
lea eax, [esi + 0x3e26000b]
mov edx, ecx
mov edi, ecx
or edx, eax
and edi, eax
mov eax, 0x2cf89800
sub edx, edi
ror eax, cl
mov esi, eax
ror ebx, cl
not esi
and esi, ebx
neg ecx
shrd edx, edx, 6
lea edi, [esi + esi]
sub edi, ebx
lea esi, [edi + eax]
mov edi, esi
or esi, ebx
xor edi, ebx
lea ebx, [eax + eax]
sub esi, edi
lea edi, [esi + esi]
xor esi, eax
and edi, ebx
lea eax, [edi + esi]
ror eax, cl
mov ecx, edx
not ecx
mov ebx, ecx
and ecx, eax
or ebx, eax
lea edi, [edx + ebx + 1]
mov esi, edi
lea ebx, [ecx + edx]
mov ecx, edi
or esi, ebx
and ecx, ebx
imul ecx, esi
mov esi, ebx
not esi
and esi, edi
not edi
and edi, ebx
mov ebx, eax
imul edi, esi
neg ebx
add edi, ecx
lea ecx, [ebx - 1]
mov ebx, ecx
or ebx, edx
sub ebx, edx
neg edx
xor ebx, ecx
lea ecx, [edx - 1]
or ecx, eax
lea esi, [eax + edx - 1]
sub esi, ecx
mov eax, esi
mov ecx, esi
or eax, ebx
and ecx, ebx
imul ecx, eax
mov eax, ebx
not eax
and eax, esi
not esi
and ebx, esi
imul ebx, eax
lea edx, [ecx + ebx]
mov ecx, edx
xor edx, edi
and ecx, edi
mov edi, dword [esp + 0x1d80]
lea ebx, [edx + ecx*2 - 0x2cd5048]
lea edx, [edi + ebx]
lea eax, [ebx + ebx]
not ebx
lea esi, [edi + edi]
or edi, ebx
sub edi, ebx
and eax, esi
sub edx, eax
mov ecx, edx
lea eax, [edi + edi]
or ecx, eax
and edx, eax
mov eax, dword [esp + 4]
mov dword [esp + 0x5c8], eax
lea esi, [ecx + edx + 0x2cd5048]
mov dword [esp + 0x91c], esi
test eax, eax
je 0x10024175
test byte [esp + 0x91c], 1
je 0x1002415f
mov ebx, dword [esp + 0x5c8]
mov eax, dword [esp + 0x61c]
lea edx, [ebx + ebx]
lea ecx, [edx + edx]
mov esi, ecx
lea edi, [eax + eax]
xor esi, edi
or ecx, edi
sub ecx, esi
lea esi, [eax + ebx*2]
and eax, edx
lea edx, [eax + eax]
mov eax, ecx
sub esi, edx
and eax, esi
xor ecx, esi
lea edi, [eax + eax]
sub edi, ebx
lea ebx, [edi + ecx]
mov dword [esp + 0x61c], ebx
shr dword [esp + 0x91c], 1
lea edx, [esp + 0x5c8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10024117
mov edx, dword [esp + 0x1d78]
mov ecx, dword [esp + 0x1d74]
mov eax, dword [esp + 0x61c]
mov dword [esp + 0x620], 0
lea esi, [edx + edx]
lea ebx, [ecx + ecx]
xor ecx, edx
and esi, ebx
lea ebx, [esi + ecx]
mov ecx, dword [esp + 4]
imul edi, ecx, 0xf97a8600
mov edx, ecx
imul edx, edi
add eax, ebx
lea esi, [eax + eax]
mov ebx, esi
lea edi, [edx + edx]
or ebx, edi
sub ebx, esi
lea esi, [eax + edx]
and eax, edx
xor ebx, edi
mov dword [esp + 0x1d84], ebx
lea edx, [eax + eax]
mov eax, ecx
sub esi, edx
xor eax, 0xb9c23575
mov dword [esp + 0x1d88], esi
mov esi, ecx
or esi, 0xb9c23575
mov ebx, esi
mov edi, esi
sub ebx, eax
mov eax, esi
and edi, ebx
or eax, ebx
imul eax, edi
mov edi, ebx
not edi
mov edx, esi
and edx, edi
mov edi, esi
not edi
and ebx, edi
imul ebx, edx
lea edi, [eax + ebx]
mov ebx, dword [esp + 0x154]
mov edx, ebx
mov eax, ecx
or edx, 0xb9c23575
or eax, 0x463dca8a
xor ecx, eax
xor ecx, 0x463dca8a
mov eax, ecx
not eax
lea edx, [edx + 0x463dca8b]
xor ebx, edx
mov edx, ebx
not edx
and edx, ecx
mov dword [esp + 0x1d8c], edx
mov edx, ebx
and edx, eax
mov eax, ecx
and eax, ebx
or ecx, ebx
imul edx, dword [esp + 0x1d8c]
imul ecx, eax
add edx, ecx
mov ebx, edx
and edx, edi
or ebx, edi
sub ebx, esi
add edx, ebx
mov edi, edx
mov eax, edx
or edi, 0xd6f03cd2
or eax, 0x290fc32d
sub edi, edx
and edx, 0x290fc32d
xor edi, 0xd6f03cd2
sub eax, edx
mov ecx, eax
lea ebx, [edi + edi]
xor ecx, ebx
not ebx
and eax, ebx
lea edx, [esi + ecx]
lea esi, [eax + eax]
sub edx, esi
mov eax, edx
mov edi, edx
neg eax
or edi, 0x496b32dd
lea ecx, [eax - 1]
mov ebx, ecx
or ecx, 0x496b32dd
xor ebx, 0x496b32dd
sub ecx, ebx
lea ebx, [edi - 0x496b32dd]
mov eax, ecx
mov esi, ecx
and eax, ebx
or esi, ebx
imul esi, eax
mov eax, ecx
not eax
and eax, ebx
not ebx
and ecx, ebx
imul ecx, eax
mov eax, edx
or eax, 0xb694cd22
add ecx, esi
mov esi, edx
not esi
and esi, 0x496b32dd
lea eax, [eax + 0x496b32de]
mov ebx, eax
not ebx
add edx, esi
mov edi, edx
mov esi, edx
not edi
and ebx, edx
and edi, eax
or esi, eax
and edx, eax
imul ebx, edi
imul edx, esi
lea esi, [ebx + edx]
mov eax, esi
xor esi, ecx
or eax, ecx
lea edx, [eax + eax]
sub edx, esi
mov edi, edx
and edi, 0x18990b07
lea ecx, [edx + edx]
not ecx
and ecx, 0x3132160e
lea esi, [edi + edi]
lea eax, [ecx + edx*2]
sub edx, esi
lea ebx, [edx + 0x18990b07]
mov edx, eax
not edx
imul edx, ebx
not ebx
imul ebx, eax
sub edx, ebx
mov eax, dword [esp + 0x30c]
mov esi, eax
lea edi, [edx - 0x290fc32e]
mov dword [esp + 0x1d90], edi
mov ecx, edi
bswap ecx
and esi, ecx
mov dword [esp + 0x1d94], ecx
lea ebx, [eax + ecx]
mov dword [esp + 0x1d98], ebx
sub ebx, esi
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0x1d98]
add eax, eax
and esi, eax
mov eax, ebx
sub ecx, esi
not ebx
xor eax, ecx
lea esi, [ecx + ecx]
lea ecx, [ebx + ebx]
and esi, ecx
mov ecx, dword [esp + 4]
mov ebx, ecx
and ebx, edi
sub eax, esi
bswap eax
lea esi, [ecx + edx]
lea edx, [edx + edx - 0x521f865c]
add ebx, ebx
sub esi, ebx
lea ebx, [esi - 0x290fc32e]
mov esi, ecx
or esi, ebx
xor ecx, ebx
sub esi, ecx
lea ebx, [esi + esi]
xor esi, edi
and edx, ebx
mov ebx, eax
neg ebx
lea ecx, [edx + esi]
mov edi, ecx
neg edi
lea edx, [edi - 1]
mov edi, ecx
mov esi, edx
or edx, eax
xor esi, eax
sub edx, esi
lea esi, [ebx - 1]
or edi, esi
xor edi, ecx
xor edi, esi
mov ebx, edi
mov esi, edi
and ebx, edx
or esi, edx
imul esi, ebx
mov ebx, edx
not ebx
and ebx, edi
not edi
and edx, edi
imul edx, ebx
mov ebx, ecx
xor ebx, eax
add esi, edx
mov edx, ecx
and ecx, eax
or edx, eax
xor edx, ebx
lea edi, [ebx + ecx]
mov ecx, edx
mov eax, edi
mov ebx, edx
not eax
not ecx
and ebx, eax
mov eax, edx
and ecx, edi
and eax, edi
or edx, edi
imul ebx, ecx
imul edx, eax
lea edi, [ebx + edx]
lea eax, [esi + esi]
lea ecx, [edi + edi]
xor edi, esi
and eax, ecx
mov ecx, dword [esp + 0x1d94]
lea esi, [eax + edi]
mov eax, dword [esp + 4]
mov edx, eax
mov ebx, eax
or edx, 1
and ebx, 1
mov edi, ecx
not edi
mov dword [esp + 0x1d9c], esi
lea ebx, [edx + ebx - 1]
not ebx
bswap ebx
and edi, ebx
mov edx, ebx
not edx
lea esi, [edi + ecx]
imul edx, esi
not esi
imul esi, ebx
not edx
not esi
sub edx, esi
mov esi, dword [esp + 0x1d90]
mov edi, esi
and edi, 1
xor esi, 1
lea ebx, [edx + ecx]
and edx, ecx
lea ecx, [edx + edx]
sub ebx, ecx
lea ecx, [esi + edi*2 - 1]
not ecx
mov edx, ebx
mov esi, ecx
mov ebx, ecx
and esi, 0xd5e56f81
or ebx, 0xd5e56f81
imul ebx, esi
mov esi, ecx
not esi
and ecx, 0x2a1a907e
and esi, 0xd5e56f81
imul ecx, esi
bswap edx
lea esi, [ebx + ecx]
mov edi, esi
not esi
and esi, 0x2c8db526
xor edi, 0xac8db526
add esi, esi
sub edi, esi
mov esi, edi
mov ebx, edi
not esi
mov ecx, edi
and ebx, 0xae352f7e
and esi, 0x51cad081
and ecx, 0x51cad081
or edi, 0x51cad081
imul esi, ebx
imul edi, ecx
lea ecx, [esi + edi]
mov esi, ecx
not esi
imul edi, esi, 0xc932826
imul esi, ecx, 0xf36cd7db
not edi
not esi
sub edi, esi
mov esi, eax
and esi, edi
lea ecx, [eax + edi]
xor eax, esi
lea ebx, [esi + esi]
sub ecx, ebx
lea ebx, [edi + eax]
mov esi, ebx
not esi
lea eax, [ecx + ecx]
xor ecx, ebx
lea edi, [esi + esi]
mov esi, edx
and eax, edi
neg esi
sub eax, ecx
lea ecx, [esi - 1]
lea eax, [eax - 1]
not eax
mov edi, eax
mov esi, eax
xor edi, ecx
or esi, ecx
mov ecx, eax
sub esi, edi
neg ecx
lea ecx, [ecx - 1]
mov ebx, ecx
or ebx, edx
sub ebx, edx
xor ebx, ecx
mov edi, ebx
mov ecx, ebx
and edi, esi
or ecx, esi
imul ecx, edi
mov edi, ebx
not edi
and edi, esi
not esi
and ebx, esi
mov esi, edx
imul ebx, edi
not esi
or esi, eax
add ebx, ecx
mov ecx, eax
xor eax, edx
and ecx, edx
lea edi, [edx + esi + 1]
mov edx, edi
not edx
add eax, ecx
mov ecx, eax
and edx, eax
not ecx
and ecx, edi
imul ecx, edx
mov edx, eax
or edx, edi
and eax, edi
imul eax, edx
lea edx, [ecx + eax]
mov esi, edx
and edx, ebx
or esi, ebx
lea eax, [esi + edx]
mov esi, dword [esp + 0x1d9c]
mov ecx, esi
lea edi, [eax + eax]
not ecx
and ecx, eax
lea ebx, [esi + esi]
not ebx
mov edx, ebx
or edx, edi
sub edx, ebx
lea esi, [esi + ecx*2]
sub esi, eax
mov eax, edx
or eax, esi
and edx, esi
add eax, edx
mov edx, dword [esp + 4]
imul edi, edx, 0xe7f00000
mov ecx, edx
imul ecx, edi
imul eax, ecx
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x5cc], edx
test edx, edx
je 0x1002475d
test byte [esp + 0x2f8], 1
je 0x10024743
mov ecx, dword [esp + 0x2f8]
mov ebx, ecx
mov eax, dword [esp + 0x5cc]
not ebx
mov edx, eax
xor ecx, eax
and edx, ebx
lea ebx, [edx + edx]
mov edx, dword [esp + 0x620]
sub ebx, ecx
mov eax, edx
not eax
mov edi, ebx
or edi, eax
mov esi, edx
sub edi, eax
add edi, edi
mov ecx, edi
not ecx
imul esi, ecx
mov ecx, eax
imul ecx, edi
not esi
not ecx
sub esi, ecx
mov edi, ebx
mov ecx, ebx
and edi, esi
or ecx, esi
and eax, 0x412673f5
lea esi, [edi + ecx]
mov edi, edx
mov ecx, edx
and edi, 0x412673f5
or ecx, 0x412673f5
and edx, 0xbed98c0a
imul ecx, edi
imul edx, eax
lea eax, [ecx + edx]
mov ecx, eax
not eax
and eax, 0xb67117
xor ecx, 0xb67117
lea edi, [eax + eax]
sub ecx, edi
mov edi, ecx
mov edx, ecx
not edi
and edx, 0xa8239fa2
and edi, 0x57dc605d
imul edx, edi
mov edi, ecx
and edi, 0x57dc605d
or ecx, 0x57dc605d
imul ecx, edi
lea eax, [edx + ecx]
mov edi, eax
not edi
imul edx, edi, 0xad73b55b
imul edi, eax, 0x528c4aa6
not edx
not edi
sub edx, edi
lea eax, [edx + edx]
shrd eax, eax, 0xd
mov ecx, eax
lea edx, [ebx + ebx]
shrd edx, edx, 0xd
mov ebx, edx
not ecx
not ebx
and ebx, eax
lea edi, [ebx + edx]
imul ecx, edi
not edi
imul edi, eax
not ecx
not edi
sub ecx, edi
lea ebx, [edx + edx]
mov eax, ecx
not eax
lea edi, [eax + eax]
and edi, ebx
sub edi, edx
lea ebx, [edi + ecx]
mov ecx, esi
shld ebx, ebx, 0xd
or ecx, ebx
lea edi, [esi + esi]
and esi, ebx
sub ecx, esi
lea edx, [ebx + ebx]
mov eax, edx
xor edx, edi
and eax, edi
mov ebx, dword [esp + 0x2f8]
lea edi, [eax + edx]
mov eax, ecx
not eax
xor ecx, edi
and eax, edi
mov edi, ebx
lea edx, [eax + eax]
sub edx, ecx
or edi, edx
and ebx, edx
lea esi, [edi + ebx]
mov dword [esp + 0x620], esi
shr dword [esp + 0x2f8], 1
lea edx, [esp + 0x5cc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100245f6
mov eax, dword [esp + 4]
mov dword [esp + 0x5d0], eax
mov dword [esp + 0x2fc], 0
test eax, eax
je 0x100247de
mov dword [esp + 0x920], 0xd800000
test byte [esp + 0x920], 1
je 0x100247c8
mov ecx, dword [esp + 0x5d0]
mov edx, dword [esp + 0x2fc]
mov ebx, ecx
mov esi, edx
not ebx
mov edi, edx
not esi
mov eax, ecx
and edi, ebx
and eax, esi
add ecx, ecx
lea ebx, [edx + edx]
lea edx, [ecx + edx*2]
or ecx, ebx
sub edx, ecx
mov esi, edx
add eax, edi
or esi, eax
and edx, eax
lea edi, [esi + edx]
mov dword [esp + 0x2fc], edi
shr dword [esp + 0x920], 1
lea edx, [esp + 0x5d0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10024782
mov eax, dword [esp]
mov dword [esp + 0x300], eax
mov dword [esp + 0x624], 0
test eax, eax
je 0x100248fd
test byte [esp + 0x2fc], 1
je 0x100248e3
mov ecx, dword [esp + 0x300]
mov edx, ecx
mov eax, dword [esp + 0x624]
not edx
mov ebx, eax
not eax
imul ebx, edx
mov edx, ecx
imul edx, eax
not ebx
not edx
sub ebx, edx
lea esi, [ecx + ecx]
mov dword [esp + 0x1b0c], esi
lea eax, [ebx + ebx]
bswap ebx
mov edi, eax
not edi
and edi, esi
lea edx, [eax + edi*2]
sub edx, esi
lea edi, [eax + ecx*2]
or eax, esi
sub edi, eax
bswap ecx
lea esi, [edx + edx]
xor edx, edi
lea eax, [edi + edi]
mov edi, ebx
and esi, eax
lea eax, [ecx + ecx]
xor edi, ecx
mov dword [esp + 0x1b10], edi
mov edi, eax
add edx, esi
mov esi, ebx
neg ebx
not esi
lea ebx, [ebx + ebx - 2]
add esi, esi
and edi, esi
lea ecx, [ebx + ecx*2]
or ebx, eax
sub ecx, ebx
mov esi, dword [esp + 0x1b10]
mov eax, ecx
sub esi, edi
mov edi, edx
and eax, esi
xor ecx, esi
not edi
mov esi, edx
neg edx
lea eax, [ecx + eax*2]
bswap eax
lea ebx, [edi + edi]
sub esi, eax
lea ecx, [eax + eax]
and ecx, ebx
add ecx, esi
mov ebx, ecx
lea esi, [edx - 1]
or esi, eax
lea edx, [eax + edx - 1]
sub edx, esi
not ecx
lea eax, [edx + edx]
mov edx, dword [esp + 0x300]
and ecx, eax
xor ebx, eax
mov eax, dword [esp + 0x1b0c]
lea edi, [ecx + ecx]
sub ebx, edi
xor edx, ebx
lea edi, [ebx + ebx]
and eax, edi
lea ecx, [eax + edx]
mov dword [esp + 0x624], ecx
shr dword [esp + 0x2fc], 1
lea edx, [esp + 0x300]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100247fb
mov eax, dword [esp + 4]
mov ebx, eax
mov esi, eax
mov edx, eax
mov edi, dword [esp + 0x624]
xor ebx, edi
and esi, edi
or edx, edi
mov ecx, eax
xor ecx, edx
mov edx, edi
xor edx, ecx
mov dword [esp + 0x5d4], eax
lea ecx, [ebx + esi]
mov esi, edx
mov ebx, edx
or esi, ecx
and ebx, ecx
imul ebx, esi
mov esi, ecx
not esi
and esi, edx
not edx
and edx, ecx
mov ecx, edi
imul edx, esi
neg ecx
mov esi, eax
add edx, ebx
mov dword [esp + 0x628], 0
lea ebx, [ecx - 1]
mov ecx, eax
or esi, ebx
xor ecx, ebx
xor ecx, esi
mov esi, edi
mov ebx, dword [esp + 0x154]
or esi, ebx
xor edi, ebx
xor esi, edi
mov edi, ecx
mov ebx, esi
not edi
not ebx
and edi, esi
and ebx, ecx
imul edi, ebx
mov ebx, esi
or ebx, ecx
and esi, ecx
imul esi, ebx
lea ecx, [edx + edx]
add esi, edi
lea ebx, [esi + esi]
xor esi, edx
and ecx, ebx
lea edx, [ecx + esi]
mov ecx, dword [esp]
imul ecx, edx
mov dword [esp + 0x924], ecx
test eax, eax
je 0x100249f7
test byte [esp + 0x924], 1
je 0x100249e1
mov ebx, dword [esp + 0x5d4]
mov eax, dword [esp + 0x628]
mov esi, eax
mov edi, eax
lea edx, [ebx + ebx]
xor esi, edx
and edi, edx
or eax, edx
sub eax, esi
mov edx, eax
lea ecx, [esi + edi]
or edx, ecx
xor eax, ecx
lea esi, [edx + edx]
sub esi, ebx
sub esi, eax
mov dword [esp + 0x628], esi
shr dword [esp + 0x924], 1
lea edx, [esp + 0x5d4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100249a3
mov edx, dword [esp + 0x1d84]
mov esi, edx
mov ecx, dword [esp + 0x1d88]
or esi, ecx
xor edx, ecx
mov edi, dword [esp + 0x620]
mov eax, dword [esp + 0x628]
mov ecx, eax
and ecx, 0x4cc5fe28
lea ebx, [esi + esi]
sub ebx, edx
mov edx, eax
and edx, 0xb33a01d7
lea esi, [edi + ebx]
mov edi, eax
not edi
or eax, 0xb33a01d7
and edi, 0xb33a01d7
imul edi, ecx
imul eax, edx
add edi, eax
mov ecx, edi
and edi, 0xe3659501
xor ecx, 0xe3659501
lea ebx, [ecx + edi*2]
mov eax, ebx
mov ecx, ebx
not eax
mov edx, ebx
and eax, 0xd0bd81e7
and ecx, 0x2f427e18
or edx, 0xd0bd81e7
and ebx, 0xd0bd81e7
imul ecx, eax
imul ebx, edx
lea edi, [ecx + ebx]
xor ebx, ebx
lea edx, [edi + edi]
xor edi, 0x327bf4e7
and edx, 0x9b081630
lea ecx, [esi + esi]
sub edx, edi
lea edi, [edx + edx - 0x667403b0]
mov eax, edi
xor eax, ecx
and eax, ecx
add eax, edi
lea edi, [edx + esi]
lea edx, [edx - 0x333a01d8]
and edx, esi
lea esi, [edx + edx]
sub edi, esi
lea esi, [edi + 0x4cc5fe28]
mov edx, esi
xor edx, eax
not eax
and eax, esi
lea ecx, [eax + eax]
sub edx, ecx
cmp edx, 0x3f999dd4
setne bl
mov dword [esp + 0x978], ebx
xor eax, eax
cmp dword [esp + 0x978], 0
mov edx, dword [esp + 8]
sete al
add edx, dword [esp + 0x110]
mov dword [esp + 0x9dc], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x120]
cmp eax, dword [esp + 0x7c]
jne 0x10024b29
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0x9e0], 0
jmp 0x10024f54
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x68]
jne 0x10024b4f
mov eax, dword [esp + 0xa88]
imul eax, dword [esp + 0x28]
mov edx, dword [esp + 0x114]
jmp 0x10024f4e
mov eax, dword [esp + 8]
lea edx, [esp + 0x74]
sub eax, dword [edx]
cmp eax, dword [edx + 0x74]
jne 0x10024b6f
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x20]
mov dword [esp + 8], eax
jmp 0x10024f54
mov eax, dword [esp + 8]
lea edx, [esp + 0x50]
xor eax, dword [edx]
cmp eax, dword [edx + 0x48]
jne 0x10024b9d
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x7e4]
add edx, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
jmp 0x10024f54
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x124]
cmp eax, dword [esp + 0x54]
jne 0x10024bce
mov eax, dword [esp + 0xa8c]
neg eax
mov ecx, dword [esp + 0x5c]
lea edx, [eax + 1]
imul edx, dword [esp + 0x4c]
sub ecx, edx
sub dword [esp + 8], ecx
jmp 0x10024f54
mov eax, dword [esp + 8]
add eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xa8]
jne 0x10024c43
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
imul esi, ebx, 0xb2c4796a
imul edi, ecx, 0x43931305
imul ebx, ebx, 0x880f764e
imul ecx, ecx, 0x4d3b8697
mov edx, dword [esp + 0x1a98]
lea eax, [esi + edi]
lea edi, [ebx + ecx]
lea ecx, [edx + 0x37f7117f]
imul esi, dword [ecx], 0xe711ec19
imul edx, dword [ecx], 0x6e4226ee
add eax, esi
mov dword [esp], eax
mov eax, dword [esp + 8]
add edx, edi
xor eax, dword [esp + 0xcc]
mov dword [esp + 0x7e4], edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
jmp 0x10024f54
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x70]
jne 0x10024f2a
mov ecx, dword [ebp + 8]
mov esi, ecx
shrd esi, ecx, 0x19
lea ebx, [ecx + esi]
neg ebx
lea eax, [ebx - 1]
mov edi, eax
mov edx, eax
not edi
and edx, 0xf2c9524c
and edi, 0xd36adb3
imul edi, edx
neg edi
lea ebx, [edi - 1]
mov edi, eax
or edi, 0xd36adb3
and eax, 0xd36adb3
imul eax, edi
lea edi, [ecx + esi - 1]
not edi
sub ebx, eax
mov edx, edi
mov eax, edi
not edx
and eax, 0xf2c9524d
and edx, 0xd36adb2
imul edx, eax
mov eax, edi
and eax, 0xd36adb2
or edi, 0xd36adb2
neg edx
imul edi, eax
lea edx, [edx - 1]
sub edx, edi
mov eax, edx
xor eax, ebx
not ebx
sub eax, ecx
add edx, edx
lea ecx, [ebx + ebx]
mov ebx, esi
and ecx, edx
mov edx, esi
sub eax, ecx
mov ecx, esi
not esi
or ebx, 0x8924efb9
and edx, 0x8924efb9
and ecx, 0x76db1046
and esi, 0x8924efb9
imul edx, ebx
imul esi, ecx
add edx, esi
mov ecx, edx
not ecx
imul edi, ecx, 0x29ab48c8
imul ebx, edx, 0xd654b739
not edi
not ebx
sub edi, ebx
mov ecx, edi
mov esi, edi
not ecx
mov edx, edi
and ecx, 0x2d786689
and esi, 0xd2879976
and edx, 0x2d786689
or edi, 0x2d786689
imul esi, ecx
imul edi, edx
lea edx, [esi + edi]
mov edi, dword [esp + 0x1a94]
lea ecx, [edx + edx]
xor edx, 0x2e965cf8
and ecx, 0x5d2cb9f0
lea esi, [ecx + edx]
shld esi, esi, 3
not esi
lea edx, [esi + esi]
sub edx, esi
shrd edx, edx, 3
shld edx, edx, 0x11
mov ebx, edx
mov ecx, edx
and ebx, 0xa49be592
xor ecx, 0xa49be592
lea esi, [edx + edx]
add ecx, ebx
lea ebx, [ecx + ecx]
or esi, ebx
sub esi, edx
sub esi, ecx
sub edi, esi
lea edx, [esi + esi]
mov esi, eax
and edx, 0xb6c834da
not esi
lea ecx, [edi + edx]
mov edi, eax
shrd ecx, ecx, 0x11
mov edx, eax
lea ebx, [ecx + ecx]
or edi, ebx
sub edx, ebx
and esi, ebx
sub edi, ebx
xor eax, edi
lea esi, [edx + esi*2]
mov edx, esi
lea ecx, [eax + eax]
or edx, ecx
xor esi, ecx
xor ecx, ecx
inc ecx
lea eax, [edx + edx]
sub eax, esi
lea edx, [esp + 0x1e74]
shld eax, eax, 0x19
lea ebx, [edx - 0x33c]
mov dword [ebx], eax
mov eax, dword [edx - 0x1d40]
mov edi, eax
xor edi, 0xbe730c0e
xor eax, 0xddc19c87
neg edi
mov ebx, dword [ebx]
mov dword [edx + 4], ebx
add eax, dword [edi*4 - 0x611f4390]
call eax
mov dword [esp + 0x1b3c], eax
mov ecx, eax
mov ebx, ecx
ror ebx, cl
mov edi, ebx
mov edx, ebx
or edi, 0x51a00d55
and edx, 0x51a00d55
mov eax, ebx
imul edx, edi
not eax
mov edi, ebx
and eax, 0x51a00d55
and edi, 0xae5ff2aa
imul edi, eax
mov esi, dword [esp + 0x5fc]
add edi, edx
mov edx, edi
xor edi, 0xc9e56d0b
and edx, 0x361a92f4
ror esi, cl
mov ecx, esi
lea eax, [edx + edx]
sub eax, edi
mov edx, eax
mov edi, eax
not edx
and edi, 0xf1607802
and edx, 0xe9f87fd
imul edi, edx
mov edx, eax
and edx, 0xe9f87fd
or eax, 0xe9f87fd
imul eax, edx
lea edx, [edi + eax]
imul eax, edx, 0xd81290de
not edx
imul edx, edx, 0x27ed6f21
not eax
not edx
sub eax, edx
mov edx, esi
rol edx, cl
rol eax, cl
mov edi, edx
xor edi, eax
and edi, eax
add edi, edx
mov ecx, edi
not edi
xor ecx, eax
add eax, eax
add edi, edi
and edi, eax
sub ecx, edi
mov eax, ecx
not eax
lea edi, [eax + eax]
lea eax, [edx + edx]
and edi, eax
lea eax, [ebx + ebx]
sub edi, edx
lea edx, [edi + ecx]
mov ecx, esi
neg ecx
rol edx, cl
lea ecx, [esi + esi]
mov edi, ecx
and ecx, eax
xor edi, eax
mov eax, ebx
and eax, esi
xor ebx, esi
add edi, ecx
lea ecx, [ebx + eax*2]
mov ebx, ecx
not ebx
imul ebx, edi
not edi
imul edi, ecx
not ebx
not edi
sub ebx, edi
mov ecx, ebx
and ecx, edx
lea esi, [ebx + edx]
add edx, edx
lea eax, [ecx + ecx]
sub esi, eax
lea ecx, [ebx + ebx]
mov eax, edx
xor edx, ecx
or eax, ecx
sub eax, edx
mov ebx, eax
xor eax, esi
or ebx, esi
mov edx, dword [esp + 8]
add edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x1b3c]
mov dword [esp + 8], edx
lea edi, [ebx + ebx]
sub edi, eax
rol edi, cl
mov dword [esp + 0x5fc], edi
jmp 0x10024f54
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0xb0]
jne 0x10024f54
mov eax, dword [esp + 0x9e0]
imul eax, dword [esp + 0x10]
mov edx, dword [esp + 0xbc]
sub edx, eax
sub dword [esp + 8], edx
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x6c]
jne 0x10024f82
mov eax, dword [esp + 0x9dc]
neg eax
mov ecx, dword [esp + 0x60]
lea edx, [eax + 1]
imul edx, dword [esp + 0x18]
sub ecx, edx
xor dword [esp + 8], ecx
jmp 0x1000b5ca
mov eax, dword [esp + 8]
lea edx, [esp + 0xac]
sub eax, dword [edx]
cmp eax, dword [edx + 0x58]
jne 0x100265e7
mov edi, dword [ebp + 8]
shrd edi, edi, 0x12
mov esi, edi
mov eax, edi
neg esi
or eax, 0x5d3f695f
mov dword [esp + 0xe8c], edi
not edi
mov dword [esp + 0x3d8], 0
lea ecx, [esi - 1]
mov ebx, ecx
or ecx, 0x5d3f695f
xor ebx, 0x5d3f695f
lea edx, [eax - 0x5d3f695f]
xor ebx, ecx
mov esi, edx
mov ecx, ebx
not esi
not ecx
and esi, ebx
and ecx, edx
imul esi, ecx
mov ecx, ebx
and ecx, edx
or ebx, edx
imul ebx, ecx
mov edx, edi
or edx, 0x5d3f695f
add ebx, esi
sub edx, edi
mov ecx, edx
mov esi, edx
and ecx, eax
or esi, eax
imul esi, ecx
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
imul eax, ecx
lea ecx, [ebx + ebx]
lea edx, [esi + eax]
xor ebx, edx
lea esi, [edx + edx]
and ecx, esi
lea eax, [ecx + ebx]
mov edi, eax
and edi, 0xa04458
lea ecx, [edi + edi]
sub ecx, eax
neg eax
lea esi, [eax - 1]
not esi
lea edi, [ecx - 0xa04459]
mov edx, esi
or edx, 0xff5fbba7
sub edx, esi
lea ebx, [edx + edx]
mov ecx, ebx
xor ecx, edi
not edi
and edi, ebx
lea eax, [edi + edi]
sub ecx, eax
mov esi, ecx
mov edi, ecx
neg esi
or edi, 0xb68cd60
lea eax, [esi - 1]
mov edx, eax
lea esi, [edi - 0xb68cd60]
or edx, 0xf497329f
lea ebx, [edx + 0xb68cd61]
mov edx, ecx
xor ebx, eax
xor edx, esi
mov eax, ebx
mov esi, edx
not eax
mov edi, edx
and esi, eax
mov eax, edx
not eax
and edi, ebx
and eax, ebx
or edx, ebx
imul eax, esi
mov ebx, ecx
imul edx, edi
and ebx, 0xf497329f
lea edi, [eax + edx]
mov eax, ecx
mov esi, ecx
sub ecx, ebx
xor eax, 0xf497329f
or esi, 0xf497329f
sub esi, eax
mov edx, esi
not edx
lea ebx, [ecx - 0xb68cd61]
mov eax, ebx
mov ecx, esi
not eax
and edx, ebx
and eax, esi
and ecx, ebx
or esi, ebx
mov ebx, edi
imul eax, edx
imul esi, ecx
lea ecx, [eax + esi]
or ebx, ecx
and edi, ecx
add ebx, edi
mov eax, ebx
mov ecx, ebx
and eax, 0x2a9d2ab8
or ecx, 0xaa9d2ab8
imul ecx, eax
mov edx, ebx
neg ecx
not edx
and edx, 0x2a9d2ab8
lea esi, [ecx - 1]
mov ecx, ebx
and ecx, 0xd562d547
neg ebx
imul edx, ecx
sub esi, edx
lea eax, [ebx - 1]
mov edx, eax
mov ecx, eax
or edx, 0xd562d547
and ecx, 0xd562d547
imul ecx, edx
neg ecx
lea edx, [ecx - 1]
mov ecx, eax
not eax
and ecx, 0x2a9d2ab8
and eax, 0xd562d547
imul eax, ecx
sub edx, eax
lea eax, [esi + esi]
mov edi, edx
xor edx, esi
not edi
lea ecx, [edi + edi]
and ecx, eax
sub ecx, edx
lea edx, [ecx + ecx]
bswap edx
mov ecx, edx
mov ebx, edx
mov esi, edx
not ecx
mov eax, edx
or ebx, 0x10866085
and esi, 0x10866085
and ecx, 0x10866085
and eax, 0xef799f7a
imul esi, ebx
imul eax, ecx
lea ecx, [esi + eax]
mov edi, ecx
xor ecx, 0xfacb028a
and edi, 0x534fd75
lea eax, [edi + edi]
sub eax, ecx
mov esi, eax
mov ecx, eax
mov ebx, eax
not eax
or esi, 0x4b0e984d
and ecx, 0x4b0e984d
and ebx, 0xb4f167b2
and eax, 0x4b0e984d
imul ecx, esi
imul eax, ebx
lea edi, [ecx + eax]
mov ebx, edi
xor edi, 0x8a1db382
or ebx, 0x8a1db382
lea ecx, [ebx + ebx]
sub ecx, edi
mov eax, ecx
xor ecx, 1
or eax, 1
mov edi, dword [esp + 0xf14]
lea esi, [eax + eax]
sub esi, ecx
mov ecx, edi
lea eax, [esi - 1]
not eax
mov ebx, eax
not ebx
or ecx, ebx
lea esi, [eax + ecx + 1]
lea ecx, [eax + esi]
and eax, esi
mov esi, edx
and edx, 1
xor esi, 1
lea ebx, [eax + eax]
sub ecx, ebx
mov ebx, edi
and ebx, ecx
lea eax, [esi + edx*2]
or edi, ecx
not eax
lea ecx, [ebx + edi]
neg ecx
lea esi, [eax + 1]
mov eax, esi
lea edi, [ebx + edi + 0xa04458]
mov ebx, edi
not eax
not ebx
and ebx, esi
mov esi, eax
and esi, edi
lea edx, [ecx - 0xa04459]
mov edi, eax
or edi, edx
sub edi, eax
mov dword [esp + 0xe94], edi
add ebx, esi
mov esi, ebx
neg ebx
not esi
lea eax, [edi + edi]
mov ecx, eax
not eax
neg ecx
imul esi, ecx
imul ebx, eax
not esi
not ebx
sub esi, ebx
lea edx, [esi - 0xa04458]
bswap edx
mov dword [esp + 0xe98], edx
lea ecx, [edx + edx]
xor edx, 1
or ecx, 2
sub ecx, edx
lea esi, [ecx - 1]
not esi
mov edi, esi
mov edx, esi
xor edi, 0x15a4888c
or edx, 0x15a4888c
mov dword [esp + 0xe9c], esi
and esi, edi
mov eax, edx
sub eax, edi
mov edi, eax
mov ebx, eax
lea ecx, [esi + 0x15a4888c]
and edi, ecx
or ebx, ecx
mov esi, ecx
imul ebx, edi
mov edi, eax
not eax
not esi
and eax, ecx
and edi, esi
mov ecx, dword [esp + 0xe9c]
lea esi, [edx - 0x15a4888c]
neg ecx
lea edx, [esp + 0xea0]
mov dword [edx], edi
mov edi, esi
imul eax, dword [edx]
not edi
lea edx, [ecx - 1]
not edx
add ebx, eax
mov eax, edx
or eax, 0x15a4888c
sub eax, edx
mov ecx, eax
mov edx, eax
and ecx, edi
mov edi, eax
not edi
and edx, esi
and edi, esi
or eax, esi
imul edi, ecx
imul eax, edx
mov edx, dword [esp + 0xe98]
lea esi, [edi + eax]
mov ecx, esi
and esi, ebx
xor ecx, ebx
mov edi, edx
or edi, 0xea5b7773
lea ebx, [ecx + esi*2]
shrd ebx, ebx, 6
mov ecx, ebx
lea esi, [edx - 0x15a4888d]
not ecx
sub esi, edi
mov edi, esi
not edi
lea ebx, [ecx + 1]
not ebx
lea eax, [ecx + ecx + 2]
mov ecx, edx
neg ebx
not ecx
not ebx
and ecx, 0xea5b7773
not eax
sub ebx, eax
shld ebx, ebx, 6
lea eax, [ecx + edx]
mov ecx, esi
and edi, eax
mov dword [esp + 0xea4], edi
mov edi, eax
not edi
and ecx, edi
mov edi, esi
or edi, eax
and esi, eax
mov eax, edx
imul ecx, dword [esp + 0xea4]
neg eax
imul esi, edi
mov edi, edx
add ecx, esi
xor edi, 0x15a4888c
lea esi, [eax - 1]
or esi, 0xea5b7773
lea eax, [eax - 0x15a4888e]
or edx, 0x15a4888c
sub eax, esi
xor edi, edx
mov edx, eax
mov esi, edi
not edx
not esi
and edx, edi
and esi, eax
imul esi, edx
mov edx, eax
or edx, edi
and eax, edi
imul eax, edx
mov edx, ebx
add esi, eax
lea edi, [esi + esi]
lea eax, [ecx + ecx]
xor ecx, esi
and edi, eax
mov esi, ebx
not esi
neg ebx
add ecx, edi
not ecx
lea eax, [ecx + ecx]
sub eax, ecx
lea ecx, [esi + esi]
sub edx, eax
lea esi, [ebx - 1]
not esi
lea edi, [eax + eax]
or eax, esi
and edi, ecx
sub eax, esi
lea ecx, [edx + edi]
lea edx, [eax + eax]
mov esi, edx
lea edi, [edx + edx]
xor esi, ecx
not ecx
lea ebx, [ecx + ecx]
and ebx, edi
sub esi, ebx
mov edi, dword [esp + 0xe8c]
mov eax, esi
or eax, edi
mov ebx, esi
sub eax, edi
xor eax, esi
lea edx, [edi + edi]
lea ecx, [eax + eax]
or ecx, edx
sub ecx, edi
sub ecx, eax
mov eax, esi
and eax, ecx
or ebx, ecx
mov ecx, dword [esp + 0xe94]
ror edi, cl
ror esi, cl
neg ecx
mov dword [esp + 0xea8], esi
lea edx, [eax + ebx]
mov ebx, esi
lea eax, [edx + edx]
mov edx, edi
not ebx
neg edx
lea esi, [edx - 1]
mov edx, ebx
or edx, esi
sub edx, ebx
imul ebx, edi
not edi
imul edi, dword [esp + 0xea8]
sub ebx, edi
lea esi, [edx + edx]
mov edi, ebx
mov edx, esi
neg edi
not edx
not ebx
neg esi
imul edx, edi
mov edi, eax
imul esi, ebx
not edx
not esi
sub edx, esi
mov esi, eax
ror edx, cl
mov ebx, edx
neg ebx
lea ebx, [ebx - 1]
or edi, ebx
and esi, ebx
imul esi, edi
mov edi, eax
neg esi
not edi
and edi, ebx
lea ecx, [esi - 1]
mov esi, ebx
not esi
and esi, eax
neg eax
imul edi, esi
sub ecx, edi
lea ebx, [eax - 1]
mov edi, edx
mov esi, ebx
not edi
not esi
and edi, ebx
and esi, edx
imul esi, edi
neg esi
lea eax, [esi - 1]
mov esi, ebx
or esi, edx
and ebx, edx
imul ebx, esi
sub eax, ebx
lea ebx, [ecx + ecx]
mov edx, eax
xor eax, ecx
not edx
add edx, edx
and ebx, edx
sub ebx, eax
mov eax, 0x4b5
shld ebx, ebx, 0x12
lea edx, [esp + 0xe90]
mov dword [edx], ebx
mov ecx, dword [edx]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x398], eax
test byte [esp + 0x1ec], 1
je 0x100255d5
mov ecx, dword [esp + 0x1ec]
mov eax, ecx
mov edi, dword [esp + 0x398]
xor eax, edi
and ecx, edi
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x3d8]
mov eax, ecx
mov edi, edx
bswap eax
mov ebx, eax
neg ebx
bswap edi
rol edx, cl
lea esi, [ebx - 1]
mov ebx, esi
or ebx, edi
xor ebx, esi
xor ebx, edi
mov edi, ebx
xor ebx, eax
and edi, eax
lea esi, [ebx + edi*2]
bswap esi
mov dword [esp + 0xa68], esi
lea eax, [esi + esi]
mov esi, ecx
rol esi, cl
neg ecx
mov ebx, esi
mov edi, esi
not ebx
xor edi, edx
and ebx, edx
neg edx
add ebx, ebx
sub ebx, edi
lea edx, [edx - 1]
mov edi, edx
xor edx, esi
or edi, esi
sub edi, edx
lea esi, [edi + edi]
mov edi, ebx
and edi, esi
xor ebx, esi
mov esi, dword [esp + 0xa68]
lea ebx, [ebx + edi*2]
mov edi, eax
rol ebx, cl
not edi
neg eax
lea edx, [ebx + ebx]
lea ecx, [edi + edi]
and edx, ecx
lea eax, [eax - 1]
sub edx, ebx
lea edi, [edx + esi*2]
mov edx, eax
or edx, ebx
sub edx, eax
mov eax, edi
xor edx, ebx
not eax
neg edi
lea ebx, [edx + edx]
mov edx, dword [esp + 0x1ec]
mov ecx, ebx
not ebx
neg ecx
not edx
imul eax, ecx
imul edi, ebx
not eax
not edi
sub eax, edi
lea esi, [edx + 1]
mov edi, eax
lea ebx, [edx + edx + 2]
xor edi, esi
lea ecx, [eax + eax]
and ecx, ebx
lea esi, [edi + ecx]
mov dword [esp + 0x3d8], esi
shr dword [esp + 0x1ec], 1
lea edx, [esp + 0x398]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100254e9
imul ebx, dword [esp + 0x3d8], 0x38688400
mov ecx, ebx
lea esi, [ebx + ebx]
neg ecx
and esi, 0xfffff694
mov dword [esp + 0xeac], ebx
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x670], 0x4b5
mov dword [esp + 0x39c], 0xe70d3601
lea edi, [esi + ecx + 0x4b5]
mov esi, ebx
lea eax, [edi + edi]
or esi, 0x4b5
mov edx, esi
xor esi, edi
not edx
bswap ebx
mov dword [esp + 0xeb0], ebx
lea ecx, [edx + edx]
mov edx, dword [esp + 0xf18]
and eax, ecx
mov ecx, edx
sub eax, esi
lea esi, [eax - 1]
mov eax, dword [esp + 0x278]
not esi
lea edi, [eax + ebx]
mov dword [esp + 0xeb4], edi
lea edi, [ebx + ebx]
and ecx, edi
mov edi, dword [esp + 0xeb4]
sub edi, ecx
mov ecx, edi
not ecx
or ecx, ebx
lea ebx, [edi + ecx + 1]
xor eax, ebx
lea edi, [ebx + ebx]
or edx, edi
sub edx, eax
bswap edx
mov ebx, edx
mov eax, edx
mov ecx, edx
not edx
or ebx, 0x41512091
and eax, 0x41512091
and ecx, 0xbeaedf6e
and edx, 0x41512091
imul eax, ebx
imul edx, ecx
lea ebx, [eax + edx]
mov ecx, ebx
lea edi, [ebx + ebx]
xor ecx, 0x86c37d26
and edi, 0xd86fa4c
add edi, ecx
mov eax, edi
mov ebx, edi
not eax
mov edx, edi
and eax, 0x3476a071
and ebx, 0xcb895f8e
or edx, 0x3476a071
and edi, 0x3476a071
imul ebx, eax
mov eax, esi
imul edi, edx
lea ecx, [ebx + edi]
imul ebx, ecx, 0xedfa0239
not ecx
imul edi, ecx, 0x1205fdc6
not ebx
not edi
sub ebx, edi
mov edi, esi
mov ecx, esi
xor edi, ebx
and ecx, ebx
or eax, ebx
mov edx, ebx
xor edx, eax
mov eax, esi
xor eax, edx
lea edx, [edi + ecx]
mov edi, eax
not edi
mov ecx, eax
and edi, edx
mov dword [esp + 0xeb8], edi
mov edi, edx
not edi
and ecx, edi
mov edi, eax
or edi, edx
and eax, edx
imul ecx, dword [esp + 0xeb8]
mov edx, esi
imul eax, edi
neg edx
add ecx, eax
mov eax, ebx
mov edi, ebx
neg ebx
lea edx, [edx - 1]
xor eax, edx
or edi, edx
mov edx, esi
lea ebx, [ebx - 1]
or edx, ebx
sub edi, eax
sub edx, ebx
mov ebx, edi
xor esi, edx
not ebx
mov edx, esi
mov eax, edi
not edx
and ebx, esi
and edx, edi
or eax, esi
and edi, esi
imul ebx, edx
imul edi, eax
lea esi, [ebx + edi]
mov ebx, esi
xor esi, ecx
and ebx, ecx
mov ecx, dword [esp + 0xeb0]
not ecx
bswap ecx
shld ecx, ecx, 0xe
mov eax, ecx
lea edi, [esi + ebx*2]
and eax, 0x12d4000
mov dword [esp + 0xebc], edi
lea edx, [ecx + 0x12d4000]
sub edx, eax
lea edi, [ecx + ecx]
mov ebx, edx
not edx
xor ebx, ecx
lea esi, [edx + edx]
and edi, esi
sub ebx, edi
mov edi, ebx
and edi, 0xfed2bfff
lea eax, [edi + edi + 0x12d4000]
sub eax, ebx
mov ebx, dword [esp + 0xeac]
mov edi, ebx
and edi, 0x4b5
xor edi, 0x4b5
shrd eax, eax, 0xe
lea esi, [edi + ebx]
mov ecx, esi
xor esi, 0xfffffb4b
and ecx, 0xfffffb4b
lea edi, [esi + ecx*2]
mov edx, edi
neg edx
lea esi, [edx - 1]
mov edx, eax
neg edx
mov ebx, esi
or ebx, eax
xor ebx, eax
xor ebx, esi
lea ecx, [edx - 1]
lea esi, [edi + edx - 1]
mov edx, edi
or edx, ecx
mov ecx, ebx
sub esi, edx
not ecx
mov edx, esi
and edx, ecx
mov ecx, ebx
mov dword [esp + 0xec0], edx
mov edx, esi
not edx
and ecx, edx
mov edx, ebx
or edx, esi
and ebx, esi
mov esi, edi
xor esi, eax
imul ebx, edx
mov edx, edi
imul ecx, dword [esp + 0xec0]
and esi, edi
or edx, eax
sub edx, eax
add ecx, ebx
xor edx, edi
mov ebx, ecx
mov edi, edx
add eax, esi
mov esi, edx
or edi, eax
and esi, eax
imul esi, edi
mov edi, edx
not edi
and edi, eax
not eax
and eax, edx
imul eax, edi
lea edi, [esi + eax]
mov eax, dword [esp + 0xebc]
or ebx, edi
xor ecx, edi
add ebx, ebx
sub ebx, ecx
mov esi, ebx
or esi, eax
sub esi, eax
xor esi, ebx
lea edx, [ebx + eax]
and ebx, eax
lea ecx, [esi + esi]
add ebx, ebx
sub edx, ebx
lea edi, [ecx + ecx]
mov eax, edx
mov ebx, 0xc5f4fa23
xor eax, ecx
lea esi, [edx + edx]
and edi, esi
lea ecx, [eax + edi]
mov edx, ecx
ror ebx, cl
ror edx, cl
mov edi, ebx
xor edi, edx
lea esi, [ebx + ebx]
lea eax, [edx + edx]
or eax, esi
mov esi, ecx
sub eax, ebx
and ebx, edx
sub eax, edx
xor esi, 0xc5f4fa23
lea edx, [edi + ebx]
lea ebx, [ecx + ecx]
mov edi, ebx
and ebx, 0x8be9f446
xor edi, 0x8be9f446
add ebx, edi
mov edi, ecx
and edi, 0xc5f4fa23
lea esi, [esi + edi*2]
mov edi, esi
not edi
imul edi, ebx
not ebx
imul ebx, esi
not edi
not ebx
sub edi, ebx
lea ebx, [eax + edx]
lea esi, [eax + eax]
add edx, edx
and esi, edx
sub ebx, esi
lea eax, [edi + edi]
rol ebx, cl
lea esi, [ebx + ebx + 0x74160bba]
mov ebx, eax
lea ecx, [esi + esi]
and ebx, ecx
mov edx, ebx
xor edx, eax
lea ecx, [edx + esi*2]
mov dword [esp + 0xd9c], ecx
add esi, edi
sub esi, ebx
mov dword [esp + 0xda0], esi
test byte [esp + 0x670], 1
je 0x10025bf1
mov ecx, dword [esp + 0x39c]
mov eax, ecx
mov edx, ecx
and eax, 0xf3562a4d
mov ebx, ecx
xor eax, 0xf3562a4d
or edx, 0xf3562a4d
xor ebx, 0xf3562a4d
sub edx, ebx
mov ebx, edx
mov esi, edx
lea edi, [ecx + eax]
and ebx, edi
or esi, edi
imul esi, ebx
mov ebx, edx
not ebx
and ebx, edi
not edi
and edi, edx
imul edi, ebx
mov ebx, ecx
or ebx, 0xca9d5b2
add esi, edi
sub ebx, ecx
neg ecx
xor ebx, 0xca9d5b2
mov edi, ebx
mov dword [esp + 0xa6c], ecx
not edi
lea edx, [ecx - 1]
mov eax, edx
or eax, 0xf3562a4d
xor eax, edx
xor eax, 0xf3562a4d
mov edx, eax
mov ecx, eax
and edx, edi
not ecx
mov edi, ebx
and edi, ecx
mov ecx, ebx
and ecx, eax
or ebx, eax
imul edi, edx
imul ebx, ecx
lea edx, [edi + ebx]
mov ecx, edx
or edx, esi
and ecx, esi
add ecx, edx
mov esi, ecx
mov edx, ecx
and esi, 0xc7bc254
lea ebx, [esi + esi]
sub edx, ebx
lea esi, [ecx + ecx]
mov edi, esi
or edi, 0x18f784a8
sub edi, esi
xor edi, 0x18f784a8
lea eax, [edx - 0x73843dac]
lea edx, [edx + edx + 0x18f784a8]
lea esi, [edi + edi]
xor edi, eax
or esi, edx
sub esi, edi
mov eax, esi
neg eax
lea ecx, [esi - 0x2028608c]
mov dword [esp + 0xa70], ecx
not ecx
mov ebx, ecx
lea edx, [eax + 0x2028608b]
or edx, 0xa21ce17a
or ebx, 0xa21ce17a
sub ebx, ecx
or ecx, 0x5de31e85
mov edi, ebx
mov eax, ebx
lea edx, [edx + 0x5de31e86]
or edi, edx
and eax, edx
imul eax, edi
mov edi, edx
mov dword [esp + 0xa74], eax
not edi
mov eax, ebx
not ebx
and eax, edi
and ebx, edx
lea edx, [esp + 0xa78]
mov dword [edx], eax
lea ecx, [ecx + esi - 0x2028608b]
imul ebx, dword [edx]
mov edx, dword [esp + 0xa74]
mov eax, dword [esp + 0xa70]
or eax, 0x5de31e85
mov esi, eax
lea edi, [edx + ebx]
mov ebx, ecx
mov edx, eax
not ebx
not edx
and ebx, eax
and edx, ecx
and esi, ecx
or eax, ecx
imul edx, ebx
imul eax, esi
lea ebx, [edx + eax]
mov eax, dword [esp + 0xa6c]
mov esi, ebx
xor ebx, edi
or esi, edi
lea ecx, [eax + 0x16e0c318]
not ecx
lea edx, [esi + esi]
sub edx, ebx
mov edi, edx
mov ebx, edx
and edi, ecx
not ebx
lea esi, [eax + edi]
lea ecx, [esi + esi + 0x2dc18630]
lea edi, [eax + eax + 0x2dc18630]
lea esi, [ebx + ebx]
and edi, esi
sub edi, eax
lea ebx, [edi + edx + 0x691f3ce8]
mov edx, ebx
xor edx, ecx
not ecx
and ecx, ebx
sub edx, eax
lea eax, [ecx + ecx]
sub edx, eax
mov eax, dword [esp + 0x3dc]
mov ebx, edx
mov esi, eax
bswap esi
bswap ebx
mov edi, esi
and edi, ebx
lea ecx, [esi + ebx]
add edi, edi
sub ecx, edi
mov edi, ecx
or edi, esi
sub edi, ecx
lea ecx, [eax + eax]
xor edi, esi
mov esi, edi
and edi, ebx
xor esi, ebx
lea ebx, [esi + edi*2]
bswap ebx
lea edi, [edx + edx]
and ecx, edi
mov edi, edx
not edi
lea esi, [eax + edx]
and eax, edi
sub esi, ecx
mov edi, esi
add edx, eax
mov ecx, edx
xor esi, edx
not ecx
and edi, ecx
lea eax, [edi + edi]
sub eax, esi
lea esi, [eax - 1]
not esi
mov ecx, esi
mov edx, esi
mov edi, esi
not ecx
and edx, 0x56271137
or edi, 0x56271137
and ecx, 0x56271137
and esi, 0xa9d8eec8
imul edi, edx
imul esi, ecx
lea edx, [edi + esi]
mov eax, edx
and edx, 0xcd90f04e
or eax, 0xcd90f04e
add eax, edx
mov edi, eax
mov edx, eax
not edi
mov ecx, eax
and edi, 0x2faf7487
and edx, 0xd0508b78
and ecx, 0x2faf7487
or eax, 0x2faf7487
imul edx, edi
mov edi, ebx
imul eax, ecx
not edi
lea esi, [edx + eax]
mov edx, esi
xor esi, 0x545beede
and edx, 0xd45beede
mov eax, ebx
lea ecx, [esi + edx*2]
sub eax, ecx
lea edx, [edi + edi]
lea esi, [ecx + ecx]
and edx, esi
add edx, eax
mov eax, ecx
or eax, ebx
xor ecx, ebx
sub eax, ecx
lea ebx, [eax + eax]
mov eax, ebx
or ebx, edx
and eax, edx
lea edx, [eax + ebx]
mov dword [esp + 0x3dc], edx
shr dword [esp + 0x670], 1
lea edx, [esp + 0x39c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002593d
mov ecx, dword [esp + 0xee8]
mov eax, ecx
mov edi, ecx
mov esi, dword [esp + 0xee4]
or eax, esi
and edi, esi
mov edx, esi
not esi
and edx, dword [esp + 0xeec]
and ecx, esi
imul edi, eax
imul ecx, edx
mov dword [esp + 0x3e0], 0
lea eax, [edi + ecx]
mov edi, dword [esp + 0xee0]
mov edx, edi
and edx, eax
or edi, eax
mov dword [esp + 0x674], 0xa780000
mov dword [esp + 0x3a0], 0x4b5
lea eax, [edx + edi + 0x6034560]
mov ecx, eax
lea ebx, [edx + edi]
mov edi, dword [esp + 0xef0]
not ecx
mov esi, edi
and esi, ecx
lea esi, [ebx + esi + 0x6034560]
mov ebx, edi
or ebx, eax
xor edi, eax
xor ebx, edi
lea ecx, [esi + esi]
mov edi, dword [esp + 0xf00]
lea eax, [ebx + ebx]
xor ebx, esi
and eax, ecx
mov esi, dword [esp + 0xef4]
mov ecx, dword [esp + 0xf04]
lea edx, [eax + ebx - 0x6034560]
mov dword [esp + 0xec4], edx
mov edx, dword [esp + 0xef8]
lea eax, [edi + edi]
and ecx, eax
lea ebx, [esi + edi]
sub ebx, ecx
mov edi, edx
or edi, ebx
and edx, ebx
mov ebx, dword [esp + 0xf0c]
mov esi, dword [esp + 0xf08]
mov ecx, esi
add edx, edi
mov eax, edx
or ecx, edx
neg eax
xor esi, edx
sub ecx, esi
mov esi, ecx
lea edi, [eax - 1]
mov eax, dword [esp + 0xefc]
or ebx, edi
mov edi, ecx
lea ebx, [eax + ebx + 1]
or edi, ebx
and esi, ebx
imul esi, edi
mov edi, ecx
not edi
and edi, ebx
not ebx
and ebx, ecx
mov ecx, eax
imul ebx, edi
xor ecx, edx
mov edi, ecx
add esi, ebx
mov ebx, eax
and eax, ecx
or ebx, edx
xor edi, ebx
lea ebx, [eax + edx]
mov edx, edi
mov eax, edi
and edx, ebx
or eax, ebx
imul eax, edx
mov edx, edi
not edx
and edx, ebx
not ebx
and ebx, edi
mov edi, esi
imul ebx, edx
lea ecx, [eax + ebx]
mov eax, dword [esp + 0xf10]
xor edi, ecx
and esi, ecx
mov ecx, eax
lea edi, [edi + esi*2]
mov esi, dword [esp + 0xec4]
and ecx, edi
lea ebx, [eax + edi]
lea edx, [ecx + ecx]
mov ecx, eax
or ecx, edi
sub ebx, edx
sub ecx, eax
mov edx, esi
xor ecx, edi
neg edx
lea eax, [ebx + ebx]
add ecx, ecx
xor ebx, ecx
lea edi, [ecx + ecx]
or eax, edi
lea ecx, [edx + edx - 2]
sub eax, ebx
lea edx, [edx - 1]
lea ebx, [eax + eax]
mov edi, ebx
or ebx, ecx
xor edi, ecx
mov ecx, eax
not ecx
sub ebx, edi
lea edi, [esi + esi]
mov dword [esp + 0x45c], edi
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0x45c]
and ecx, edi
mov edi, eax
xor edi, esi
mov esi, eax
and esi, edx
xor esi, edx
sub ecx, edi
lea edi, [eax + esi]
mov eax, edx
not eax
and eax, edi
xor edi, edx
lea edx, [ebx + ebx]
lea esi, [eax + eax]
sub esi, edi
lea eax, [ecx + ecx]
or eax, edx
xor ecx, ebx
sub eax, dword [esp + 0x45c]
sub eax, ecx
mov edx, eax
lea edi, [esi + esi]
mov ebx, edi
not ebx
lea ecx, [esp + 0xec8]
mov dword [ecx], esi
and edx, ebx
mov esi, eax
mov ecx, dword [ecx]
or esi, edi
sub esi, edi
xor eax, esi
mov dword [esp + 0xda8], eax
lea ebx, [edx + ecx*2]
mov dword [esp + 0xda4], ebx
test byte [esp + 0x674], 1
je 0x10025e50
mov edx, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x3e0]
mov edi, ecx
and edi, edx
not edi
lea ebx, [edx + edx]
lea esi, [ecx + ecx]
lea eax, [ebx + ecx*2]
and ebx, esi
sub eax, ebx
or ecx, edx
not ecx
mov edx, eax
sub edi, ecx
not edx
imul edx, edi
not edi
imul eax, edi
sub edx, eax
mov dword [esp + 0x3e0], edx
shr dword [esp + 0x674], 1
lea edx, [esp + 0x3a0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10025e0a
mov dword [esp + 0x220], 0
mov dword [esp + 0x678], 0x1627f9
mov dword [esp + 0x3a4], 0xc504000
test byte [esp + 0x678], 1
je 0x100261b5
mov ecx, dword [esp + 0x3a4]
mov ebx, ecx
mov esi, ecx
neg ebx
or esi, 0xd50fb2d8
mov edx, ecx
xor edx, esi
mov dword [esp + 0x6ac], edx
xor edx, 0xd50fb2d8
mov dword [esp + 0xa7c], esi
lea eax, [ebx - 1]
mov edi, eax
xor eax, 0x2af04d27
or edi, 0x2af04d27
mov ebx, edx
sub edi, eax
not ebx
mov esi, edi
mov eax, edi
and esi, ebx
mov ebx, edi
and eax, edx
not ebx
mov dword [esp + 0x3e4], eax
mov eax, edx
and eax, ebx
or edx, edi
imul eax, esi
mov esi, ecx
imul edx, dword [esp + 0x3e4]
and esi, 0x2af04d27
add eax, edx
xor esi, 0x2af04d27
lea edi, [ecx + esi]
mov ecx, dword [esp + 0xa7c]
mov edx, edi
not edx
lea ebx, [ecx + 0x2af04d28]
mov esi, ebx
mov ecx, ebx
not esi
and edx, ebx
and esi, edi
and ecx, edi
or ebx, edi
imul esi, edx
imul ebx, ecx
lea ecx, [esi + ebx]
mov edi, ecx
xor ecx, eax
or edi, eax
lea edx, [edi + edi]
sub edx, ecx
mov esi, edx
not esi
mov eax, esi
or eax, 0x7b2fda1a
sub eax, esi
and esi, 0x4d025e5
lea esi, [edx + esi*2 + 0x7b2fda1b]
mov edx, esi
lea edi, [eax + eax]
not edx
imul edx, edi
not edi
imul edi, esi
not edx
not edi
sub edx, edi
mov ecx, edx
mov esi, edx
neg ecx
or esi, 0x406bad68
lea ebx, [ecx - 1]
or ebx, 0x406bad68
lea eax, [esi - 0x406bad68]
mov esi, edx
xor esi, eax
mov ecx, esi
lea edi, [ebx - 0x406bad68]
mov ebx, esi
and ecx, edi
or ebx, edi
imul ebx, ecx
mov ecx, esi
not esi
mov eax, edi
and esi, edi
mov edi, edx
not edi
not eax
or edi, 0xbf945297
and ecx, eax
imul esi, ecx
lea eax, [edi + edx + 1]
or edx, 0xbf945297
mov edi, edx
add ebx, esi
mov ecx, edx
mov esi, edx
not edi
and ecx, eax
or esi, eax
and edi, eax
not eax
and edx, eax
imul esi, ecx
imul edx, edi
mov edi, ebx
add esi, edx
and edi, esi
or esi, ebx
lea ecx, [esi + edi]
mov eax, ecx
mov esi, ecx
mov ebx, ecx
not ecx
or eax, 0x555cba3b
and esi, 0x555cba3b
and ebx, 0xaaa345c4
and ecx, 0x555cba3b
imul esi, eax
imul ecx, ebx
lea ebx, [esi + ecx]
lea ecx, [ebx + ebx]
xor ebx, 0x3aeb858
and ecx, 0xf8a28f4e
sub ecx, ebx
mov eax, ecx
mov esi, ecx
not eax
mov edx, ecx
and esi, 0xc45bf10c
and eax, 0x3ba40ef3
or edx, 0x3ba40ef3
and ecx, 0x3ba40ef3
imul eax, esi
imul ecx, edx
add eax, ecx
mov esi, eax
xor eax, 0x92b23478
and esi, 0xed4dcb87
lea edx, [edi + esi*2]
sub edx, eax
mov esi, edx
mov ebx, edx
or esi, 0xc64db412
and ebx, 0xc64db412
imul ebx, esi
mov eax, edx
not eax
mov ecx, edx
and eax, 0xc64db412
and ecx, 0x39b24bed
neg ebx
neg edx
imul ecx, eax
lea esi, [ebx - 1]
sub esi, ecx
lea ebx, [edx - 1]
mov eax, ebx
mov ecx, ebx
and eax, 0x39b24bed
or ecx, 0x39b24bed
imul ecx, eax
mov eax, ebx
not eax
and ebx, 0xc64db412
and eax, 0x39b24bed
imul ebx, eax
mov eax, dword [esp + 0x6ac]
lea edx, [ecx + ebx]
neg edx
mov ebx, esi
not esi
lea edx, [edx - 1]
and esi, edx
xor ebx, edx
mov edx, dword [esp + 0x220]
sub ebx, edi
lea edi, [esi + esi]
sub ebx, edi
mov edi, edx
xor edi, eax
lea ecx, [edx + edx]
mov edx, ebx
lea esi, [eax + eax]
and ecx, esi
lea eax, [edi + ecx]
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0xa80], eax
ror eax, cl
ror edx, cl
mov ecx, eax
mov edi, eax
mov esi, eax
not ecx
and edi, edx
or esi, edx
and ecx, edx
add esi, edi
mov edi, esi
add ecx, eax
mov edx, ecx
not edi
neg edx
not ecx
neg esi
imul edi, edx
mov edx, ebx
imul esi, ecx
not edi
not esi
mov ecx, dword [esp + 0x3e4]
sub edi, esi
neg ecx
neg edx
ror edi, cl
mov ecx, dword [esp + 0xa80]
mov dword [esp + 0xa84], edi
lea eax, [edx - 1]
lea esi, [ecx + edx - 1]
mov edx, ecx
or edx, eax
mov eax, ebx
sub esi, edx
mov edx, ecx
not edx
not ebx
imul eax, edx
add edi, edi
imul ebx, ecx
not eax
not ebx
sub eax, ebx
add esi, esi
mov edx, eax
and eax, esi
or edx, esi
mov ecx, edi
mov ebx, edi
mov esi, dword [esp + 0xa84]
add edx, eax
and ecx, edx
xor ebx, edx
or edi, edx
lea esi, [edx + esi*2]
sub edi, ebx
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x6ac]
sub esi, eax
mov edx, esi
lea eax, [edi + edi]
xor edx, eax
and esi, eax
lea ecx, [ecx - 1]
not ecx
lea eax, [edx + esi*2]
mov esi, ecx
xor esi, eax
lea ebx, [eax + eax]
lea edx, [ecx + ecx]
and edx, ebx
lea edi, [esi + edx]
mov dword [esp + 0x220], edi
shr dword [esp + 0x678], 1
lea edx, [esp + 0x3a4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10025e87
mov edi, dword [esp + 0x220]
mov edx, edi
mov esi, edi
mov eax, edi
not esi
xor edx, 0x4b5
and eax, 0x4b5
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3a8], 0x4b5
lea ebx, [esi + esi]
and ebx, 0x96a
add edx, eax
lea esi, [ebx + edi - 0x4b5]
bswap edi
mov ecx, esi
not esi
mov ebx, edi
and esi, edx
neg ebx
xor ecx, edx
mov edx, dword [esp + 0x278]
lea eax, [esi + esi]
sub ecx, eax
lea esi, [ebx - 1]
not ecx
lea eax, [edx + ebx - 1]
or edx, esi
sub eax, edx
mov esi, eax
and eax, edi
or esi, edi
mov dword [esp + 0xecc], ecx
lea edi, [esi + eax]
bswap edi
lea esi, [ecx + 1]
mov edx, edi
neg ecx
neg edx
mov ebx, esi
mov eax, esi
lea edx, [edx - 1]
or ebx, edx
xor eax, edx
xor ebx, eax
lea eax, [ecx - 2]
mov edx, eax
xor eax, edi
or edx, edi
mov ecx, ebx
sub edx, eax
mov eax, ebx
and ecx, edx
or eax, edx
imul eax, ecx
mov ecx, edx
mov dword [esp + 0xed0], eax
not ecx
mov eax, ebx
not ebx
and eax, ecx
and ebx, edx
lea edx, [esp + 0xed4]
mov dword [edx], eax
mov ecx, esi
imul ebx, dword [edx]
not ecx
mov edx, dword [esp + 0xed0]
or ecx, edi
lea eax, [edx + ebx]
mov dword [esp + 0xed8], eax
mov eax, esi
and esi, edi
mov edx, dword [esp + 0xecc]
xor eax, edi
lea ebx, [edx + ecx + 2]
lea edx, [eax + esi]
mov eax, ebx
not eax
mov ecx, edx
mov edi, edx
and eax, edx
or ecx, ebx
and edx, ebx
not edi
imul edx, ecx
and edi, ebx
imul eax, edi
mov ecx, dword [esp + 0x220]
mov ebx, ecx
shrd ebx, ecx, 0x19
shrd ecx, ecx, 9
neg ebx
lea esi, [eax + edx]
mov dword [esp + 0xedc], esi
not ecx
shld ecx, ecx, 9
bswap ecx
lea edi, [ebx - 1]
mov esi, edi
mov edx, edi
xor esi, 0xfffda57f
and edx, 0xfffda57f
add esi, edx
mov edx, edi
not edx
lea eax, [esi + esi]
xor esi, edi
mov edi, ecx
not edi
add edx, edx
and eax, edx
mov edx, dword [esp + 0x278]
sub eax, esi
mov esi, edx
and esi, edi
shrd eax, eax, 7
lea edi, [esi + ecx]
lea esi, [edx + ecx]
and edx, ecx
lea ebx, [edx + edx]
sub esi, ebx
lea edx, [edi + edi]
mov ecx, esi
xor esi, edi
not ecx
mov edi, eax
and edi, 0x157bdc24
lea ebx, [ecx + ecx]
and edx, ebx
mov ebx, eax
sub edx, esi
not ebx
mov esi, eax
and ebx, 0xea8423db
and esi, 0xea8423db
or eax, 0xea8423db
imul ebx, edi
imul eax, esi
bswap edx
lea ecx, [ebx + eax]
mov edi, ecx
xor ecx, 0x9bb865c2
or edi, 0x9bb865c2
lea eax, [edi + edi]
sub eax, ecx
mov ecx, edx
mov edi, eax
mov ebx, eax
mov esi, eax
not edi
and ebx, 0xce172053
or esi, 0xce172053
and edi, 0xce172053
and eax, 0x31e8dfac
imul esi, ebx
neg ecx
imul eax, edi
add esi, eax
lea eax, [esi + esi]
xor esi, 0xc9ef3de6
and eax, 0x6c218432
sub eax, esi
lea esi, [ecx - 1]
mov ebx, eax
mov edi, eax
or ebx, esi
xor edi, esi
mov esi, eax
mov ecx, edx
neg esi
not ecx
xor ebx, edi
lea edi, [esi - 1]
mov esi, ecx
or esi, edi
sub esi, ecx
mov edi, esi
mov ecx, esi
or edi, ebx
and ecx, ebx
imul ecx, edi
mov edi, esi
not edi
and edi, ebx
not ebx
and ebx, esi
mov esi, eax
imul ebx, edi
or esi, edx
sub esi, edx
lea edi, [ecx + ebx]
mov ecx, eax
xor esi, eax
xor ecx, edx
and eax, ecx
lea ecx, [eax + edx]
mov edx, esi
mov eax, esi
or edx, ecx
and eax, ecx
mov ebx, ecx
imul eax, edx
not ebx
mov edx, esi
not esi
and edx, ebx
and esi, ecx
imul esi, edx
lea edx, [edi + edi]
lea ecx, [eax + esi]
lea eax, [ecx + ecx]
xor ecx, edi
and edx, eax
add edx, ecx
mov edi, edx
mov esi, edx
not edi
mov eax, edx
and esi, 0xdf20f4a8
and edi, 0x20df0b57
or eax, 0x20df0b57
and edx, 0x20df0b57
imul edi, esi
imul edx, eax
lea ecx, [edi + edx]
mov esi, ecx
not ecx
and ecx, 0x2bee8f52
xor esi, 0xabee8f52
lea ebx, [ecx + ecx]
sub esi, ebx
mov edx, esi
mov edi, esi
not edx
mov ebx, esi
mov eax, edx
or edi, 0xbbbb1067
and ebx, 0xbbbb1067
and eax, 0xbbbb1067
and esi, 0x4444ef98
imul ebx, edi
imul esi, eax
mov eax, dword [esp + 0xed8]
add esi, ebx
mov ecx, esi
not ecx
imul ecx, ecx, 0xacd6c9fe
imul edi, esi, 0x53293603
mov esi, eax
not ecx
mov ebx, dword [esp + 0xedc]
or esi, ebx
and eax, ebx
not edi
sub ecx, edi
mov edi, ecx
add eax, esi
sub eax, edx
or edi, eax
sub edi, ecx
xor edi, eax
lea ebx, [eax + eax]
lea esi, [edi + edi]
lea edi, [ecx + eax]
add ecx, ecx
and ecx, ebx
lea ebx, [esi + esi]
sub edi, ecx
lea eax, [edi + edi]
xor edi, esi
and eax, ebx
add edx, eax
lea eax, [edi + edx]
mov dword [esp + 0x67c], eax
test byte [esp + 0x67c], 1
je 0x10026540
mov ecx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3e8]
mov esi, ecx
sub eax, ecx
mov edi, ecx
mov ebx, eax
or edi, eax
not ebx
sub edi, ecx
and esi, ebx
lea edx, [eax + esi]
xor eax, edi
lea esi, [edx + edx]
lea ebx, [eax + eax]
xor eax, edx
and ebx, esi
add ecx, ebx
lea edx, [eax + ecx]
mov dword [esp + 0x3e8], edx
shr dword [esp + 0x67c], 1
lea edx, [esp + 0x3a8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100264fd
mov ebx, dword [esp + 0xda0]
mov eax, ebx
mov ecx, dword [esp + 0xd9c]
not eax
mov edx, ecx
not ecx
imul edx, eax
imul ebx, ecx
not edx
not ebx
sub edx, ebx
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0xda8]
mov esi, dword [esp + 0xda4]
mov eax, dword [esp + 0x45c]
add edi, edx
mov edx, ecx
xor ecx, esi
and edx, esi
lea eax, [eax + edx*2]
lea esi, [ecx + eax]
mov ecx, dword [esp + 0x3e8]
imul esi, esi, 0x6cd0a820
lea eax, [edi + esi]
mov edi, dword [esp + 0x3e0]
lea edx, [edi + eax]
xor eax, eax
lea ebx, [edx + ecx - 0x74160bba]
mov edx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
sete al
add edx, dword [esp + 0x10c]
mov dword [esp + 0xa88], eax
mov dword [esp + 8], edx
jmp 0x1000b5ca
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x1003b091
mov eax, dword [ebp + 8]
xor eax, 0x71664d44
lea edx, [esp + 0xa90]
mov dword [edx], eax
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
mov edx, dword [edx]
xor edx, 0x3437a710
mov dword [esp + 0x440], edx
mov dword [esp + 0x63c], ecx
mov dword [esp + 0x344], ebx
mov dword [esp + 0x1f0], 0
test ebx, ebx
je 0x10026823
test byte [esp + 0x63c], 1
je 0x10026809
mov ebx, dword [esp + 0x1f0]
mov esi, ebx
mov eax, ebx
mov edx, dword [esp + 0x344]
xor esi, edx
not edx
mov edi, ebx
and eax, edx
lea ecx, [eax + eax]
sub esi, ecx
mov ecx, ebx
and edi, esi
mov eax, esi
xor eax, edi
mov edi, esi
or edi, 0x7b805f97
lea edx, [ebx + eax]
mov eax, esi
not eax
or ecx, eax
and eax, 0x7b805f97
mov dword [esp + 0x9e4], edx
lea edx, [esi + ecx + 1]
mov ecx, esi
and ecx, 0x847fa068
and esi, 0x7b805f97
imul eax, ecx
imul esi, edi
add eax, esi
lea edi, [eax + eax]
xor eax, 0xca7aae27
and edi, 0x14f55c4e
lea esi, [edi + eax]
mov eax, esi
mov edi, esi
mov ecx, esi
not eax
or edi, 0xd1481027
and ecx, 0xd1481027
and eax, 0xd1481027
and esi, 0x2eb7efd8
imul ecx, edi
imul esi, eax
add ecx, esi
lea eax, [ecx + ecx]
xor ecx, 0xaa75080f
and eax, 0xd4ea101e
lea edi, [eax + ecx]
add edi, edi
mov esi, edi
lea eax, [ebx + ebx]
mov ebx, edi
and esi, 0x381a26e2
not ebx
mov ecx, eax
and ebx, 0xc7e5d91d
imul esi, ebx
mov ebx, edi
or ebx, 0xc7e5d91d
and edi, 0xc7e5d91d
imul edi, ebx
add edi, esi
mov ebx, edi
xor edi, 0x655dc6ca
or ebx, 0xe55dc6ca
lea esi, [ebx + ebx]
sub esi, edi
mov edi, esi
mov ebx, esi
not edi
and ebx, 0xd90e4eca
and edi, 0x26f1b135
imul ebx, edi
mov edi, esi
or edi, 0x26f1b135
and esi, 0x26f1b135
imul esi, edi
add esi, ebx
mov ebx, esi
xor esi, 0xcfa2e2e
or ebx, 0x8cfa2e2e
add ebx, ebx
sub ebx, esi
mov esi, eax
rol ebx, cl
rol esi, cl
mov ecx, ebx
mov edi, esi
not ecx
and edi, ebx
and ecx, esi
xor edi, ebx
lea ebx, [ebx + ecx*2]
mov ecx, eax
sub ebx, esi
add edi, esi
mov esi, edi
neg ecx
not esi
imul esi, ebx
not ebx
imul ebx, edi
sub esi, ebx
mov ebx, edx
mov edi, dword [esp + 0x9e4]
neg ebx
rol esi, cl
mov ecx, edi
not ecx
not edx
neg edi
imul ecx, ebx
imul edi, edx
not ecx
not edi
sub ecx, edi
mov edi, esi
mov edx, ecx
sub edx, eax
lea eax, [esi + esi]
not eax
sub edi, edx
mov ecx, dword [esp + 0x1f0]
lea ebx, [edx + edx]
or eax, ebx
lea ebx, [eax + esi*2 + 1]
not esi
and edx, esi
lea edx, [edi + edx*2]
mov eax, edx
or edx, ebx
and eax, ebx
lea esi, [eax + ecx*2]
not ecx
add edx, esi
lea eax, [ecx + 1]
mov ebx, eax
not ebx
lea ecx, [ebx + ebx]
lea ebx, [edx + edx]
xor edx, eax
and ecx, ebx
sub ecx, edx
mov dword [esp + 0x1f0], ecx
shr dword [esp + 0x63c], 1
lea edx, [esp + 0x344]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10026641
mov eax, dword [esp + 4]
imul eax, dword [esp + 0x1f0]
mov ebx, eax
mov edx, eax
not ebx
mov ecx, eax
and ebx, 0xcde00000
or edx, 0xcde00000
xor ecx, 0xcde00000
sub edx, ecx
mov ecx, edx
mov edi, edx
not ecx
lea esi, [ebx + eax]
mov ebx, edx
and edi, esi
or ebx, esi
and ecx, esi
not esi
and esi, edx
imul ebx, edi
imul esi, ecx
mov dword [esp + 0x1c8], 0
lea ecx, [ebx + esi]
mov ebx, eax
mov esi, eax
neg ebx
xor esi, 0x321fffff
lea edi, [ebx - 1]
mov ebx, eax
mov edx, edi
or ebx, 0x321fffff
mov eax, esi
or edx, 0xcde00000
xor edi, 0xcde00000
xor eax, ebx
xor edx, edi
mov ebx, eax
not ebx
mov edi, edx
and edi, ebx
mov ebx, edx
not ebx
mov esi, eax
and esi, ebx
mov ebx, edx
or ebx, eax
and edx, eax
imul esi, edi
lea eax, [ecx + ecx]
imul edx, ebx
lea ebx, [esi + edx]
mov esi, dword [esp]
mov dword [esp + 0x348], esi
lea edx, [ebx + ebx]
and eax, edx
xor ebx, ecx
lea ecx, [eax + ebx]
mov dword [esp + 0x640], ecx
test esi, esi
je 0x10026deb
test byte [esp + 0x640], 1
je 0x10026dd1
mov edx, dword [esp + 0x348]
mov ecx, edx
mov ebx, edx
mov eax, edx
not ecx
or ebx, 0x84838267
and eax, 0x84838267
and ecx, 0x84838267
and edx, 0x7b7c7d98
imul eax, ebx
imul edx, ecx
lea esi, [eax + edx]
mov edi, esi
xor esi, 0xa1a1292d
or edi, 0xa1a1292d
lea eax, [edi + edi]
sub eax, esi
mov ebx, eax
mov edx, eax
mov ecx, eax
not eax
and ebx, 0x88747957
or edx, 0x88747957
and ecx, 0x778b86a8
and eax, 0x88747957
imul edx, ebx
imul eax, ecx
lea edi, [edx + eax]
mov eax, edi
and edi, 0xd560bcb5
xor eax, 0x5560bcb5
lea edx, [eax + edi*2]
mov ebx, edx
not ebx
lea ecx, [ebx + ebx]
and ecx, 0x1b335b04
lea eax, [ecx + edx - 0xd99ad82]
neg edx
lea esi, [edx - 1]
or esi, 0xf266527d
lea ebx, [esi + esi + 0x1b335b06]
mov esi, eax
not eax
lea edi, [ebx + ebx]
xor esi, ebx
mov dword [esp + 0x9e8], ebx
lea ecx, [eax + eax]
and ecx, edi
sub esi, ecx
mov eax, esi
mov ecx, esi
neg eax
or ecx, 0xe2205a7c
sub ecx, esi
xor ecx, 0xe2205a7c
mov edi, ecx
mov dword [esp + 0x9ec], esi
lea edx, [eax - 1]
mov ebx, edx
mov eax, ecx
or ebx, 0x1ddfa583
sub ebx, edx
xor ebx, 0x1ddfa583
or eax, ebx
and edi, ebx
imul edi, eax
mov eax, ebx
not eax
and eax, ecx
not ecx
and ecx, ebx
mov ebx, esi
or ebx, 0x1ddfa583
imul ecx, eax
lea edx, [ebx - 0x1ddfa583]
mov ebx, esi
and ebx, 0x1ddfa583
lea eax, [edi + ecx]
mov edi, esi
sub esi, ebx
xor edi, edx
mov ecx, edi
mov ebx, edi
not ecx
lea edx, [esi + 0x1ddfa583]
mov esi, edx
and ecx, edx
not esi
and ebx, esi
mov esi, edi
or esi, edx
and edi, edx
imul ebx, ecx
mov edx, eax
imul edi, esi
add ebx, edi
or edx, ebx
xor eax, ebx
add edx, edx
sub edx, eax
mov ecx, edx
not ecx
mov ebx, ecx
or ebx, 0xe793c3cc
sub ebx, ecx
and ecx, 0x186c3c33
lea eax, [ebx + ebx]
lea edi, [edx + ecx*2 - 0x186c3c33]
mov edx, eax
not eax
xor edx, edi
and eax, edi
lea esi, [eax + eax]
sub edx, esi
mov ebx, edx
mov eax, edx
xor ebx, 0xe790912b
and eax, 0xe790912b
mov edi, edx
mov esi, edx
or edi, 0xe790912b
xor esi, 0x186f6ed4
sub edi, ebx
mov ecx, edi
add ebx, eax
mov eax, edi
or ecx, ebx
and eax, ebx
imul eax, ecx
mov ecx, edi
not ecx
and ecx, ebx
not ebx
and edi, ebx
mov ebx, edx
imul edi, ecx
neg edx
or ebx, 0x186f6ed4
lea ecx, [eax + edi]
xor ebx, esi
lea eax, [edx - 1]
mov esi, eax
xor eax, 0xe790912b
or esi, 0xe790912b
mov edx, ebx
sub esi, eax
not edx
mov eax, esi
mov edi, ebx
not eax
and edx, esi
and eax, ebx
and edi, esi
or ebx, esi
imul eax, edx
imul ebx, edi
mov edi, ecx
add eax, ebx
or edi, eax
xor ecx, eax
lea edx, [edi + edi]
sub edx, ecx
mov eax, edx
neg eax
lea eax, [eax - 1]
mov edi, eax
mov ebx, eax
or edi, 0x90afbd50
and ebx, 0x90afbd50
imul ebx, edi
mov ecx, eax
not ecx
and eax, 0x6f5042af
and ecx, 0x90afbd50
neg ebx
imul eax, ecx
lea esi, [ebx - 1]
sub esi, eax
lea eax, [edx - 1]
not eax
mov ebx, eax
mov edx, eax
and ebx, 0x90afbd4f
or edx, 0x90afbd4f
imul edx, ebx
mov ecx, eax
not ecx
and eax, 0x6f5042b0
and ecx, 0x90afbd4f
neg edx
imul eax, ecx
mov ecx, esi
not ecx
lea ebx, [edx - 1]
sub ebx, eax
neg esi
mov edi, ebx
not ebx
neg edi
imul ecx, edi
imul esi, ebx
not ecx
not esi
sub ecx, esi
mov ebx, dword [esp + 0x1c8]
mov eax, ebx
mov edx, ebx
lea esi, [ecx - 0x46b8bdbf]
xor eax, esi
and edx, esi
shld esi, esi, 0xc
lea ecx, [ecx + ecx + 0x728e8482]
lea edi, [eax + edx*2]
lea eax, [ebx + ebx]
not eax
or eax, ecx
mov ecx, edi
not ecx
neg edi
lea eax, [eax + ebx*2 + 1]
mov edx, eax
not eax
neg edx
imul ecx, edx
mov edx, esi
imul edi, eax
neg edx
mov eax, ebx
not ecx
not edi
shld eax, ebx, 0xc
shrd ebx, ebx, 0x12
sub ecx, edi
lea edx, [edx - 1]
mov edi, edx
or edx, eax
xor edi, eax
xor edi, edx
lea edx, [esi + esi]
lea eax, [edi + edi]
xor edi, esi
or eax, edx
mov esi, ecx
sub eax, edi
mov edi, ecx
shrd eax, eax, 0xc
and edi, eax
or esi, eax
mov edx, ecx
xor edi, eax
xor edx, esi
mov esi, ebx
xor edx, eax
mov dword [esp + 0x680], edx
neg edx
add ecx, edi
neg ecx
lea edx, [edx - 1]
mov eax, edx
not eax
lea edi, [ecx - 1]
imul eax, edi
not edi
imul edi, edx
mov ecx, dword [esp + 0x9ec]
sub eax, edi
shrd ecx, ecx, 0x12
mov dword [esp + 0x684], eax
mov eax, ebx
and eax, ecx
mov edx, ebx
xor eax, ecx
or edx, ecx
xor esi, ecx
shld ecx, ecx, 0xc
add eax, ebx
shld ebx, ebx, 0xc
lea edi, [edx + edx]
mov edx, eax
sub edi, esi
not edx
add edx, edx
lea esi, [edi + edi]
xor edi, eax
and edx, esi
mov esi, ecx
neg esi
lea eax, [ebx + ebx]
sub edx, edi
xor ebx, ecx
lea edi, [esi + esi - 2]
mov esi, eax
or esi, edi
xor esi, eax
xor esi, edi
mov edi, ecx
not edi
add edi, edi
and edi, eax
mov eax, esi
sub edi, ebx
not eax
imul eax, edi
not edi
imul esi, edi
sub eax, esi
mov ebx, edx
shld eax, eax, 0x14
mov ecx, eax
not ebx
not ecx
and ebx, eax
and ecx, edx
add eax, eax
not eax
add edx, edx
lea edi, [ecx + ebx]
mov ebx, eax
or ebx, edx
sub ebx, eax
mov ecx, ebx
xor ebx, edi
or ecx, edi
mov edi, dword [esp + 0x680]
mov esi, edi
mov eax, dword [esp + 0x684]
lea edx, [ecx + ecx]
sub edx, ebx
lea ebx, [eax + eax]
shld edx, edx, 0x12
and esi, edx
xor edi, edx
mov edx, ebx
lea esi, [edi + esi*2]
lea ecx, [esi + esi]
xor edx, ecx
lea edi, [ebx + ebx]
or ebx, ecx
lea eax, [ecx + ecx]
or edi, eax
xor ebx, edx
sub edi, edx
mov eax, ebx
xor eax, edi
not edi
add ebx, ebx
lea ecx, [edi + edi]
mov edi, dword [esp + 0x684]
and ecx, ebx
mov ebx, edi
mov edx, edi
or ebx, esi
and edx, esi
add esi, edi
sub esi, ebx
sub eax, ecx
add edx, ebx
lea ecx, [esi + esi]
mov ebx, ecx
not ebx
imul ebx, edx
not edx
imul edx, ecx
mov ecx, eax
not ebx
not edx
neg ecx
sub ebx, edx
lea edi, [ecx - 1]
mov esi, edi
lea edx, [ebx + 0x719f7dc3]
mov ecx, edi
or esi, edx
and ecx, edx
neg ebx
imul ecx, esi
mov esi, edx
not esi
and esi, edi
not edi
and edi, edx
mov edx, eax
imul edi, esi
not edx
mov esi, eax
add ecx, edi
lea edi, [ebx - 0x719f7dc4]
mov ebx, edi
and edx, edi
not ebx
and esi, edi
and ebx, eax
or eax, edi
imul ebx, edx
imul eax, esi
lea edx, [ebx + eax]
mov ebx, edx
not ebx
and ebx, ecx
xor ecx, edx
lea esi, [ebx + ebx]
mov ebx, dword [esp + 0x680]
sub esi, ecx
not ebx
lea ecx, [esi + 0x719f7dc3]
lea edx, [ebx + 1]
xor ecx, edx
lea edi, [esi + esi - 0x1cc1047a]
mov edx, dword [esp + 0x9e8]
lea eax, [ebx + ebx + 2]
or edi, eax
sub edi, ecx
mov ebx, edi
lea eax, [edx + 0xd99ad82]
xor eax, 1
sub edx, eax
mov eax, edi
neg edi
lea esi, [edx + 1]
and ebx, esi
or eax, esi
not ebx
not eax
sub ebx, eax
lea eax, [edi + edi - 2]
mov ecx, eax
lea edx, [edx + edx + 2]
or ecx, edx
xor ecx, edx
xor ecx, eax
mov eax, ebx
mov esi, ecx
not eax
neg esi
not ecx
neg ebx
imul eax, esi
imul ebx, ecx
not eax
not ebx
sub eax, ebx
mov dword [esp + 0x1c8], eax
shr dword [esp + 0x640], 1
lea edx, [esp + 0x348]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100268e4
mov eax, dword [esp]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x3ac], 0
test eax, eax
je 0x10027186
test byte [esp + 0x1c8], 1
je 0x1002716c
mov esi, dword [esp + 0x1cc]
mov ecx, esi
mov edx, esi
not ecx
and edx, 0xd6e8999e
and ecx, 0x29176661
mov edi, esi
imul edx, ecx
mov ecx, esi
and ecx, 0x29176661
or edi, 0x29176661
imul edi, ecx
lea ebx, [edx + edi]
mov eax, ebx
and ebx, 0x46e4aa85
or eax, 0x46e4aa85
add ebx, eax
mov ecx, ebx
mov eax, ebx
not ecx
mov edx, ebx
and ecx, 0x1893bda1
and eax, 0xe76c425e
or edx, 0x1893bda1
and ebx, 0x1893bda1
imul eax, ecx
imul ebx, edx
lea ecx, [eax + ebx]
mov edi, ecx
not edi
imul edx, edi, 0x35ed915b
imul eax, ecx, 0xca126ea6
not edx
not eax
sub edx, eax
lea ebx, [esi + edi]
mov esi, edx
and esi, ebx
lea ecx, [edx + ebx]
sub ecx, esi
mov esi, edx
or esi, ebx
xor edx, ebx
sub esi, edx
mov ebx, esi
xor esi, ecx
and ebx, ecx
lea edx, [ebx + ebx]
sub edx, edi
lea ebx, [edx + esi]
mov esi, dword [esp + 0x3ac]
lea edx, [ebx + ebx]
lea edi, [esi + esi]
mov eax, edi
mov ecx, edi
xor eax, ebx
and ecx, ebx
add eax, ecx
mov ecx, ebx
xor ecx, eax
not eax
add eax, eax
and edx, eax
mov eax, ecx
sub eax, edx
mov ecx, eax
or eax, edi
and ecx, edi
not eax
not ecx
sub ecx, eax
shrd ecx, ecx, 0x15
shrd edi, edi, 0x15
mov edx, ecx
mov eax, edi
not edx
or eax, ecx
and edx, edi
sub eax, edi
mov edi, eax
xor edi, ecx
add edx, ecx
mov ecx, edi
not ecx
xor edi, edx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov edi, ebx
shld ecx, ecx, 0x15
lea eax, [ecx + 0x35ed915b]
mov ecx, ebx
mov edx, eax
or edi, eax
not edx
not ecx
xor edi, eax
and edx, ebx
and ecx, eax
xor edi, ebx
add edx, ecx
lea ecx, [edi + edi]
mov edi, esi
shld edi, esi, 0xa
shrd esi, esi, 0x1a
lea ebx, [edx + edx]
lea eax, [ecx + ecx]
xor ecx, edx
or ebx, eax
sub ebx, ecx
mov ecx, edi
xor ecx, 1
and edi, 1
mov dword [esp + 0x9f0], ebx
lea edx, [ebx - 0x35ed915b]
mov dword [esp + 0x688], edx
lea eax, [ecx + edi*2]
not eax
lea edi, [eax + 1]
shrd edi, edi, 0xa
mov edx, edi
mov ebx, edi
mov ecx, edi
not edx
and ebx, 0xfb8f533
or ecx, 0xfb8f533
and edx, 0xfb8f533
and edi, 0xf0470acc
imul ecx, ebx
imul edi, edx
lea ebx, [ecx + edi]
lea ecx, [ebx + ebx]
xor ebx, 0xf3184b35
and ecx, 0xe630966a
lea eax, [ecx + ebx]
mov edx, eax
mov edi, eax
not edx
mov ecx, eax
and edi, 0x1e03f204
and edx, 0xe1fc0dfb
or ecx, 0xe1fc0dfb
and eax, 0xe1fc0dfb
imul edx, edi
imul eax, ecx
add edx, eax
mov ebx, edx
xor edx, 0xce309209
and ebx, 0xce309209
lea eax, [edx + ebx*2]
mov edx, dword [esp + 0x1cc]
bswap eax
mov edi, edx
bswap edi
mov ecx, eax
xor ecx, edi
mov ebx, edi
and ecx, edi
not ebx
shrd edx, edx, 0x1f
add ecx, eax
and ebx, ecx
xor ecx, edi
add ebx, ebx
sub ebx, ecx
lea ecx, [eax + eax]
mov edi, ebx
not edi
add edi, edi
and edi, ecx
mov ecx, edx
sub edi, eax
or ecx, 1
xor edx, 1
lea eax, [edi + ebx]
bswap eax
lea ebx, [ecx + ecx]
sub ebx, edx
lea ecx, [ebx - 1]
not ecx
shld ecx, ecx, 0x1f
shrd ecx, ecx, 0x1a
mov edx, ecx
neg edx
lea ebx, [edx - 1]
mov edi, ebx
and edi, esi
xor edi, ebx
add esi, edi
xor ebx, esi
not esi
lea edi, [edx + edx - 2]
lea edx, [esi + esi]
and edi, edx
sub ebx, edi
shld ebx, ebx, 0x1a
mov esi, ebx
lea ebx, [eax + eax]
sub esi, ecx
lea edx, [esi - 1]
mov edi, edx
or edi, eax
add edi, edi
sub edi, eax
mov eax, ebx
sub edi, edx
lea edx, [esi + esi - 2]
or eax, edx
xor eax, ebx
xor eax, edx
mov edx, eax
and eax, edi
or edx, edi
add ecx, edx
mov edx, dword [esp + 0x688]
bswap edx
lea ecx, [ecx + eax + 1]
mov ebx, ecx
mov edi, ecx
or ebx, 1
and edi, 1
lea esi, [ebx + edi]
not esi
lea edi, [esi + 1]
bswap edi
mov esi, edi
not esi
mov eax, esi
and eax, edx
add eax, edi
mov ebx, eax
not ebx
imul ebx, edi
imul esi, eax
sub ebx, esi
mov edi, ebx
or edi, edx
lea eax, [edi + edi]
sub eax, edx
sub eax, ebx
mov ebx, dword [esp + 0x9f0]
bswap eax
lea edi, [ebx + ebx - 0x6bdb22b6]
mov esi, edi
lea ebx, [ecx + ecx]
not esi
lea edx, [eax + eax]
and esi, ebx
neg edx
mov ebx, dword [esp + 0x688]
lea eax, [eax + eax - 1]
not eax
add edi, esi
mov esi, ecx
or esi, ebx
xor ecx, ebx
lea ebx, [edx - 1]
mov edx, ebx
not edx
add esi, esi
sub esi, ecx
mov ecx, edi
not ecx
imul ecx, esi
not esi
imul esi, edi
sub ecx, esi
lea esi, [ecx - 1]
neg ecx
not esi
mov edi, esi
and edx, esi
not edi
and edi, ebx
imul edx, edi
mov edi, esi
and edi, ebx
or esi, ebx
neg edx
imul esi, edi
lea edi, [ecx - 1]
mov ebx, edi
lea edx, [edx - 1]
mov ecx, eax
sub edx, esi
not ebx
mov esi, eax
not ecx
and esi, ebx
and ecx, edi
mov ebx, eax
imul ecx, esi
or ebx, edi
and eax, edi
neg ecx
imul eax, ebx
mov edi, edx
not edx
lea ecx, [ecx - 1]
sub ecx, eax
mov esi, ecx
not esi
imul edi, esi
imul edx, ecx
not edi
not edx
sub edi, edx
mov dword [esp + 0x3ac], edi
shr dword [esp + 0x1c8], 1
lea edx, [esp + 0x1cc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10026e08
mov eax, dword [esp]
mov ecx, dword [esp + 0x440]
mov edx, eax
xor ecx, 0xffcba014
mov esi, eax
and ecx, 0x1c81400
not esi
imul edx, eax
mov dword [esp + 0x148], esi
lea edi, [ecx + 0xa006000]
imul edi, edx
mov ebx, edi
neg ebx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x6f4], edi
shrd edi, edi, 2
mov dword [esp + 0x174], 0
lea ebx, [ebx - 1]
and esi, ebx
lea edx, [eax + esi]
mov esi, ebx
not esi
imul esi, edx
not edx
imul edx, ebx
shrd eax, eax, 2
not esi
not edx
sub esi, edx
lea ebx, [edi + edi]
mov edx, edi
lea ecx, [eax + eax]
and ebx, ecx
mov ecx, edi
xor edx, eax
not ecx
or ecx, eax
mov dword [esp + 0xa94], eax
add edx, ebx
mov ebx, edx
lea eax, [edi + ecx + 1]
not edx
xor ebx, eax
and edx, eax
mov ecx, esi
mov eax, esi
lea edi, [edx + edx]
sub ebx, edi
shld ebx, ebx, 2
mov edx, ebx
or eax, ebx
not edx
xor eax, esi
and ecx, edx
xor eax, ebx
lea edx, [ecx + ebx]
mov ecx, eax
mov edi, edx
not ecx
not edi
and ecx, edx
and edi, eax
imul ecx, edi
mov edi, eax
and edi, edx
or eax, edx
mov edx, esi
imul eax, edi
neg edx
lea edi, [ecx + eax]
mov ecx, esi
lea eax, [edx - 1]
mov edx, eax
or eax, ebx
xor edx, ebx
neg ebx
xor edx, eax
lea eax, [ebx - 1]
mov ebx, esi
or ecx, eax
xor ebx, eax
mov esi, ecx
mov eax, edx
sub esi, ebx
not eax
mov ecx, esi
mov ebx, esi
not ecx
and ebx, eax
mov eax, esi
and ecx, edx
or eax, edx
and esi, edx
imul ebx, ecx
imul esi, eax
mov eax, edi
lea edx, [esi + ebx]
and eax, edx
xor edi, edx
mov dword [esp + 0xa98], ebx
lea ebx, [edi + eax*2]
mov eax, dword [esp]
mov edx, eax
mov ecx, eax
mov edi, eax
and edx, 0x5b78742f
mov dword [esp + 0xa9c], ebx
or ecx, 0x5b78742f
mov ebx, dword [esp + 0x148]
and edi, 0xa4878bd0
and ebx, 0x5b78742f
imul ecx, edx
imul edi, ebx
lea esi, [ecx + edi]
mov edx, esi
xor esi, 0x99cf7874
and edx, 0x19cf7874
lea esi, [esi + edx*2]
mov ecx, esi
mov ebx, esi
mov edx, esi
not ecx
or ebx, 0xd20d52cf
and edx, 0xd20d52cf
and ecx, 0xd20d52cf
and esi, 0x2df2ad30
imul edx, ebx
imul esi, ecx
lea edi, [edx + esi]
mov edx, dword [esp + 0x6f4]
xor edx, 1
lea ebx, [edi + edi]
not edx
or ebx, 0xcd88e468
xor edi, 0xe6c47234
sub ebx, edi
bswap ebx
lea esi, [edx + 1]
bswap esi
lea edx, [ebx + ebx]
lea edi, [esi + esi]
and edx, edi
lea ecx, [ebx + esi]
mov edi, ebx
sub ecx, edx
and edi, esi
xor edi, ebx
mov ebx, ecx
not ebx
lea edx, [edi + esi]
lea esi, [edx + edx]
lea edi, [ebx + ebx]
and esi, edi
mov edi, eax
or eax, 1
xor edi, 1
mov dword [esp + 0x444], eax
mov dword [esp + 0x6f8], edi
add ecx, esi
sub ecx, edx
lea edx, [eax + eax]
sub edx, edi
not edx
bswap ecx
mov dword [esp + 0xaa0], ecx
mov ecx, dword [esp + 0xa98]
lea eax, [edx + 1]
mov edx, dword [esp + 0x6f4]
ror eax, cl
ror edx, cl
mov esi, eax
and esi, edx
mov edi, eax
mov ebx, esi
xor esi, eax
or edi, edx
not ebx
not edi
neg ecx
sub ebx, edi
lea eax, [esi + edx]
mov edx, ebx
not edx
imul edx, eax
not eax
imul ebx, eax
sub edx, ebx
not edx
lea esi, [edx + 1]
ror esi, cl
mov edx, esi
mov eax, esi
not edx
mov edi, esi
and edx, 0x71df29d1
and eax, 0x8e20d62e
and edi, 0x71df29d1
or esi, 0x71df29d1
imul eax, edx
imul esi, edi
lea ebx, [eax + esi]
mov edx, ebx
and ebx, 0xaddc574a
or edx, 0xaddc574a
lea eax, [edx + ebx]
mov edx, eax
mov ecx, eax
mov ebx, eax
not edx
or ecx, 0xdf29cf31
and ebx, 0xdf29cf31
and edx, 0xdf29cf31
and eax, 0x20d630ce
imul ebx, ecx
imul eax, edx
mov edx, dword [esp + 0xaa0]
lea edi, [ebx + eax]
mov esi, edi
lea ebx, [edi + edi]
xor esi, 0x1d6474d6
and ebx, 0x3ac8e9ac
mov edi, edx
neg edi
lea eax, [esi + ebx]
mov ebx, edx
mov esi, eax
not ebx
lea ecx, [edi - 1]
mov edi, eax
neg edi
or esi, ecx
sub esi, eax
xor esi, ecx
lea ecx, [edi - 1]
mov edi, esi
or ebx, ecx
lea ebx, [edx + ebx + 1]
mov ecx, ebx
not ecx
and edi, ecx
mov ecx, esi
not ecx
and ecx, ebx
imul ecx, edi
mov edi, esi
and edi, ebx
or esi, ebx
imul esi, edi
mov edi, eax
or edi, edx
lea ebx, [ecx + esi]
mov ecx, eax
mov esi, eax
and ecx, edx
xor esi, edx
xor ecx, edx
xor esi, edi
mov edx, esi
lea edi, [ecx + eax]
mov eax, esi
mov ecx, edi
not eax
not ecx
and eax, edi
and edx, ecx
mov ecx, esi
and ecx, edi
or esi, edi
imul edx, eax
imul esi, ecx
add edx, esi
mov eax, edx
and edx, ebx
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xa9c]
mov ecx, eax
mov ebx, eax
or ecx, edx
xor ebx, edx
xor ebx, ecx
lea esi, [ecx + ecx]
sub esi, edx
lea edi, [ebx + ebx]
sub esi, eax
mov eax, esi
and esi, edi
or eax, edi
lea edx, [eax + esi]
lea ebx, [edx - 0x1a341e69]
mov eax, dword [esp + 0x3ac]
mov edi, eax
mov ecx, eax
or edi, ebx
xor edi, ebx
not ebx
and eax, ebx
xor ecx, edi
mov esi, dword [esp + 4]
mov dword [esp + 0xaa4], ecx
mov dword [esp + 0x644], esi
mov dword [esp + 0x34c], esi
lea edx, [eax + edx - 0x1a341e69]
mov dword [esp + 0xaa8], edx
test esi, esi
je 0x1002757c
test byte [esp + 0x644], 1
je 0x10027566
mov edi, dword [esp + 0x34c]
mov ebx, dword [esp + 0x174]
mov edx, ebx
mov eax, ebx
lea esi, [edi + edi]
xor edx, esi
or eax, esi
sub eax, edx
mov edx, ebx
not edx
and edx, esi
lea ecx, [eax + eax]
lea edx, [ebx + edx*2]
sub edx, esi
mov eax, edx
xor eax, ecx
add ecx, ecx
sub eax, edi
lea ebx, [edx + edx]
and ecx, ebx
lea esi, [eax + ecx]
mov dword [esp + 0x174], esi
shr dword [esp + 0x644], 1
lea edx, [esp + 0x34c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002751c
mov eax, dword [esp + 4]
mov dword [esp + 0x350], eax
mov dword [esp + 0x1d0], 0
test eax, eax
je 0x1002766e
test byte [esp + 0x174], 1
je 0x10027654
mov edx, dword [esp + 0x174]
mov edi, dword [esp + 0x1d0]
lea ebx, [edx + edx]
xor edx, edi
lea ecx, [edi + edi]
or ebx, ecx
mov ecx, dword [esp + 0x350]
sub ebx, edx
mov esi, ecx
mov eax, ecx
and esi, ebx
xor eax, ebx
mov edi, ebx
xor edi, esi
lea eax, [eax + esi*2]
mov edx, eax
not edx
add edi, ecx
imul edx, edi
not edi
imul edi, eax
sub edx, edi
mov eax, ebx
mov dword [esp + 0x9f4], edx
not eax
lea edi, [edx + edx]
mov edx, ecx
and edx, eax
or ecx, ebx
lea eax, [edx + ebx]
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x9f4]
mov esi, ebx
add eax, eax
xor esi, eax
not eax
and eax, ebx
lea edx, [eax + eax]
sub esi, edx
lea eax, [edi + edi]
lea ebx, [esi + ecx*2]
mov ecx, esi
or ecx, edi
lea edx, [esi + esi]
sub ecx, esi
and eax, edx
xor ecx, edi
sub ebx, eax
mov eax, ebx
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0x174]
or eax, esi
and ebx, esi
mov edi, ecx
lea edx, [eax + ebx]
xor edi, edx
not edx
and ecx, edx
lea esi, [ecx + ecx]
sub edi, esi
mov dword [esp + 0x1d0], edi
shr dword [esp + 0x174], 1
lea edx, [esp + 0x350]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002759a
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x354], 0x9cf00000
test byte [esp + 0x1d0], 1
je 0x1002792f
mov edx, dword [esp + 0x354]
mov ebx, edx
neg ebx
mov ecx, edx
or ecx, 0xb49eafed
lea edi, [ebx - 1]
not edi
lea esi, [ecx + 0x4b615013]
or edi, 0xb49eafed
mov eax, esi
not eax
add ebx, edi
mov edi, ebx
and eax, ebx
not edi
and edi, esi
imul edi, eax
mov eax, ebx
or eax, esi
and ebx, esi
mov esi, edx
and edx, 0xb49eafed
imul ebx, eax
xor esi, 0xb49eafed
sub ecx, esi
lea eax, [edi + ebx]
mov ebx, ecx
lea edi, [edx + esi]
mov esi, ecx
mov edx, ecx
not esi
or edx, edi
and ebx, edi
and esi, edi
not edi
and edi, ecx
imul ebx, edx
mov edx, eax
imul edi, esi
lea ecx, [ebx + edi]
and edx, ecx
xor eax, ecx
lea edi, [eax + edx*2]
mov ebx, edi
mov esi, edi
mov edx, edi
not ebx
and esi, 0xde1c05a9
or edx, 0xde1c05a9
and ebx, 0xde1c05a9
and edi, 0x21e3fa56
imul edx, esi
imul edi, ebx
lea ecx, [edx + edi]
mov eax, ecx
lea edx, [ecx + ecx]
xor eax, 0x828615e9
and edx, 0x50c2bd2
add eax, edx
mov edx, eax
mov esi, eax
mov ecx, eax
not edx
or esi, 0xff826e99
and ecx, 0xff826e99
and edx, 0xff826e99
and eax, 0x7d9166
imul ecx, esi
imul eax, edx
lea ebx, [ecx + eax]
imul esi, ebx, 0x2920c9be
not ebx
imul edi, ebx, 0xd6df3641
not esi
not edi
sub esi, edi
mov eax, esi
mov ecx, esi
and eax, 0xe71f97e8
or ecx, 0xe71f97e8
sub ecx, esi
mov edx, ecx
xor edx, 0xe71f97e8
mov dword [esp + 0x9f8], ecx
lea ebx, [eax + eax]
sub esi, ebx
neg ecx
add edx, edx
lea ebx, [esi - 0x18e06818]
mov eax, ebx
xor ebx, edx
or eax, edx
lea ecx, [ecx + 0x52a26a88]
lea esi, [eax + eax]
sub esi, ebx
mov edi, esi
mov ebx, esi
neg edi
mov eax, esi
xor ebx, 0x3e8efa1a
or eax, 0x3e8efa1a
xor ebx, eax
mov eax, ebx
lea edx, [edi - 1]
or edx, 0xc17105e5
sub edi, edx
mov edx, ebx
not edx
lea edi, [edi - 0x3e8efa1c]
and edx, edi
mov dword [esp + 0x9fc], edx
mov edx, edi
not edx
and eax, edx
mov edx, ebx
or edx, edi
and ebx, edi
imul eax, dword [esp + 0x9fc]
mov edi, esi
imul ebx, edx
xor edi, 0xc17105e5
lea edx, [eax + ebx]
mov ebx, esi
mov eax, esi
not ebx
or eax, 0xc17105e5
and ebx, 0xc17105e5
sub eax, edi
lea edi, [esi + ebx]
mov ebx, eax
mov esi, eax
and ebx, edi
or esi, edi
imul esi, ebx
mov ebx, eax
not ebx
and ebx, edi
not edi
and eax, edi
mov edi, edx
imul eax, ebx
add esi, eax
mov eax, ecx
or edi, esi
and edx, esi
neg eax
add edx, edi
lea edi, [eax - 1]
mov eax, edi
mov ebx, edi
or eax, edx
and ebx, edx
imul ebx, eax
mov esi, edi
neg ebx
not esi
and esi, edx
lea eax, [ebx - 1]
mov ebx, edx
not ebx
neg edx
and ebx, edi
imul ebx, esi
mov esi, ecx
sub eax, ebx
lea ebx, [edx - 1]
mov edi, ebx
not esi
not edi
and esi, ebx
and edi, ecx
imul edi, esi
neg edi
lea edx, [edi - 1]
mov edi, ebx
or edi, ecx
and ebx, ecx
imul ebx, edi
sub edx, ebx
mov ebx, eax
mov esi, edx
xor edx, eax
not esi
and ebx, esi
mov ecx, dword [esp + 0x1d4]
bswap ecx
lea edi, [ebx + ebx]
sub edi, dword [esp + 0x9f8]
sub edi, edx
bswap edi
mov edx, edi
mov esi, edi
or edx, ecx
not esi
xor edx, ecx
mov eax, edi
xor edx, edi
sub eax, edx
lea ebx, [edx + edx]
lea edx, [esi + esi]
mov esi, edi
and ebx, edx
xor esi, ecx
add eax, ebx
mov ebx, ecx
mov edx, eax
xor eax, ecx
and edx, ecx
not ebx
lea eax, [eax + edx*2]
mov edx, edi
and edx, ecx
bswap eax
add esi, edx
lea edx, [ebx + ebx]
lea ebx, [esi + esi]
xor esi, ecx
and edx, ebx
sub edx, esi
mov ecx, edx
not ecx
and ecx, edi
lea esi, [edx + ecx*2]
sub esi, edi
lea edi, [eax + eax]
bswap esi
mov edx, edi
lea ebx, [esi + esi]
or edx, ebx
xor edx, edi
xor edx, ebx
mov ebx, esi
or ebx, eax
and esi, eax
sub ebx, esi
mov eax, ebx
xor ebx, edx
and eax, edx
lea eax, [ebx + eax*2]
mov dword [esp + 0x1d4], eax
shr dword [esp + 0x1d0], 1
lea edx, [esp + 0x354]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10027684
mov eax, dword [esp]
mov dword [esp + 0x358], eax
mov dword [esp + 0x3b0], 0
test eax, eax
je 0x10027cf3
test byte [esp + 0x1d4], 1
je 0x10027cd9
mov eax, dword [esp + 0x358]
mov esi, eax
mov edi, eax
mov ecx, eax
not eax
and esi, 0x53be639f
or edi, 0x53be639f
and ecx, 0xac419c60
and eax, 0x53be639f
imul edi, esi
imul eax, ecx
lea esi, [edi + eax]
mov ebx, esi
and esi, 0x727db2aa
or ebx, 0x727db2aa
lea edi, [ebx + esi]
mov ecx, edi
mov edx, edi
mov eax, edi
not edi
or ecx, 0x3cc9f85f
and edx, 0x3cc9f85f
and eax, 0xc33607a0
and edi, 0x3cc9f85f
imul edx, ecx
imul edi, eax
lea esi, [edx + edi]
mov ebx, esi
lea ecx, [esi + esi]
xor ebx, 0x9ecc02ea
and ecx, 0x3d9805d4
lea edx, [ebx + ecx]
mov edi, edx
mov esi, edx
neg edi
not esi
or esi, 0x315293ee
lea ecx, [edi - 1]
mov eax, ecx
lea ebx, [edx + esi + 1]
xor eax, 0xcead6c11
or ecx, 0xcead6c11
sub ecx, eax
mov eax, ebx
not eax
mov edi, ecx
mov esi, ecx
and eax, ecx
not ecx
or edi, ebx
and esi, ebx
and ecx, ebx
imul esi, edi
mov edi, edx
imul ecx, eax
mov eax, edx
lea ebx, [esi + ecx]
mov esi, edx
and eax, 0xcead6c11
or esi, 0xcead6c11
sub edx, eax
sub edi, esi
lea ecx, [edi - 0x315293ef]
mov eax, ecx
lea edi, [edx - 0x315293ef]
not eax
mov esi, edi
and eax, edi
mov edx, edi
not edi
and esi, ecx
or edx, ecx
and edi, ecx
imul edx, esi
mov esi, ebx
imul edi, eax
lea ecx, [edx + edi]
xor esi, ecx
add ecx, ecx
add ebx, ebx
and ecx, ebx
add esi, ecx
mov edx, esi
not esi
neg edx
lea edi, [edx - 1]
mov ecx, edi
lea edx, [eax - 0xc0e66e5]
not edx
not ecx
mov ebx, edx
not ebx
and ebx, edi
mov dword [esp + 0xa00], ebx
mov ebx, edx
and ebx, ecx
imul ebx, dword [esp + 0xa00]
neg ebx
lea ecx, [ebx - 1]
mov ebx, edx
and ebx, edi
or edx, edi
imul edx, ebx
mov ebx, eax
neg ebx
lea edi, [esi + 1]
sub ecx, edx
mov edx, edi
lea esi, [ebx + 0xc0e66e3]
mov ebx, edi
and edx, esi
or ebx, esi
imul ebx, edx
mov edx, edi
not edx
and edx, esi
not esi
and esi, edi
imul esi, edx
mov edx, ecx
not ecx
lea edi, [ebx + esi]
neg edi
lea ebx, [edi - 1]
mov esi, ebx
not esi
imul edx, esi
imul ecx, ebx
not edx
not ecx
add eax, edx
sub eax, ecx
mov ecx, eax
mov esi, eax
and ecx, 0x693d04f1
mov ebx, eax
xor ecx, 0x693d04f1
or esi, 0x693d04f1
xor ebx, 0x693d04f1
sub esi, ebx
mov edx, esi
not edx
lea edi, [ecx + eax]
mov ebx, edi
mov ecx, esi
not ebx
and edx, edi
and ebx, esi
and ecx, edi
or esi, edi
mov edi, eax
neg edi
imul ebx, edx
mov edx, eax
imul esi, ecx
or edx, 0x96c2fb0e
lea ecx, [edi - 1]
mov edi, ecx
sub edx, eax
or edi, 0x693d04f1
xor ecx, 0x693d04f1
xor edx, 0x96c2fb0e
add esi, ebx
xor edi, ecx
mov eax, edx
mov ebx, edx
and eax, edi
or ebx, edi
mov ecx, edx
imul ebx, eax
mov eax, edi
not eax
not edx
and ecx, eax
and edi, edx
imul edi, ecx
mov ecx, esi
mov edx, esi
add ebx, edi
or ecx, ebx
xor edx, ebx
add ecx, ecx
mov esi, ecx
sub esi, edx
mov eax, esi
mov edi, esi
or eax, 0x6481935b
and edi, 0x6481935b
imul edi, eax
mov ebx, esi
mov edx, esi
neg esi
not ebx
neg edi
and ebx, 0x6481935b
and edx, 0x9b7e6ca4
imul edx, ebx
lea ecx, [esi - 1]
mov ebx, ecx
lea eax, [edi - 1]
mov edi, ecx
sub eax, edx
not edi
mov edx, ecx
and edi, 0x9b7e6ca4
and ecx, 0x6481935b
imul ecx, edi
or edx, 0x9b7e6ca4
and ebx, 0x9b7e6ca4
neg ecx
imul ebx, edx
mov esi, eax
not eax
lea ecx, [ecx - 1]
sub ecx, ebx
mov edi, ebx
xor esi, ecx
not edi
mov dword [esp + 0xa04], ebx
lea edx, [eax + eax]
add ecx, ecx
and edx, ecx
lea ecx, [edi + edi]
sub esi, edx
lea eax, [esi + esi]
xor esi, ebx
and eax, ecx
sub eax, esi
mov ebx, dword [esp + 0x3b0]
lea esi, [eax + eax]
mov edi, esi
lea ecx, [ebx + ebx]
not edi
mov edx, ecx
and edi, ecx
not edx
mov dword [esp + 0x68c], edx
lea edx, [esi + edi*2]
mov edi, dword [esp + 0x68c]
sub edx, ecx
or edi, edx
sub edi, dword [esp + 0x68c]
mov edx, edi
xor edx, esi
add esi, esi
add edi, edi
and edi, esi
lea esi, [edx + edi]
mov edx, ebx
or edx, eax
mov edi, ebx
sub edx, eax
xor edi, edx
mov edx, eax
mov dword [esp + 0xa08], esi
not edx
neg eax
lea esi, [edi + edi]
mov edi, esi
not esi
neg edi
imul edx, edi
imul eax, esi
not edx
not eax
sub edx, eax
xor ebx, edx
mov edi, dword [esp + 0xa08]
lea esi, [edx + edx]
and ecx, esi
mov esi, edi
lea edx, [ebx + ecx]
mov ebx, edi
neg edi
mov eax, edx
and ebx, edx
or esi, edx
not ebx
not esi
sub ebx, esi
lea ecx, [edi - 1]
or eax, ecx
xor eax, edx
xor eax, ecx
mov ecx, ebx
not ebx
lea esi, [eax + eax]
mov eax, dword [esp + 0xa04]
xor ecx, esi
lea edx, [ebx + ebx]
add esi, esi
and edx, esi
lea ebx, [eax - 1]
sub ecx, edx
not ebx
mov esi, ecx
not ecx
xor esi, ebx
lea eax, [ebx + ebx]
lea edi, [ecx + ecx]
and edi, eax
sub esi, edi
mov dword [esp + 0x3b0], esi
shr dword [esp + 0x1d4], 1
lea edx, [esp + 0x358]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10027966
mov ecx, dword [esp]
mov edx, ecx
neg edx
mov ebx, ecx
mov dword [esp + 0x23c], edx
mov dword [esp + 0x35c], ecx
mov dword [esp + 0x1f4], 0
lea esi, [edx - 1]
mov edx, ecx
or ebx, esi
mov eax, ebx
xor edx, ebx
sub eax, ecx
xor edx, esi
xor eax, esi
mov ebx, edx
mov edi, eax
mov dword [esp + 0x164], esi
not edi
mov esi, edx
and ebx, edi
not esi
mov edi, eax
and edi, esi
mov esi, eax
and esi, edx
or eax, edx
imul edi, ebx
imul eax, esi
mov esi, dword [esp + 0x17c]
lea ebx, [edi + eax]
lea edx, [ebx + ebx]
lea eax, [esi + esi]
xor esi, ebx
and edx, eax
mov eax, ecx
lea ebx, [edx + esi]
imul eax, ebx
mov dword [esp + 0x648], eax
test ecx, ecx
je 0x1002828a
test byte [esp + 0x648], 1
je 0x10028270
mov esi, dword [esp + 0x1f4]
mov edi, esi
neg edi
mov dword [esp + 0xa0c], edi
lea ecx, [edi - 1]
mov edi, dword [esp + 0x35c]
mov ebx, edi
mov eax, ecx
not ebx
not eax
mov edx, edi
and ebx, ecx
and edx, eax
mov eax, edi
imul edx, ebx
mov ebx, edi
or eax, ecx
and ebx, ecx
imul ebx, eax
neg edi
mov dword [esp + 0x690], ecx
lea eax, [edx + ebx]
mov ebx, esi
lea ecx, [edi - 1]
mov edi, esi
mov edx, esi
not ebx
or edi, ecx
and edx, ecx
neg eax
mov dword [esp + 0xa10], ebx
and ebx, ecx
imul edx, edi
not ecx
mov edi, esi
and edi, ecx
imul edi, ebx
mov dword [esp + 0x694], eax
add edx, edi
neg edx
lea eax, [eax - 1]
mov ecx, eax
not ecx
lea ebx, [edx - 1]
mov edx, dword [esp + 0x694]
imul ecx, ebx
not ebx
imul ebx, eax
sub ecx, ebx
mov eax, esi
mov ebx, esi
mov dword [esp + 0xa14], ecx
lea edi, [edx + ecx]
mov edx, esi
or edx, edi
and eax, edi
sub edx, esi
xor ebx, edi
xor edx, edi
mov dword [esp + 0xa18], eax
mov edi, edx
mov dword [esp + 0xa1c], ebx
add eax, ebx
mov dword [esp + 0xa20], eax
xor edi, eax
add eax, eax
mov ebx, dword [esp + 0x690]
add edx, edx
and eax, edx
mov edx, ecx
or edx, ebx
xor ecx, ebx
xor edx, ecx
sub edi, dword [esp + 0x694]
add edi, eax
mov ecx, edi
lea eax, [esi + esi]
xor esi, edx
lea ebx, [edx + edx]
and eax, ebx
not ecx
add esi, eax
mov edx, esi
neg edx
lea ebx, [edx - 1]
mov edx, edi
mov eax, ebx
and ecx, ebx
not eax
or edx, ebx
and eax, edi
imul ecx, eax
mov eax, edi
and eax, ebx
neg ecx
imul eax, edx
neg edi
mov edx, esi
lea ecx, [ecx - 1]
sub ecx, eax
lea eax, [edi - 1]
mov ebx, eax
mov edi, esi
not ebx
not edi
and ebx, esi
and edi, eax
imul edi, ebx
or edx, eax
and esi, eax
neg edi
imul esi, edx
mov eax, ecx
not ecx
lea edi, [edi - 1]
sub edi, esi
xor eax, edi
lea ebx, [edi + edi]
lea edi, [ecx + ecx]
and ebx, edi
sub eax, ebx
mov dword [esp + 0xa24], eax
mov eax, dword [esp + 0xa14]
mov esi, eax
mov edi, eax
not esi
neg edi
or esi, 0x3f082aac
lea ebx, [eax + esi + 1]
lea esi, [edi - 1]
mov edi, esi
or esi, 0xc0f7d553
xor edi, 0xc0f7d553
sub esi, edi
mov edi, ebx
mov ecx, esi
not edi
not ecx
and edi, esi
and ecx, ebx
imul edi, ecx
mov ecx, esi
and ecx, ebx
or esi, ebx
imul esi, ecx
mov ebx, eax
or ebx, 0xc0f7d553
add esi, edi
mov edi, eax
and edi, 0xc0f7d553
xor edi, 0xc0f7d553
lea ecx, [ebx + 0x3f082aad]
mov ebx, eax
xor ebx, ecx
mov ecx, ebx
add eax, edi
mov edi, ebx
and edi, eax
or ecx, eax
imul ecx, edi
mov edi, eax
not edi
and edi, ebx
not ebx
and ebx, eax
mov eax, esi
imul ebx, edi
add ebx, ecx
or eax, ebx
xor esi, ebx
lea edi, [eax + eax]
mov eax, dword [esp + 0xa10]
sub edi, esi
mov ebx, edi
lea esi, [eax + 0x226c7eca]
or ebx, esi
lea ecx, [ebx + ebx]
sub ecx, eax
sub ecx, edi
neg edi
lea ebx, [edi + edi - 2]
lea edi, [eax + eax + 0x44d8fd94]
mov esi, edi
xor edi, ebx
or esi, ebx
lea ecx, [ecx + 0x5d938136]
xor esi, edi
mov ebx, esi
xor ebx, ecx
not ecx
add ebx, eax
lea eax, [esi + esi]
lea edi, [ecx + ecx]
and eax, edi
sub ebx, eax
mov esi, ebx
mov ecx, ebx
or esi, 0x826f36db
xor ecx, 0x826f36db
mov eax, esi
xor eax, ecx
mov edi, eax
mov ecx, eax
and edi, esi
or ecx, esi
imul ecx, edi
mov edi, eax
not edi
and edi, esi
not esi
and esi, eax
mov eax, ebx
imul esi, edi
or eax, 0x7d90c924
lea edi, [ecx + esi]
lea ecx, [eax - 0x7d90c924]
mov eax, ebx
neg ebx
xor eax, ecx
lea esi, [ebx - 1]
not esi
mov ebx, esi
or ebx, 0x826f36db
sub ebx, esi
mov esi, eax
mov ecx, ebx
not esi
not ecx
and ecx, eax
mov dword [esp + 0xa28], ecx
mov ecx, ebx
and ecx, esi
mov esi, eax
and esi, ebx
or eax, ebx
imul ecx, dword [esp + 0xa28]
imul eax, esi
mov esi, edi
add ecx, eax
or esi, ecx
xor edi, ecx
lea ebx, [esi + esi]
mov esi, dword [esp + 0xa1c]
sub ebx, edi
mov edi, dword [esp + 0xa18]
mov eax, ebx
mov ecx, ebx
lea esi, [edi + esi + 0x632512ce]
mov edi, dword [esp + 0xa20]
or eax, esi
xor ecx, esi
sub eax, ebx
and ebx, ecx
xor eax, esi
mov esi, eax
lea ecx, [edi + ebx + 0x632512ce]
xor esi, ecx
and eax, ecx
sub esi, edi
mov ecx, dword [esp + 0x1f4]
shrd ecx, ecx, 4
mov ebx, ecx
lea edi, [esi + eax*2]
mov esi, ecx
and ebx, 0xaaf2deb9
or esi, 0xaaf2deb9
mov eax, ecx
imul ebx, esi
mov esi, ecx
shrd edi, edi, 4
not esi
and eax, 0x550d2146
and esi, 0xaaf2deb9
imul esi, eax
mov dword [esp + 0xa2c], edi
lea eax, [ebx + esi]
mov esi, eax
or eax, 0xb91781b8
and esi, 0xb91781b8
bswap ecx
lea ebx, [esi + eax]
mov esi, ebx
mov eax, ebx
and esi, 0xf58dc789
or eax, 0xf58dc789
imul eax, esi
mov esi, ebx
not esi
and ebx, 0xa723876
and esi, 0xf58dc789
imul ebx, esi
lea esi, [eax + ebx]
mov ebx, esi
not esi
xor ebx, 0xddc27378
lea eax, [esi + esi]
and eax, 0xbb84e6f0
sub ebx, eax
mov esi, ebx
mov eax, ebx
and esi, edi
xor eax, esi
lea esi, [eax + edi]
mov eax, ebx
not eax
and eax, edi
not edi
and ebx, edi
add eax, ebx
mov edi, eax
add eax, eax
xor edi, esi
not esi
lea ebx, [esi + esi]
mov esi, ecx
and ebx, eax
not esi
sub edi, ebx
mov ebx, ecx
bswap edi
neg ecx
xor ebx, edi
add esi, esi
lea eax, [edi + edi]
and esi, eax
lea eax, [ecx - 1]
mov ecx, eax
or eax, edi
xor ecx, edi
sub ebx, esi
sub eax, ecx
lea esi, [ebx + ebx]
add eax, eax
xor ebx, eax
lea edi, [eax + eax]
or edi, esi
sub edi, ebx
bswap edi
lea esi, [edx + edi]
mov edi, dword [esp + 0xa2c]
mov eax, esi
mov ecx, esi
not eax
mov ebx, esi
sub ecx, edi
and eax, edi
xor ebx, edi
or esi, edi
xor ebx, esi
lea ecx, [ecx + eax*2]
mov edi, ecx
lea eax, [ebx + ebx]
and edi, eax
xor ecx, eax
lea esi, [edi + edi]
mov edi, dword [esp + 0xa24]
sub esi, edx
mov eax, edi
not eax
lea edx, [esi + ecx]
mov esi, eax
shrd edx, edx, 0x1c
and esi, edx
mov ecx, edi
lea ebx, [esi + edi]
mov esi, edi
and esi, ebx
or ecx, ebx
not esi
not ecx
sub esi, ecx
mov ebx, esi
and esi, edx
or ebx, edx
sub ebx, esi
mov esi, edx
neg esi
lea ecx, [ebx + ebx]
lea esi, [esi - 1]
or eax, esi
lea eax, [eax + edi + 1]
neg edi
lea esi, [edi - 1]
mov edi, esi
xor esi, edx
or edi, edx
sub edi, esi
lea esi, [eax + eax]
lea edx, [edi + edi]
xor edi, eax
or esi, edx
sub esi, edi
lea edi, [ecx + ecx]
lea edx, [esi + esi - 0x6ba43680]
lea eax, [esi + ebx*2]
mov ebx, edx
and ebx, edi
not edi
sub eax, ebx
mov ebx, edi
or ebx, edx
sub ebx, edi
mov esi, dword [esp + 0x690]
xor esi, 1
lea ecx, [eax - 0x35d21b40]
mov eax, ebx
and ebx, ecx
or eax, ecx
mov ecx, dword [esp + 0xa0c]
lea edx, [eax + ebx]
neg edx
lea edi, [ecx + ecx - 2]
and edi, 2
lea ebx, [eax + ebx + 0x35d21b40]
lea edx, [edx - 0x35d21b41]
mov ecx, edx
add edi, esi
mov esi, edx
or ecx, edi
and esi, edi
imul ecx, esi
mov esi, edi
not esi
and esi, edx
not edx
and edx, edi
neg edi
imul edx, esi
lea eax, [edi - 1]
mov edi, ebx
mov esi, eax
add edx, ecx
not esi
mov ecx, ebx
and esi, ebx
not ebx
and ecx, eax
or edi, eax
and ebx, eax
imul edi, ecx
imul ebx, esi
lea ecx, [edi + ebx]
mov eax, ecx
xor ecx, edx
not eax
and eax, edx
lea ebx, [eax + eax]
sub ebx, ecx
mov dword [esp + 0x1f4], ebx
shr dword [esp + 0x648], 1
lea edx, [esp + 0x35c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10027d74
mov edi, dword [esp + 0x1f4]
mov esi, edi
mov ecx, edi
neg esi
mov ebx, edi
xor ecx, 0x8273ffff
or ebx, 0x8273ffff
xor ecx, ebx
mov ebx, ecx
not ebx
lea edx, [esi - 1]
mov eax, edx
xor edx, 0x7d8c0000
or eax, 0x7d8c0000
xor eax, edx
mov edx, ecx
mov esi, eax
and ebx, eax
not esi
and edx, esi
imul ebx, edx
mov edx, ecx
and edx, eax
or ecx, eax
imul ecx, edx
mov eax, edi
xor eax, 0x7d8c0000
lea edx, [ebx + ecx]
mov ecx, edi
mov ebx, edi
and ecx, 0x7d8c0000
or ebx, 0x7d8c0000
xor ecx, 0x7d8c0000
sub ebx, eax
mov dword [esp + 0x3b4], 0
lea esi, [edi + ecx]
mov edi, ebx
mov eax, esi
not edi
not eax
mov ecx, ebx
and eax, ebx
and edi, esi
and ecx, esi
or ebx, esi
imul edi, eax
mov esi, edx
imul ebx, ecx
lea ecx, [edi + ebx]
mov edi, dword [esp + 0xaa4]
xor esi, ecx
lea eax, [ecx + ecx]
add edx, edx
and eax, edx
mov edx, dword [esp + 0xaa8]
mov ebx, edx
and ebx, edi
or edx, edi
lea ecx, [esi + eax]
mov dword [esp + 0xaac], ecx
mov eax, ecx
rol eax, cl
lea esi, [ebx + edx]
mov edx, dword [esp + 0x3b0]
lea ebx, [esi + edx + 0x1a341e69]
mov esi, eax
mov edi, ebx
not esi
rol edi, cl
and esi, edi
mov dword [esp + 0xab0], ebx
lea edx, [eax + esi*2]
mov esi, eax
xor esi, edi
or eax, edi
sub eax, esi
sub edx, edi
mov edi, eax
or eax, edx
and edi, edx
mov edx, ebx
not edx
and edx, 0x12ec64f
lea esi, [edi + eax]
mov eax, ebx
and eax, 0xfed139b0
imul eax, edx
mov edx, ebx
and edx, 0x12ec64f
or ebx, 0x12ec64f
imul ebx, edx
ror esi, cl
lea edi, [eax + ebx]
mov edx, edi
not edx
imul eax, edx, 0x2d575751
imul edx, edi, 0x2d575752
bswap ecx
lea edi, [eax + edx]
mov ebx, edi
mov edx, edi
not ebx
mov eax, edi
and ebx, 0xc26690af
and edx, 0x3d996f50
or eax, 0xc26690af
and edi, 0xc26690af
imul edx, ebx
lea ebx, [ecx + ecx]
imul edi, eax
mov dword [esp + 0x6fc], esi
lea eax, [edx + edi]
mov edx, eax
or eax, 0x4c18405f
and edx, 0x4c18405f
mov edi, ebx
add eax, edx
bswap eax
lea edx, [eax + eax]
or edi, edx
xor edi, edx
mov edx, ecx
xor edi, ebx
not edx
imul edx, edi
not edi
imul edi, ecx
sub edx, edi
mov edi, esi
not edi
mov ecx, esi
and edi, 0xdcce4ba7
and ecx, 0x2331b458
imul ecx, edi
mov edi, esi
or edi, 0xdcce4ba7
and esi, 0xdcce4ba7
imul esi, edi
add ecx, esi
mov ebx, ecx
not ebx
imul ebx, ebx, 0x77cfdd7b
imul edi, ecx, 0x88302286
not ebx
not edi
sub ebx, edi
mov edi, ebx
mov ecx, ebx
not edi
mov esi, ebx
and ecx, 0xab5a53e8
and edi, 0x54a5ac17
or esi, 0x54a5ac17
and ebx, 0x54a5ac17
imul edi, ecx
imul ebx, esi
lea ecx, [edi + ebx]
mov edi, edx
or edi, eax
and edx, eax
mov esi, ecx
xor ecx, 0x88c28a0d
and esi, 0xf73d75f2
lea ebx, [edi + edx]
mov edx, dword [esp + 0xab0]
bswap ebx
sub ebx, edx
add esi, esi
sub esi, ecx
lea eax, [ebx + ebx]
neg eax
lea edi, [esi + esi]
mov ecx, edi
lea eax, [eax - 2]
or ecx, eax
sub ecx, edi
mov edi, ebx
or edi, esi
and ebx, esi
sub edi, ebx
xor ecx, eax
mov esi, edi
mov eax, ecx
not esi
xor edi, ecx
and eax, esi
mov ecx, dword [esp + 0x6fc]
lea esi, [eax + eax]
sub esi, edx
rol edx, cl
sub esi, edi
mov edi, dword [esp + 0xaac]
rol edi, cl
mov ecx, edx
bswap ecx
mov eax, edi
mov dword [esp + 0xab4], esi
mov ebx, ecx
bswap eax
mov esi, ecx
xor ebx, eax
and esi, eax
lea esi, [ebx + esi*2]
mov ebx, ecx
or ebx, eax
sub ebx, ecx
xor ebx, eax
lea ecx, [ebx + ebx]
mov dword [esp + 0xab8], ecx
mov eax, ecx
lea ebx, [edx + edx]
not eax
mov dword [esp + 0x700], eax
and eax, esi
xor esi, ecx
add eax, eax
sub eax, esi
bswap eax
lea ecx, [eax + eax]
and ecx, ebx
mov ebx, edx
and ebx, eax
lea esi, [edx + eax]
xor ebx, eax
sub esi, ecx
add edx, ebx
mov ecx, edx
not edx
sub ecx, esi
and esi, edx
lea ecx, [ecx + esi*2]
mov eax, ecx
mov esi, ecx
or eax, edi
not esi
sub eax, edi
and esi, edi
not edi
xor eax, ecx
and edi, ecx
lea edx, [eax + eax]
lea ecx, [esi + edi]
mov edi, edx
xor edi, ecx
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x6fc]
lea ebx, [edx + edx]
and eax, ebx
lea edx, [edi + eax]
mov edi, dword [esp + 0xab8]
ror edx, cl
mov ecx, dword [esp + 0x700]
xor edi, edx
and ecx, edx
mov eax, dword [esp + 0xab4]
lea esi, [ecx + ecx]
mov edx, esi
mov esi, eax
sub edx, edi
mov edi, edx
shld edi, edx, 0x1a
shld esi, eax, 0x1a
mov ebx, edi
not ebx
bswap edx
bswap eax
lea ecx, [ebx + ebx]
lea ebx, [esi + esi]
and ecx, ebx
mov ebx, edi
xor ebx, esi
neg esi
sub ecx, ebx
lea ebx, [esi - 1]
mov esi, ebx
or esi, edi
xor esi, ebx
mov ebx, ecx
xor esi, edi
lea edi, [esi + esi]
and ebx, edi
xor ecx, edi
lea edi, [ecx + ebx*2]
mov ecx, edx
or ecx, eax
shrd edi, edi, 0x1a
lea ebx, [ecx + ecx]
mov ecx, edx
xor ecx, eax
sub ebx, ecx
mov ecx, eax
not ecx
mov esi, ecx
and esi, edx
mov edx, ebx
not edx
neg ebx
add eax, esi
mov esi, eax
not eax
neg esi
imul edx, esi
imul ebx, eax
not edx
not ebx
sub edx, ebx
bswap edx
lea ebx, [edx + edx]
sub ebx, ecx
mov eax, ebx
mov esi, ebx
and eax, edi
or esi, edi
lea edx, [ebx + edi]
xor ebx, edi
sub edx, eax
sub esi, ebx
mov edi, edx
xor edx, esi
or edi, esi
lea ecx, [ecx + edi*2]
mov edi, dword [esp + 0x700]
sub ecx, edx
mov edx, ecx
not ecx
lea eax, [edi + 1]
xor edx, eax
lea esi, [edi + edi + 2]
lea eax, [ecx + ecx]
and eax, esi
sub edx, eax
mov dword [esp + 0xabc], edx
mov edx, dword [esp]
mov ebx, edx
xor ebx, 0x1f
neg ebx
mov dword [esp + 0xac0], ebx
lea ecx, [ebx - 1]
mov dword [esp + 0xac4], ecx
rol edx, cl
mov edi, edx
mov eax, edx
or edi, 1
and eax, 1
lea esi, [edx + edx]
lea edi, [edi + eax - 1]
mov eax, esi
not edi
mov ebx, edi
xor ebx, edx
lea ecx, [edi + edi]
and eax, ecx
lea ecx, [ebx + eax]
mov eax, edx
not eax
or edi, eax
sub edi, eax
mov ebx, edi
xor edi, ecx
not ebx
and ebx, ecx
mov ecx, esi
and ecx, 0x9bc6467a
sub esi, ecx
mov dword [esp + 0xac8], esi
lea eax, [ebx + ebx]
sub eax, edi
mov edi, edx
and edi, 0x321cdcc2
lea ebx, [esi - 0x6439b986]
mov dword [esp + 0xacc], ebx
lea ecx, [edi + edi]
sub ecx, edx
lea edx, [eax + eax - 0x4f56f0fc]
mov edi, edx
lea esi, [ecx - 0x321cdcc3]
mov ecx, esi
not ecx
imul ecx, ebx
not ebx
imul ebx, esi
not ecx
not ebx
sub ecx, ebx
lea esi, [ecx + ecx + 0x6439b988]
xor edi, esi
or edx, esi
sub edx, edi
lea edi, [ecx + 0x321cdcc4]
not edi
lea esi, [eax - 0x27ab787e]
and edi, esi
lea ebx, [edi + edi]
mov edi, edx
sub ebx, eax
lea eax, [ebx + ecx + 0x59c85542]
mov ecx, dword [esp + 0xac4]
xor edi, eax
and edx, eax
shl ecx, 5
lea esi, [edi + edx*2 + 0x27ab787e]
mov edx, dword [esp + 0xac0]
lea edi, [ecx + edx - 1]
neg edi
not edi
neg edi
lea ecx, [edi - 1]
rol esi, cl
mov dword [esp + 0x448], esi
mov esi, dword [esp]
mov ebx, esi
mov edx, esi
xor ebx, 0x6a38947
mov eax, esi
and edx, ebx
or eax, 0x6a38947
sub eax, ebx
mov ecx, eax
mov edi, eax
not ecx
lea ebx, [edx + 0x6a38947]
mov edx, ebx
and ecx, ebx
not edx
and edi, edx
mov edx, eax
and edx, ebx
or eax, ebx
mov ebx, dword [esp + 0x164]
imul edi, ecx
mov ecx, ebx
imul eax, edx
mov edx, dword [esp + 0x148]
or ecx, 0x6a38947
or edx, 0xf95c76b8
sub ecx, ebx
xor ecx, 0x6a38947
add eax, edi
mov ebx, ecx
lea edi, [edx + esi + 1]
mov esi, ecx
mov edx, ecx
and esi, edi
or edx, edi
not ecx
imul edx, esi
mov esi, edi
not esi
and ecx, edi
and ebx, esi
mov edi, eax
imul ecx, ebx
add edx, ecx
xor edi, edx
and eax, edx
lea edx, [edi + eax*2]
mov ebx, edx
mov edi, edx
not ebx
or edi, 0x186fc224
and ebx, 0x186fc224
xor edi, edx
xor edi, 0x186fc224
lea eax, [ebx + edx]
lea edx, [eax + eax]
lea ecx, [edi + edi]
xor edi, eax
or edx, ecx
sub edx, edi
lea eax, [edx + 0x5789fa5c]
mov esi, eax
mov ebx, eax
not esi
or ebx, 0xd2c35077
and esi, 0xd2c35077
xor ebx, eax
xor ebx, 0xd2c35077
or eax, 0x2d3caf88
mov ecx, ebx
sub eax, edx
lea edi, [edx + esi + 0x5789fa5c]
mov esi, ebx
or esi, edi
and ecx, edi
imul ecx, esi
mov esi, ebx
not esi
and esi, edi
not edi
and ebx, edi
imul ebx, esi
lea edi, [ecx + ebx]
mov ecx, edx
neg ecx
lea esi, [ecx - 0x5789fa5d]
mov ecx, esi
or ecx, 0xd2c35077
sub esi, ecx
lea ebx, [esi - 0x2d3caf89]
lea esi, [eax - 0x5789fa5c]
xor esi, 0x2d3caf88
mov eax, esi
mov edx, esi
mov ecx, esi
not eax
and edx, ebx
or ecx, ebx
and eax, ebx
not ebx
and esi, ebx
imul ecx, edx
imul esi, eax
lea edx, [ecx + esi]
mov eax, edx
and edx, edi
xor eax, edi
lea ecx, [eax + edx*2]
mov eax, ecx
mov edx, ecx
and eax, 0x8991c89b
mov edi, ecx
xor eax, ecx
xor edx, 0x8991c89b
or edi, 0x8991c89b
xor edx, edi
mov esi, edx
lea ebx, [eax - 0x766e3765]
and esi, ebx
or edx, ebx
lea edi, [esi + edx]
mov dword [esp + 0x704], edi
mov edi, edx
mov ecx, esi
mov edx, dword [esp]
shrd edx, edx, 0x1f
lea eax, [ecx + edi - 0x3710681b]
shrd eax, eax, 0x1f
mov ebx, eax
mov edi, eax
and ebx, edx
mov esi, eax
xor ebx, eax
or edi, edx
shld eax, eax, 0x1d
xor esi, edx
xor edi, esi
lea ecx, [ebx + edx]
shld edx, edx, 0x1d
mov esi, eax
mov ebx, eax
and esi, edx
or ebx, edx
add esi, ebx
mov ebx, eax
xor ebx, edx
and ebx, eax
add edx, ebx
mov eax, edx
lea ebx, [esi + esi]
not eax
xor esi, edx
lea edx, [ecx + ecx]
add eax, eax
and ebx, eax
lea eax, [edi + edi]
or edx, eax
xor edi, ecx
mov eax, dword [esp + 0x704]
sub ebx, esi
mov esi, ebx
shld esi, ebx, 3
add edx, eax
sub edx, edi
lea ebx, [esi + esi]
mov edi, ebx
lea eax, [edx - 0x3710681b]
mov ecx, eax
neg eax
not ecx
lea eax, [eax + eax - 2]
add ecx, ecx
and edi, ecx
sub edi, esi
mov esi, eax
xor esi, ebx
or eax, ebx
sub eax, esi
mov ebx, eax
not ebx
lea ecx, [edi + edx - 0x3710681b]
imul ebx, ecx
not ecx
imul ecx, eax
not ebx
not ecx
sub ebx, dword [esp + 0x704]
sub ebx, ecx
mov edx, dword [esp + 0x448]
mov edi, edx
mov esi, edx
lea eax, [ebx + 0x3710681b]
shld eax, eax, 0x1f
xor esi, eax
and edi, eax
and esi, eax
mov dword [esp + 0xad0], eax
lea ebx, [edx + esi]
mov esi, edx
or esi, eax
mov ecx, ebx
sub esi, edi
neg ebx
shrd eax, eax, 0x12
shrd edx, edx, 0x12
mov edi, esi
not esi
neg edi
not ecx
imul ebx, esi
mov esi, eax
imul ecx, edi
not esi
not ecx
and esi, edx
not ebx
sub ecx, ebx
mov ebx, edx
or ebx, eax
xor ebx, eax
xor ebx, edx
lea edi, [esi + esi]
sub edi, edx
mov edx, ebx
mov esi, ecx
not esi
add edi, eax
and edx, edi
xor ebx, edi
mov edi, esi
lea eax, [ebx + edx*2]
mov ebx, ecx
shrd eax, eax, 0xe
xor ebx, eax
or edi, eax
and ebx, eax
sub edi, esi
mov dword [esp + 0xad4], eax
mov edx, edi
mov esi, edi
add ebx, ecx
mov eax, ebx
or esi, ebx
not eax
and edx, eax
mov eax, edi
not edi
and eax, ebx
and edi, ebx
mov ebx, ecx
neg ebx
mov dword [esp + 0xad8], edx
imul edi, edx
imul eax, esi
mov edx, dword [esp + 0xad4]
add eax, edi
mov edi, ecx
lea esi, [ebx + edx]
lea ebx, [ebx - 1]
or ebx, edx
neg edx
sub esi, ebx
lea ebx, [edx - 1]
or edi, ebx
lea esi, [esi - 1]
sub edi, ecx
xor edi, ebx
mov ebx, edi
mov ecx, edi
or ebx, esi
and ecx, esi
imul ecx, ebx
mov ebx, esi
not ebx
and ebx, edi
not edi
and edi, esi
imul edi, ebx
add ecx, edi
mov edi, dword [esp + 0xad0]
mov esi, ecx
and ecx, eax
xor esi, eax
lea eax, [esi + ecx*2]
mov esi, dword [esp + 0x448]
mov edx, esi
not edx
mov dword [esp + 0xadc], eax
bswap esi
lea ecx, [edx + 1]
mov eax, ecx
xor ecx, 1
not eax
lea edx, [edi + edi]
lea ebx, [eax + eax]
and ebx, 2
sub ecx, ebx
mov dword [esp + 0xae0], ebx
lea ebx, [ecx + ecx]
or ebx, edx
mov edx, edi
not edx
sub ebx, edi
mov eax, edx
sub ebx, ecx
and eax, ecx
and edx, 0x6db1b9cd
lea ecx, [eax + edi]
mov eax, ecx
not ecx
sub eax, ebx
and ebx, ecx
mov ecx, edi
and ecx, 0x6db1b9cd
lea ebx, [eax + ebx*2]
mov eax, edi
or eax, 0x6db1b9cd
and edi, 0x924e4632
imul ecx, eax
imul edx, edi
lea edi, [ecx + edx]
mov eax, edi
and edi, 0x2c2d0f0e
or eax, 0x2c2d0f0e
add edi, eax
mov edx, edi
mov ecx, edi
mov eax, edi
not edi
or edx, 0x8ee9db05
and ecx, 0x8ee9db05
and eax, 0x711624fa
and edi, 0x8ee9db05
imul ecx, edx
imul edi, eax
lea eax, [ecx + edi]
lea edx, [eax + eax]
xor eax, 0xe0804546
and edx, 0x3eff7572
sub edx, eax
mov eax, esi
not edx
not eax
bswap edx
mov ecx, edx
xor ecx, esi
and ecx, esi
add eax, eax
lea edi, [ecx + edx]
lea ecx, [edx + edx]
and ecx, eax
add esi, ecx
mov ecx, edi
sub esi, edx
not ecx
imul ecx, esi
not esi
imul esi, edi
sub ecx, esi
mov edx, ebx
bswap ecx
mov eax, ecx
and edx, ecx
not eax
mov edi, eax
or edi, ebx
sub edi, eax
lea eax, [ebx + ecx]
sub eax, edx
mov esi, edi
mov edx, eax
not esi
not edx
and esi, eax
and edx, edi
imul edx, esi
mov esi, edi
and esi, eax
or edi, eax
mov eax, ecx
imul edi, esi
neg eax
lea esi, [edx + edi]
mov edx, ebx
lea edi, [eax - 1]
mov eax, ebx
neg ebx
or eax, edi
xor edx, edi
sub eax, edx
lea edi, [ebx - 1]
mov ebx, eax
mov edx, edi
or edx, ecx
xor edx, ecx
mov ecx, eax
xor edx, edi
lea edi, [esi + esi]
or ecx, edx
and ebx, edx
imul ebx, ecx
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
imul eax, ecx
lea ecx, [ebx + eax]
mov ebx, dword [esp + 0xadc]
lea eax, [ecx + ecx]
xor ecx, esi
or eax, edi
sub eax, ecx
lea esi, [eax - 0xb508340]
not esi
mov ecx, esi
and esi, ebx
or ecx, ebx
lea edx, [eax + esi - 0xb508340]
lea edi, [ecx + eax - 0xb50833f]
mov eax, edx
or eax, edi
xor edx, edi
add eax, eax
sub eax, edx
lea edi, [eax + 0xb508340]
mov dword [esp + 0xae4], edi
mov edi, dword [esp]
mov esi, edi
mov eax, dword [esp + 0x448]
sub esi, eax
mov ecx, esi
not esi
and esi, 1
xor ecx, 1
bswap edi
mov dword [esp + 0x14c], edi
lea ebx, [esi + esi]
sub ebx, ecx
sub ebx, eax
lea edx, [ebx + ebx - 2]
and edx, 0xd43be76c
lea esi, [ebx - 1]
mov ecx, esi
mov eax, esi
sub edx, esi
xor ecx, 0xea1df3b6
or eax, 0xea1df3b6
xor ecx, eax
lea eax, [edx - 0x6a1df3b7]
mov edx, eax
not edx
add ecx, ecx
imul edx, ecx
not ecx
imul ecx, eax
not edx
not ecx
sub edx, ecx
mov eax, edi
shld eax, edi, 0xb
shrd edi, edi, 0x19
mov ebx, eax
lea edx, [edx - 0x6a1df3b8]
bswap edx
not ebx
mov esi, edx
shld esi, edx, 0xb
shrd edx, edx, 0x19
mov dword [esp + 0xae8], esi
lea ecx, [eax + esi]
mov dword [esp + 0xaec], ecx
mov ecx, eax
and ecx, esi
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0xaec]
sub ecx, esi
or ebx, ecx
lea ecx, [edx + edx]
mov esi, ecx
lea eax, [eax + ebx + 1]
lea ebx, [edi + edi]
xor edi, edx
or esi, ebx
lea edx, [ebx + edx*2]
or ebx, ecx
sub esi, edi
sub edx, ebx
mov ebx, esi
not esi
xor ebx, edx
lea ecx, [edx + edx]
mov edx, eax
lea edi, [esi + esi]
mov esi, dword [esp + 0xae8]
and edx, esi
or eax, esi
and edi, ecx
sub ebx, edi
shrd ebx, ebx, 7
add eax, edx
shld eax, eax, 0x15
sub eax, dword [esp + 0xacc]
lea esi, [ebx + ebx]
lea ecx, [eax + eax]
or ecx, esi
sub ecx, ebx
sub ecx, eax
neg eax
lea edx, [eax - 1]
mov eax, dword [esp + 0xac8]
mov edi, edx
or edi, ebx
xor edi, edx
xor edi, ebx
mov ebx, ecx
not ebx
lea esi, [edi + edi]
mov edi, dword [esp]
imul ebx, esi
not esi
imul ecx, esi
mov esi, edi
lea eax, [ebx + eax - 0x6439b986]
sub esi, dword [esp + 0x444]
lea ebx, [edi + edi]
mov dword [esp + 0x168], ebx
and ebx, 0xfffffffc
sub ebx, edi
sub eax, ecx
shld edi, edi, 0x1c
bswap eax
lea esi, [esi + esi + 2]
mov dword [esp + 0xaf0], eax
lea ecx, [ebx + 1]
xor ecx, esi
lea edx, [ebx + ebx + 2]
add esi, esi
and edx, esi
lea ebx, [ecx + edx]
mov ecx, edi
mov esi, ebx
xor ebx, 1
and esi, 0xfffffffe
neg ecx
lea edx, [esi + esi]
neg edx
lea ecx, [ecx - 1]
shrd ecx, ecx, 0x14
lea ebx, [ebx + edx - 1]
shld ebx, ebx, 0x1c
shrd ebx, ebx, 0x14
mov esi, ebx
mov edx, ebx
or esi, ecx
xor edx, ecx
sub esi, edx
mov edx, ebx
not ebx
sub edx, esi
and ebx, esi
lea ebx, [edx + ebx*2]
lea edx, [ecx + ecx]
lea esi, [ebx + ebx]
xor ebx, ecx
mov ecx, edi
and edx, esi
and ecx, 1
mov esi, edi
add edx, ebx
shrd edx, edx, 0xc
add ecx, ecx
sub esi, ecx
mov ecx, edi
or ecx, 1
sub ecx, edi
xor ecx, 1
mov edi, dword [esp + 0xad8]
lea ebx, [esi + 1]
lea esi, [ecx + ecx]
mov ecx, ebx
and ecx, esi
xor ebx, esi
lea ecx, [edi + ecx*2]
lea esi, [ebx + ecx]
mov ebx, edx
mov ecx, esi
not ebx
and ecx, edx
or ebx, esi
xor ecx, edx
lea ebx, [edx + ebx + 1]
mov edx, ebx
add ecx, esi
and edx, ecx
xor ebx, ecx
lea esi, [edx + edx]
sub esi, edi
mov edi, eax
xor edi, 1
add ebx, esi
mov esi, eax
and esi, 1
shld ebx, ebx, 4
mov ecx, ebx
bswap ecx
lea edi, [edi + esi*2]
not edi
neg ecx
mov dword [esp + 0xaf4], ebx
not ebx
lea edx, [edi + 1]
bswap edx
lea edi, [ecx - 1]
mov esi, edi
mov ecx, edi
xor esi, edx
and ecx, edx
lea edx, [esi + ecx]
mov esi, edi
mov ecx, edx
neg esi
not ecx
not edi
neg edx
imul ecx, esi
mov esi, ebx
imul edx, edi
not ecx
not edx
sub ecx, edx
bswap ecx
mov dword [esp + 0xaf8], ecx
mov ecx, ebx
and ecx, eax
or ebx, eax
xor esi, ecx
sub ebx, ecx
add esi, eax
mov eax, ebx
xor eax, esi
lea ecx, [ebx + ebx]
not esi
lea edx, [esi + esi]
and edx, ecx
sub eax, edx
mov ebx, dword [esp + 0xaf8]
mov esi, ebx
mov edi, eax
mov ecx, ebx
mov eax, edi
xor esi, edi
and ecx, edi
not eax
mov edx, ebx
or edx, eax
sub edx, eax
mov eax, edx
add esi, ecx
not eax
mov ecx, esi
and eax, esi
not ecx
mov dword [esp + 0xafc], eax
mov eax, edx
and eax, ecx
mov ecx, edx
or ecx, esi
and edx, esi
mov esi, edi
neg esi
imul edx, ecx
mov ecx, ebx
imul eax, dword [esp + 0xafc]
neg ebx
lea esi, [esi - 1]
not esi
add eax, edx
or ecx, esi
sub ecx, esi
lea esi, [ebx - 1]
mov ebx, ecx
not esi
or edi, esi
sub edi, esi
mov esi, ecx
mov edx, edi
not esi
not edx
and esi, edi
and ebx, edx
mov edx, edi
and edx, ecx
or edi, ecx
imul ebx, esi
mov esi, eax
imul edi, edx
mov edx, dword [esp + 0xaf0]
lea ecx, [ebx + edi]
or esi, ecx
and eax, ecx
mov edi, edx
add eax, esi
mov dword [esp + 0xb00], eax
mov eax, dword [esp + 0xaf4]
and edi, eax
lea esi, [edx + eax]
sub esi, edi
lea ecx, [eax + eax]
mov edi, edx
lea ebx, [esi + esi]
or ebx, ecx
sub ebx, eax
mov ecx, dword [esp + 0xae0]
sub ebx, esi
rol eax, cl
mov esi, edx
or esi, ebx
and edi, ebx
mov ebx, eax
sub esi, edi
neg ebx
rol edx, cl
neg ecx
lea ebx, [ebx - 1]
mov edi, ebx
or ebx, edx
xor edi, edx
mov edx, ebx
sub edx, edi
mov edi, esi
mov ebx, edx
not edi
xor ebx, eax
add eax, eax
add edx, edx
and edx, eax
add edx, ebx
rol edx, cl
mov eax, edx
or edi, edx
not eax
and eax, esi
lea ebx, [esi + edi + 1]
mov ecx, ebx
lea edi, [eax + edx]
mov eax, ebx
and ecx, edi
or eax, edi
imul eax, ecx
mov ecx, edi
not ecx
and ecx, ebx
not ebx
and ebx, edi
imul ebx, ecx
mov ecx, esi
lea edi, [eax + ebx]
mov eax, edx
neg eax
mov ebx, esi
neg esi
lea eax, [eax - 1]
or ebx, eax
xor ecx, eax
xor ebx, ecx
lea ecx, [esi - 1]
not ecx
mov eax, ebx
or ecx, edx
mov edx, ebx
add esi, ecx
and eax, esi
or edx, esi
imul edx, eax
mov eax, ebx
not eax
and eax, esi
not esi
and esi, ebx
imul esi, eax
add edx, esi
mov eax, edx
xor edx, edi
or eax, edi
mov edi, dword [esp + 0xb00]
lea esi, [eax + eax]
sub esi, edx
mov edx, esi
mov ecx, esi
or edx, edi
not ecx
mov ebx, ecx
or ebx, edi
sub ebx, ecx
lea ecx, [edx + edx]
sub ecx, edi
sub ecx, esi
lea eax, [ebx + ebx]
lea esi, [eax + eax]
lea edi, [ecx + ecx]
xor ecx, eax
and edi, esi
lea edx, [edi + ecx]
mov edi, dword [esp + 0xae4]
mov eax, edx
mov esi, edi
not eax
imul ebx, eax, 0x4051f8f6
imul eax, edx, 0x4051f8f7
shld esi, edi, 0x1c
shrd edi, edi, 0xa
add ebx, eax
mov ecx, ebx
lea eax, [esi + esi]
shld ecx, ebx, 0x1c
shrd ebx, ebx, 0xa
lea edx, [ecx + ecx]
or eax, edx
mov edx, ecx
or edx, esi
sub eax, esi
xor edx, ecx
sub eax, ecx
xor edx, esi
lea ecx, [eax + eax]
lea esi, [edx + edx]
xor edx, eax
and esi, ecx
mov eax, edi
not eax
and eax, ebx
lea ecx, [esi + edx]
shld ecx, ecx, 4
add eax, edi
lea edx, [eax + eax]
lea esi, [ecx + ecx]
mov ecx, ebx
or ecx, edi
xor ebx, edi
xor ecx, ebx
mov ebx, esi
mov edi, ecx
xor ecx, eax
not edi
add edi, edi
and edx, edi
sub edx, ecx
shld edx, edx, 0xa
mov eax, edx
mov edi, edx
neg eax
not edi
and edi, esi
lea eax, [eax - 1]
or ebx, eax
sub ebx, eax
xor ebx, esi
not esi
and esi, edx
lea eax, [ebx + ebx]
lea ecx, [edi + esi]
mov esi, eax
mov edx, ecx
not esi
neg edx
not ecx
neg eax
imul esi, edx
imul eax, ecx
not esi
not eax
sub esi, eax
mov edi, esi
not esi
and esi, 0x3fae070a
xor edi, 0xbfae070a
lea ebx, [esi + esi]
sub edi, ebx
mov eax, edi
shld eax, edi, 0x1a
mov dword [esp + 0xb04], edi
lea esi, [eax - 1]
not esi
lea edx, [esi + esi]
xor esi, 1
and edx, 0xfffffffc
sub edx, esi
shld edx, edx, 6
mov ecx, edx
mov esi, edx
not ecx
and esi, 0x1ff3deb1
and ecx, 0x1ff3deb1
lea eax, [edx + ecx*2 - 0x1ff3deb1]
sub edx, esi
lea ebx, [edx + 0x1ff3deb1]
mov edx, 0xe00c214e
mov ecx, ebx
not ebx
sub ecx, eax
and ebx, eax
rol edx, cl
mov esi, edx
neg esi
rol edi, cl
lea eax, [ecx + ebx*2]
mov dword [esp + 0xb08], eax
lea esi, [esi - 1]
mov ebx, esi
and ebx, edi
xor ebx, esi
lea esi, [ebx + edi]
lea ebx, [edx + edx]
xor edx, 1
or ebx, 2
sub ebx, edx
lea edx, [esi + esi]
mov dword [esp + 0xb0c], ebx
lea edi, [ebx + ebx]
xor ebx, esi
or edi, edx
mov esi, eax
sub edi, ebx
mov ebx, eax
ror edi, cl
mov ecx, eax
not ecx
and esi, edi
xor ebx, edi
mov edx, ecx
or edx, edi
sub edx, ecx
mov ecx, edx
add esi, ebx
mov ebx, edx
and ecx, esi
or ebx, esi
imul ebx, ecx
mov ecx, esi
not ecx
and ecx, edx
not edx
and edx, esi
imul edx, ecx
lea esi, [ebx + edx]
mov ebx, edi
neg ebx
lea ecx, [ebx - 1]
or ecx, eax
sub ecx, ebx
mov ebx, eax
neg eax
mov dword [esp + 0xb10], eax
lea edx, [ecx + 1]
xor ebx, edx
lea eax, [eax - 1]
mov edx, eax
or eax, edi
xor edx, edi
mov edi, ebx
sub eax, edx
not edi
mov ecx, eax
mov edx, eax
or ecx, ebx
and edx, ebx
imul edx, ecx
mov ecx, eax
not eax
and ecx, edi
and eax, ebx
imul eax, ecx
mov dword [esp + 0x708], edi
lea ebx, [edx + eax]
mov edi, esi
xor esi, ebx
or edi, ebx
mov edx, dword [esp + 0xb04]
lea ecx, [edi + edi]
mov edi, edx
and edi, 0xe00c214e
sub ecx, esi
mov dword [esp + 0xb14], ecx
mov dword [esp + 0xb18], edi
lea eax, [edi + 0x1ff3deb1]
or eax, 0x9ff3deb1
lea esi, [eax + eax]
sub esi, edi
lea ebx, [esi - 0x3fe7bd62]
lea eax, [edx + esi - 0x3fe7bd62]
mov esi, edx
and esi, ebx
mov ebx, dword [esp + 0xd5c]
mov ecx, ebx
bswap edx
or ecx, edx
sub ecx, edx
lea edi, [esi + esi]
sub eax, edi
mov edi, ebx
xor edi, ecx
mov ecx, eax
mov esi, edi
not edi
sub esi, edx
and edi, edx
lea edx, [esi + edi*2]
mov esi, ebx
and esi, edx
xor ebx, edx
mov edi, eax
not edi
lea edx, [ebx + esi*2]
bswap edx
or edi, edx
xor ecx, edx
lea esi, [eax + edi + 1]
mov edi, eax
and edi, edx
add ecx, edi
mov edi, ecx
mov ebx, ecx
or edi, esi
and ebx, esi
imul ebx, edi
mov edi, esi
not edi
and edi, ecx
not ecx
and ecx, esi
imul ecx, edi
lea edi, [ebx + ecx]
mov ecx, eax
neg ecx
lea esi, [ecx - 1]
not esi
or esi, edx
neg edx
lea ebx, [edx - 1]
not ebx
add ecx, esi
or eax, ebx
lea ebx, [edx + eax]
mov edx, ebx
mov eax, ebx
and edx, ecx
or eax, ecx
imul eax, edx
mov edx, ebx
not edx
and edx, ecx
not ecx
and ecx, ebx
mov ebx, edi
imul ecx, edx
lea esi, [eax + ecx]
and ebx, esi
xor edi, esi
mov esi, dword [esp + 0xb14]
mov ecx, esi
not ecx
mov dword [esp + 0xb20], ecx
lea eax, [edi + ebx*2]
and ecx, eax
lea edx, [esi + esi]
sub esi, eax
lea edi, [eax + eax]
mov ebx, edx
mov dword [esp + 0xb1c], edx
or ebx, edi
xor edx, edi
sub ebx, edx
lea eax, [esi + ecx*2]
mov esi, ebx
and ebx, eax
or esi, eax
lea edi, [esi + ebx]
mov dword [esp + 0xb24], edi
not edi
mov ebx, edi
not ebx
mov edx, ebx
mov eax, ebx
and edx, 0x58c295e
or eax, 0x58c295e
sub eax, ebx
mov esi, eax
add edx, edi
neg edi
mov ecx, edx
not ecx
and esi, ecx
mov ecx, eax
not ecx
and ecx, edx
imul ecx, esi
mov esi, eax
and esi, edx
or eax, edx
imul eax, esi
lea edx, [edi - 1]
or edx, 0x58c295e
lea esi, [ecx + eax]
sub edi, edx
mov eax, ebx
or eax, 0xfa73d6a1
sub eax, ebx
mov dword [esp + 0xb28], esi
mov ebx, eax
not ebx
lea ecx, [edi + 0x58c295d]
mov esi, ecx
mov edx, eax
not esi
mov edi, eax
and ebx, ecx
and edx, esi
or edi, ecx
and eax, ecx
imul edx, ebx
imul eax, edi
lea ecx, [edx + eax]
mov edx, dword [esp + 0xb24]
mov eax, edx
mov edi, edx
neg eax
or edi, 0x58c295e
xor edi, edx
xor edi, 0x58c295e
mov ebx, edi
mov dword [esp + 0xb2c], ecx
lea esi, [eax - 1]
or esi, 0x58c295e
mov eax, edi
mov ecx, edi
not edi
lea esi, [esi - 0x58c295e]
or ebx, esi
and eax, esi
imul eax, ebx
mov ebx, esi
not ebx
and edi, esi
and ecx, ebx
imul edi, ecx
lea esi, [eax + edi]
mov edi, edx
or edi, 0xfa73d6a1
xor edx, 0xfa73d6a1
mov ebx, edi
sub ebx, edx
mov ecx, ebx
mov edx, ebx
and ecx, edi
or edx, edi
imul edx, ecx
mov ecx, edi
not ecx
mov eax, ebx
not ebx
and eax, ecx
and edi, ebx
imul edi, eax
mov ecx, dword [esp + 0xb28]
lea eax, [edx + edi]
mov edx, eax
or eax, esi
and edx, esi
mov ebx, ecx
lea esi, [edx + eax]
mov edx, dword [esp + 0xb2c]
xor ecx, edx
and ebx, edx
sub ecx, dword [esp + 0x708]
lea eax, [ecx + ebx*2]
mov ecx, esi
mov edx, eax
not eax
neg edx
not ecx
neg esi
lea edi, [edx - 1]
mov dword [esp + 0xb30], edi
lea edx, [ecx + 1]
mov dword [esp + 0xb34], edx
lea edx, [esi - 1]
mov edi, eax
mov ebx, edx
mov esi, ebx
not esi
mov edx, ebx
lea eax, [edi + 1]
mov edi, ebx
mov ecx, eax
and esi, eax
not ecx
and edx, eax
and edi, ecx
or ebx, eax
imul edi, esi
imul ebx, edx
neg edi
mov edx, dword [esp + 0xb30]
lea ecx, [edi - 1]
sub ecx, ebx
mov ebx, dword [esp + 0xb34]
mov eax, ebx
mov esi, ebx
or eax, edx
and esi, edx
mov edi, ebx
imul esi, eax
mov eax, edx
not eax
not ebx
and edi, eax
and edx, ebx
imul edx, edi
mov eax, dword [esp + 0x708]
lea edi, [esi + edx]
neg edi
mov esi, ecx
lea ebx, [edi - 1]
xor esi, ebx
not ebx
and ecx, ebx
add eax, esi
lea edx, [ecx + ecx]
sub eax, edx
mov ecx, eax
mov ebx, eax
xor ecx, 0x4085aa51
and ebx, 0x4085aa51
mov edi, eax
mov dword [esp + 0x70c], eax
lea edx, [eax + eax]
and edx, 0x810b54a2
add ebx, ecx
or edi, ebx
add edx, ecx
mov ecx, eax
not ecx
or ecx, 0x4085aa51
lea esi, [edi + edi]
sub esi, eax
sub esi, ebx
mov ebx, esi
not ebx
lea eax, [ecx + eax + 1]
and ebx, 0xc085aa51
lea ebx, [esi + ebx*2 - 0x4085aa51]
mov esi, edx
not esi
imul esi, eax
not eax
imul eax, edx
sub esi, eax
mov edx, esi
mov edi, esi
and edx, ebx
mov ecx, esi
xor edx, ebx
or edi, ebx
xor ecx, ebx
xor edi, ecx
mov ecx, edi
lea eax, [esi + edx]
mov edx, edi
or ecx, eax
and edx, eax
imul edx, ecx
mov ecx, eax
mov dword [esp + 0xb38], edx
not ecx
mov edx, edi
not edi
and edx, ecx
and edi, eax
lea eax, [esp + 0xb3c]
mov dword [eax], edx
mov edx, ebx
imul edi, dword [eax]
neg edx
mov eax, dword [esp + 0xb38]
lea ecx, [eax + edi]
mov edi, esi
mov dword [esp + 0xb40], ecx
lea eax, [edx - 1]
mov edx, esi
neg esi
or edx, eax
xor edi, eax
sub edx, edi
mov eax, edx
not eax
lea ecx, [esi - 1]
mov esi, ebx
xor ebx, ecx
or esi, ecx
sub esi, ebx
mov ebx, esi
mov ecx, esi
and ebx, eax
mov eax, esi
and ecx, edx
or esi, edx
imul esi, ecx
not eax
mov ecx, dword [esp + 0x70c]
mov edi, ecx
shrd edi, ecx, 0xa
shrd ecx, ecx, 0x1e
not edi
and eax, edx
imul eax, ebx
neg ecx
lea edx, [edi + 1]
mov edi, edx
not edx
xor edi, 1
lea ebx, [eax + esi]
mov dword [esp + 0xb44], ebx
lea eax, [edx + edx]
and eax, 2
sub edi, eax
shld edi, edi, 0xa
mov ebx, edi
not ebx
and ebx, 0x4085aa51
add ebx, edi
lea esi, [ebx + ebx]
and esi, 0x810b54a2
sub ebx, esi
lea eax, [edi + ebx + 0x4085aa51]
add edi, edi
lea edx, [ebx + ebx - 0x7ef4ab5e]
and edi, edx
lea edx, [ecx - 1]
mov ecx, edx
mov ebx, edx
or ecx, 0xfde956ba
sub eax, edi
not ebx
mov edi, ecx
and edi, ebx
xor ecx, edx
lea esi, [edi + edi]
sub esi, ecx
mov ecx, eax
shld esi, esi, 0x1e
neg ecx
mov edx, esi
neg edx
mov edi, esi
not edi
lea ecx, [ecx - 1]
or edi, ecx
lea ebx, [edx - 1]
mov edx, eax
or edx, ebx
sub edx, eax
xor edx, ebx
lea edi, [esi + edi + 1]
mov ecx, edi
mov ebx, edx
not ecx
not ebx
and ecx, edx
and ebx, edi
imul ebx, ecx
mov ecx, edx
and ecx, edi
or edx, edi
imul edx, ecx
mov edi, eax
or edi, esi
add edx, ebx
mov ebx, eax
sub edi, esi
and ebx, esi
mov ecx, eax
xor ebx, esi
xor ecx, edi
lea esi, [eax + ebx]
mov eax, ecx
mov edi, esi
not eax
not edi
mov ebx, ecx
and eax, esi
and ebx, edi
imul ebx, eax
mov eax, ecx
or eax, esi
and ecx, esi
imul ecx, eax
lea eax, [ebx + ecx]
mov ecx, eax
lea esi, [eax + eax]
xor ecx, edx
add edx, edx
and esi, edx
mov edx, dword [esp + 0xb44]
mov eax, dword [esp + 0xb18]
lea edi, [ecx + esi]
mov esi, dword [esp + 0xb40]
mov ebx, esi
xor esi, edx
or ebx, edx
lea ecx, [eax + ebx*2]
sub ecx, esi
mov ebx, ecx
mov esi, ecx
xor ebx, edi
and ecx, edi
or esi, edi
sub esi, ebx
mov edx, esi
lea edi, [ebx + ecx]
mov ecx, dword [esp + 0xb20]
or edx, edi
xor esi, edi
lea ebx, [edx + edx]
sub ebx, eax
sub ebx, esi
mov esi, dword [esp + 0xd60]
mov eax, ebx
rol esi, cl
mov edi, esi
neg edi
rol eax, cl
neg ecx
lea edx, [edi - 1]
mov edi, edx
and edi, eax
xor edi, edx
add edi, eax
mov eax, esi
or eax, 1
xor esi, 1
add eax, eax
sub eax, esi
mov edx, eax
mov dword [esp + 0xb48], eax
and edx, edi
xor eax, edi
lea edi, [eax + edx*2]
mov eax, 0x2d587d42
rol edi, cl
mov ecx, dword [esp + 0xb08]
ror eax, cl
ror ebx, cl
mov esi, eax
and esi, ebx
mov ecx, eax
xor esi, eax
xor ecx, ebx
add eax, eax
add edi, edi
lea edx, [esi + ebx]
add ebx, ebx
and eax, ebx
lea esi, [edx + edx]
add ecx, eax
mov eax, ecx
xor eax, esi
not esi
and esi, ecx
mov ecx, dword [esp + 0xb10]
lea ebx, [esi + esi]
sub eax, ebx
ror eax, cl
mov ecx, edi
mov edx, eax
neg ecx
neg edx
lea ecx, [ecx - 1]
lea esi, [edx - 1]
mov edx, edi
mov ebx, esi
not edx
not ebx
and edx, esi
and ebx, edi
imul edx, ebx
mov ebx, esi
or ebx, edi
and esi, edi
imul esi, ebx
mov ebx, ecx
or ebx, eax
lea edi, [edx + esi]
mov esi, eax
mov edx, ecx
not esi
and edx, eax
and esi, ecx
not ecx
and ecx, eax
neg edi
imul ebx, edx
imul ecx, esi
lea eax, [ebx + ecx]
neg eax
lea edi, [edi - 1]
lea ecx, [eax - 1]
mov esi, ecx
not esi
imul esi, edi
not edi
imul edi, ecx
not esi
not edi
sub esi, edi
mov edi, dword [esp]
mov eax, esi
mov ecx, edi
mov ebx, edi
or ecx, esi
not eax
xor ebx, ecx
mov ecx, esi
xor ebx, esi
mov edx, ebx
not edx
and ecx, edx
mov edx, eax
and edx, ebx
mov ebx, edi
mov dword [esp + 0x710], esi
add ecx, edx
mov edx, edi
and edx, ecx
xor ebx, ecx
mov ecx, edi
and ecx, esi
lea ebx, [ebx + edx*2]
lea edx, [edi + esi]
or edi, eax
sub edx, ecx
lea edi, [edi + esi + 1]
mov ecx, edi
lea eax, [edx + edx]
not ecx
add ecx, ecx
and eax, ecx
mov ecx, edx
xor ecx, edi
mov edx, eax
sub edx, ecx
lea ecx, [ebx + 0xb1852bc]
not ecx
mov edi, edx
and edi, ecx
lea ecx, [ebx + edi*2]
neg ebx
sub ecx, edx
add edx, edx
lea eax, [ecx + 0xb1852bc]
lea ecx, [ebx + ebx - 0x1630a57a]
mov edi, ecx
or edi, edx
sub edi, edx
xor edi, ecx
mov ecx, edi
xor edi, eax
not ecx
and ecx, eax
mov eax, dword [esp + 0x164]
xor eax, esi
mov edx, dword [esp + 0x6f8]
lea ebx, [ecx + ecx]
mov ecx, esi
sub ebx, edi
and ecx, eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 0xb4c], ebx
lea edi, [ebx - 0xb1852bc]
mov dword [esp + 0x714], edi
lea ebx, [ecx + eax - 1]
mov ecx, dword [esp + 0x168]
and ecx, 2
add ecx, edx
mov eax, ecx
xor ecx, ebx
or eax, ebx
lea edx, [eax + eax]
sub edx, ecx
mov ecx, dword [esp + 0xa94]
shrd edx, edx, 2
mov eax, ecx
mov ebx, ecx
and eax, edx
xor ebx, edx
add edx, edx
lea ebx, [ebx + eax*2]
lea eax, [ecx + ecx]
not eax
mov ecx, eax
or ecx, edx
mov edx, ebx
sub ecx, eax
not edx
imul edx, ecx
not ecx
imul ecx, ebx
sub edx, ecx
mov ecx, esi
shld edx, edx, 2
mov eax, edx
and ecx, edx
not eax
not ecx
or eax, esi
or esi, edx
not esi
sub ecx, esi
lea ebx, [edx + eax + 1]
lea eax, [ebx + ebx]
lea ebx, [ecx + ecx]
xor ecx, eax
lea edx, [eax + eax]
mov eax, edi
shrd eax, edi, 0xa
shld edi, edi, 0x1d
and ebx, edx
neg edi
lea edx, [ebx + ecx]
mov dword [esp + 0x718], edx
bswap edx
lea ecx, [eax - 1]
not ecx
mov eax, ecx
not ecx
and ecx, 1
xor eax, 1
lea ebx, [ecx + ecx]
sub eax, ebx
shld eax, eax, 0xa
bswap eax
mov esi, eax
mov ebx, eax
or esi, edx
not ebx
and ebx, edx
mov ecx, eax
xor ecx, edx
not edx
add esi, esi
sub esi, ecx
lea ecx, [ebx + eax]
mov ebx, ecx
mov eax, esi
not ecx
neg esi
imul esi, ecx
lea ecx, [edx + 1]
not ecx
neg ebx
not eax
not esi
imul eax, ebx
not eax
lea ecx, [ecx + edx*2 + 2]
bswap ecx
lea edx, [edi - 1]
shld ecx, ecx, 0x1d
mov ebx, ecx
sub eax, esi
not ebx
and ebx, edx
bswap eax
lea esi, [ebx + ecx]
mov ecx, edx
not ecx
xor edx, esi
and ecx, esi
mov ebx, eax
not ebx
add ecx, ecx
sub ecx, edx
shld ecx, ecx, 3
mov esi, ecx
neg esi
lea edi, [esi - 1]
mov esi, eax
or ebx, edi
neg esi
lea edx, [eax + ebx + 1]
mov ebx, ecx
not ebx
lea edi, [esi - 1]
or ebx, edi
mov edi, edx
lea esi, [ebx + ecx + 1]
mov ebx, edx
or edi, esi
and ebx, esi
imul ebx, edi
mov edi, esi
not edi
and edi, edx
not edx
and edx, esi
mov esi, eax
imul edx, edi
xor esi, ecx
add ebx, edx
mov dword [esp + 0xb50], ebx
mov ebx, eax
or ebx, ecx
sub ebx, esi
and esi, ecx
mov edx, ebx
not edx
mov dword [esp + 0xb54], ebx
lea ecx, [esi + eax]
mov eax, ebx
mov edi, ecx
and edx, ecx
not edi
or ebx, ecx
and eax, edi
imul edx, eax
mov dword [esp + 0xb58], ecx
mov ecx, dword [esp + 0xb54]
and ecx, dword [esp + 0xb58]
mov edi, ebx
imul edi, ecx
mov ebx, edx
mov esi, dword [esp + 0xb50]
mov eax, esi
add ebx, edi
xor eax, ebx
lea ecx, [esi + esi]
mov esi, dword [esp + 0x714]
lea edx, [ebx + ebx]
and ecx, edx
lea edi, [eax + ecx]
mov dword [esp + 0xb5c], edi
mov ecx, dword [esp + 0x70c]
mov edi, dword [esp + 0x718]
ror edi, cl
ror esi, cl
neg ecx
lea ebx, [edi + edi]
lea edx, [esi + esi]
and ebx, edx
mov edx, edi
xor edx, esi
lea eax, [edi + esi]
and edi, esi
sub eax, ebx
mov ebx, eax
neg eax
not ebx
add edx, edi
mov esi, edx
not edx
neg esi
imul ebx, esi
imul eax, edx
not ebx
not eax
sub ebx, eax
not ebx
mov esi, dword [esp + 0x718]
mov eax, esi
mov edx, esi
not eax
mov edi, esi
lea ebx, [ebx + 1]
ror ebx, cl
mov ecx, dword [esp + 0x714]
xor edx, ecx
or edi, ecx
xor edx, edi
lea edi, [eax + eax]
mov eax, dword [esp + 0xb4c]
lea eax, [eax + eax - 0x1630a578]
and edi, eax
sub edi, ecx
lea ecx, [esi + edi]
lea esi, [edx + edx]
xor edx, ecx
lea eax, [ecx + ecx]
mov ecx, ebx
or esi, eax
neg ecx
sub esi, edx
mov eax, esi
mov edx, esi
neg eax
lea ecx, [ecx - 1]
or edx, ecx
sub edx, ecx
xor edx, esi
lea eax, [eax - 1]
mov ecx, eax
or ecx, ebx
sub ecx, ebx
xor ecx, eax
mov edi, ecx
mov eax, ecx
or edi, edx
and eax, edx
imul eax, edi
mov edi, edx
mov dword [esp + 0xb60], eax
not edi
mov eax, ecx
not ecx
and eax, edi
and edx, ecx
lea edi, [esp + 0xb64]
mov dword [edi], eax
mov ecx, ebx
imul edx, dword [edi]
not ecx
mov edi, dword [esp + 0xb60]
lea eax, [edi + edx]
mov edi, esi
and esi, ecx
or edi, ecx
add esi, ebx
mov ecx, esi
lea edi, [ebx + edi + 1]
not ecx
mov ebx, edi
mov edx, edi
and ecx, edi
not edi
and ebx, esi
or edx, esi
and edi, esi
imul edx, ebx
imul edi, ecx
mov esi, dword [esp + 0xb5c]
lea ebx, [edx + edi]
mov edx, eax
xor eax, ebx
and edx, ebx
mov ecx, esi
lea ebx, [eax + edx*2]
mov edx, dword [esp + 0x148]
or ecx, ebx
lea edi, [edx + edx]
mov dword [esp + 0xb6c], edi
and edi, 2
lea eax, [ecx + ecx]
sub ecx, esi
xor ecx, ebx
sub eax, esi
sub eax, ebx
mov esi, eax
lea ebx, [ecx + ecx]
or esi, ebx
xor eax, ebx
lea ecx, [esi + esi]
mov esi, dword [esp]
sub ecx, eax
mov dword [esp + 0xb68], ecx
lea ecx, [edi + esi - 1]
sub esi, dword [esp + 0x444]
lea ebx, [esi + esi + 2]
mov edx, ebx
or ebx, ecx
and edx, ecx
lea edi, [edx + ebx]
mov edx, dword [esp + 0x710]
shld edx, edx, 0xf
lea eax, [edi + edi]
xor edi, 1
and eax, 0xfffffffc
neg eax
lea eax, [edi + eax - 1]
shld eax, eax, 0xf
mov ebx, eax
mov ecx, eax
not ebx
mov esi, eax
mov dword [esp + 0xb70], ebx
or ebx, edx
and ecx, edx
or esi, edx
not ecx
not esi
sub ecx, esi
lea edi, [eax + ebx + 1]
mov ebx, ecx
and ebx, edi
or ecx, edi
lea esi, [ebx + ecx]
mov ecx, dword [esp + 0xb1c]
ror edx, cl
ror esi, cl
mov ebx, edx
mov edi, edx
or ebx, esi
xor edi, esi
neg ecx
xor ebx, edi
lea edi, [ebx + ebx]
mov ebx, edi
xor ebx, edx
not edx
and edx, edi
lea edi, [edx + edx]
sub ebx, edi
mov edx, ebx
xor ebx, esi
or edx, esi
mov edi, dword [esp + 0xb70]
add edx, edx
sub edx, ebx
ror edx, cl
mov ebx, edx
not ebx
or ebx, eax
mov ecx, dword [esp + 0xb0c]
lea esi, [edx + ebx + 1]
lea ebx, [esi + esi]
imul edi, ebx
not ebx
imul ebx, eax
sub edi, ebx
mov eax, edi
or edi, edx
and eax, edx
mov edx, dword [esp + 0x710]
bswap edx
lea ebx, [eax + edi]
shrd ebx, ebx, 0xf
mov dword [esp + 0x71c], ebx
lea edi, [ecx + edx]
mov esi, edi
lea eax, [edi + edi]
and esi, 1
mov ebx, eax
or ebx, 2
xor eax, 2
xor ebx, eax
mov eax, ebx
lea edx, [esi + esi]
sub edi, edx
lea esi, [edi + 1]
mov edi, dword [esp]
xor eax, esi
and ebx, esi
sub eax, ecx
lea ebx, [eax + ebx*2]
lea ecx, [ebx + ebx]
xor ebx, 1
and ecx, 0xfffffffc
neg ecx
lea ebx, [ebx + ecx - 1]
mov ecx, dword [esp + 0xd64]
bswap ebx
rol ebx, cl
mov edx, ebx
rol edi, cl
bswap edx
mov esi, edi
mov eax, edx
bswap esi
not eax
or eax, esi
shld ebx, ebx, 4
lea eax, [edx + eax + 1]
mov ecx, eax
or ecx, esi
add ecx, ecx
sub ecx, esi
sub ecx, eax
mov eax, ecx
xor eax, edx
add edx, edx
lea esi, [ecx + ecx]
and edx, esi
lea ecx, [eax + edx]
mov edx, edi
bswap ecx
or edx, ecx
lea eax, [edi + ecx]
sub eax, edx
add eax, eax
mov esi, eax
xor esi, edi
not edi
and edi, eax
lea edx, [edi + edi]
sub esi, edx
mov eax, esi
xor esi, ecx
and eax, ecx
lea edx, [esi + eax*2]
shld edx, edx, 4
mov ecx, edx
mov edi, edx
neg ecx
not edi
lea esi, [ebx + ebx]
lea ecx, [ecx - 1]
mov eax, ecx
add edi, edi
or eax, ebx
and edi, esi
sub eax, ebx
xor ebx, edx
xor eax, ecx
sub edi, ebx
lea ecx, [eax + eax]
mov eax, edi
mov edx, ecx
neg eax
not edx
not edi
neg ecx
imul edx, eax
imul ecx, edi
mov edi, dword [esp + 0x71c]
not edx
not ecx
mov esi, edi
sub edx, ecx
xor esi, 1
shld edx, edx, 0x1c
mov ecx, dword [esp + 0xd68]
lea ebx, [edi + edi]
mov dword [esp + 0xb78], ebx
or ebx, 2
sub ebx, esi
rol edx, cl
mov eax, edx
bswap eax
mov esi, eax
lea ecx, [ebx - 1]
not ecx
not esi
bswap ecx
mov dword [esp + 0xb74], edx
not edx
add esi, esi
lea ebx, [ecx + ecx]
and esi, ebx
sub esi, ecx
lea ebx, [esi + eax]
mov esi, eax
xor esi, ecx
and eax, ecx
lea ecx, [esi + eax]
mov eax, ebx
not eax
and eax, ecx
not ecx
and ecx, ebx
lea ebx, [edx + edx]
mov dword [esp + 0xb7c], ebx
sub ebx, edx
add eax, ecx
mov ecx, ebx
not ecx
and ecx, edi
bswap eax
lea edx, [ebx + ecx]
lea ecx, [ebx + edx]
add ebx, ebx
lea esi, [edx + edx]
and ebx, esi
mov esi, eax
sub ecx, ebx
not esi
mov ebx, ecx
not ecx
sub ebx, edi
lea edi, [ecx + ecx]
mov ecx, dword [esp + 0xb78]
and ecx, edi
lea edi, [ebx + ecx]
mov edx, edi
neg edx
lea ebx, [edx - 1]
mov edx, esi
or edx, ebx
sub edx, esi
mov esi, eax
neg esi
mov ebx, edx
lea esi, [esi - 1]
mov ecx, esi
or esi, edi
xor ecx, edi
sub esi, ecx
mov ecx, esi
not ecx
and ebx, ecx
mov ecx, edx
mov dword [esp + 0xb80], ebx
not ecx
mov ebx, esi
and ebx, ecx
mov ecx, edx
or ecx, esi
and edx, esi
imul ebx, dword [esp + 0xb80]
imul edx, ecx
lea esi, [ebx + edx]
mov ebx, edi
xor ebx, eax
mov edx, edi
and edi, eax
or edx, eax
xor edx, ebx
mov eax, edx
lea ecx, [ebx + edi]
mov ebx, edx
and eax, ecx
or ebx, ecx
imul ebx, eax
mov eax, edx
not eax
and eax, ecx
not ecx
and edx, ecx
imul edx, eax
add ebx, edx
mov edx, dword [esp + 0x71c]
mov ecx, ebx
lea edi, [ebx + ebx]
xor ecx, esi
add esi, esi
and edi, esi
lea ebx, [ecx + edi]
mov edi, dword [esp + 0xb74]
mov dword [esp + 0xb84], ebx
mov eax, edi
mov ebx, edi
and eax, edx
xor ebx, edx
mov ecx, dword [esp + 0xb7c]
add ebx, eax
lea esi, [ebx + ebx]
xor ebx, edi
and ecx, esi
mov esi, edi
sub ecx, ebx
neg esi
mov eax, ecx
not ecx
sub eax, edx
and ecx, edx
lea eax, [eax + ecx*2]
lea ecx, [esi - 1]
mov esi, eax
mov ebx, ecx
or ebx, edx
sub ebx, edx
lea edx, [edi + edi]
xor ebx, ecx
lea ecx, [ebx + ebx]
xor ebx, edi
and edx, ecx
mov ecx, eax
mov edi, eax
add ebx, edx
xor esi, ebx
and ecx, ebx
or edi, ebx
sub edi, esi
lea edx, [esi + ecx]
mov esi, edi
not esi
mov ecx, edi
and esi, edx
mov dword [esp + 0xb88], esi
mov esi, edx
not esi
and ecx, esi
mov esi, edi
or esi, edx
and edi, edx
imul ecx, dword [esp + 0xb88]
mov edx, ebx
imul edi, esi
neg edx
lea esi, [ecx + edi]
mov ecx, eax
not ecx
lea edx, [edx - 1]
or ecx, edx
mov edx, ebx
lea ecx, [eax + ecx + 1]
neg eax
lea edi, [eax - 1]
mov eax, ecx
or edx, edi
not eax
xor edx, ebx
xor edx, edi
mov edi, edx
mov ebx, edx
and eax, edx
not edx
or edi, ecx
and ebx, ecx
and edx, ecx
imul ebx, edi
imul edx, eax
lea ecx, [ebx + edx]
mov edx, ecx
lea ebx, [ecx + ecx]
xor edx, esi
add esi, esi
and ebx, esi
mov ecx, dword [esp + 0xb84]
mov eax, ecx
lea edi, [edx + ebx]
and eax, edi
lea ebx, [ecx + edi]
not edi
sub ebx, eax
mov edx, edi
or edx, ecx
sub edx, edi
lea esi, [ebx + ebx]
lea ecx, [edx + edx]
xor edx, ebx
and ecx, esi
mov ebx, dword [esp + 0xb68]
add ecx, edx
lea esi, [ecx + ecx]
mov eax, esi
lea edx, [ebx + ebx]
or eax, edx
mov edi, esi
xor eax, esi
not esi
sub edi, edx
and esi, edx
xor eax, edx
shld ecx, ecx, 0x16
shld ebx, ebx, 0x16
mov dword [esp + 0xb90], ecx
lea edx, [edi + esi*2]
mov edi, eax
xor eax, edx
or edi, edx
mov edx, ecx
neg edx
not ecx
mov dword [esp + 0xb94], ebx
and ecx, ebx
neg ebx
lea esi, [edi + edi]
sub esi, eax
lea edi, [edx - 1]
sub edi, ecx
mov dword [esp + 0xb8c], esi
lea eax, [ebx - 1]
mov dword [esp + 0xb98], eax
mov eax, dword [esp + 0xb94]
not eax
mov ecx, dword [esp + 0xb90]
or ecx, eax
mov edx, dword [esp + 0xb98]
sub edx, ecx
mov eax, edi
not edi
lea ebx, [edx - 1]
mov esi, ebx
not esi
imul eax, esi
imul edi, ebx
sub eax, edi
shrd eax, eax, 0x16
mov edi, dword [esp + 0xb48]
mov ebx, dword [esp + 0xb8c]
lea esi, [edi + eax]
mov eax, ebx
mov ecx, esi
not ecx
and eax, ecx
lea edx, [eax + eax]
sub edx, ebx
neg ebx
lea ecx, [edx + esi]
lea edx, [ebx - 1]
mov eax, edx
or eax, esi
xor eax, esi
xor eax, edx
lea edx, [ecx + ecx]
add eax, eax
mov esi, eax
xor ecx, eax
not esi
lea ebx, [esi + esi]
and edx, ebx
lea esi, [edi + edx]
mov edi, dword [esp + 4]
sub esi, ecx
imul eax, esi, 0x19700000
mov dword [esp + 0x64c], eax
mov dword [esp + 0x360], edi
test edi, edi
je 0x1002a14a
test byte [esp + 0x64c], 1
je 0x1002a130
mov ebx, dword [esp + 0x360]
mov edi, ebx
not edi
mov esi, ebx
mov edx, ebx
mov eax, ebx
and edi, 0xbb24d01
and esi, 0xf44db2fe
and edx, 0xbb24d01
or eax, 0xbb24d01
imul esi, edi
imul eax, edx
lea edx, [esi + eax]
mov ecx, edx
xor edx, 0x1383266e
and ecx, 0xec7cd991
add ecx, ecx
mov dword [esp + 0xa30], ecx
mov eax, ecx
sub eax, edx
mov edi, eax
mov esi, eax
not edi
mov edx, eax
and edi, 0xca76b301
and esi, 0x35894cfe
and edx, 0xca76b301
or eax, 0xca76b301
imul esi, edi
imul eax, edx
lea edx, [esi + eax]
mov eax, edx
lea esi, [edx + edx]
xor eax, 0x4a16106e
and esi, 0x942c20dc
mov edx, dword [esp + 0x3b4]
add esi, eax
mov eax, edx
rol esi, cl
rol eax, cl
mov ecx, esi
not ecx
or ecx, eax
mov dword [esp + 0xa34], esi
lea edi, [ecx + esi]
lea edi, [edi + edi + 2]
mov ecx, edi
add edi, edi
xor ecx, eax
not eax
add eax, eax
and edi, eax
mov eax, ecx
sub eax, edi
lea ecx, [esi + 1]
ror edx, cl
lea edi, [esi + esi]
mov dword [esp + 0xa38], edi
mov esi, edx
ror ebx, cl
mov edi, edx
and esi, ebx
xor edi, ebx
neg ecx
add edi, esi
mov esi, ebx
not esi
imul esi, edi
not edi
imul edi, ebx
not esi
not edi
sub esi, edi
mov edi, eax
mov ebx, esi
not ebx
and ebx, edx
not edx
and esi, edx
mov edx, dword [esp + 0xa34]
xor edi, edx
add esi, ebx
ror esi, cl
lea ecx, [eax + eax]
mov eax, dword [esp + 0xa38]
and ecx, eax
lea ebx, [esi + esi]
add edi, ecx
mov ecx, dword [esp + 0xa30]
ror edi, cl
sub edi, eax
mov ecx, edi
not ecx
mov eax, ecx
or eax, ebx
add ebx, ebx
sub eax, ecx
lea ecx, [edi + edi]
and ebx, ecx
lea esi, [edi + esi*2]
sub esi, ebx
mov edi, esi
add eax, eax
xor edi, eax
add eax, eax
add esi, esi
and eax, esi
lea edx, [edi + edx*2]
add eax, edx
mov dword [esp + 0x3b4], eax
shr dword [esp + 0x64c], 1
lea edx, [esp + 0x360]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10029fd9
mov esi, dword [esp + 0x3b4]
mov edi, esi
mov ecx, esi
mov edx, dword [esp + 0xabc]
or edi, edx
mov eax, esi
not ecx
xor eax, edi
mov ebx, edx
and edx, ecx
xor ebx, eax
add edx, esi
lea esi, [edx + edx]
lea eax, [ebx + ebx]
xor ebx, edx
or esi, eax
sub esi, ebx
mov dword [esp + 0x720], esi
mov esi, dword [esp + 4]
mov eax, esi
mov edx, esi
neg eax
not edx
mov dword [esp + 0x150], edx
or edx, 0x919fffff
lea edi, [eax - 1]
mov dword [esp + 0x240], edi
or edi, 0x919fffff
lea edx, [esi + edx + 1]
mov ecx, edx
not ecx
lea eax, [edi + 0x6e600001]
mov edi, eax
mov ebx, eax
not edi
and ecx, eax
and edi, edx
or ebx, edx
and eax, edx
imul edi, ecx
imul eax, ebx
mov ebx, esi
lea edx, [edi + eax]
or ebx, 0x6e600000
mov edi, esi
xor edi, 0xee600000
mov eax, esi
and edi, 0x6e600000
lea ecx, [ebx - 0x6e600000]
xor eax, ecx
mov ecx, eax
add esi, edi
mov edi, eax
mov ebx, eax
not edi
and ecx, esi
or ebx, esi
and edi, esi
not esi
and esi, eax
imul ebx, ecx
imul esi, edi
lea eax, [ebx + esi]
mov ebx, edx
and ebx, eax
xor edx, eax
lea edi, [edx + ebx*2]
mov eax, edi
mov edx, edi
not eax
or edx, 0x3bdb78cb
or eax, 0x3bdb78cb
mov ebx, edx
mov esi, edx
not ebx
lea ecx, [edi + eax + 1]
mov eax, edx
or esi, ecx
and eax, ecx
and ebx, ecx
not ecx
and ecx, edx
mov edx, edi
imul ecx, ebx
mov ebx, edi
imul eax, esi
neg edi
or edx, 0xc4248734
xor ebx, 0xc4248734
add eax, ecx
sub edx, ebx
lea ebx, [edi - 1]
mov edi, edx
mov ecx, ebx
xor ebx, 0x3bdb78cb
or ecx, 0x3bdb78cb
not edi
sub ecx, ebx
mov ebx, edx
mov esi, ecx
and edi, ecx
not esi
and ebx, ecx
and esi, edx
or edx, ecx
imul edi, esi
imul edx, ebx
lea ecx, [edi + edx]
lea ebx, [ecx + ecx]
lea edi, [eax + eax]
xor eax, ecx
or ebx, edi
sub ebx, eax
lea eax, [ebx + ebx]
mov edx, eax
xor eax, 0x6944d26a
and edx, 0x6944d26a
sub ebx, edx
lea edi, [edx + eax]
lea ecx, [ebx - 0x4b5d96cb]
mov ebx, edi
not edi
xor ebx, ecx
and edi, ecx
lea esi, [edi + edi]
sub ebx, esi
mov eax, ebx
mov ecx, ebx
neg eax
xor ecx, 0x8c3cd31c
lea edi, [eax - 1]
mov eax, ebx
mov edx, edi
xor edi, 0x73c32ce3
or edx, 0x73c32ce3
or eax, 0x8c3cd31c
sub edx, edi
xor eax, ecx
mov edi, edx
mov esi, eax
not edi
mov ecx, eax
and edi, eax
not eax
or esi, edx
and ecx, edx
and eax, edx
mov edx, ebx
imul ecx, esi
or edx, 0x73c32ce3
imul eax, edi
lea edi, [ecx + eax]
mov eax, ebx
and eax, 0x73c32ce3
mov ecx, ebx
xor ebx, eax
xor ecx, 0x73c32ce3
xor ecx, edx
mov edx, ecx
lea esi, [ebx + 0x73c32ce3]
mov ebx, ecx
mov eax, esi
or ebx, esi
not eax
and edx, eax
mov eax, ecx
not eax
and ecx, esi
and eax, esi
imul eax, edx
imul ecx, ebx
lea esi, [eax + ecx]
lea ebx, [edi + edi]
xor edi, esi
lea edx, [esi + esi]
or ebx, edx
sub ebx, edi
mov eax, ebx
mov esi, ebx
mov edx, ebx
not ebx
and eax, 0xa82a66a5
or esi, 0xa82a66a5
and edx, 0x57d5995a
and ebx, 0xa82a66a5
imul esi, eax
imul ebx, edx
lea edi, [esi + ebx]
mov ecx, edi
not ecx
imul ebx, ecx, 0x2cd9ef8f
imul eax, edi, 0xd3261072
not ebx
not eax
sub ebx, eax
mov edx, ebx
mov edi, ebx
mov esi, ebx
not ebx
and edx, 0x7edf112d
or edi, 0x7edf112d
and esi, 0x8120eed2
and ebx, 0x7edf112d
imul edi, edx
imul ebx, esi
lea ecx, [edi + ebx]
mov edx, ecx
not ecx
and ecx, 0xeac89b23
xor edx, 0x6ac89b23
lea ebx, [ecx + ecx]
sub edx, ebx
mov edi, edx
mov eax, edx
and edi, 0xf7889a00
or eax, 0xf7889a00
imul eax, edi
mov ebx, edx
mov ecx, edx
not ebx
and ecx, 0x87765ff
and ebx, 0xf7889a00
neg eax
neg edx
imul ebx, ecx
lea eax, [eax - 1]
sub eax, ebx
lea ebx, [edx - 1]
mov esi, ebx
mov edx, ebx
not esi
and edx, 0xf7889a00
and esi, 0x87765ff
mov edi, ebx
imul esi, edx
and edi, 0x87765ff
or ebx, 0x87765ff
neg esi
imul ebx, edi
mov edx, eax
mov edi, dword [esp + 0x148]
lea ecx, [esi - 1]
sub ecx, ebx
not edx
mov esi, ecx
not ecx
neg esi
neg eax
imul edx, esi
lea ebx, [edi + 1]
imul eax, ecx
mov dword [esp + 0xba0], ebx
not ebx
neg ebx
lea esi, [edi + edi + 2]
not ebx
not esi
not edx
not eax
sub ebx, esi
sub edx, eax
mov eax, ebx
not eax
mov dword [esp + 0xb9c], edx
lea ecx, [edx + edx]
lea edi, [eax + eax]
mov eax, ebx
and ecx, edi
mov edi, edx
and edi, ebx
sub eax, edx
xor ebx, edi
lea esi, [eax + ecx]
lea edi, [edx + ebx]
bswap edx
mov ebx, edi
lea eax, [esi + esi]
not ebx
not edx
bswap edx
ror edx, cl
add ebx, ebx
and eax, ebx
sub eax, esi
lea ebx, [eax + edi]
mov eax, dword [esp]
ror eax, cl
lea edi, [edx + edx]
lea esi, [eax + eax]
and edi, esi
mov esi, edx
sub esi, edi
mov edi, eax
xor edi, edx
and edi, eax
add esi, eax
lea eax, [edi + edx]
mov edx, ebx
mov edi, eax
or eax, esi
and edi, esi
not eax
not edi
mov esi, ebx
sub edi, eax
rol edi, cl
mov ecx, ebx
and edx, edi
xor esi, edi
or ecx, edi
lea eax, [ebx + edi]
sub eax, ecx
add esi, edx
mov edx, eax
mov ecx, eax
and edx, esi
or ecx, esi
imul ecx, edx
mov edx, esi
mov dword [esp + 0xba4], ecx
not edx
mov ecx, eax
not eax
and ecx, edx
and eax, esi
lea esi, [esp + 0xba8]
mov dword [esi], ecx
mov ecx, edi
imul eax, dword [esi]
neg ecx
mov edx, dword [esp + 0xba4]
lea ecx, [ecx - 1]
lea esi, [edx + eax]
mov eax, ebx
mov edx, ebx
neg ebx
xor eax, ecx
or edx, ecx
sub edx, eax
lea eax, [ebx - 1]
or eax, edi
sub eax, ebx
lea ebx, [eax + 1]
xor ebx, edi
mov edi, edx
not edi
mov ecx, ebx
mov eax, ebx
and ecx, edi
not eax
mov edi, edx
and edi, eax
mov eax, ebx
or eax, edx
and ebx, edx
imul edi, ecx
lea ecx, [esi + esi]
imul ebx, eax
lea edx, [edi + ebx]
mov ebx, esi
xor ebx, edx
lea esi, [edx + edx]
and ecx, esi
mov edx, dword [esp + 0x23c]
mov esi, dword [esp + 0xb9c]
mov edi, dword [esp + 0x164]
and edi, esi
lea eax, [ebx + ecx]
mov ecx, dword [esp]
mov ebx, ecx
neg ebx
lea edx, [esi + edx - 1]
mov dword [esp + 0x724], ebx
sub edx, edi
mov dword [esp + 0xbac], eax
mov edi, ecx
lea ebx, [ebx - 1]
mov dword [esp + 0x1a4], ebx
mov eax, ebx
not eax
and eax, edx
xor edx, ebx
mov ebx, ecx
or ebx, esi
sub ebx, esi
xor edi, ebx
add eax, eax
sub eax, edx
mov edx, edi
not edx
lea ebx, [edx + edx]
mov edx, dword [esp + 0x168]
and edx, ebx
sub edx, ecx
mov ecx, esi
add edi, edx
and ecx, edi
or esi, edi
mov edi, eax
lea edx, [ecx + esi]
mov esi, eax
mov ebx, edx
neg esi
neg ebx
lea ecx, [ebx - 1]
mov ebx, eax
xor ebx, ecx
or edi, ecx
sub edi, ebx
lea ebx, [esi - 1]
not ebx
mov esi, edi
mov ecx, ebx
or ecx, edx
sub ecx, ebx
mov ebx, edi
and ebx, ecx
or esi, ecx
imul esi, ebx
mov ebx, edi
not ebx
and ebx, ecx
not ecx
and ecx, edi
mov edi, eax
imul ecx, ebx
or edi, edx
lea ebx, [esi + ecx]
mov esi, eax
xor esi, edx
sub edi, esi
lea esi, [eax + edx]
and eax, edx
mov ecx, edi
sub esi, eax
mov edx, esi
mov eax, esi
not edx
and ecx, edx
mov edx, edi
not edx
and eax, edx
mov edx, esi
and edx, edi
or esi, edi
imul eax, ecx
imul esi, edx
lea ecx, [eax + esi]
lea eax, [ebx + ebx]
xor ebx, ecx
lea edi, [ecx + ecx]
or eax, edi
sub eax, ebx
mov ebx, dword [esp + 0xbac]
mov edx, eax
mov edi, eax
xor edx, ebx
and edi, ebx
mov esi, eax
not eax
sub esi, ebx
add ebx, ebx
lea ecx, [edx + edi]
lea edx, [eax + eax]
and edx, ebx
add ecx, ecx
mov ebx, dword [esp]
mov edi, ebx
and edi, 0x6e4f0414
add edx, esi
mov esi, dword [esp + 0x148]
mov eax, edx
and esi, 0x91b0fbeb
not eax
imul eax, ecx
not ecx
imul ecx, edx
imul edi, esi
mov edx, ebx
or ebx, 0x91b0fbeb
and edx, 0x91b0fbeb
not eax
imul ebx, edx
not ecx
sub eax, ecx
lea ecx, [edi + ebx]
mov dword [esp + 0xbb0], eax
lea edi, [ecx + ecx]
and edi, 0xeaf17fd6
xor ecx, 0xf578bfeb
lea edx, [edi + ecx]
mov edi, edx
mov esi, edx
mov ebx, edx
not edi
and esi, 0xcbd554c3
or ebx, 0xcbd554c3
and edi, 0xcbd554c3
and edx, 0x342aab3c
imul ebx, esi
imul edx, edi
lea esi, [ebx + edx]
mov ebx, esi
xor esi, 0x5e85b3ff
or ebx, 0xde85b3ff
lea ecx, [ebx + ebx]
sub ecx, esi
mov esi, eax
mov ebx, ecx
xor ebx, eax
and ebx, eax
lea edx, [ecx + ebx]
xor esi, edx
not edx
lea ebx, [eax + eax]
bswap eax
lea edi, [edx + edx]
mov edx, ecx
and edi, ebx
sub esi, edi
or edx, esi
and ecx, esi
mov esi, eax
sub edx, ecx
not esi
mov edi, dword [esp + 0x14c]
mov ebx, edi
or ebx, eax
mov dword [esp + 0x728], edx
sub ebx, edi
xor ebx, eax
lea edx, [edi + edi]
sub eax, edi
lea ecx, [esi + esi]
and ecx, edx
mov dword [esp + 0x1a8], edx
mov edx, ebx
mov dword [esp + 0xbb4], esi
add eax, ecx
xor edx, eax
and ebx, eax
lea eax, [edx + ebx*2]
bswap eax
mov ecx, eax
mov edx, ecx
neg edx
mov esi, dword [esp + 0x728]
mov ebx, esi
not ebx
mov eax, ebx
lea edi, [edx - 1]
or eax, edi
mov dword [esp + 0x3b8], 0
lea edi, [eax + esi + 1]
neg esi
lea eax, [esi - 1]
mov esi, ecx
or esi, eax
sub esi, ecx
xor esi, eax
mov eax, edi
not eax
mov edx, esi
and edx, eax
mov eax, esi
not eax
and eax, edi
imul eax, edx
mov edx, esi
or edx, edi
and esi, edi
imul esi, edx
mov edx, ecx
or edx, ebx
lea edi, [eax + esi]
mov eax, ecx
sub edx, ebx
mov ebx, dword [esp + 0x728]
and eax, ebx
xor ecx, ebx
mov ebx, edx
mov esi, edx
not ebx
add ecx, eax
mov eax, edx
or esi, ecx
and eax, ecx
and ebx, ecx
not ecx
and edx, ecx
imul eax, esi
imul edx, ebx
lea ebx, [eax + edx]
mov edx, dword [esp + 0x1a8]
mov ecx, ebx
and ebx, edi
xor ecx, edi
or edx, 2
mov eax, dword [esp + 0xbb0]
shld eax, eax, 3
neg eax
lea edi, [ecx + ebx*2]
mov ebx, dword [esp + 0x14c]
xor ebx, 1
sub edx, ebx
not edx
mov dword [esp + 0x72c], ebx
mov dword [esp + 0xbb8], edi
lea ecx, [edx + 1]
bswap ecx
lea edx, [eax - 1]
shld ecx, ecx, 3
mov ebx, edx
and ebx, ecx
lea esi, [eax + ecx]
mov eax, dword [esp + 0xbb4]
sub esi, ebx
mov ecx, edx
neg eax
not eax
lea edi, [esi - 1]
xor ecx, edi
not edi
and edi, edx
lea ebx, [eax + 1]
bswap ebx
mov esi, ebx
or esi, 0x77f3bc31
lea edx, [edi + edi]
mov edi, ebx
sub ecx, edx
mov edx, ebx
not ebx
and edx, 0x77f3bc31
and edi, 0x880c43ce
and ebx, 0x77f3bc31
imul edx, esi
imul ebx, edi
shrd ecx, ecx, 3
add edx, ebx
lea esi, [edx + edx]
xor edx, 0x467ed3f4
and esi, 0x73025816
sub esi, edx
mov eax, esi
mov edi, esi
not eax
mov edx, esi
and edi, 0xe531e32e
and eax, 0x1ace1cd1
and edx, 0x1ace1cd1
or esi, 0x1ace1cd1
imul eax, edi
imul esi, edx
lea ebx, [eax + esi]
mov eax, ebx
or ebx, 0xc311ba34
and eax, 0xc311ba34
lea edx, [eax + ebx]
mov eax, dword [esp]
mov esi, edx
mov edi, eax
neg esi
lea ebx, [esi - 1]
mov esi, edx
xor edi, ebx
xor esi, 1
and edx, 1
and edi, ebx
lea edx, [esi + edx*2]
lea ebx, [eax + edi]
mov eax, edx
or eax, ebx
and edx, ebx
lea ebx, [eax + edx]
mov edx, ebx
mov edi, ebx
and edx, ecx
lea esi, [ebx + ecx]
xor edx, ecx
or edi, ecx
sub esi, edi
mov eax, esi
not eax
lea edi, [edx + ebx]
mov edx, esi
and eax, edi
mov dword [esp + 0xbbc], eax
mov eax, edi
not eax
and edx, eax
mov eax, esi
or eax, edi
and esi, edi
mov edi, ebx
imul edx, dword [esp + 0xbbc]
neg edi
imul esi, eax
lea eax, [edx + esi]
lea edx, [edi - 1]
or edx, ecx
lea esi, [edi + ecx]
neg ecx
sub esi, edx
lea edx, [ecx - 1]
mov ecx, ebx
or ecx, edx
lea esi, [esi - 1]
xor ecx, edx
xor ecx, ebx
mov edi, ecx
mov ebx, ecx
mov edx, ecx
not edi
or ebx, esi
and edx, esi
and edi, esi
not esi
and ecx, esi
imul edx, ebx
mov ebx, eax
imul ecx, edi
add edx, ecx
xor ebx, edx
and eax, edx
lea eax, [ebx + eax*2]
mov ebx, dword [esp + 0xbb8]
mov edi, eax
lea ecx, [eax + eax]
not edi
mov edx, ecx
and edi, ebx
lea esi, [ebx + ebx]
xor edx, esi
or ecx, esi
sub ecx, edx
mov esi, dword [esp + 4]
lea edx, [edi + edi]
mov edi, esi
sub edx, ebx
lea ebx, [edx + eax]
mov edx, ecx
or edx, ebx
and ecx, ebx
mov ebx, esi
lea eax, [edx + ecx]
mov edx, esi
imul edx, eax
and ebx, edx
or edi, edx
mov dword [esp + 0xbc0], edx
lea eax, [edi + ebx]
xor ebx, edx
bswap edx
add ebx, esi
bswap esi
mov ecx, ebx
xor ebx, eax
not ecx
and ecx, eax
mov eax, esi
xor eax, edx
lea edi, [esi + esi]
mov dword [esp + 0x730], edi
mov dword [esp + 0x158], esi
add ecx, ecx
sub ecx, ebx
lea ebx, [edx + edx]
and edi, ebx
add edi, eax
mov eax, esi
not eax
mov esi, eax
or esi, edx
sub esi, eax
mov ebx, esi
xor ebx, edi
not edi
and edi, esi
mov dword [esp + 0x244], eax
mov eax, ecx
neg eax
lea edx, [edi + edi]
mov edi, ecx
sub ebx, edx
bswap ebx
lea edx, [eax - 1]
or edx, ebx
mov esi, ebx
sub edx, eax
neg esi
lea eax, [edx + 1]
xor eax, ebx
lea edx, [esi - 1]
or edi, edx
xor edi, edx
mov edx, ecx
xor edx, edi
mov edi, edx
mov esi, edx
or edi, eax
and esi, eax
imul esi, edi
mov edi, edx
mov dword [esp + 0xbc4], esi
not edi
mov esi, eax
not eax
and esi, edi
and edx, eax
lea eax, [esp + 0xbc8]
mov dword [eax], esi
mov esi, ecx
imul edx, dword [eax]
not esi
mov eax, dword [esp + 0xbc4]
or esi, ebx
lea edi, [eax + edx]
mov eax, ecx
xor eax, ebx
lea esi, [ecx + esi + 1]
and ecx, ebx
mov ebx, esi
not ebx
add ecx, eax
mov edx, ecx
mov eax, ecx
not edx
and ebx, ecx
and edx, esi
or eax, esi
and ecx, esi
imul edx, ebx
imul ecx, eax
lea esi, [edx + ecx]
mov ecx, dword [esp + 0x150]
mov eax, esi
xor esi, edi
or eax, edi
mov edi, dword [esp + 0xbc0]
add ecx, ecx
mov dword [esp + 0x44c], ecx
lea edx, [eax + eax]
mov eax, edi
shrd eax, edi, 0x13
shrd edi, edi, 1
not eax
sub edx, esi
shld eax, eax, 0x13
mov esi, dword [esp + 4]
mov ebx, esi
mov dword [esp + 0xbcc], edx
mov edx, esi
and ebx, eax
xor edx, eax
add ebx, edx
xor esi, ebx
lea edx, [ebx + ebx]
and edx, ecx
sub edx, esi
mov ebx, edx
not ebx
and ebx, eax
lea ecx, [ebx + ebx]
sub ecx, eax
mov eax, dword [esp + 0x150]
lea ebx, [eax + 1]
mov esi, ebx
not ebx
xor esi, 1
add edx, ecx
lea ecx, [ebx + ebx]
and ecx, 2
sub esi, ecx
mov ecx, edi
shrd esi, esi, 1
mov ebx, esi
mov eax, esi
xor ebx, edi
and eax, edi
neg ecx
not edi
add ebx, eax
mov eax, ebx
neg ebx
not eax
imul ecx, eax
imul edi, ebx
not ecx
not edi
sub ecx, edi
lea eax, [ecx + esi]
and ecx, esi
mov esi, edx
lea ebx, [ecx + ecx]
mov ecx, edx
sub eax, ebx
mov ebx, edx
shld eax, eax, 1
xor esi, eax
and ecx, eax
or ebx, eax
sub ebx, eax
xor ebx, edx
add ecx, esi
mov esi, ebx
mov edi, ecx
not esi
not edi
and esi, ecx
and edi, ebx
imul esi, edi
mov edi, ebx
and edi, ecx
or ebx, ecx
imul ebx, edi
lea ecx, [esi + ebx]
mov esi, eax
neg esi
mov ebx, edx
lea edi, [esi - 1]
mov esi, eax
or ebx, edi
not esi
sub ebx, edi
xor ebx, edx
neg edx
mov edi, ebx
not edi
lea edx, [edx - 1]
or esi, edx
lea edx, [eax + esi + 1]
mov eax, ebx
mov esi, edx
and edi, edx
not esi
or eax, edx
and esi, ebx
and ebx, edx
imul esi, edi
imul ebx, eax
lea edx, [esi + ebx]
lea ebx, [ecx + ecx]
xor ecx, edx
lea eax, [edx + edx]
mov edx, dword [esp + 0xbcc]
or ebx, eax
sub ebx, ecx
mov ecx, edx
lea esi, [edx + edx]
lea eax, [ebx + ebx + 0x67387390]
or eax, esi
sub eax, edx
sub eax, ebx
mov esi, dword [esp]
mov dword [esp + 0x364], esi
lea edi, [eax + 0x4c63c638]
mov dword [esp + 0xbd0], edi
lea eax, [ebx + 0x339c39c8]
or ecx, eax
sub ecx, ebx
lea ebx, [ecx - 0x339c39c8]
xor edx, ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x650], ebx
lea eax, [edx + edx]
mov edx, dword [esp + 0x720]
mov dword [esp + 0xbd4], eax
lea ecx, [edx + edx]
mov dword [esp + 0xbd8], ecx
test esi, esi
je 0x1002ad46
test byte [esp + 0x650], 1
je 0x1002ad2c
mov ebx, dword [esp + 0x364]
mov ecx, ebx
shrd ecx, ebx, 0xd
mov esi, dword [esp + 0x3b8]
mov eax, esi
mov edx, ecx
shrd eax, esi, 0xd
not edx
or edx, eax
bswap ebx
bswap esi
lea edi, [ecx + edx + 1]
lea edx, [edi + eax]
add eax, eax
add edi, edi
and eax, edi
sub edx, eax
mov edi, edx
xor edi, ecx
add ecx, ecx
lea eax, [edx + edx]
and eax, ecx
lea edx, [edi + eax]
mov edi, ebx
shld edx, edx, 0xd
not edi
and edi, esi
not esi
lea ecx, [edx + edx]
mov edx, esi
or edx, ebx
sub edx, esi
lea eax, [edi + ebx]
mov ebx, edx
not ebx
lea esi, [eax + eax]
xor edx, eax
mov eax, ecx
not eax
mov edi, ecx
and eax, 0x8790b707
and edi, 0x786f48f8
imul edi, eax
add ebx, ebx
and ebx, esi
mov esi, ecx
or esi, 0x8790b707
and ecx, 0x8790b707
imul ecx, esi
sub ebx, edx
bswap ebx
lea eax, [edi + ecx]
mov edx, eax
xor eax, 0x2d898f8e
and edx, 0xd2767071
add edx, edx
sub edx, eax
mov eax, edx
mov edi, edx
mov esi, edx
not eax
or edi, 0xb6e506b7
and esi, 0xb6e506b7
and eax, 0xb6e506b7
and edx, 0x491af948
imul esi, edi
lea edi, [ebx + ebx]
imul edx, eax
add esi, edx
mov edx, esi
lea ecx, [esi + esi]
xor edx, 0x24b8f282
and ecx, 0x4971e504
lea eax, [edx + ecx]
mov esi, eax
not esi
add esi, esi
and edi, esi
sub edi, ebx
lea edx, [edi + eax]
neg eax
lea ecx, [eax - 1]
mov esi, ecx
or esi, ebx
sub esi, ebx
xor esi, ecx
lea eax, [esi + esi]
mov esi, edx
mov ebx, eax
not esi
neg ebx
not eax
neg edx
imul esi, ebx
imul edx, eax
not esi
not edx
sub esi, edx
mov dword [esp + 0x3b8], esi
shr dword [esp + 0x650], 1
lea edx, [esp + 0x364]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002ac01
mov ecx, dword [esp + 4]
imul ecx, dword [esp + 0x3b8]
mov edx, ecx
mov esi, ecx
neg edx
or esi, 0xdeadc3ff
xor esi, 0xdeadc3ff
xor esi, ecx
mov eax, esi
lea edi, [edx - 1]
mov edx, edi
or edx, 0x21523c00
sub edi, edx
mov edx, esi
lea ebx, [edi + 0x21523c00]
mov edi, ecx
and edx, ebx
or eax, ebx
imul eax, edx
mov edx, esi
not edx
not edi
and edx, ebx
not ebx
and edi, 0x21523c00
and ebx, esi
imul ebx, edx
mov esi, ecx
mov edx, ecx
xor esi, 0x21523c00
or edx, 0x21523c00
add edi, ecx
sub edx, esi
mov esi, edi
mov ecx, edx
add eax, ebx
not esi
not ecx
mov ebx, edx
and esi, edx
and ecx, edi
or ebx, edi
and edx, edi
imul ecx, esi
mov esi, eax
imul edx, ebx
mov edi, dword [esp + 0xbd0]
lea ebx, [ecx + edx]
mov ecx, edi
or esi, ebx
mov edx, dword [esp + 0xbd4]
and eax, ebx
and ecx, edx
or edi, edx
mov edx, dword [esp + 0x720]
lea ebx, [esi + eax]
mov esi, dword [esp + 0xbd8]
mov eax, esi
add edi, ecx
mov ecx, edx
not eax
neg ecx
not edx
neg esi
imul eax, ecx
mov ecx, ebx
imul esi, edx
not eax
not esi
sub eax, esi
mov esi, ebx
lea edx, [eax + edi]
mov eax, dword [esp + 0x164]
sub edx, ebx
lea edi, [edx + 0x4c63c638]
xor ecx, edi
or esi, edi
and ecx, ebx
lea ecx, [ecx + edx + 0x4c63c638]
lea edx, [ebx + edx + 0x4c63c638]
sub edx, esi
lea esi, [ecx + ecx]
lea edi, [edx + edx]
xor edx, ecx
and edi, esi
add ebx, edi
add edx, ebx
mov ebx, dword [esp]
mov dword [esp + 0xbdc], edx
imul edx, ebx, 0x1bec4e00
mov edi, edx
not edi
or eax, edi
mov dword [esp + 0xbe0], edx
lea ecx, [eax + edx + 1]
neg edx
mov eax, ecx
not eax
lea esi, [edx - 1]
mov edx, dword [esp + 0x148]
or edx, esi
lea edx, [ebx + edx + 1]
mov esi, edx
and eax, edx
not esi
and esi, ecx
imul eax, esi
mov esi, edx
and esi, ecx
or edx, ecx
imul edx, esi
mov esi, ebx
or esi, edi
lea ecx, [eax + edx]
mov eax, dword [esp + 0xbe0]
mov edi, ebx
and edi, eax
xor ebx, edi
lea esi, [esi + eax + 1]
mov edx, esi
not edx
add ebx, eax
mov eax, esi
mov edi, ebx
and edx, ebx
not edi
and eax, ebx
and edi, esi
or esi, ebx
imul edi, edx
imul esi, eax
lea ebx, [edi + esi]
mov eax, ebx
xor ebx, ecx
and eax, ecx
mov ecx, dword [esp + 0xbdc]
shrd ecx, ecx, 0x19
shld ecx, ecx, 0x19
lea edx, [ebx + eax*2]
mov ebx, edx
xor edx, ecx
and ebx, ecx
mov ecx, dword [esp + 4]
lea esi, [edx + ebx*2]
mov eax, esi
or eax, 0x90e3e52f
sub esi, eax
mov edx, eax
lea edi, [esi - 0x6f1c1ad1]
mov esi, ecx
and edx, edi
or eax, edi
and esi, 1
mov dword [esp + 0x738], esi
lea ebx, [edx + eax]
mov edx, ecx
or edx, 1
mov dword [esp + 0xbe4], ebx
mov dword [esp + 0x734], edx
lea edi, [esi + edx - 1]
mov esi, ecx
not edi
mov ebx, edi
and ebx, 0x5ab3ffff
sub edi, ebx
mov ebx, dword [esp + 0xd6c]
and esi, ebx
lea edx, [edi + 0x5ab3ffff]
mov eax, edx
or edx, 0xa54c0001
and eax, 0xa54c0001
lea edi, [eax + edx]
lea edx, [ecx + ebx]
sub edx, esi
mov eax, edx
not eax
mov esi, dword [esp + 0xd70]
imul ebx, eax
imul esi, edx
sub ebx, esi
mov edx, dword [esp + 0x150]
and edx, ebx
lea esi, [ecx + edx*2]
mov ecx, edi
neg ecx
sub esi, ebx
mov eax, esi
mov ebx, esi
lea edx, [ecx - 1]
xor eax, edx
or ebx, edx
mov edx, esi
sub ebx, eax
neg edx
lea ecx, [edx + edi]
lea eax, [edx - 1]
mov edx, edi
or edx, eax
mov eax, ebx
sub ecx, edx
lea edx, [ecx - 1]
mov ecx, ebx
and eax, edx
or ecx, edx
imul ecx, eax
mov eax, ebx
not eax
and eax, edx
not edx
and edx, ebx
imul edx, eax
mov eax, esi
lea ebx, [ecx + edx]
mov edx, esi
and edx, edi
mov ecx, esi
xor edx, edi
or ecx, edi
xor ecx, edi
xor eax, ecx
mov edi, eax
mov ecx, eax
not edi
add esi, edx
mov edx, esi
and edi, esi
not edx
and ecx, esi
and edx, eax
or eax, esi
imul edi, edx
mov edx, ebx
imul eax, ecx
lea esi, [edi + eax]
mov edi, dword [esp + 0x44c]
xor edx, esi
and ebx, esi
mov eax, dword [esp + 4]
and edi, 0x4a980000
lea ecx, [edx + ebx*2]
mov edx, eax
and edx, 0xa54c0000
mov ebx, eax
xor ebx, edx
lea esi, [edi + eax + 0x5ab40000]
mov edx, esi
mov edi, eax
not edx
mov dword [esp + 0xbe8], ecx
lea ebx, [ebx - 0x5ab40000]
and edx, ebx
xor ebx, esi
mov esi, eax
or esi, 0xa54c0000
lea ecx, [edx + edx]
sub ecx, ebx
mov ebx, eax
lea edx, [esi + 0x5ab40000]
xor ebx, edx
or edi, ebx
and eax, ebx
sub edi, eax
mov ebx, ecx
mov edx, edi
and edi, 0x254c0000
xor edx, 0xa54c0000
neg ebx
lea edi, [edx + edi*2]
mov edx, edi
lea esi, [ebx - 1]
neg edx
mov ebx, esi
xor ebx, edi
or esi, edi
xor ebx, esi
mov esi, ebx
lea eax, [edx - 1]
mov edx, ecx
or edx, eax
sub edx, eax
mov eax, ebx
xor edx, ecx
or esi, edx
and eax, edx
imul eax, esi
mov esi, edx
mov dword [esp + 0xbec], eax
not esi
mov eax, ebx
not ebx
and eax, esi
and ebx, edx
lea edx, [esp + 0xbf0]
mov dword [edx], eax
mov eax, ecx
imul ebx, dword [edx]
or eax, edi
mov edx, dword [esp + 0xbec]
xor eax, edi
lea esi, [edx + ebx]
mov ebx, edi
not ebx
mov edx, ecx
and ebx, ecx
xor edx, eax
mov ecx, edx
lea eax, [ebx + edi]
mov ebx, edx
and ecx, eax
or ebx, eax
imul ebx, ecx
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
imul eax, ecx
mov edi, dword [esp + 0xbe8]
lea edx, [ebx + eax]
mov ebx, esi
xor esi, edx
and ebx, edx
mov edx, edi
lea ebx, [esi + ebx*2]
or edx, ebx
lea ecx, [edi + ebx]
sub edx, ebx
xor edx, edi
and edi, ebx
sub ecx, edi
lea esi, [edx + edx]
lea ebx, [ecx + ecx]
xor ecx, edx
and ebx, esi
lea esi, [ebx + ecx]
mov edx, esi
neg edx
lea edx, [edx - 1]
mov eax, edx
or eax, 0x9f37cb3b
lea ecx, [eax + 0x60c834c5]
mov eax, esi
or eax, 0x9f37cb3b
xor ecx, edx
mov edi, ecx
not edi
mov dword [esp + 0xbf4], ecx
lea ebx, [eax + 0x60c834c5]
mov edx, ebx
and edi, ebx
not edx
and edx, ecx
imul edx, edi
mov edi, ecx
or edi, ebx
and ecx, ebx
imul ecx, edi
mov ebx, esi
sub ebx, eax
lea edi, [edx + ecx]
mov edx, esi
xor edx, 0x9f37cb3b
and edx, esi
lea eax, [ebx - 0x60c834c5]
lea esi, [edx - 0x60c834c5]
mov ebx, esi
mov ecx, esi
and ebx, eax
or ecx, eax
imul ecx, ebx
mov ebx, eax
not ebx
lea edx, [edi + edi]
and ebx, esi
not esi
and esi, eax
imul esi, ebx
lea ebx, [ecx + esi]
lea eax, [ebx + ebx]
xor ebx, edi
and eax, edx
lea edi, [eax + ebx]
mov ecx, edi
and ecx, 0x2de05bb
lea esi, [ecx + ecx]
neg esi
lea edx, [edi + esi + 0x2de05bb]
neg edi
lea ebx, [edi + edi - 2]
not ebx
mov esi, ebx
or esi, 0x5bc0b76
sub esi, ebx
mov ebx, esi
not ebx
imul ebx, edx
not edx
imul edx, esi
not ebx
not edx
sub ebx, edx
mov ecx, ebx
mov eax, ebx
or ecx, 0x82b6d5f3
mov edx, ebx
sub eax, ecx
mov ecx, ebx
and edx, 0x82b6d5f3
xor ecx, 0x82b6d5f3
lea edi, [eax - 0x7d492a0d]
mov esi, edi
add edx, ecx
not esi
mov eax, edi
mov ecx, edi
and esi, edx
and eax, edx
or ecx, edx
not edx
and edx, edi
imul ecx, eax
mov eax, ebx
imul edx, esi
neg eax
lea edi, [ecx + edx]
mov ecx, ebx
or ecx, 0x7d492a0c
sub ecx, ebx
xor ecx, 0x7d492a0c
lea edx, [eax - 1]
mov eax, edx
xor edx, 0x82b6d5f3
or eax, 0x82b6d5f3
mov ebx, ecx
mov dword [esp + 0xbf8], eax
sub eax, edx
mov edx, ecx
and ebx, eax
or edx, eax
imul edx, ebx
mov ebx, eax
not ebx
and ebx, ecx
not ecx
and ecx, eax
mov eax, edi
imul ecx, ebx
lea ebx, [edx + ecx]
or eax, ebx
xor edi, ebx
lea edx, [eax + eax]
sub edx, esi
sub edx, edi
mov ecx, edx
not ecx
mov ebx, ecx
or ebx, 0xfc760780
lea eax, [edx + edx]
and eax, 0xf8ec0f00
mov dword [esp + 0xbfc], ebx
sub ebx, ecx
sub eax, edx
lea ecx, [ebx + ebx]
lea ebx, [eax - 0x7c760781]
mov edx, ebx
not edx
and edx, ecx
xor ecx, ebx
mov ebx, dword [esp + 4]
lea edx, [esi + edx*2]
mov esi, dword [esp + 0x734]
sub edx, ecx
mov ecx, ebx
xor ecx, 1
mov dword [esp + 0xc00], edx
lea edi, [esi + esi]
sub edi, ecx
mov esi, edx
not esi
mov ecx, edx
and esi, 0xf27963d9
or ecx, 0xf27963d9
lea eax, [edi - 1]
mov edi, edx
and edi, 0xd869c26
not eax
imul edi, esi
mov esi, edx
and esi, 0xf27963d9
imul esi, ecx
add esi, edi
mov ecx, esi
xor esi, 0x5f43472a
and ecx, 0x20bcb8d5
add ecx, ecx
sub ecx, esi
mov edi, ecx
mov esi, ecx
not edi
and esi, 0xf2c51396
and edi, 0xd3aec69
imul edi, esi
mov esi, ecx
and esi, 0xd3aec69
or ecx, 0xd3aec69
imul ecx, esi
add edi, ecx
mov esi, edi
lea ecx, [edi + edi]
xor esi, 0x59b6e83a
and ecx, 0xb36dd074
add esi, ecx
lea edi, [esi + esi]
lea ecx, [eax + eax]
and edi, ecx
mov ecx, eax
xor ecx, esi
add ecx, edi
mov edi, eax
not edi
and edi, esi
add eax, edi
mov edi, ebx
mov esi, eax
add eax, eax
xor esi, ecx
not ecx
add ecx, ecx
and ecx, eax
sub esi, ecx
mov ecx, dword [esp + 0xbf4]
ror edx, cl
mov eax, edx
xor edx, 1
or eax, 1
mov dword [esp + 0xc04], esi
add eax, eax
sub eax, edx
not eax
lea edx, [eax + 1]
rol edx, cl
and edi, edx
mov eax, edx
xor ebx, edi
not eax
lea ecx, [ebx + edx]
and eax, ecx
xor ecx, edx
lea ebx, [eax + eax]
sub ebx, ecx
mov eax, ebx
mov edi, eax
mov ebx, dword [esp + 4]
not edi
mov esi, ebx
and esi, edi
lea edx, [esi + esi]
mov esi, dword [esp + 0xc04]
sub edx, ebx
mov ebx, esi
mov ecx, esi
lea edi, [eax + edx]
mov eax, esi
xor eax, edi
and ebx, edi
or ecx, edi
sub ecx, esi
xor ecx, edi
mov edx, ecx
add eax, ebx
mov ebx, ecx
or edx, eax
and ebx, eax
imul ebx, edx
mov edx, eax
mov dword [esp + 0xc08], ebx
not edx
mov ebx, ecx
not ecx
and ebx, edx
and ecx, eax
lea eax, [esp + 0xc0c]
mov dword [eax], ebx
imul ecx, dword [eax]
mov eax, dword [esp + 0xc08]
lea edx, [eax + ecx]
mov eax, edi
neg eax
lea ebx, [esi + eax]
lea ecx, [eax - 1]
mov eax, esi
neg esi
or eax, ecx
sub ebx, eax
lea ecx, [esi - 1]
mov esi, edi
xor esi, ecx
or edi, ecx
sub edi, esi
lea eax, [ebx - 1]
mov esi, edi
mov ebx, edi
mov ecx, edi
not esi
or ebx, eax
and ecx, eax
and esi, eax
not eax
and eax, edi
imul ecx, ebx
imul eax, esi
mov ebx, dword [esp + 0x158]
lea edi, [ecx + eax]
mov esi, edi
or edi, edx
and esi, edx
lea edx, [esi + edi]
mov esi, dword [esp + 0xc00]
mov edi, esi
bswap edi
mov dword [esp + 0xc10], edx
mov edx, dword [esp + 0x244]
lea eax, [edi + edi]
lea ecx, [edx + edx]
mov edx, ebx
and eax, ecx
and edx, edi
xor edx, edi
mov ecx, dword [esp + 0xbfc]
ror esi, cl
add eax, ebx
sub eax, edi
lea edi, [ebx + edx]
lea edx, [edi + edi]
lea ebx, [eax + eax]
or ebx, edx
sub ebx, eax
sub ebx, edi
mov edi, dword [esp + 4]
ror edi, cl
neg ecx
mov eax, edi
mov edx, edi
xor eax, esi
or edx, esi
xor eax, edx
mov edx, eax
not eax
sub edx, edi
and eax, edi
bswap ebx
lea edi, [edx + eax*2]
mov edx, edi
and edi, esi
xor edx, esi
lea eax, [edx + edi*2]
mov edx, ebx
ror eax, cl
neg edx
mov esi, eax
neg esi
lea edi, [esi - 1]
mov ecx, edi
xor edi, ebx
or ecx, ebx
xor ecx, edi
lea edi, [edx - 1]
mov esi, edi
xor edi, eax
or esi, eax
mov edx, ecx
xor esi, edi
not edx
mov edi, esi
and edx, esi
mov dword [esp + 0xc14], edx
not edi
mov edx, ecx
and edx, edi
mov edi, ecx
and edi, esi
or ecx, esi
imul edx, dword [esp + 0xc14]
imul ecx, edi
mov edi, ebx
lea esi, [edx + ecx]
mov ecx, eax
not edi
and ecx, ebx
or edi, eax
xor ecx, eax
lea edx, [ebx + edi + 1]
mov edi, edx
add ecx, ebx
mov eax, ecx
not edi
not eax
mov ebx, ecx
and eax, edx
and edi, ecx
or ebx, edx
and ecx, edx
imul edi, eax
imul ecx, ebx
lea edx, [edi + ecx]
lea edi, [edx + edx]
xor edx, esi
lea ebx, [esi + esi]
mov esi, dword [esp + 0xc10]
or edi, ebx
mov ebx, dword [esp + 0xbf8]
sub edi, ebx
sub edi, edx
lea edx, [esi + esi]
mov eax, edi
mov ecx, edi
not eax
sub ecx, esi
and eax, esi
add edi, edi
mov esi, edi
or esi, edx
xor esi, edx
lea eax, [ecx + eax*2]
xor esi, edi
mov edi, esi
xor esi, eax
or edi, eax
mov eax, dword [esp + 4]
mov edx, eax
lea ecx, [ebx + edi*2]
sub ecx, esi
mov esi, eax
and edx, ecx
mov dword [esp + 0xc18], ecx
lea edi, [eax + ecx]
sub edi, edx
mov edx, dword [esp + 0x44c]
xor esi, edi
lea ebx, [edi + edi]
mov edi, ecx
and edx, ebx
not edi
sub edx, esi
mov esi, ecx
mov dword [esp + 0xc1c], edi
sub esi, edx
and edi, edx
lea edx, [esi + edi*2]
mov esi, ecx
neg esi
lea ebx, [esi - 1]
not ebx
or eax, ebx
lea edi, [eax + esi]
mov esi, ecx
and esi, edi
or ecx, edi
lea eax, [esi + ecx]
mov edi, eax
mov esi, eax
xor edi, edx
or esi, edx
and edi, edx
xor esi, edx
xor esi, eax
mov ecx, esi
lea ebx, [edi + eax]
mov edi, esi
or ecx, ebx
and edi, ebx
imul edi, ecx
mov ecx, esi
not ecx
and ecx, ebx
not ebx
and esi, ebx
mov ebx, edx
imul esi, ecx
neg ebx
add esi, edi
lea edi, [ebx - 1]
mov ebx, eax
or ebx, edi
xor ebx, edi
xor ebx, eax
neg eax
lea edi, [eax + edx]
lea eax, [eax - 1]
or eax, edx
mov edx, ebx
sub edi, eax
not edx
lea ecx, [edi - 1]
mov edi, ebx
mov eax, ecx
and edx, ecx
not eax
and edi, ecx
and eax, ebx
or ebx, ecx
imul edx, eax
imul ebx, edi
lea edi, [edx + ebx]
mov edx, dword [esp + 4]
mov eax, edi
or edi, esi
and eax, esi
lea esi, [eax + edi]
mov edi, dword [esp + 0xc1c]
mov ebx, edi
mov eax, edx
shrd ebx, edi, 0x1b
shrd eax, edx, 0x1b
mov ecx, ebx
xor ebx, eax
and ecx, eax
and edi, 0xa0c6c891
mov dword [esp + 0xc20], esi
lea eax, [ebx + ecx*2]
lea esi, [ecx + ebx]
mov ecx, eax
mov ebx, esi
not ecx
neg ebx
not esi
neg eax
imul ecx, ebx
imul eax, esi
not ecx
not eax
sub ecx, eax
shld ecx, ecx, 0x1b
mov ebx, dword [esp + 0xc18]
mov eax, ebx
mov dword [esp + 0x73c], ecx
and eax, 0xa0c6c891
ror edx, cl
mov ecx, ebx
or ecx, 0xa0c6c891
and ebx, 0x5f39376e
imul eax, ecx
imul edi, ebx
lea ebx, [eax + edi]
lea eax, [ebx + ebx]
xor ebx, 0x88bcff24
and eax, 0xee8601b6
lea esi, [edx + edx]
sub eax, ebx
or esi, 2
mov ebx, eax
mov edi, eax
or ebx, 0x6925f871
and edi, 0x6925f871
imul edi, ebx
mov ebx, eax
not eax
and ebx, 0x96da078e
and eax, 0x6925f871
xor edx, 1
imul eax, ebx
mov ecx, esi
add eax, edi
mov edi, eax
not edi
imul edi, edi, 0xe934811c
imul eax, eax, 0xe934811d
lea ebx, [edi + eax]
mov edi, esi
sub edi, edx
ror ebx, cl
mov ecx, dword [esp + 0x73c]
lea edx, [edi - 1]
mov edi, ebx
not edx
rol edx, cl
mov ecx, esi
ror edx, cl
and edi, edx
xor edi, edx
lea ecx, [edx + edx]
add edi, ebx
lea eax, [edi + edi]
or ecx, eax
sub ecx, edx
sub ecx, edi
mov eax, ecx
not ecx
sub eax, ebx
and ecx, ebx
lea ebx, [eax + ecx*2]
mov ecx, esi
mov esi, ebx
rol esi, cl
mov edi, esi
neg edi
mov ebx, dword [esp + 0x73c]
lea edx, [edi - 1]
mov edi, ebx
neg edi
mov eax, edx
or eax, ebx
xor edx, ebx
xor eax, edx
lea edx, [edi - 1]
or edx, esi
lea ecx, [esi + edi - 1]
sub ecx, edx
mov edx, ecx
mov edi, ecx
and edx, eax
or edi, eax
imul edi, edx
mov edx, eax
not edx
and edx, ecx
not ecx
and eax, ecx
mov ecx, esi
imul eax, edx
and ecx, ebx
lea edx, [edi + eax]
mov edi, ebx
not edi
or edi, esi
xor esi, ebx
lea eax, [ebx + edi + 1]
mov ebx, eax
lea edi, [ecx + esi]
mov esi, eax
mov ecx, eax
not esi
or ecx, edi
and ebx, edi
and esi, edi
not edi
and edi, eax
imul ebx, ecx
imul edi, esi
mov ecx, dword [esp + 0xc20]
lea esi, [ebx + edi]
lea edi, [edx + edx]
xor edx, esi
lea eax, [esi + esi]
or edi, eax
mov eax, ecx
sub edi, edx
not eax
or eax, edi
mov esi, edi
not esi
lea ebx, [ecx + ecx]
lea edx, [ecx + eax + 1]
lea eax, [edx + edx]
lea edx, [esi + esi]
and ebx, edx
lea esi, [eax + eax]
sub ebx, ecx
lea ecx, [ebx + edi]
lea edi, [ecx + ecx]
xor ecx, eax
or esi, edi
mov eax, dword [esp + 4]
sub esi, ecx
mov edi, eax
mov edx, eax
xor edi, esi
and edx, esi
mov dword [esp + 0xc24], esi
mov ecx, esi
add edi, edx
mov edx, dword [esp + 0x150]
mov ebx, edi
not ebx
imul eax, ebx
imul edx, edi
sub eax, edx
and ecx, eax
lea edi, [esi + eax]
bswap esi
mov edx, esi
lea ebx, [ecx + ecx]
not edx
mov eax, edi
mov edi, dword [esp + 0x158]
sub eax, ebx
mov ebx, dword [esp + 0x730]
sub esi, edi
or edi, edx
sub edi, edx
lea ecx, [edx + edx]
and ebx, ecx
mov edx, edi
add ebx, esi
mov esi, eax
and edx, ebx
xor edi, ebx
mov ebx, eax
lea edx, [edi + edx*2]
bswap edx
and esi, edx
or ebx, edx
xor esi, eax
sub ebx, edx
xor ebx, eax
mov ecx, ebx
mov edi, ebx
add esi, edx
or ecx, esi
and edi, esi
imul edi, ecx
mov ecx, esi
not ecx
and ecx, ebx
not ebx
and ebx, esi
mov esi, eax
neg esi
imul ebx, ecx
lea esi, [esi - 1]
lea ecx, [edi + ebx]
mov ebx, esi
or ebx, edx
xor esi, edx
neg edx
sub ebx, esi
lea esi, [edx - 1]
lea edi, [eax + edx - 1]
or eax, esi
mov edx, ebx
sub edi, eax
not edx
mov esi, edi
mov eax, edi
and edx, edi
not edi
or esi, ebx
and eax, ebx
and edi, ebx
imul eax, esi
mov ebx, ecx
imul edi, edx
add edi, eax
mov eax, dword [esp + 4]
or ebx, edi
xor ecx, edi
mov esi, eax
shld eax, eax, 4
lea edx, [ebx + ebx]
sub edx, ecx
mov dword [esp + 0xc28], edx
mov edx, dword [esp + 0xc24]
lea ecx, [edx - 1]
not ecx
lea edi, [ecx + ecx]
xor ecx, 1
and edi, 0xfffffffc
sub ecx, edi
lea edi, [ecx - 1]
mov ebx, edi
neg edi
not ebx
and esi, ebx
lea ecx, [esi + ecx - 1]
mov esi, ecx
not esi
imul esi, edi
lea edi, [eax - 1]
imul ebx, ecx
not edi
neg ebx
mov ecx, edi
not edi
and edi, 1
xor ecx, 1
not esi
not ebx
sub esi, ebx
mov ebx, edx
mov dword [esp + 0xc2c], esi
lea eax, [edi + edi]
sub ecx, eax
mov eax, edx
mov edi, ecx
shld edi, ecx, 0x1c
and eax, edi
or edx, edi
xor ebx, eax
not eax
not edx
mov dword [esp + 0xc30], edx
lea esi, [ebx + edi]
mov edx, eax
sub edx, dword [esp + 0xc30]
mov eax, edx
not eax
mov edi, esi
mov dword [esp + 0x1f8], 0
lea ebx, [edi + edi]
xor edi, edx
lea ecx, [eax + eax]
and ebx, ecx
sub ebx, edi
mov edx, ebx
mov ecx, dword [esp + 0xc2c]
neg edx
mov edi, ecx
mov eax, ecx
neg edi
lea esi, [edx - 1]
mov edx, ecx
xor eax, esi
or edx, esi
xor eax, edx
lea esi, [edi - 1]
mov edx, ebx
mov edi, ebx
xor edx, esi
or edi, esi
xor edx, edi
mov edi, eax
not edi
mov esi, edx
and esi, edi
mov edi, edx
mov dword [esp + 0xc34], esi
not edi
mov esi, eax
and esi, edi
mov edi, edx
and edi, eax
or edx, eax
imul esi, dword [esp + 0xc34]
mov eax, ebx
imul edx, edi
not eax
lea edi, [esi + edx]
mov edx, ecx
or edx, eax
lea eax, [ecx + ebx]
and ecx, ebx
lea esi, [edx + ebx + 1]
mov ebx, eax
sub ebx, ecx
mov edx, ebx
mov eax, ebx
and edx, esi
or eax, esi
imul eax, edx
mov edx, esi
not edx
and edx, ebx
not ebx
and ebx, esi
imul ebx, edx
lea ecx, [eax + ebx]
mov edx, ecx
lea esi, [ecx + ecx]
xor edx, edi
add edi, edi
and edi, esi
mov esi, dword [esp + 0xc28]
mov eax, esi
not eax
lea ecx, [edx + edi]
mov edx, esi
sub edx, ecx
and eax, ecx
lea ebx, [esi + esi]
lea eax, [edx + eax*2]
lea edx, [ecx + ecx]
lea ecx, [ebx + ecx*2]
or ebx, edx
sub ecx, ebx
mov edx, ecx
and ecx, eax
xor edx, eax
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0xbe4]
mov edi, eax
mov edx, ecx
or edi, 0xae0a0b33
neg edx
xor eax, 0x2e0a0b33
mov dword [esp + 0xc38], edx
lea esi, [edi + edi]
sub esi, eax
lea edi, [edx - 1]
mov eax, esi
mov ebx, esi
xor eax, edi
or ebx, edi
xor eax, ebx
mov ebx, ecx
shld ebx, ecx, 6
shld esi, esi, 6
mov dword [esp + 0xc3c], edi
lea edx, [ebx + ebx]
not edx
lea edi, [esi + esi]
and edx, edi
lea edi, [edx + ebx*2]
mov edx, ebx
and edx, esi
or ebx, esi
mov esi, edi
neg edi
not esi
add edx, ebx
mov ebx, edx
not edx
neg ebx
imul esi, ebx
imul edi, edx
not esi
not edi
mov edx, ecx
sub esi, edi
xor edx, eax
add ecx, ecx
shld esi, esi, 0x1a
mov ebx, esi
add eax, eax
and ecx, eax
neg ebx
lea edi, [edx + ecx]
mov edx, dword [esp + 0xc38]
lea ebx, [ebx - 1]
mov eax, ebx
not eax
lea edx, [edx + edi*2 - 1]
mov ecx, edx
and eax, edx
not ecx
mov edi, ebx
and ecx, ebx
or edi, edx
imul eax, ecx
and ebx, edx
imul ebx, edi
neg eax
neg edx
lea eax, [eax - 1]
sub eax, ebx
lea ebx, [edx - 1]
mov ecx, ebx
mov edi, ebx
and ecx, esi
or edi, esi
imul edi, ecx
mov ecx, esi
not ecx
and ecx, ebx
not ebx
and ebx, esi
imul ebx, ecx
lea esi, [edi + ebx]
neg esi
lea ebx, [eax + eax]
lea edx, [esi - 1]
mov ecx, edx
xor eax, edx
not ecx
lea edi, [ecx + ecx]
mov ecx, dword [esp + 4]
and ebx, edi
sub ebx, dword [esp + 0xc3c]
sub ebx, eax
mov edx, ebx
xor ebx, 0xd1f5f4cd
or edx, 0xd1f5f4cd
mov dword [esp + 0x1dc], ecx
lea eax, [edx + edx]
mov edx, dword [esp]
sub eax, ebx
mov dword [esp + 0xc40], eax
mov dword [esp + 0x1d8], edx
test ecx, ecx
je 0x1002bc34
test byte [esp + 0x1d8], 1
je 0x1002bc1a
mov edi, dword [esp + 0x1f8]
mov eax, edi
mov edx, dword [esp + 0x1d8]
xor eax, edx
and edi, edx
lea ebx, [eax + edi*2]
mov edi, dword [esp + 0x1dc]
mov dword [esp + 0xa3c], ebx
lea ecx, [ebx + ebx]
mov edx, ecx
rol edx, cl
lea eax, [edi + edi]
rol eax, cl
neg ecx
mov esi, eax
xor esi, edx
lea edi, [edx + edx]
lea ebx, [eax + eax]
and eax, edx
and edi, ebx
mov edx, dword [esp + 0x1dc]
bswap edx
add edi, esi
mov ebx, edi
add esi, eax
not ebx
imul ebx, esi
not esi
imul esi, edi
mov edi, dword [esp + 0xa3c]
sub ebx, esi
bswap edi
mov esi, edi
not esi
and esi, edx
not edx
mov eax, edx
or eax, edi
rol ebx, cl
sub eax, edx
lea ecx, [esi + edi]
mov edi, eax
mov esi, ecx
neg edi
not esi
not eax
neg ecx
lea edx, [ebx - 0xb10d4ca]
imul esi, edi
imul ecx, eax
not esi
not ecx
sub esi, ecx
bswap esi
mov edi, esi
not edi
or edi, edx
and edx, esi
add ebx, esi
lea ecx, [edi + esi]
lea edi, [edx + edx]
sub ebx, edi
lea ecx, [ecx + ecx + 2]
lea eax, [ecx + ecx]
lea edi, [ebx - 0xb10d4ca]
xor ecx, edi
lea esi, [ebx + ebx - 0x1621a994]
mov edi, dword [esp + 0x1d8]
or esi, eax
mov edx, edi
sub esi, ecx
not edx
lea eax, [edx + edx]
lea edx, [esi + esi + 0x1621a994]
and eax, edx
lea esi, [esi + 0xb10d4ca]
xor edi, esi
sub eax, edi
mov dword [esp + 0x1f8], eax
shr dword [esp + 0x1d8], 1
lea edx, [esp + 0x1dc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002bb20
mov edi, dword [esp + 0x1f8]
mov ecx, edi
mov esi, 0x23492c00
rol esi, cl
neg ecx
not esi
mov dword [esp + 0xc44], ecx
lea eax, [esi + esi]
neg eax
lea ebx, [eax - 2]
mov eax, edi
not ebx
sub ebx, esi
mov esi, edi
lea edx, [ebx - 1]
rol edx, cl
neg edx
lea ebx, [edx - 1]
xor eax, ebx
and esi, ebx
mov edx, ebx
not edx
add eax, esi
and edx, eax
xor ebx, eax
mov eax, edi
and eax, 0x5e46989f
lea esi, [edx + edx]
mov edx, edi
sub esi, ebx
mov ebx, edi
not edi
or ebx, 0x5e46989f
mov dword [esp + 0xc48], edi
and edx, 0xa1b96760
and edi, 0x5e46989f
imul eax, ebx
imul edi, edx
add eax, edi
mov ecx, eax
and eax, 0x3d1aba0c
or ecx, 0x3d1aba0c
lea edi, [ecx + eax]
mov ebx, edi
mov edx, edi
not ebx
mov eax, edi
and edx, 0x64337ca0
and ebx, 0x9bcc835f
and eax, 0x9bcc835f
or edi, 0x9bcc835f
imul ebx, edx
imul edi, eax
lea ecx, [ebx + edi]
mov edi, ecx
not ecx
xor edi, 0xdfaf2e74
lea ebx, [ecx + ecx]
and ebx, 0xbf5e5ce8
sub edi, ebx
bswap edi
not edi
bswap edi
mov edx, edi
mov ecx, edi
not edx
and edx, 0x23492c00
lea eax, [edi + edi]
and eax, 0x46925800
sub ecx, eax
lea eax, [edx + edi]
mov edx, esi
mov edi, eax
not edi
lea ebx, [ecx + ecx + 0x46925800]
add edi, edi
and ebx, edi
mov edi, esi
sub ebx, ecx
mov ecx, esi
lea ebx, [ebx + eax - 0x23492c00]
xor edi, ebx
and edx, ebx
or ecx, ebx
lea eax, [esi + ebx]
sub eax, ecx
lea ecx, [edi + edx]
mov edi, eax
mov edx, eax
or edi, ecx
and edx, ecx
imul edx, edi
mov edi, eax
not edi
and edi, ecx
not ecx
and ecx, eax
mov eax, ebx
imul ecx, edi
neg eax
lea edi, [edx + ecx]
mov edx, esi
lea ecx, [eax - 1]
mov eax, esi
neg esi
or eax, ecx
xor edx, ecx
xor eax, edx
lea ecx, [esi - 1]
mov esi, ebx
or esi, ecx
xor esi, ebx
mov ebx, eax
xor esi, ecx
not ebx
mov ecx, esi
mov edx, esi
not ecx
and edx, ebx
mov ebx, eax
and ecx, eax
and ebx, esi
or eax, esi
imul edx, ecx
imul eax, ebx
lea ebx, [edx + eax]
mov ecx, ebx
xor ebx, edi
or ecx, edi
mov edi, dword [esp + 0x1f8]
mov esi, edi
and esi, 0x23492c00
mov eax, edi
xor eax, esi
bswap edi
lea edx, [ecx + ecx]
sub edx, ebx
mov dword [esp + 0xc4c], edx
mov ebx, dword [esp + 0xc44]
lea edx, [eax + 0x23492c00]
mov ecx, edx
neg edx
not ecx
mov eax, dword [esp + 0xc48]
imul ebx, ecx
imul eax, edx
not ebx
not eax
sub ebx, eax
mov ecx, ebx
not ebx
mov esi, dword [esp + 0xd78]
and ecx, 0xdcb6d3ff
and ebx, 0x23492c00
and esi, edi
mov eax, dword [esp + 0xd74]
add ebx, ecx
lea ecx, [eax + esi*2]
mov esi, ebx
sub ecx, edi
lea edx, [eax + edi]
or eax, edi
mov edi, ecx
sub edx, eax
mov eax, ebx
and edi, edx
or ecx, edx
mov edx, ebx
not ebx
and eax, 0x38c28d91
or esi, 0x38c28d91
and edx, 0xc73d726e
and ebx, 0x38c28d91
imul esi, eax
add ecx, edi
imul ebx, edx
bswap ecx
lea edx, [esi + ebx]
lea edi, [edx + edx]
xor edx, 0xa6146968
or edi, 0x4c28d2d0
sub edi, edx
mov esi, edi
mov eax, edi
not esi
mov ebx, edi
and esi, 0xfbe1d371
and eax, 0x41e2c8e
and ebx, 0xfbe1d371
or edi, 0xfbe1d371
imul eax, esi
mov esi, ecx
imul edi, ebx
not esi
lea ebx, [eax + edi]
mov eax, ebx
xor ebx, 0x41b4c118
or eax, 0xc1b4c118
lea edx, [eax + eax]
sub edx, ebx
mov eax, edx
and esi, edx
or eax, ecx
xor eax, edx
xor eax, ecx
mov edi, eax
lea ebx, [esi + ecx]
mov esi, eax
or edi, ebx
and esi, ebx
imul edi, esi
mov esi, eax
not esi
and esi, ebx
not ebx
and ebx, eax
imul ebx, esi
mov esi, edx
lea eax, [edi + ebx]
mov edi, ecx
neg edi
lea ebx, [edi - 1]
mov edi, edx
neg edx
or edi, ebx
xor esi, edi
xor esi, ebx
lea edi, [edx - 1]
mov edx, edi
xor edi, ecx
or edx, ecx
mov ecx, esi
sub edx, edi
mov ebx, edx
mov edi, edx
not ebx
and ecx, ebx
mov ebx, esi
not ebx
and edi, ebx
mov ebx, edx
or ebx, esi
and edx, esi
imul edi, ecx
imul edx, ebx
mov esi, dword [esp + 0xc4c]
lea ecx, [edi + edx]
mov edi, eax
and eax, ecx
xor edi, ecx
mov ebx, esi
lea ecx, [esi + esi]
lea edx, [edi + eax*2]
mov edi, ecx
or ebx, edx
lea eax, [edx + edx]
or edi, eax
sub edi, ecx
xor edi, eax
lea eax, [ebx + ebx]
sub eax, esi
sub eax, edx
mov edx, edi
and edx, eax
xor edi, eax
lea eax, [edi + edx*2]
mov ecx, eax
mov edi, eax
not ecx
mov esi, eax
and ecx, 0x6a9af129
and edi, 0x6a9af129
or esi, 0x6a9af129
and eax, 0x95650ed6
imul esi, edi
imul eax, ecx
mov dword [esp + 0x740], ecx
lea ecx, [esi + eax]
mov edx, ecx
lea ebx, [ecx + ecx]
xor edx, 0xd26d6bf3
and ebx, 0xa4dad7e6
lea ecx, [edx + ebx]
mov edi, ecx
mov eax, ecx
not edi
mov esi, ecx
and edi, 0xe3a3b19
and eax, 0xf1c5c4e6
and esi, 0xe3a3b19
or ecx, 0xe3a3b19
imul eax, edi
imul ecx, esi
lea edx, [eax + ecx]
mov ecx, edx
not edx
and edx, 0x39e8bbb
xor ecx, 0x839e8bbb
lea edi, [edx + edx]
sub ecx, edi
mov edi, ecx
mov eax, ecx
or edi, 0x1c9953
xor eax, 0x1c9953
mov ebx, edi
mov edx, edi
sub ebx, eax
mov esi, edi
mov eax, ebx
and edx, ebx
not eax
or esi, ebx
and eax, edi
not edi
and edi, ebx
mov ebx, ecx
imul esi, edx
or ebx, 0xffe366ac
imul edi, eax
lea edx, [esi + edi]
mov edi, ecx
neg ecx
lea eax, [ebx + 0x1c9954]
xor edi, eax
mov eax, edi
lea ebx, [ecx - 1]
or ebx, 0x1c9953
sub ebx, ecx
lea ebx, [ebx + 1]
xor ebx, 0x1c9953
mov esi, ebx
mov ecx, ebx
and esi, edi
or ecx, edi
imul ecx, esi
mov esi, ebx
not esi
not edi
and eax, esi
and edi, ebx
imul edi, eax
lea eax, [ecx + edi]
mov ecx, edx
and ecx, eax
xor edx, eax
lea edi, [edx + ecx*2]
lea edx, [edi - 0x4a2d5060]
mov ebx, edx
and edx, 0x8adb5af
not ebx
mov eax, ebx
or eax, 0x77524a50
sub eax, ebx
lea esi, [eax + eax]
lea eax, [edx + edx]
sub edi, eax
lea edx, [edi + 0x3e80654f]
mov edi, edx
not edi
imul edi, esi
not esi
imul esi, edx
not edi
not esi
sub edi, esi
lea eax, [edi + 0x4a2d5060]
neg edi
mov ecx, eax
mov ebx, eax
or ecx, 0x431b12db
and ebx, 0x431b12db
xor ebx, eax
lea edx, [ecx - 0x431b12db]
xor edx, eax
lea ecx, [ebx + 0x431b12db]
mov ebx, ecx
mov esi, edx
not ebx
not esi
and ebx, edx
and esi, ecx
imul esi, ebx
mov ebx, edx
or ebx, ecx
and edx, ecx
imul edx, ebx
lea ecx, [edi - 0x4a2d5061]
not ecx
add esi, edx
or ecx, 0x431b12db
lea edx, [ecx + edi - 0x4a2d5060]
mov ecx, eax
or ecx, 0xbce4ed24
lea ebx, [ecx + 0x431b12dc]
xor ebx, eax
mov eax, edx
mov edi, ebx
not eax
not edi
mov ecx, ebx
and edi, edx
and ecx, eax
imul ecx, edi
mov edi, ebx
and edi, edx
or ebx, edx
imul ebx, edi
lea edi, [esi + esi]
lea edx, [ecx + ebx]
xor esi, edx
lea eax, [edx + edx]
and edi, eax
lea ecx, [edi + esi]
lea edi, [ecx + ecx]
mov eax, edi
and edi, 0xcc548a94
and eax, 0xcc548a95
sub edi, ecx
mov ecx, dword [esp + 0xc40]
lea esi, [eax + 0x33ab756a]
neg eax
not esi
lea edi, [edi + 0x19d5bab5]
mov ebx, edi
not edi
neg ebx
imul esi, ebx
lea edx, [eax - 0x33ab756a]
imul edi, edx
mov eax, dword [esp + 0x740]
not esi
not edi
mov edx, ecx
sub esi, edi
lea edi, [ecx + ecx]
xor edx, eax
lea ebx, [eax + eax]
and ebx, edi
mov edi, esi
bswap edi
mov eax, edi
add edx, ebx
mov ebx, edi
mov ecx, edx
bswap ecx
and ebx, ecx
or eax, ecx
sub eax, ebx
xor ebx, edi
mov edi, eax
neg eax
not edi
add ebx, ecx
mov ecx, ebx
not ebx
neg ecx
imul edi, ecx
mov ecx, esi
imul eax, ebx
not edi
not eax
sub edi, eax
not ecx
lea eax, [edx + edx]
lea ebx, [edi - 1]
mov edi, esi
sub edi, edx
add ecx, ecx
and ecx, eax
lea eax, [esi + edx]
or esi, edx
not ebx
sub eax, esi
bswap ebx
add edi, ecx
mov ecx, eax
or ecx, edi
and eax, edi
lea edx, [ecx + eax]
mov edi, edx
lea eax, [edx + edx]
or edi, ebx
lea ecx, [edi + edi]
sub ecx, ebx
lea edi, [ebx + ebx]
mov ebx, edi
sub ecx, edx
or ebx, eax
xor edi, eax
xor ebx, edi
mov eax, ecx
or eax, ebx
xor ecx, ebx
mov edi, dword [esp + 0x740]
mov esi, edi
not esi
mov ebx, dword [esp + 0x244]
lea edx, [eax + eax]
mov eax, dword [esp + 0x158]
sub edx, ecx
mov ecx, eax
imul esi, edx
not edx
imul edi, edx
not esi
not edi
sub esi, edi
mov edi, dword [esp + 0x440]
xor edi, 0xbbabbd40
mov dword [esp + 0x744], edi
bswap edi
and ecx, edi
xor ecx, edi
mov dword [esp + 0xc54], edi
not edi
mov dword [esp + 0xc50], esi
mov dword [esp + 0xc5c], edi
lea edx, [eax + ecx]
and ebx, edx
xor eax, edx
lea ecx, [ebx + ebx]
sub ecx, eax
mov dword [esp + 0xc58], ecx
not ecx
mov edx, ecx
mov esi, edi
and edx, dword [esp + 0xc54]
and esi, dword [esp + 0xc58]
mov eax, dword [esp + 4]
mov ecx, eax
mov ebx, dword [esp + 0x744]
mov dword [esp + 0x3bc], 0
lea edi, [edx + esi]
mov esi, eax
mov edx, ebx
or esi, ebx
not edx
sub esi, ebx
xor ecx, esi
mov esi, ecx
not ecx
and esi, edx
and ebx, ecx
mov ecx, eax
bswap edi
mov edx, edi
and edx, 0xe596770e
add esi, ebx
or ecx, esi
and eax, esi
lea esi, [ecx + eax]
mov eax, edi
not eax
mov ecx, edi
and eax, 0x1a6988f1
or ecx, 0x1a6988f1
and edi, 0x1a6988f1
imul eax, edx
imul edi, ecx
add eax, edi
mov edi, eax
not eax
xor edi, 0x4bdddb17
lea ebx, [eax + eax]
and ebx, 0x97bbb62e
sub edi, ebx
mov eax, edi
mov ebx, edi
not eax
mov edx, edi
and eax, 0xb51c6811
and ebx, 0x4ae397ee
or edx, 0xb51c6811
and edi, 0xb51c6811
imul ebx, eax
imul edi, edx
mov edx, esi
lea eax, [ebx + edi]
mov edi, eax
lea ecx, [eax + eax]
xor edi, 0x6440e487
and ecx, 0xc881c90e
lea ebx, [edi + ecx]
mov ecx, esi
and edx, ebx
or ecx, ebx
xor edx, ebx
xor ecx, esi
xor ecx, ebx
mov edi, ecx
mov eax, ecx
add edx, esi
and edi, edx
or eax, edx
imul eax, edi
mov edi, ecx
not edi
and edi, edx
not edx
and edx, ecx
mov ecx, esi
imul edx, edi
neg ecx
lea edi, [eax + edx]
lea eax, [ecx - 1]
mov ecx, ebx
or ecx, eax
sub ecx, eax
xor ecx, ebx
neg ebx
mov edx, ecx
not edx
lea eax, [ebx - 1]
mov ebx, esi
or ebx, eax
sub ebx, eax
xor ebx, esi
mov esi, ebx
mov eax, ebx
and esi, edx
not eax
mov edx, ecx
and edx, eax
mov eax, ebx
or eax, ecx
and ebx, ecx
imul edx, esi
imul ebx, eax
lea esi, [edx + ebx]
mov ebx, dword [esp + 0xc5c]
mov eax, esi
add esi, esi
xor eax, edi
add edi, edi
and esi, edi
lea edi, [ebx + 1]
mov edx, edi
xor edi, 1
and edx, 0xfffffffe
lea ecx, [eax + esi]
mov dword [esp + 0xc60], ecx
lea esi, [edx + edx]
sub esi, edi
bswap esi
mov eax, esi
mov edi, dword [esp + 4]
not eax
mov ecx, edi
mov edx, edi
and ecx, eax
neg edx
mov eax, dword [esp + 0x150]
lea ebx, [ecx + esi]
mov ecx, ebx
not ebx
neg ecx
imul edx, ebx
imul eax, ecx
not edx
not eax
sub edx, eax
rol edi, cl
mov ebx, dword [esp + 0x744]
shld ebx, ebx, 0x16
lea eax, [edx + esi]
and edx, esi
lea esi, [edx + edx]
sub eax, esi
lea esi, [edi + edi]
or esi, 2
xor edi, 1
sub esi, edi
lea edx, [esi - 1]
not edx
ror edx, cl
shld edx, edx, 0x16
mov ecx, edx
mov edi, edx
or ecx, ebx
xor edi, ebx
lea esi, [ecx + ecx]
mov ecx, eax
sub esi, edi
and edi, edx
mov edx, esi
neg esi
not edx
not ecx
and ecx, 0xd89f8f23
add edi, ebx
mov ebx, edi
not edi
neg ebx
imul edx, ebx
imul esi, edi
not edx
not esi
sub edx, esi
mov edi, eax
mov esi, eax
and edi, 0x276070dc
and esi, 0xd89f8f23
or eax, 0xd89f8f23
imul edi, ecx
imul eax, esi
shrd edx, edx, 0x16
add edi, eax
lea esi, [edi + edi]
xor edi, 0xdc74612b
and esi, 0x47173da8
sub esi, edi
mov ecx, esi
mov ebx, esi
not ecx
mov edi, esi
and ebx, 0xb399e774
and ecx, 0x4c66188b
or edi, 0x4c66188b
and esi, 0x4c66188b
imul ecx, ebx
imul esi, edi
add ecx, esi
mov eax, ecx
xor ecx, 0x176eca59
or eax, 0x976eca59
add eax, eax
sub eax, ecx
mov ebx, eax
mov ecx, eax
xor ebx, edx
or ecx, edx
and ebx, edx
xor ecx, eax
xor ecx, edx
lea esi, [eax + ebx]
mov ebx, ecx
mov edi, esi
not edi
and ebx, edi
mov edi, ecx
not edi
and edi, esi
imul edi, ebx
mov ebx, ecx
and ebx, esi
or ecx, esi
mov esi, edx
imul ecx, ebx
neg esi
add ecx, edi
lea ebx, [eax + esi]
lea edi, [esi - 1]
mov esi, eax
neg eax
or esi, edi
sub ebx, esi
lea esi, [eax - 1]
mov eax, esi
xor esi, edx
or eax, edx
lea ebx, [ebx - 1]
xor eax, esi
mov edx, eax
mov edi, eax
or edx, ebx
and edi, ebx
imul edi, edx
mov edx, ebx
not edx
mov esi, eax
not eax
and esi, edx
and eax, ebx
imul eax, esi
mov edx, dword [esp + 0xc60]
lea esi, [edi + eax]
mov edi, ecx
and ecx, esi
xor edi, esi
lea eax, [edi + ecx*2]
mov ebx, eax
mov esi, eax
and ebx, edx
add eax, eax
mov edi, eax
lea ecx, [edx + edx]
or esi, edx
or edi, ecx
not ebx
not esi
sub edi, ecx
sub ebx, esi
xor edi, eax
mov eax, ebx
mov ecx, dword [esp + 4]
xor eax, edi
imul ecx, dword [esp + 0x17c]
lea edx, [edi + edi]
lea esi, [ebx + ebx]
mov ebx, dword [esp + 0xc50]
and edx, esi
mov esi, ebx
add edx, eax
imul edx, ecx
mov ecx, edx
xor esi, edx
shld ecx, edx, 0x11
and ebx, edx
mov edi, ecx
neg edi
mov dword [esp + 0xc64], edx
lea ebx, [esi + ebx*2]
mov esi, ebx
lea eax, [edi - 1]
shld esi, ebx, 0x11
and eax, esi
xor eax, esi
lea eax, [edi + eax - 1]
mov edi, ecx
or edi, 1
xor ecx, 1
lea esi, [edi + edi]
sub esi, ecx
mov ecx, esi
and esi, eax
xor ecx, eax
rol ebx, cl
rol edx, cl
mov dword [esp + 0xc68], ecx
lea edi, [ecx + esi*2]
shld edi, edi, 0xf
lea ecx, [ebx + ebx]
lea eax, [edi + edi]
mov dword [esp + 0xc6c], eax
mov edi, ecx
lea eax, [edx + edx]
xor edi, eax
or ecx, eax
sub ecx, edi
mov edi, ebx
mov esi, ecx
not edi
neg esi
not ecx
neg ebx
imul edi, esi
imul ebx, ecx
not edi
not ebx
sub edi, ebx
mov ecx, dword [esp + 0xc68]
lea esi, [edi + edi]
xor edi, edx
or eax, esi
sub eax, edi
mov esi, dword [esp + 0xc6c]
mov edx, esi
ror eax, cl
mov ecx, esi
mov ebx, esi
not esi
and ecx, 0x24fcd7e1
or edx, 0x24fcd7e1
and ebx, 0xdb03281e
and esi, 0x24fcd7e1
imul edx, ecx
imul esi, ebx
lea edi, [edx + esi]
mov ebx, edi
xor edi, 0x3a471cb
and ebx, 0x3a471cb
lea esi, [edi + ebx*2]
mov edx, esi
mov ecx, esi
not edx
mov edi, esi
and ecx, 0x21fdac21
and edx, 0x21fdac21
and edi, 0xde0253de
or esi, 0x21fdac21
imul edi, edx
imul esi, ecx
mov dword [esp + 0xc70], ecx
add esi, edi
lea ebx, [esi + esi]
xor esi, 0x6ab9f0d5
or ebx, 0xd573e1aa
sub ebx, ecx
sub ebx, esi
lea esi, [eax + eax]
mov edi, esi
mov edx, esi
lea ecx, [ebx + ebx]
or edi, ecx
xor edx, ecx
and esi, ecx
add eax, ebx
sub edi, edx
sub eax, esi
mov edx, dword [esp + 0xc70]
lea ecx, [edi + edi]
lea esi, [eax + eax]
xor eax, edi
and ecx, esi
lea ebx, [edx + ecx]
mov edx, dword [esp + 0xc64]
not edx
lea esi, [eax + ebx]
mov ebx, dword [esp]
lea edi, [esi + esi]
mov dword [esp + 0x368], ebx
lea eax, [edx + edx + 2]
or edi, eax
lea ecx, [edx + 1]
xor ecx, esi
sub edi, ecx
mov dword [esp + 0xc74], edi
test ebx, ebx
je 0x1002c710
mov dword [esp + 0x654], 0x60544245
test byte [esp + 0x654], 1
je 0x1002c6fa
mov ecx, dword [esp + 0x368]
mov ebx, dword [esp + 0x3bc]
lea edx, [ecx + ecx]
mov esi, edx
lea edi, [ebx + ebx]
not esi
or esi, edi
mov edi, ebx
not edi
lea eax, [esi + ecx*2 + 1]
lea esi, [edi + edi]
and esi, edx
lea edx, [ebx + esi]
sub edx, ecx
mov ecx, edx
or edx, eax
and ecx, eax
lea eax, [ecx + edx]
mov dword [esp + 0x3bc], eax
shr dword [esp + 0x654], 1
lea edx, [esp + 0x368]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002c6b4
mov eax, dword [esp + 0x3bc]
mov esi, eax
not esi
mov ecx, eax
mov edi, eax
and esi, 0x9a5f85b1
and ecx, 0x65a07a4e
or edi, 0x9a5f85b1
and eax, 0x9a5f85b1
imul ecx, esi
imul eax, edi
lea ebx, [ecx + eax]
mov edx, ebx
xor ebx, 0x550acaba
and edx, 0xd50acaba
lea eax, [ebx + edx*2]
mov ecx, eax
mov esi, eax
mov edx, eax
not ecx
or esi, 0x6ed7a351
and edx, 0x6ed7a351
and ecx, 0x6ed7a351
and eax, 0x91285cae
imul edx, esi
imul eax, ecx
lea edi, [edx + eax]
mov edx, edi
xor edi, 0xa4b6d26
or edx, 0x8a4b6d26
lea ebx, [edx + edx]
sub ebx, edi
mov edi, dword [esp + 0xc74]
mov eax, edi
sub eax, ebx
lea esi, [ebx + ebx]
mov ecx, esi
lea edx, [edi + edi]
and ecx, edx
xor esi, edx
not edi
and edi, ebx
add esi, ecx
mov edx, esi
not esi
lea ecx, [eax + edi*2]
xor edx, ecx
lea ebx, [ecx + ecx]
mov ecx, dword [esp + 0x734]
sub ecx, dword [esp + 0x738]
lea eax, [esi + esi]
mov esi, dword [esp + 4]
and eax, ebx
sub edx, eax
mov eax, esi
mov dword [esp + 0x748], edx
imul edx, esi, 0x7176c400
add esi, esi
mov edi, esi
or edi, 2
imul eax, edx
lea edx, [ecx + ecx]
mov dword [esp + 0x450], eax
lea ebx, [edi - 2]
xor esi, ebx
mov ebx, ecx
xor ebx, esi
shld eax, eax, 6
lea edi, [esi + esi]
or edi, edx
sub edi, ecx
sub edi, ebx
mov edx, edi
not edi
xor edx, 1
lea esi, [edi + edi]
and esi, 2
sub esi, edx
sub esi, ecx
lea edx, [esi - 1]
shld edx, edx, 6
mov ecx, edx
shld ecx, edx, 4
lea esi, [ecx - 1]
not esi
mov ebx, esi
and esi, 0xfffffffe
xor ebx, 1
mov dword [esp + 0x74c], ebx
add esi, esi
sub esi, ebx
shld esi, esi, 0x1c
mov edi, esi
not edi
and edi, eax
lea ecx, [edi + edi]
mov edi, esi
sub ecx, eax
or edi, eax
lea ebx, [ecx + esi]
mov ecx, esi
xor ecx, eax
mov eax, ecx
xor eax, edi
mov edi, edx
xor edi, 1
and edx, 1
lea ecx, [eax + eax]
xor eax, ebx
lea edx, [edi + edx*2]
not edx
lea edi, [ebx + ebx]
and ecx, edi
mov edi, edx
sub ecx, esi
neg edi
add ecx, eax
lea eax, [edi - 2]
mov edi, eax
or edi, ecx
xor edi, ecx
xor edi, eax
lea eax, [edx + 1]
or eax, ecx
add edi, edi
add eax, eax
sub eax, edx
sub eax, ecx
lea eax, [eax - 1]
mov edx, eax
not edx
and edx, edi
xor edi, eax
mov eax, dword [esp + 0x738]
lea esi, [esi + edx*2]
mov edx, dword [esp + 0x450]
sub esi, edi
neg edx
shrd esi, esi, 6
mov dword [esp + 0x454], esi
mov esi, eax
neg esi
lea edi, [esi + 1]
mov esi, edi
neg esi
lea ecx, [esi - 1]
mov esi, edx
or esi, ecx
xor esi, ecx
mov ecx, edx
or edx, edi
xor ecx, esi
not edx
neg edx
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0x74c]
lea edi, [edx - 1]
mov edx, dword [esp + 4]
ror edx, cl
mov dword [esp + 0x750], edx
mov edx, edi
xor edx, esi
not esi
and esi, edi
sub edx, eax
lea eax, [esi + esi]
sub edx, eax
ror edx, cl
mov ecx, ebx
mov eax, dword [esp + 0x750]
ror eax, cl
mov dword [esp + 0xc78], edx
mov esi, eax
ror edx, cl
or esi, edx
sub esi, edx
xor esi, eax
lea ecx, [edx + edx]
lea edi, [esi + esi]
or ecx, edi
sub ecx, edx
mov edx, ecx
sub edx, esi
lea esi, [eax + eax]
lea ecx, [edx + edx]
xor edx, eax
or esi, ecx
mov ecx, ebx
sub esi, edx
rol esi, cl
mov ecx, dword [esp + 0xc78]
sub ecx, edi
mov edx, ecx
neg edx
lea ebx, [edx - 1]
mov dword [esp + 0xc7c], ebx
lea edx, [edx + edx - 2]
mov eax, edx
lea ebx, [esi + esi]
not eax
or eax, ebx
mov ebx, ecx
or ebx, esi
lea eax, [edx + eax + 1]
mov edx, ecx
and edx, esi
mov ecx, ebx
sub ecx, edx
mov esi, ecx
not esi
imul esi, eax
not eax
imul eax, ecx
not esi
not eax
sub esi, edi
sub esi, eax
mov edi, esi
mov ecx, esi
mov edx, esi
not edi
or ecx, 0xc888527
and edx, 0xc888527
and edi, 0xc888527
and esi, 0xf3777ad8
imul edx, ecx
imul esi, edi
lea ecx, [edx + esi]
mov edx, ecx
xor ecx, 0x3a3c7a94
and edx, 0xc5c3856b
lea eax, [edx + edx]
sub eax, ecx
mov edx, eax
mov ebx, eax
mov esi, eax
not eax
or edx, 0x85a09a97
and ebx, 0x85a09a97
and esi, 0x7a5f6568
and eax, 0x85a09a97
imul ebx, edx
imul eax, esi
lea ecx, [ebx + eax]
mov edi, ecx
and ecx, 0x3be9554c
xor edi, 0x3be9554c
lea eax, [edi + ecx*2]
mov edi, dword [esp + 0x750]
mov edx, edi
neg edx
lea ebx, [edx - 1]
mov edx, edi
mov esi, ebx
not edx
or esi, eax
and edx, eax
sub esi, eax
xor eax, edi
xor esi, ebx
mov ebx, dword [esp + 0x74c]
lea ecx, [esi + esi]
lea esi, [edx + edx]
sub esi, eax
lea edx, [esi + esi]
xor esi, ecx
not ecx
mov dword [esp + 0xc80], edx
lea edi, [ecx + ecx]
mov ecx, ebx
and edi, edx
lea edx, [ebx + ebx]
xor ecx, 0x20
and edx, 0x1e
sub esi, edi
sub ecx, edx
ror esi, cl
mov ebx, esi
mov edx, dword [esp + 0x454]
bswap edx
bswap ebx
mov dword [esp + 0xc84], esi
lea ecx, [edx + edx]
lea eax, [ebx + ebx]
and eax, ecx
mov ecx, edx
and ecx, ebx
lea edi, [edx + ebx]
xor edx, ebx
sub edi, eax
mov eax, esi
lea ebx, [ecx + edx]
lea ecx, [edi + ebx]
and edi, ebx
mov ebx, esi
lea edx, [edi + edi]
mov edi, esi
sub ecx, edx
mov edx, dword [esp + 0x454]
and ebx, edx
xor eax, edx
or edi, edx
mov dword [esp + 0xc88], ebx
sub edi, esi
xor edi, edx
bswap ecx
mov edx, ecx
lea ebx, [eax + ebx*2]
mov esi, ebx
mov eax, ecx
not esi
or edx, 0xf5d8ce11
imul esi, edi
not edi
imul edi, ebx
sub esi, edi
mov edi, ecx
not ecx
and edi, 0xf5d8ce11
and eax, 0xa2731ee
and ecx, 0xf5d8ce11
imul edi, edx
imul ecx, eax
lea eax, [edi + ecx]
mov ecx, eax
not eax
xor ecx, 0x7438ac39
lea ebx, [eax + eax]
and ebx, 0xe8715872
sub ecx, ebx
mov eax, ecx
mov edi, ecx
mov edx, ecx
not eax
and edi, 0x2a4be2f1
or edx, 0x2a4be2f1
and eax, 0x2a4be2f1
and ecx, 0xd5b41d0e
imul edx, edi
imul ecx, eax
lea edi, [edx + ecx]
mov edx, edi
xor edi, 0x401773a9
or edx, 0xc01773a9
lea ebx, [edx + edx]
sub ebx, edi
mov eax, ebx
mov ecx, ebx
xor eax, esi
and ecx, esi
mov edx, ebx
or edx, esi
xor edx, eax
lea edi, [ecx + eax]
mov eax, edx
mov ecx, edx
or eax, edi
and ecx, edi
imul ecx, eax
mov eax, edx
not eax
and eax, edi
not edi
and edx, edi
imul edx, eax
lea edi, [ecx + edx]
mov ecx, esi
neg ecx
mov edx, ebx
lea eax, [ecx - 1]
mov ecx, esi
or edx, eax
sub edx, ebx
neg ebx
xor edx, eax
lea eax, [ebx - 1]
or ecx, eax
xor esi, eax
sub ecx, esi
mov esi, edx
mov ebx, ecx
mov eax, edx
not ebx
not eax
and esi, ebx
mov ebx, ecx
and ebx, eax
mov eax, ecx
or eax, edx
and ecx, edx
imul ebx, esi
lea edx, [edi + edi]
imul ecx, eax
mov eax, dword [esp + 0xc84]
add ecx, ebx
xor edi, ecx
lea esi, [ecx + ecx]
and edx, esi
mov esi, eax
mov ecx, eax
xor esi, 1
and ecx, 1
mov ebx, dword [esp + 0x454]
mov dword [esp + 0xc8c], edx
add edx, edi
mov dword [esp + 0xc94], edx
mov dword [esp + 0xc90], edi
lea esi, [esi + ecx*2 - 1]
not esi
mov ecx, ebx
shld esi, esi, 0x16
shld ecx, ebx, 0x16
shld eax, eax, 6
mov edx, esi
mov edi, ecx
not edx
not edi
and edx, ecx
add edx, esi
imul edi, edx
not edx
imul edx, ecx
not edi
not edx
sub edi, edx
lea ecx, [esi + esi]
mov edx, edi
not edx
add edx, edx
and ecx, edx
sub ecx, esi
lea edx, [ecx + edi]
mov ecx, dword [esp + 0xc80]
ror ebx, cl
mov edi, eax
mov esi, ebx
neg edi
xor esi, 1
shld edx, edx, 0xa
add ebx, ebx
and ebx, 2
add esi, ebx
not esi
lea esi, [esi + 1]
rol esi, cl
lea ecx, [edi - 1]
shld esi, esi, 6
mov ebx, ecx
mov eax, ecx
and ebx, esi
xor eax, esi
lea edi, [edi + edi - 2]
add eax, ebx
mov esi, eax
xor eax, ecx
not esi
add esi, esi
and esi, edi
sub eax, esi
shrd eax, eax, 6
mov ecx, eax
mov ebx, eax
not ecx
xor ebx, edx
mov dword [esp + 0xc98], esi
or ecx, edx
mov esi, eax
and esi, edx
lea ecx, [ecx + eax + 1]
mov edi, ecx
add ebx, esi
mov esi, ecx
or edi, ebx
and esi, ebx
imul esi, edi
mov edi, ecx
not edi
and edi, ebx
not ebx
and ebx, ecx
mov ecx, edx
neg ecx
imul ebx, edi
lea ecx, [ecx - 1]
mov edi, ecx
xor ecx, eax
or edi, eax
neg eax
sub edi, ecx
add esi, ebx
lea ecx, [eax - 1]
mov eax, edi
mov ebx, ecx
xor ecx, edx
or ebx, edx
mov edx, edi
sub ebx, ecx
mov ecx, edi
not eax
and edx, ebx
or ecx, ebx
and eax, ebx
not ebx
and edi, ebx
imul ecx, edx
lea edx, [esi + esi]
imul edi, eax
lea eax, [ecx + edi]
lea ecx, [eax + eax]
xor eax, esi
and edx, ecx
mov esi, dword [esp + 0xc8c]
add edx, eax
mov eax, dword [esp + 0xc90]
mov ebx, edx
not ebx
lea esi, [esi + eax - 0x31f04324]
mov ecx, esi
lea eax, [edx + edx]
not ecx
and ebx, esi
and ecx, edx
mov edx, dword [esp + 0xc94]
lea edi, [ecx + ebx]
mov ecx, eax
lea edx, [edx + edx - 0x63e08648]
or ecx, edx
xor eax, edx
xor ecx, eax
mov esi, ecx
mov edx, esi
mov ebx, edi
or edx, ebx
and esi, ebx
mov eax, dword [esp + 0x450]
mov edi, eax
not edi
lea ecx, [edx + esi + 0x31f04324]
mov dword [esp + 0xc9c], ecx
mov ecx, dword [esp + 4]
mov ebx, ecx
and ebx, edi
mov esi, dword [esp + 0x150]
lea edx, [eax + ebx]
mov ebx, eax
or ebx, esi
sub ebx, esi
mov edi, ebx
xor ebx, edx
or edi, edx
mov edx, ecx
xor edx, eax
lea esi, [edi + edi]
sub esi, ebx
mov ebx, ecx
and ebx, eax
lea edi, [ecx + eax]
or ecx, eax
sub edi, ecx
mov eax, edi
not eax
lea ebx, [edx + ebx*2]
and eax, ebx
xor edi, ebx
mov ebx, esi
neg ebx
lea ecx, [eax + eax]
sub ecx, edi
mov edi, ecx
lea eax, [ebx - 1]
mov edx, ecx
or edi, eax
and edx, eax
mov ebx, ecx
imul edx, edi
mov edi, eax
not edi
and ebx, edi
mov edi, ecx
not edi
neg ecx
and edi, eax
imul edi, ebx
lea ebx, [edx + edi]
mov edx, esi
not edx
lea edi, [ecx - 1]
mov eax, edi
mov ecx, esi
not eax
and edx, edi
and ecx, eax
mov eax, esi
or eax, edi
and esi, edi
imul edx, ecx
imul esi, eax
lea ecx, [edx + esi]
mov edx, ebx
not edx
imul edx, ecx
not ecx
imul ecx, ebx
mov ebx, dword [esp + 0x158]
sub edx, ecx
mov ecx, dword [esp + 0x450]
mov eax, ebx
bswap ecx
neg eax
mov dword [esp + 0x754], edx
mov esi, ecx
mov dword [esp + 0xca0], eax
not esi
lea edi, [ecx + ecx]
lea edx, [eax + eax - 2]
mov eax, edi
or eax, edx
xor edi, edx
sub eax, edi
mov edi, ebx
bswap ebx
add esi, esi
mov dword [esp + 0xca8], ebx
neg ebx
xor edi, ecx
bswap ecx
mov edx, dword [esp + 0x730]
and edx, esi
mov esi, ecx
sub edx, edi
lea edi, [ebx - 1]
not esi
mov ebx, edi
and esi, edi
neg ebx
mov dword [esp + 0xcac], edi
not edi
mov dword [esp + 0xca4], edx
add ecx, esi
mov esi, ecx
neg ecx
not esi
imul esi, ebx
mov ebx, eax
imul ecx, edi
mov edi, dword [esp + 0xc88]
xor ebx, edx
sub ebx, edi
and eax, edx
not esi
not ecx
sub esi, ecx
bswap esi
lea edx, [ebx + eax*2]
mov ebx, edx
mov eax, edx
and ebx, esi
not eax
xor ebx, esi
and eax, esi
lea ecx, [ebx + edx]
lea ebx, [ecx + ecx]
lea ecx, [eax + eax]
sub ecx, esi
lea esi, [ecx + edx]
mov edx, ebx
mov ecx, esi
not edx
neg ecx
not esi
imul edx, ecx
neg ebx
imul ebx, esi
not edx
not ebx
mov esi, dword [esp + 0x754]
mov eax, esi
not eax
mov dword [esp + 0xcb8], eax
lea ecx, [edi + edx]
sub ecx, ebx
mov edx, eax
bswap ecx
mov dword [esp + 0xcb0], ecx
bswap ecx
mov ebx, ecx
xor ebx, 1
mov dword [esp + 0xcb4], ecx
lea edi, [ecx + ecx]
neg ecx
and edi, 2
lea ebx, [ebx + edi - 1]
mov edi, esi
not ebx
bswap ebx
and edx, ebx
add edx, esi
and eax, edx
xor edi, edx
add eax, eax
sub eax, edi
lea edi, [ebx + ebx]
lea edx, [eax + ebx]
lea ebx, [eax + eax]
mov eax, esi
and eax, 1
xor esi, 1
and edi, ebx
sub edx, edi
lea ebx, [esi + eax*2 - 1]
not ebx
lea eax, [ecx - 1]
bswap ebx
mov edi, eax
mov esi, eax
xor edi, ebx
and esi, ebx
lea ecx, [ecx + ecx - 2]
lea ebx, [edi + esi]
xor eax, ebx
not ebx
add ebx, ebx
and ecx, ebx
mov ebx, edx
sub eax, ecx
neg ebx
bswap eax
mov esi, eax
neg esi
lea ebx, [ebx - 1]
mov ecx, ebx
xor ebx, eax
or ecx, eax
sub ecx, ebx
lea edi, [esi - 1]
not edi
mov esi, edx
or esi, edi
mov ebx, ecx
sub esi, edi
mov edi, ecx
or ebx, esi
and edi, esi
imul edi, ebx
mov ebx, ecx
mov dword [esp + 0xcbc], edi
not ebx
mov edi, esi
not esi
and edi, ebx
and esi, ecx
lea ecx, [esp + 0xcc0]
mov dword [ecx], edi
mov edi, edx
imul esi, dword [ecx]
mov ebx, edx
mov ecx, dword [esp + 0xcbc]
or edi, eax
sub edi, eax
xor ebx, edi
add esi, ecx
mov ecx, edx
xor ecx, eax
and edx, ecx
mov ecx, ebx
lea edi, [edx + eax]
mov edx, ebx
mov eax, edi
not edx
not eax
and edx, edi
and ecx, eax
mov eax, ebx
and eax, edi
or ebx, edi
imul edx, ecx
lea ecx, [esi + esi]
imul ebx, eax
mov eax, dword [esp + 0xcb8]
add ebx, edx
xor esi, ebx
lea edi, [ebx + ebx]
or ecx, edi
sub ecx, esi
add eax, eax
mov dword [esp + 0xcc4], ecx
mov ecx, dword [esp + 0x754]
mov edx, ecx
mov esi, dword [esp + 0xcb0]
mov edi, ecx
xor edx, esi
and edx, ecx
bswap ecx
add edx, esi
xor edi, edx
lea ebx, [edx + edx]
and ebx, eax
sub ebx, edi
mov edx, ebx
and ebx, esi
or edx, esi
sub edx, ebx
mov ebx, dword [esp + 0xcb4]
mov esi, ebx
mov eax, ebx
xor esi, ecx
or eax, ecx
xor esi, eax
lea edi, [esi + ebx]
and esi, ebx
lea ebx, [esi + esi]
sub edi, ebx
lea ebx, [ecx + ecx]
lea esi, [edi + edi]
xor edi, ecx
and ebx, esi
mov ecx, edx
mov esi, edx
not ecx
lea eax, [ebx + edi]
mov ebx, edx
bswap eax
mov edi, ecx
xor ebx, eax
and esi, eax
or edi, eax
sub edi, ecx
lea ecx, [ebx + esi]
mov ebx, edi
mov esi, edi
or ebx, ecx
and esi, ecx
imul esi, ebx
mov ebx, edi
not ebx
and ebx, ecx
not ecx
and ecx, edi
imul ecx, ebx
mov ebx, eax
neg ebx
lea edi, [esi + ecx]
mov esi, edx
lea ecx, [ebx - 1]
mov ebx, edx
neg edx
xor esi, ecx
or ebx, ecx
mov ecx, eax
not ecx
sub ebx, esi
mov esi, ebx
lea edx, [edx - 1]
or ecx, edx
mov edx, ebx
lea eax, [eax + ecx + 1]
and esi, eax
or edx, eax
imul edx, esi
mov esi, ebx
not esi
and esi, eax
not eax
and ebx, eax
imul ebx, esi
add edx, ebx
mov ecx, edx
or edx, edi
and ecx, edi
add edx, ecx
mov ecx, dword [esp + 0xcc4]
mov edi, ecx
and edi, edx
lea eax, [ecx + ecx]
not eax
lea ebx, [ecx + edx]
add edx, edx
or eax, edx
lea esi, [edi + edi]
sub ebx, esi
mov edx, ebx
mov edi, dword [esp + 0xca4]
mov esi, edi
not esi
lea ecx, [eax + ecx*2 + 1]
and edx, ecx
or ebx, ecx
mov dword [esp + 0xcc8], esi
add ebx, edx
mov edx, dword [esp + 0xc9c]
and esi, ebx
xor edi, ebx
lea eax, [esi + esi]
mov esi, edx
shld esi, edx, 0xc
neg esi
sub eax, edi
mov ecx, eax
shld ecx, eax, 0xc
lea edi, [esi - 1]
mov dword [esp + 0xccc], edi
mov ebx, edi
xor ebx, ecx
and ebx, edi
add ecx, ebx
mov dword [esp + 0xcd0], ecx
mov ecx, dword [esp + 0xc7c]
rol edx, cl
rol eax, cl
mov ebx, edx
xor ebx, eax
lea edi, [edx + edx]
lea esi, [eax + eax]
and edi, esi
add ebx, edi
mov edi, edx
or edi, eax
sub edi, eax
xor edi, edx
mov esi, edi
not esi
imul esi, ebx
not ebx
imul ebx, edi
not esi
not ebx
sub esi, ebx
mov ebx, dword [esp + 0xccc]
mov edx, dword [esp + 0xcd0]
mov eax, edx
ror esi, cl
mov ecx, ebx
neg ecx
not eax
not ebx
neg edx
imul eax, ecx
imul edx, ebx
not eax
not edx
sub eax, edx
lea edx, [esi + esi]
shld eax, eax, 0x14
mov edi, dword [esp + 0xc98]
sub eax, edi
lea ebx, [eax + eax]
mov ecx, ebx
xor ebx, edx
or ecx, edx
sub ecx, ebx
mov ebx, eax
not ebx
add ebx, ebx
and ebx, edx
sub ebx, esi
mov esi, ecx
add ebx, eax
xor esi, ebx
and ecx, ebx
mov ebx, dword [esp + 0xcc8]
add edi, esi
lea edx, [edi + ecx*2]
mov esi, edx
lea ecx, [ebx + 1]
not edx
xor esi, ecx
and edx, ecx
lea eax, [edx + edx]
mov edx, dword [esp + 0x748]
sub esi, eax
mov ebx, edx
mov ecx, edx
mov eax, edx
mov dword [esp + 0xcd4], esi
lea edi, [esi + esi]
mov dword [esp + 0xcd8], edi
or ebx, edi
and ecx, edi
xor eax, edi
mov esi, edi
and esi, 0x2291b064
add ecx, ebx
sub ebx, eax
mov eax, ecx
not eax
imul eax, ebx
not ebx
imul ebx, ecx
mov ecx, edi
sub eax, ebx
not ecx
mov ebx, edi
and ecx, 0xdd6e4f9b
and ebx, 0xdd6e4f9b
or edi, 0xdd6e4f9b
imul esi, ecx
add eax, eax
imul edi, ebx
lea ebx, [esi + edi]
mov ecx, ebx
xor ebx, 0x7f8ff899
and ecx, 0xff8ff899
lea ecx, [ebx + ecx*2]
mov esi, ecx
mov ebx, ecx
or esi, 0xdc0e7e93
and ebx, 0xdc0e7e93
imul ebx, esi
mov esi, ecx
not esi
and ecx, 0x23f1816c
and esi, 0xdc0e7e93
imul ecx, esi
add ebx, ecx
mov ecx, edx
mov edi, ebx
and ebx, 0xcf9af225
or edi, 0xcf9af225
shld ecx, edx, 0x1e
add ebx, edi
shld ebx, ebx, 0x1e
mov edi, ebx
and edi, ecx
lea esi, [ebx + ecx]
xor ebx, ecx
sub esi, edi
lea ecx, [ebx + edi*2]
add esi, esi
mov ebx, esi
not esi
xor ebx, ecx
add ecx, ecx
lea edi, [esi + esi]
mov esi, eax
and ecx, edi
mov edi, eax
sub ebx, ecx
mov ecx, eax
not ecx
and edi, 0x6d992d18
and ecx, 0x9266d2e7
or esi, 0x9266d2e7
and eax, 0x9266d2e7
imul ecx, edi
imul eax, esi
shld ebx, ebx, 2
add ecx, eax
mov esi, ecx
or ecx, 0x88c8161d
and esi, 0x88c8161d
add ecx, esi
mov esi, ecx
mov edi, ecx
not esi
mov eax, ecx
and edi, 0x9c87df28
and esi, 0x637820d7
and eax, 0x637820d7
or ecx, 0x637820d7
imul esi, edi
imul ecx, eax
add ecx, esi
mov edi, ecx
lea eax, [ebx + ebx]
xor edi, 0x8899cda5
neg eax
sub edi, edx
lea edx, [ecx + ecx]
and edx, 0x11339b4a
lea eax, [eax - 2]
add edx, edi
lea esi, [edx + edx]
mov ecx, esi
or esi, eax
xor ecx, eax
sub esi, ecx
mov ecx, ebx
sub ecx, edx
not ebx
mov dword [esp + 0xcdc], ebx
mov ebx, edx
and ebx, dword [esp + 0xcdc]
mov edi, ecx
mov eax, esi
not eax
neg esi
mov edx, dword [esp + 0x748]
lea ecx, [edi + ebx*2]
mov edi, ecx
not ecx
neg edi
imul eax, edi
imul esi, ecx
mov edi, dword [esp + 0xca0]
not eax
mov ebx, dword [esp + 0x158]
not esi
mov dword [esp + 0x1e0], 0
lea edi, [edi - 1]
mov ecx, edi
add edx, eax
mov eax, dword [esp + 0x244]
not ecx
and eax, edi
sub edx, esi
mov dword [esp + 0xce0], edx
mov edx, dword [esp + 0xca8]
mov esi, edx
add ebx, eax
imul ecx, ebx
not ebx
imul ebx, edi
not ecx
not ebx
sub ecx, ebx
mov ebx, edx
bswap ecx
mov edi, ecx
neg edi
lea eax, [edi - 1]
mov edi, dword [esp + 0xcac]
or esi, eax
sub esi, eax
xor ebx, esi
mov esi, edi
or esi, ecx
xor edi, ecx
xor esi, edi
mov eax, ebx
mov edi, ebx
or eax, esi
and edi, esi
imul edi, eax
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
mov esi, edx
imul ebx, eax
mov eax, edx
xor esi, ecx
add edi, ebx
mov ebx, ecx
or eax, ecx
not ebx
sub eax, esi
and edx, ebx
mov esi, eax
lea ebx, [edx + ecx]
mov edx, eax
mov ecx, eax
not edx
or esi, ebx
and ecx, ebx
and edx, ebx
not ebx
and eax, ebx
imul ecx, esi
imul eax, edx
lea ebx, [ecx + eax]
mov ecx, dword [esp + 4]
mov edx, ebx
add ebx, ebx
xor edx, edi
add edi, edi
and edi, ebx
mov esi, ecx
shrd esi, ecx, 0xa
lea eax, [edx + edi]
mov edi, esi
not edi
mov edx, ecx
mov dword [esp + 0xce4], eax
lea esi, [edi + 1]
not esi
lea ebx, [edi + edi + 2]
neg esi
not ebx
not esi
sub esi, ebx
mov ebx, ecx
shrd esi, esi, 0x16
and ebx, esi
or edx, esi
mov edi, ebx
not edx
not edi
xor ebx, esi
sub edi, edx
lea eax, [ecx + ebx]
lea esi, [eax + eax]
lea ebx, [edi + edi]
or esi, ebx
mov ebx, ecx
sub esi, edi
mov edi, ecx
or ebx, 0xc4eaba77
and edi, 0xc4eaba77
imul edi, ebx
and ecx, 0x3b154588
mov ebx, dword [esp + 0x150]
sub esi, eax
and ebx, 0xc4eaba77
imul ebx, ecx
mov eax, dword [esp + 0x158]
add edi, ebx
lea ebx, [edi + edi]
xor edi, 0x5bbe70f8
or ebx, 0xb77ce1f0
sub ebx, edi
lea edx, [eax - 1]
mov eax, ebx
mov edi, ebx
or eax, 0xd6d53f47
and edi, 0xd6d53f47
imul edi, eax
mov eax, ebx
not eax
and ebx, 0x292ac0b8
and eax, 0xd6d53f47
not edx
imul ebx, eax
lea ecx, [edi + ebx]
imul edi, ecx, 0x6209a337
not ecx
imul ebx, ecx, 0x9df65cc8
not edi
not ebx
sub edi, ebx
lea ebx, [edx + edx]
neg ebx
not ebx
sub ebx, edx
bswap ebx
shrd edi, edi, 0xe
shrd ebx, ebx, 0xe
mov eax, edi
and eax, ebx
mov dword [esp + 0xce8], ebx
lea edx, [edi + ebx]
sub edx, eax
mov ecx, edx
and edx, ebx
or ecx, ebx
mov ebx, esi
sub ecx, edx
and ebx, 0x9b224b7f
lea eax, [ecx + edi]
and ecx, edi
lea edi, [ecx + ecx]
mov ecx, esi
sub eax, edi
mov edi, esi
not esi
or ecx, 0x9b224b7f
and edi, 0x64ddb480
and esi, 0x9b224b7f
imul ecx, ebx
imul esi, edi
shld eax, eax, 0xe
lea ebx, [ecx + esi]
mov edi, ebx
xor ebx, 0xf60c949a
and edi, 0x9f36b65
lea edx, [edi + edi]
sub edx, ebx
mov ebx, edx
mov ecx, edx
not ebx
mov edi, edx
and ecx, 0x70468b80
and ebx, 0x8fb9747f
and edi, 0x8fb9747f
or edx, 0x8fb9747f
imul ebx, ecx
imul edx, edi
mov edi, eax
add ebx, edx
mov esi, ebx
and ebx, 0x2cdd8066
or esi, 0x2cdd8066
neg edi
lea edx, [esi + ebx]
mov esi, edx
lea ecx, [edi - 1]
not ecx
neg esi
or ecx, edx
lea ebx, [ecx + edi]
lea ecx, [esi - 1]
mov esi, ecx
or esi, eax
sub esi, eax
xor esi, ecx
mov ecx, esi
mov edi, esi
not ecx
and ecx, ebx
mov dword [esp + 0xcec], ecx
mov ecx, ebx
not ecx
and edi, ecx
mov ecx, esi
or ecx, ebx
and esi, ebx
imul edi, dword [esp + 0xcec]
imul esi, ecx
lea ebx, [edi + esi]
mov edi, edx
or edi, eax
lea esi, [edx + eax]
and edx, eax
mov ecx, esi
sub esi, edx
sub ecx, edi
mov eax, esi
mov edi, esi
and eax, ecx
or edi, ecx
mov edx, esi
imul edi, eax
not edx
mov eax, ecx
not ecx
and eax, edx
and ecx, esi
imul ecx, eax
mov eax, dword [esp + 0xce8]
lea esi, [edi + ecx]
mov edi, esi
and esi, ebx
or edi, ebx
sub edi, eax
lea edx, [edi + esi]
mov esi, dword [esp + 0xce4]
lea edi, [edx + edx]
lea ebx, [esi + esi]
mov ecx, ebx
and ebx, edi
xor ecx, edi
add ebx, ecx
mov ecx, esi
or ecx, edx
add ecx, ecx
sub ecx, esi
sub ecx, edx
mov edx, ecx
xor edx, ebx
not ebx
lea edi, [edx + eax]
lea eax, [ecx + ecx]
mov ecx, dword [esp + 4]
mov dword [esp + 0x370], ecx
lea edx, [ebx + ebx]
and eax, edx
sub edi, eax
mov dword [esp + 0x36c], edi
test ecx, ecx
je 0x1002d694
test byte [esp + 0x36c], 1
je 0x1002d67e
mov eax, dword [esp + 0x36c]
mov edx, dword [esp + 0x1e0]
mov edi, dword [esp + 0x370]
mov ebx, edx
sub edi, eax
not ebx
mov esi, edi
mov ecx, edi
and esi, ebx
not ecx
mov ebx, edx
and ebx, ecx
lea ecx, [edi + edi]
add ebx, esi
lea esi, [edx + edx]
mov edx, ecx
or edx, esi
xor edx, esi
xor edx, ecx
lea ecx, [ebx + ebx]
lea edi, [edx + edx]
xor edx, ebx
or edi, ecx
add eax, edi
sub eax, edx
mov dword [esp + 0x1e0], eax
shr dword [esp + 0x36c], 1
lea edx, [esp + 0x370]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002d628
mov eax, dword [esp + 4]
mov dword [esp + 0x374], eax
mov dword [esp + 0x1fc], 0
test eax, eax
je 0x1002d7d8
test byte [esp + 0x1e0], 1
je 0x1002d7be
mov edx, dword [esp + 0x374]
mov ebx, dword [esp + 0x1fc]
lea edi, [edx + edx]
mov esi, edi
add ebx, ebx
or esi, ebx
mov ecx, edi
mov eax, esi
and ecx, ebx
sub eax, edi
sub esi, ecx
xor eax, ebx
mov ecx, esi
xor ecx, eax
and esi, eax
lea eax, [ecx + esi*2]
mov ecx, ebx
and ecx, edi
xor ebx, edi
mov edi, dword [esp + 0x1fc]
lea esi, [ecx + ebx]
mov ebx, edx
or ebx, edi
and edx, edi
mov edi, eax
and edi, 0xe32269a0
lea ecx, [ebx + edx]
mov edx, eax
mov ebx, eax
not edx
and ebx, 0x1cdd965f
and edx, 0x1cdd965f
or eax, 0x1cdd965f
imul edx, edi
imul eax, ebx
lea edi, [edx + eax]
mov edx, edi
and edi, 0xbdbe915f
or edx, 0xbdbe915f
add edi, edx
mov eax, edi
mov edx, edi
and eax, 0x6628459f
or edx, 0x6628459f
imul edx, eax
mov eax, edi
not edi
and eax, 0x99d7ba60
and edi, 0x6628459f
imul edi, eax
lea eax, [edx + edi]
mov edi, ecx
not edi
mov edx, eax
imul edi, esi
not esi
imul esi, ecx
xor edx, 0x389d1aff
and eax, 0x389d1aff
not edi
not esi
sub edi, esi
sub edi, ebx
lea edx, [edx + eax*2]
mov eax, edi
neg eax
lea ecx, [edx + edx]
mov esi, ecx
lea eax, [eax + eax - 2]
or esi, eax
sub esi, eax
mov eax, edi
not eax
xor esi, ecx
add eax, eax
and ecx, eax
sub ecx, edx
mov edx, esi
not esi
lea eax, [ecx + edi]
and esi, eax
xor edx, eax
sub edx, ebx
lea eax, [esi + esi]
sub edx, eax
mov dword [esp + 0x1fc], edx
shr dword [esp + 0x1e0], 1
lea edx, [esp + 0x374]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002d6b2
imul eax, dword [esp + 0x1fc], 0xb4f00000
mov edx, dword [esp + 4]
mov dword [esp + 0x658], eax
mov dword [esp + 0x378], edx
mov dword [esp + 0x3c0], 0
test edx, edx
je 0x1002d983
test byte [esp + 0x658], 1
je 0x1002d969
mov eax, dword [esp + 0x3c0]
mov edi, dword [esp + 0x378]
mov ecx, edi
mov ebx, eax
mov esi, edi
rol ebx, cl
rol esi, cl
mov ecx, ebx
mov edx, ebx
xor ecx, esi
or edx, esi
sub edx, ecx
mov ecx, edx
or ecx, esi
add ecx, ecx
sub ecx, esi
sub ecx, edx
mov edx, edi
mov esi, ecx
xor ecx, ebx
and esi, ebx
not edx
and edx, 0x4090226d
lea ebx, [ecx + esi*2]
mov esi, edi
and esi, 0xbf6fdd92
mov ecx, edi
imul edx, esi
mov esi, edi
and esi, 0x4090226d
or edi, 0x4090226d
imul edi, esi
neg ecx
rol ebx, cl
lea ecx, [edx + edi]
mov edx, ecx
not ecx
xor edx, 0xdc00fa61
add ebx, ebx
lea esi, [ecx + ecx]
and esi, 0xb801f4c2
sub edx, esi
mov edi, edx
mov ecx, edx
not edi
and ecx, 0xaf6ec89a
and edi, 0x50913765
imul ecx, edi
mov edi, edx
or edi, 0x50913765
and edx, 0x50913765
imul edx, edi
add ecx, edx
mov edx, eax
lea esi, [ecx + ecx]
xor ecx, 0xdce160bb
and esi, 0x463d3e88
sub esi, ecx
lea ecx, [eax + eax]
mov edi, esi
xor edx, esi
not edi
neg esi
mov eax, ecx
add edi, edi
and edi, ecx
lea esi, [esi + esi - 2]
xor eax, esi
or ecx, esi
sub edx, edi
sub ecx, eax
lea eax, [ecx + ecx]
xor ecx, edx
lea esi, [edx + edx]
or eax, esi
add eax, edx
sub eax, ecx
mov ecx, ebx
mov edi, eax
not ecx
neg edi
lea edi, [edi - 1]
mov esi, edi
and ecx, edi
not esi
and esi, ebx
imul ecx, esi
neg ecx
lea esi, [ecx - 1]
mov dword [esp + 0xa40], esi
mov ecx, ebx
mov esi, ebx
or ecx, edi
and esi, edi
imul esi, ecx
neg ebx
mov ecx, dword [esp + 0xa40]
lea edi, [ebx - 1]
sub ecx, esi
mov esi, eax
mov ebx, eax
or esi, edi
and ebx, edi
imul ebx, esi
mov esi, eax
not esi
and esi, edi
not edi
and eax, edi
imul eax, esi
lea edi, [ebx + eax]
mov eax, ecx
neg edi
not eax
lea ebx, [edi - 1]
imul eax, ebx
not ebx
imul ecx, ebx
add edx, eax
sub edx, ecx
mov dword [esp + 0x3c0], edx
shr dword [esp + 0x658], 1
lea edx, [esp + 0x378]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002d808
mov ecx, dword [esp + 0x440]
mov eax, 0xe8d80000
xor ecx, 0xdb1ceaa1
and ecx, 9
mov edx, dword [esp]
shl eax, cl
mov dword [esp + 0x65c], eax
mov dword [esp + 0x37c], edx
mov dword [esp + 0x200], 0
test edx, edx
je 0x1002de8f
test byte [esp + 0x65c], 1
je 0x1002de75
mov edi, dword [esp + 0x37c]
mov esi, dword [esp + 0x200]
lea ebx, [esi + edi]
mov eax, ebx
neg eax
lea eax, [eax - 1]
mov ecx, eax
mov edi, eax
not ecx
and edi, 0xa8adb5e6
mov edx, eax
and ecx, 0xa8adb5e6
and eax, 0x57524a19
or edx, 0xa8adb5e6
imul eax, ecx
mov ecx, edi
imul ecx, edx
mov dword [esp + 0xa44], edx
lea edx, [eax + ecx]
mov ecx, ebx
mov eax, ebx
and ecx, 0x57524a19
or eax, 0x57524a19
imul eax, ecx
mov ecx, ebx
not ebx
and ecx, 0xa8adb5e6
and ebx, 0x57524a19
imul ebx, ecx
lea ecx, [esi + esi]
add ebx, eax
mov eax, edx
not eax
imul eax, ebx
not ebx
imul ebx, edx
sub eax, esi
sub eax, ebx
mov ebx, esi
sub ebx, edi
mov dword [esp + 0x698], eax
lea edx, [eax + eax]
mov dword [esp + 0x204], edx
lea edx, [ebx + ebx]
mov eax, edx
or eax, ecx
sub eax, edx
xor eax, ecx
mov ecx, esi
not ecx
mov dword [esp + 0x69c], ecx
and ecx, ebx
lea edx, [esi + ecx*2]
mov esi, eax
sub edx, ebx
or esi, edx
xor eax, edx
mov edx, dword [esp + 0x698]
lea esi, [edi + esi*2]
mov edi, dword [esp + 0x204]
sub esi, eax
lea eax, [edx*4 + 2]
xor edi, 1
mov ecx, esi
sub eax, edi
not eax
lea ebx, [esi + esi]
lea edi, [eax + 1]
xor ecx, edi
lea eax, [eax + eax + 2]
and ebx, eax
lea eax, [ecx + ebx]
mov ecx, esi
or ecx, edi
sub ecx, esi
xor ecx, edi
mov ebx, ecx
xor ebx, eax
not eax
lea esi, [ecx + ecx]
lea edi, [eax + eax]
and esi, edi
lea edi, [edx + edx + 1]
mov edx, dword [esp + 0x204]
sub ebx, esi
sub edx, edi
lea ecx, [edx + edx + 2]
lea edx, [edi + edi]
lea eax, [ecx + ecx]
xor ecx, edi
and edx, eax
lea edi, [ebx + ebx]
mov eax, dword [esp + 0xa44]
lea esi, [eax + edx]
add ecx, esi
lea esi, [ecx + ecx]
and edi, esi
mov esi, ebx
not esi
lea edx, [ebx + ecx]
or esi, ecx
sub edx, edi
mov ecx, edx
mov edi, dword [esp + 0x69c]
and edi, 0xd6d8744d
add ebx, esi
lea ebx, [ebx + ebx + 2]
and ecx, ebx
or edx, ebx
sub ecx, eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x200]
mov dword [esp + 0xa48], eax
mov esi, edx
mov eax, edx
mov ecx, edx
and esi, 0xd6d8744d
and eax, 0x29278bb2
or ecx, 0xd6d8744d
imul edi, eax
imul ecx, esi
mov dword [esp + 0x6a0], esi
lea eax, [edi + ecx]
mov esi, eax
xor eax, 0xbcba6ee7
and esi, 0xc3459118
lea ebx, [esi + esi]
sub ebx, eax
mov ecx, ebx
mov edi, ebx
not ecx
mov eax, ebx
and edi, 0x6ac1b7a
and ecx, 0xf953e485
and eax, 0xf953e485
or ebx, 0xf953e485
imul ecx, edi
imul ebx, eax
lea esi, [ecx + ebx]
mov ecx, esi
xor esi, 0xbb865a03
or ecx, 0xbb865a03
lea eax, [ecx + ecx]
sub eax, esi
lea ecx, [eax - 1]
mov eax, dword [esp + 0x204]
not ecx
mov edi, ecx
not ecx
xor edi, 1
bswap eax
lea ebx, [ecx + ecx]
and ebx, 2
sub edi, ebx
lea esi, [eax + eax]
mov ebx, eax
add edi, edi
bswap edi
xor ebx, edi
lea ecx, [edi + edi]
or esi, ecx
sub esi, eax
and eax, edi
sub esi, edi
lea ecx, [ebx + eax]
mov ebx, esi
not ebx
lea eax, [ecx + ecx]
lea edi, [ebx + ebx]
and eax, edi
add esi, eax
sub esi, ecx
mov ecx, edx
neg ecx
bswap esi
mov dword [esp + 0xa4c], esi
mov esi, dword [esp + 0x698]
mov eax, esi
not eax
lea ebx, [ecx - 1]
mov edi, ebx
mov ecx, esi
not edi
and eax, ebx
and ecx, edi
mov edi, esi
imul ecx, eax
mov eax, esi
or eax, ebx
and edi, ebx
neg ecx
neg esi
imul edi, eax
mov ebx, edx
lea ecx, [ecx - 1]
sub ecx, edi
lea edi, [esi - 1]
mov eax, edi
mov esi, edx
not eax
or esi, edi
and ebx, eax
and edx, edi
mov eax, dword [esp + 0x69c]
and eax, edi
imul eax, ebx
imul edx, esi
mov esi, ecx
add eax, edx
neg eax
not ecx
mov edi, dword [esp + 0x6a0]
lea eax, [eax - 1]
mov ebx, eax
not ebx
imul esi, ebx
imul ecx, eax
not esi
not ecx
mov eax, dword [esp + 0xa4c]
mov edx, eax
neg edx
lea ebx, [edi + esi]
sub ebx, ecx
mov esi, ebx
lea edx, [edx - 1]
mov edi, ebx
or esi, edx
and edi, edx
mov ecx, ebx
imul edi, esi
mov esi, edx
not esi
not ecx
and esi, ebx
and ecx, edx
imul ecx, esi
neg ebx
lea esi, [edi + ecx]
mov edi, dword [esp + 0x6a0]
lea ecx, [ebx - 1]
mov edx, ecx
mov ebx, ecx
and edx, eax
or ebx, eax
imul ebx, edx
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
imul eax, edx
mov edx, esi
not edx
lea ecx, [ebx + eax]
mov ebx, ecx
not ecx
neg ebx
neg esi
imul edx, ebx
imul esi, ecx
not edx
not esi
mov ebx, dword [esp + 0xa48]
lea eax, [edi + edx]
sub eax, esi
mov edx, eax
mov esi, eax
and edx, ebx
xor edx, ebx
lea ecx, [eax + eax]
lea edi, [edx + eax]
xor esi, edi
not edi
lea edx, [edi + edi]
mov edi, ebx
and edx, ecx
not edi
sub esi, edx
mov edx, edi
and edx, esi
not esi
and esi, ebx
and edi, 0xa0c106e5
add edx, esi
mov esi, ebx
and esi, 0x5f3ef91a
imul esi, edi
mov edi, ebx
or edi, 0xa0c106e5
and ebx, 0xa0c106e5
imul ebx, edi
mov dword [esp + 0xa50], edx
lea edi, [esi + ebx]
mov esi, edi
not edi
and edi, 0xffdfda19
xor esi, 0x7fdfda19
add edx, edx
lea ebx, [edi + edi]
sub esi, ebx
mov ebx, esi
mov edi, esi
or ebx, 0xdf2246ed
and edi, 0xdf2246ed
imul edi, ebx
mov ebx, esi
not ebx
and esi, 0x20ddb912
and ebx, 0xdf2246ed
imul esi, ebx
lea ebx, [edi + esi]
mov esi, ebx
not ebx
xor esi, 0xa9ce40db
lea edi, [ebx + ebx]
mov ebx, eax
neg ebx
and edi, 0x539c81b6
sub esi, edi
xor eax, esi
lea edi, [ebx - 1]
mov ebx, esi
mov dword [esp + 0xa54], edi
or ebx, edi
mov edi, esi
not esi
xor edi, ebx
xor edi, dword [esp + 0xa54]
add esi, esi
and ecx, esi
lea ebx, [edi + edi]
sub eax, ecx
mov esi, edx
mov edi, eax
not esi
not edi
imul edi, ebx
not ebx
imul ebx, eax
mov ecx, dword [esp + 0x204]
not edi
sub edi, ecx
not ebx
sub edi, ebx
lea ebx, [esi + esi]
lea esi, [edi + edi - 2]
and ebx, esi
lea eax, [edi - 1]
mov edi, dword [esp + 0xa50]
lea ebx, [ebx + edi*2]
sub ebx, eax
lea eax, [edx + edx]
mov edx, esi
xor esi, eax
or edx, eax
sub edx, esi
mov edi, edx
xor edx, ebx
or edi, ebx
lea eax, [ecx + edi*2]
sub eax, edx
lea ecx, [eax + 1]
mov ebx, ecx
neg ebx
lea eax, [ebx - 1]
mov ebx, ecx
mov edx, eax
mov esi, eax
not edx
mov edi, eax
and esi, 0xa8adb5e5
and edx, 0x57524a1a
and edi, 0x57524a1a
or eax, 0x57524a1a
imul edx, esi
not ebx
imul eax, edi
mov esi, ecx
add eax, edx
mov edx, ecx
and ebx, 0xa8adb5e5
and edx, 0x57524a1a
and esi, 0xa8adb5e5
or ecx, 0xa8adb5e5
imul edx, ebx
imul ecx, esi
lea ebx, [edx + ecx]
mov edx, ebx
not edx
and edx, eax
xor eax, ebx
lea edi, [edx + edx]
sub edi, eax
mov dword [esp + 0x200], edi
shr dword [esp + 0x65c], 1
lea edx, [esp + 0x37c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002d9be
mov ecx, dword [esp + 0x200]
mov eax, ecx
mov edx, ecx
mov ebx, ecx
neg eax
mov edi, dword [esp + 0x1a4]
or edx, edi
xor ebx, edi
xor edx, ebx
mov ebx, dword [esp]
lea edi, [eax - 1]
mov esi, ebx
or esi, edi
mov dword [esp + 0x208], 0
lea eax, [ebx + eax - 1]
sub eax, esi
mov esi, eax
mov edi, eax
not esi
and esi, edx
mov dword [esp + 0xcf0], esi
mov esi, edx
not esi
and edi, esi
mov esi, edx
or esi, eax
and edx, eax
imul edi, dword [esp + 0xcf0]
mov eax, ebx
imul edx, esi
or eax, ecx
add edi, edx
mov edx, ebx
sub eax, ebx
and edx, ecx
mov esi, ecx
xor ebx, edx
xor esi, eax
mov edx, edi
lea eax, [ecx + ebx]
mov ecx, esi
mov ebx, esi
and ecx, eax
or ebx, eax
imul ebx, ecx
mov ecx, eax
not ecx
and ecx, esi
not esi
and esi, eax
imul esi, ecx
lea eax, [ebx + esi]
and edx, eax
or edi, eax
mov eax, dword [esp + 4]
mov dword [esp + 0x380], eax
lea ebx, [edx + edi]
mov dword [esp + 0x660], ebx
test eax, eax
je 0x1002e03f
test byte [esp + 0x660], 1
je 0x1002e025
mov esi, dword [esp + 0x380]
mov ecx, dword [esp + 0x208]
lea edx, [esi + esi]
ror edx, cl
lea ebx, [ecx + ecx]
mov eax, edx
neg eax
ror ebx, cl
shrd esi, esi, 9
shrd ecx, ecx, 9
mov dword [esp + 0xa5c], ecx
lea eax, [eax - 1]
mov edi, eax
xor eax, ebx
or edi, ebx
mov ebx, esi
sub edi, eax
lea eax, [ecx + ecx]
mov dword [esp + 0xa58], edi
mov edi, esi
not edi
neg esi
xor ebx, ecx
mov dword [esp + 0xa60], ebx
mov ebx, eax
add edi, edi
and ebx, edi
lea esi, [esi - 1]
mov edi, dword [esp + 0xa60]
sub edi, ebx
mov ebx, esi
or ebx, ecx
sub ebx, ecx
xor ebx, esi
lea esi, [edi + edi]
lea ecx, [ebx + ebx]
xor edi, ecx
lea ebx, [ecx + ecx]
or esi, ebx
lea ecx, [edx + edx]
sub esi, edi
mov edi, dword [esp + 0xa58]
shld esi, esi, 9
lea ebx, [edi + edi]
xor edi, edx
and ecx, ebx
lea ebx, [ecx + edi]
mov ecx, dword [esp + 0x208]
rol ebx, cl
sub ebx, eax
mov eax, esi
neg eax
mov edx, ebx
lea ecx, [ebx + esi]
lea eax, [eax - 1]
or edx, eax
xor edx, ebx
and ebx, esi
xor edx, eax
mov eax, dword [esp + 0xa5c]
lea esi, [ebx + ebx]
sub ecx, esi
add edx, edx
mov edi, ecx
xor edi, edx
not edx
add ecx, ecx
lea ebx, [edx + edx]
and ebx, ecx
lea eax, [edi + eax*2]
sub eax, ebx
mov dword [esp + 0x208], eax
shr dword [esp + 0x660], 1
lea edx, [esp + 0x380]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002df3f
mov ebx, dword [esp + 0x208]
mov edi, ebx
mov esi, ebx
mov edx, ebx
not ebx
and edi, 0x40b434d7
or esi, 0x40b434d7
and edx, 0xbf4bcb28
and ebx, 0x40b434d7
imul esi, edi
imul ebx, edx
mov dword [esp + 0x20c], 0
lea edi, [esi + ebx]
mov ecx, edi
xor edi, 0x61de114b
and ecx, 0x1e21eeb4
mov dword [esp + 0x384], 0xc8b5be00
lea edx, [ecx + ecx]
sub edx, edi
mov eax, edx
mov edi, edx
not eax
mov ebx, edx
and eax, 0xa0e1fee7
and edi, 0x5f1e0118
or ebx, 0xa0e1fee7
and edx, 0xa0e1fee7
imul edi, eax
imul edx, ebx
lea esi, [edi + edx]
mov ecx, esi
and esi, 0x377504ad
xor ecx, 0xb77504ad
lea ebx, [ecx + esi*2]
mov esi, dword [esp]
mov edi, esi
mov ecx, esi
and edi, ebx
mov eax, esi
xor ecx, edi
or eax, ebx
sub eax, esi
xor eax, ebx
mov edi, eax
lea edx, [ecx + ebx]
mov ecx, eax
or edi, edx
and ecx, edx
imul ecx, edi
mov edi, edx
not edi
and edi, eax
not eax
and eax, edx
imul eax, edi
lea edi, [ecx + eax]
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x768], edi
mov edi, ecx
or edi, ebx
sub edi, ecx
xor edi, ebx
neg ebx
mov ecx, dword [esp + 0x148]
mov eax, ecx
lea ebx, [ebx - 1]
or eax, ebx
mov ebx, edi
sub eax, ecx
mov ecx, edi
or ebx, eax
and ecx, eax
imul ecx, ebx
mov ebx, edi
not ebx
mov edx, eax
not eax
and edx, ebx
lea ebx, [esp + 0xd7c]
mov dword [ebx], edx
and eax, edi
imul eax, dword [ebx]
mov edx, esi
mov ebx, dword [esp + 0xcd4]
lea edi, [ecx + eax]
mov ecx, dword [esp + 0xce0]
xor ebx, ecx
not ecx
mov eax, dword [esp + 0xcd8]
add ecx, ecx
and eax, ecx
sub ebx, eax
mov ecx, dword [esp + 0x3c0]
add ebx, ecx
mov ecx, edi
lea eax, [esp + 0x768]
or ecx, dword [eax]
mov esi, ebx
and edi, dword [eax]
neg esi
add edi, ecx
imul edx, edi
mov edi, ebx
not edi
mov ecx, edx
mov dword [esp + 0xd80], edi
not ecx
imul edi, edx
imul esi, ecx
neg edi
not esi
not edi
sub esi, edi
mov edi, ebx
mov dword [esp + 0xd84], esi
shrd esi, esi, 0x19
shrd edi, ebx, 0x19
lea edx, [esi + esi]
mov eax, edx
lea ecx, [edi + edi]
xor eax, ecx
or edx, ecx
sub edx, eax
mov ecx, edx
not ecx
imul ecx, edi
not edi
imul edi, edx
not ecx
not edi
sub ecx, edi
mov eax, ecx
and ecx, esi
xor eax, esi
lea esi, [ebx + ebx]
mov ebx, esi
mov edx, esi
mov edi, esi
not esi
or ebx, 0xb8a79645
and edx, 0xb8a79645
and edi, 0x475869ba
and esi, 0xb8a79645
imul edx, ebx
lea ecx, [eax + ecx*2]
imul esi, edi
shld ecx, ecx, 0x19
lea edi, [edx + esi]
mov eax, edi
not edi
and edi, 0x3bdb6427
xor eax, 0x3bdb6427
lea edx, [edi + edi]
sub eax, edx
mov edi, eax
mov esi, eax
not edi
mov ebx, eax
and edi, 0xdffb0c8d
and esi, 0x2004f372
or ebx, 0xdffb0c8d
and eax, 0xdffb0c8d
imul esi, edi
imul eax, ebx
lea edx, [esi + eax]
mov esi, dword [esp + 0xd84]
lea edi, [edx + edx]
xor edx, 0x6bc4fd7b
and edi, 0xd789faf6
lea ebx, [edi + edx]
shld ebx, ebx, 0x17
mov edx, ebx
lea edi, [esi + esi]
shld edi, edi, 0x17
not edx
and edx, edi
add edx, ebx
mov eax, edx
not eax
and eax, edi
lea esi, [eax + eax]
sub esi, edi
add edx, esi
mov edi, edx
or edx, ebx
and edi, ebx
not edx
not edi
lea ebx, [ecx + ecx]
sub edi, edx
shld edi, edi, 9
lea esi, [edi + edi]
mov eax, esi
mov edx, esi
xor eax, ebx
or edx, ebx
sub edx, eax
add ecx, edi
and esi, ebx
mov edi, edx
sub ecx, esi
and edi, ecx
or edx, ecx
mov eax, dword [esp + 0xd80]
mov ecx, dword [esp + 4]
imul ecx, ecx
mov dword [esp + 0x3ec], ecx
add edi, edx
mov dword [esp + 0x664], ecx
lea edx, [eax + 1]
mov ebx, edx
lea eax, [edi + edi]
not ebx
xor edx, edi
add ebx, ebx
and eax, ebx
sub eax, edx
mov dword [esp + 0xcf4], eax
test byte [esp + 0x664], 1
je 0x1002e413
mov edx, dword [esp + 0x384]
mov eax, dword [esp + 0x20c]
lea edi, [edx + edx]
bswap edx
mov ebx, edi
lea ecx, [eax + eax]
mov esi, edi
and ebx, ecx
xor esi, ecx
lea eax, [ebx + esi]
lea ebx, [edi + edi]
lea esi, [ecx + ecx]
or ebx, esi
sub ebx, ecx
sub ebx, edi
mov ecx, ebx
not ecx
mov esi, dword [esp + 0x20c]
bswap esi
imul ecx, eax
not eax
imul eax, ebx
mov edi, esi
not ecx
neg edi
not eax
sub ecx, eax
lea ebx, [edi - 1]
mov eax, ebx
or ebx, edx
xor eax, edx
xor eax, ebx
mov ebx, esi
not ebx
xor esi, edx
and ebx, edx
lea edi, [eax + eax]
add ebx, ebx
sub ebx, esi
mov edx, ebx
not edx
imul edx, edi
not edi
imul edi, ebx
not edx
not edi
sub edx, edi
bswap edx
mov esi, edx
mov ebx, edx
mov eax, edx
not esi
and ebx, 0xcab02da7
or eax, 0xcab02da7
and esi, 0xcab02da7
and edx, 0x354fd258
imul eax, ebx
imul edx, esi
lea edi, [eax + edx]
mov ebx, edi
xor edi, 0xeb2fd2ef
or ebx, 0xeb2fd2ef
lea esi, [ebx + ebx]
sub esi, edi
mov eax, esi
mov ebx, esi
mov edi, esi
not esi
and eax, 0xbeadaa17
or ebx, 0xbeadaa17
and edi, 0x415255e8
and esi, 0xbeadaa17
imul ebx, eax
imul esi, edi
lea eax, [ebx + esi]
mov ebx, eax
lea esi, [ecx + ecx]
not ebx
imul edx, ebx, 0xd0e1a979
imul edi, eax, 0xd0e1a97a
lea eax, [edx + edi]
lea ebx, [ecx + eax]
add eax, eax
mov ecx, eax
mov edx, eax
and ecx, esi
or edx, esi
sub ebx, ecx
xor eax, esi
sub edx, eax
mov esi, ebx
xor esi, edx
and ebx, edx
lea ecx, [esi + ebx*2]
mov dword [esp + 0x20c], ecx
shr dword [esp + 0x664], 1
lea edx, [esp + 0x384]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002e2ef
mov esi, dword [esp + 0xcf4]
mov edx, esi
not edx
mov ecx, esi
mov ebx, esi
mov edi, esi
and edx, 0x738d2bd1
and ecx, 0x8c72d42e
or ebx, 0x738d2bd1
and edi, 0x738d2bd1
imul ecx, edx
imul edi, ebx
shld esi, esi, 5
lea eax, [ecx + edi]
mov edx, eax
and eax, 0x532891f7
or edx, 0x532891f7
lea ebx, [edx + eax]
mov edi, ebx
mov ecx, ebx
mov eax, ebx
not edi
or ecx, 0xc7f10d31
and eax, 0xc7f10d31
and edi, 0xc7f10d31
and ebx, 0x380ef2ce
imul eax, ecx
imul ebx, edi
lea edx, [eax + ebx]
mov ebx, dword [esp + 0x20c]
mov eax, ebx
lea ecx, [edx + edx]
and ecx, 0x36970970
xor edx, 0x64b47b47
sub ecx, edx
mov edi, ebx
mov edx, ecx
not edi
not edx
and eax, edx
mov dword [esp + 0x758], eax
add eax, ecx
imul edi, eax
not eax
not edi
mov dword [esp + 0xcf8], edi
mov edi, ebx
imul edi, eax
shld ebx, ebx, 5
mov eax, edi
not eax
mov edi, dword [esp + 0xcf8]
sub edi, eax
mov eax, ebx
and edx, edi
neg eax
lea ecx, [ecx + edx*2]
sub ecx, edi
lea edx, [eax - 1]
or edx, esi
lea eax, [esi + eax - 1]
sub eax, edx
mov edx, esi
xor edx, ebx
not ebx
add esi, esi
lea edi, [ecx + ecx]
lea ecx, [eax + eax]
add ebx, ebx
and ebx, esi
lea eax, [ecx + ecx]
sub edx, ebx
lea esi, [edx + edx]
xor edx, ecx
or eax, esi
sub eax, edx
shrd eax, eax, 5
mov ebx, eax
mov ecx, eax
not ebx
mov edx, eax
and ecx, 0xfe743e98
and ebx, 0x18bc167
and edx, 0x18bc167
or eax, 0x18bc167
imul ebx, ecx
imul eax, edx
add ebx, eax
mov esi, ebx
or ebx, 0x348c265e
and esi, 0x348c265e
lea edx, [esi + ebx]
mov eax, edx
mov ecx, edx
mov esi, edx
not edx
and eax, 0xc82aca57
or ecx, 0xc82aca57
and esi, 0x37d535a8
and edx, 0xc82aca57
imul ecx, eax
imul edx, esi
lea esi, [ecx + edx]
mov ebx, esi
lea edx, [edi + edi]
not ebx
imul eax, ebx, 0xd2acca0e
imul ecx, esi, 0x2d5335f3
not eax
not ecx
sub eax, dword [esp + 0x758]
sub eax, ecx
mov ebx, eax
not ebx
lea esi, [ebx + ebx]
or ebx, edi
and edx, esi
sub edx, edi
lea edi, [eax + ebx]
lea ebx, [edi + edi + 2]
mov edi, dword [esp]
mov ecx, edi
lea esi, [edx + eax]
imul eax, edi, 0x46b6ec00
or ecx, 0xfa838c7d
mov dword [esp + 0xcfc], esi
mov esi, edi
mov dword [esp + 0xd00], ebx
and esi, 0xfa838c7d
mov ebx, dword [esp + 0x148]
and edi, 0x57c7382
and ebx, 0xfa838c7d
imul esi, ecx
imul ebx, edi
mov edx, dword [esp + 4]
imul edx, eax
lea eax, [esi + ebx]
mov dword [esp + 0x248], edx
lea edx, [eax + eax]
or edx, 0xfbce4350
xor eax, 0x7de721a8
sub edx, eax
mov edi, edx
mov ecx, edx
mov eax, edx
not edi
and ecx, 0xb0e34cd5
or eax, 0xb0e34cd5
and edi, 0xb0e34cd5
and edx, 0x4f1cb32a
imul eax, ecx
imul edx, edi
lea ebx, [eax + edx]
mov esi, ebx
and ebx, 0xc8bb1f38
xor esi, 0x48bb1f38
lea edx, [esi + ebx*2]
mov ecx, edx
mov eax, edx
and ecx, 0xffcbcfdd
or eax, 0xffcbcfdd
xor ecx, 0xffcbcfdd
lea edi, [eax + 0x343023]
xor edi, edx
lea esi, [ecx + edx]
mov ecx, esi
mov ebx, edi
not ecx
mov eax, edi
not ebx
and ecx, edi
and eax, esi
or edi, esi
imul edi, eax
and ebx, esi
imul ecx, ebx
mov esi, edx
mov eax, edx
neg edx
xor esi, 0x343022
or eax, 0x343022
add ecx, edi
sub eax, esi
mov edi, eax
not edi
lea ebx, [edx - 1]
mov esi, ebx
or ebx, 0xffcbcfdd
xor esi, 0xffcbcfdd
xor esi, ebx
mov ebx, eax
mov edx, esi
and edx, edi
mov edi, esi
not edi
and ebx, edi
mov edi, eax
or edi, esi
and eax, esi
imul ebx, edx
imul eax, edi
lea edx, [ebx + eax]
mov ebx, edx
and edx, ecx
xor ebx, ecx
lea eax, [ebx + edx*2]
mov ecx, eax
mov esi, eax
or ecx, 0x1cec9d21
and esi, 0x1cec9d21
xor ecx, 0x1cec9d21
xor ecx, eax
xor eax, 0x1cec9d21
add eax, esi
lea edi, [eax + eax]
lea ebx, [ecx + ecx]
xor ecx, eax
and edi, ebx
add edi, ecx
mov edx, edi
mov esi, edi
neg edx
mov eax, edi
xor esi, 0x195dff8a
or eax, 0x195dff8a
sub eax, esi
mov esi, eax
lea ebx, [edx - 1]
mov edx, ebx
or edx, 0xe6a20075
xor edx, ebx
mov ebx, eax
xor edx, 0xe6a20075
not ebx
mov ecx, edx
and ebx, edx
not ecx
and esi, ecx
imul esi, ebx
mov ebx, edx
and ebx, eax
or edx, eax
imul edx, ebx
mov eax, edi
xor eax, 0xe6a20075
lea ebx, [esi + edx]
mov edx, edi
mov esi, edi
and edx, 0xe6a20075
or esi, 0xe6a20075
sub edi, edx
sub esi, eax
mov edx, esi
mov ecx, esi
not edx
lea edi, [edi - 0x195dff8b]
mov eax, edi
and edx, edi
not eax
and ecx, edi
and eax, esi
or esi, edi
imul eax, edx
imul esi, ecx
add eax, esi
lea ecx, [ebx + ebx]
lea edi, [eax + eax]
xor eax, ebx
and ecx, edi
mov edi, dword [esp + 0x248]
lea edx, [ecx + eax]
mov ebx, edx
mov eax, edx
and ebx, 0x2c89ee70
or edx, 0xd376118f
sub eax, ebx
lea esi, [edx + 0x2c89ee71]
lea ebx, [eax + 0x2c89ee70]
mov ecx, ebx
and ebx, esi
xor ecx, esi
lea edx, [ecx + ebx*2 - 0x798fbe85]
mov dword [esp + 0xd04], edx
mov eax, edx
lea esi, [edx + edi]
and eax, edi
mov ebx, esi
sub ebx, eax
lea ecx, [eax + eax]
mov eax, edx
sub esi, ecx
mov ecx, ebx
not ecx
neg eax
imul ecx, esi
not esi
imul ebx, esi
sub ecx, ebx
lea edi, [eax - 1]
mov ebx, edi
lea esi, [edx + edx]
lea eax, [esp + 0x248]
or ebx, dword [eax]
sub ebx, dword [eax]
xor ebx, edi
mov edi, ecx
neg edi
lea eax, [ebx + ebx]
xor ebx, edx
and eax, esi
lea edi, [edi - 1]
add ebx, eax
mov edx, ebx
mov esi, ebx
neg edx
xor esi, edi
lea eax, [edx - 1]
mov edx, ecx
not eax
or edx, eax
sub edx, eax
mov eax, ebx
or eax, edi
sub eax, esi
mov esi, edx
not esi
mov edi, eax
and edi, esi
mov esi, eax
mov dword [esp + 0xd08], edi
not esi
mov edi, edx
and edi, esi
mov esi, edx
and esi, eax
or edx, eax
imul edi, dword [esp + 0xd08]
lea eax, [ecx + ebx]
imul edx, esi
mov esi, eax
add edi, edx
mov edx, ecx
and ecx, ebx
or edx, ebx
mov ebx, eax
sub ebx, ecx
sub esi, edx
mov ecx, ebx
mov edx, ebx
or ecx, esi
and edx, esi
imul edx, ecx
mov ecx, ebx
not ecx
mov eax, esi
not esi
and eax, ecx
and esi, ebx
lea ebx, [edi + edi]
imul esi, eax
add edx, esi
lea eax, [edx + edx]
xor edx, edi
or ebx, eax
sub ebx, edx
mov edx, dword [esp + 0x248]
mov eax, edx
not eax
mov esi, eax
mov dword [esp + 0xd0c], ebx
mov ebx, dword [esp + 0xd04]
xor esi, ebx
and eax, ebx
lea edi, [esi + eax*2]
add esi, eax
mov eax, ebx
and eax, 1
or ebx, 1
mov ecx, esi
not ecx
imul ecx, edi
not edi
imul edi, esi
not ecx
add ebx, eax
not ebx
not edi
sub ecx, edi
lea esi, [ebx + 1]
not esi
and esi, edx
lea edi, [esi + esi]
sub edi, edx
lea eax, [ebx + esi + 1]
mov edx, ecx
mov esi, ecx
lea edi, [edi + ebx + 1]
mov ebx, edi
not ebx
imul ebx, eax
not eax
imul eax, edi
not ebx
not eax
sub ebx, eax
mov eax, ecx
xor eax, ebx
and edx, ebx
or esi, ebx
sub esi, eax
add eax, edx
mov edx, esi
mov edi, eax
not edx
not edi
and edx, eax
and edi, esi
imul edi, edx
mov edx, esi
and edx, eax
or esi, eax
imul esi, edx
mov edx, ecx
neg edx
lea eax, [esi + edi]
mov dword [esp + 0x75c], eax
mov eax, ebx
not eax
neg ebx
mov dword [esp + 0xd10], edi
lea esi, [edx - 1]
mov edx, eax
or edx, esi
sub edx, eax
mov eax, ecx
not eax
lea ebx, [ebx - 1]
or eax, ebx
lea esi, [ecx + eax + 1]
mov eax, edx
mov ebx, esi
not eax
not ebx
mov ecx, edx
and eax, esi
and ebx, edx
and ecx, esi
or edx, esi
imul ebx, eax
imul edx, ecx
lea eax, [esp + 0x75c]
mov ecx, dword [eax]
add ebx, edx
and ecx, ebx
mov eax, dword [eax]
or eax, ebx
lea edx, [ecx + edi]
mov edi, dword [esp + 0xd0c]
mov esi, edi
add eax, edx
or esi, eax
lea ebx, [edi + edi]
not ebx
mov edx, ebx
lea ecx, [esi + esi]
sub ecx, edi
sub ecx, eax
add eax, eax
or edx, eax
sub edx, ebx
mov dword [esp + 0xd18], edx
imul edx, dword [esp + 4], 0x96700000
mov esi, edx
neg esi
mov eax, dword [esp]
mov dword [esp + 0xd14], ecx
mov ecx, eax
mov ebx, dword [esp + 0x23c]
lea edi, [esi - 1]
mov esi, dword [esp + 0x164]
or ecx, edi
or esi, edx
sub ecx, eax
xor ecx, edi
lea edi, [edx + ebx - 1]
sub edi, esi
mov esi, ecx
mov ebx, ecx
or esi, edi
and ebx, edi
imul ebx, esi
mov esi, ecx
not esi
and esi, edi
not edi
and edi, ecx
imul edi, esi
mov esi, eax
or esi, edx
lea ecx, [ebx + edi]
mov edi, eax
mov ebx, eax
and edi, edx
xor ebx, edx
xor eax, edi
sub esi, ebx
mov edi, esi
lea ebx, [eax + edx]
mov edx, esi
and edx, ebx
or edi, ebx
imul edi, edx
mov edx, ebx
not edx
and edx, esi
not esi
and esi, ebx
imul esi, edx
lea ebx, [edi + esi]
mov edi, ebx
lea eax, [ebx + ebx]
xor edi, ecx
add ecx, ecx
and eax, ecx
mov ebx, dword [esp + 4]
mov edx, ebx
mov esi, ebx
add eax, edi
mov edi, ebx
xor edx, eax
or esi, eax
sub esi, edx
lea ecx, [ebx + eax]
and edi, eax
mov edx, esi
mov dword [esp + 0xd1c], eax
sub ecx, edi
mov eax, esi
or edx, ecx
and eax, ecx
neg ebx
imul eax, edx
mov edx, esi
not edx
and edx, ecx
not ecx
and ecx, esi
imul ecx, edx
lea esi, [eax + ecx]
mov dword [esp + 0xd20], esi
lea eax, [ebx - 1]
mov edx, dword [esp + 0xd1c]
mov ebx, edx
mov esi, edx
neg edx
mov edi, eax
or ebx, edi
xor edi, ebx
mov ebx, dword [esp + 4]
xor esi, edi
mov ecx, ebx
lea eax, [edx - 1]
mov edx, ebx
or ecx, eax
xor edx, eax
mov eax, esi
sub ecx, edx
not eax
mov edi, ecx
mov edx, ecx
and eax, ecx
not ecx
or edi, esi
and edx, esi
and esi, ecx
imul edx, edi
imul esi, eax
mov dword [esp + 0x388], ebx
lea ecx, [edx + esi]
mov edx, dword [esp + 0xd20]
mov eax, edx
or eax, ecx
xor edx, ecx
mov dword [esp + 0x3c4], 0
lea edi, [eax + eax]
sub edi, edx
mov dword [esp + 0x668], edi
test ebx, ebx
je 0x1002ec61
test byte [esp + 0x668], 1
je 0x1002ec47
mov ebx, dword [esp + 0x388]
mov ecx, ebx
and ecx, 0xe90af07c
or ebx, 0xe90af07c
mov eax, dword [esp + 0x3c4]
lea edx, [ecx + ebx]
lea esi, [edx + edx]
shrd esi, esi, 3
shrd edx, edx, 0x14
mov ecx, esi
lea edi, [eax + eax]
shrd edi, edi, 3
shrd eax, eax, 0x14
xor ecx, edi
and ecx, edi
lea ebx, [ecx + esi]
mov ecx, esi
not ecx
and ecx, ebx
lea esi, [esi + ecx*2]
sub esi, ebx
lea ecx, [esi + edi]
lea ebx, [esi + esi]
mov esi, eax
and esi, edx
add edi, edi
and ebx, edi
mov edi, eax
or edi, edx
sub ecx, ebx
shld ecx, ecx, 3
add esi, edi
sub edi, eax
xor edi, edx
mov ebx, esi
not ebx
mov edx, ecx
and edx, 0x8282a6cf
lea eax, [edi + edi]
imul ebx, eax
not eax
imul eax, esi
sub ebx, eax
mov eax, ecx
or eax, 0x8282a6cf
imul eax, edx
mov edx, ecx
shrd ebx, ebx, 0xc
not ecx
and edx, 0x7d7d5930
and ecx, 0x8282a6cf
imul ecx, edx
lea esi, [eax + ecx]
mov edi, esi
and esi, 0xfe7bfe71
or edi, 0xfe7bfe71
add edi, esi
mov eax, edi
mov ecx, edi
not eax
mov esi, edi
and eax, 0x329ea02f
and ecx, 0xcd615fd0
and esi, 0x329ea02f
or edi, 0x329ea02f
imul ecx, eax
imul edi, esi
lea edx, [ecx + edi]
mov esi, edx
not edx
xor esi, 0x538856bf
lea edi, [edx + edx]
and edi, 0xa710ad7e
sub esi, edi
lea eax, [esi + 0xe08423]
mov ecx, eax
xor eax, ebx
and ecx, ebx
lea edx, [esi + esi + 0x1c10846]
lea edi, [ecx + eax]
lea ecx, [ebx + ebx]
and edx, ecx
add edi, edi
sub ebx, edx
lea esi, [ebx + esi - 0x7f1f7bdd]
mov eax, esi
not eax
imul eax, edi
not edi
imul edi, esi
not eax
not edi
sub eax, edi
imul ebx, eax, 0xe90af07d
lea edx, [eax + 0x7f1f7bdd]
not edx
imul ecx, edx, 0xe90af07c
lea esi, [ecx + ebx - 0x6ddf5517]
mov dword [esp + 0x3c4], esi
shr dword [esp + 0x668], 1
lea edx, [esp + 0x388]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002eaee
mov edx, dword [esp + 4]
mov esi, edx
mov ebx, edx
mov eax, dword [esp + 0x3c4]
mov edi, eax
or esi, eax
mov ecx, eax
and edi, dword [esp + 0x150]
xor ebx, esi
xor ecx, ebx
mov esi, ecx
mov dword [esp + 0x210], 0
lea ebx, [edx + edi]
mov edi, ecx
or esi, ebx
and edi, ebx
imul esi, edi
mov edi, ecx
not edi
and edi, ebx
not ebx
and ebx, ecx
mov ecx, eax
imul ebx, edi
mov edi, eax
neg eax
add esi, ebx
mov ebx, dword [esp + 0x240]
xor ecx, ebx
or edi, ebx
mov ebx, edx
sub edi, ecx
mov dword [esp + 0x390], 0x50b00000
lea eax, [eax - 1]
xor ebx, eax
or edx, eax
sub edx, ebx
mov eax, edi
mov ecx, edx
not eax
not ecx
and eax, edx
and ecx, edi
lea ebx, [esi + esi]
imul ecx, eax
mov eax, edi
or eax, edx
and edi, edx
imul edi, eax
mov eax, dword [esp + 0x758]
add edi, ecx
lea edx, [edi + edi]
xor edi, esi
or edx, ebx
mov ebx, dword [esp + 0xd00]
mov esi, edx
sub esi, edi
mov ecx, ebx
mov edi, dword [esp + 0xcfc]
xor ecx, edi
add ebx, ebx
add ecx, eax
lea eax, [edi + edi]
mov edi, dword [esp + 0xd18]
and eax, ebx
mov ebx, edi
sub eax, dword [esp + 0xd10]
add eax, ecx
mov ecx, dword [esp + 0xd14]
xor ebx, ecx
and edi, ecx
mov ecx, esi
lea edi, [ebx + edi*2]
add edi, eax
mov eax, esi
and eax, edi
or ecx, edi
xor eax, edi
lea edx, [esi + eax]
xor esi, ecx
xor esi, edi
mov eax, esi
or esi, edx
and eax, edx
mov ecx, dword [esp]
mov dword [esp + 0x38c], ecx
lea edx, [eax + esi]
mov dword [esp + 0xd24], edx
test byte [esp + 0x38c], 1
je 0x1002f016
mov eax, dword [esp + 0x390]
mov edi, eax
and edi, 0x528f20cf
mov edx, eax
sub edx, edi
mov ebx, eax
mov ecx, eax
or ebx, 0x528f20cf
xor ecx, 0x528f20cf
xor ebx, ecx
mov edi, ebx
lea esi, [edx + 0x528f20cf]
mov edx, esi
not edi
not edx
mov ecx, ebx
and edi, esi
and edx, ebx
or ecx, esi
and ebx, esi
imul edx, edi
mov esi, eax
imul ebx, ecx
xor esi, 0xad70df30
lea ecx, [edx + ebx]
mov edx, eax
neg eax
or edx, 0xad70df30
sub edx, esi
lea ebx, [eax - 1]
mov eax, edx
mov edi, ebx
or ebx, 0x528f20cf
xor edi, 0x528f20cf
not eax
sub ebx, edi
mov edi, ebx
mov esi, ebx
not edi
and esi, eax
mov eax, ebx
and edi, edx
or eax, edx
and ebx, edx
imul esi, edi
imul ebx, eax
lea edx, [esi + ebx]
mov edi, edx
xor edx, ecx
and edi, ecx
lea eax, [edx + edi*2]
mov ecx, eax
mov edi, eax
not ecx
mov ebx, eax
and edi, 0x4942d360
and ecx, 0xb6bd2c9f
and ebx, 0xb6bd2c9f
or eax, 0xb6bd2c9f
imul ecx, edi
imul eax, ebx
lea edx, [ecx + eax]
mov edi, edx
not edx
and edx, 0xed5c07fb
xor edi, 0xed5c07fb
lea esi, [edx + edx]
sub edi, esi
mov ecx, edi
mov eax, edi
not ecx
mov ebx, edi
and ecx, 0x365cef5f
and eax, 0xc9a310a0
and ebx, 0x365cef5f
or edi, 0x365cef5f
imul eax, ecx
imul edi, ebx
lea esi, [edi + eax]
mov edx, esi
xor esi, 0x2f31b4db
and edx, 0xd0ce4b24
lea ebx, [edx + edx]
sub ebx, esi
mov edi, ebx
mov ecx, ebx
or edi, 0x32c3d383
sub ecx, edi
mov edi, ebx
and edi, 0x32c3d383
lea edx, [ecx + ecx + 0x6587a706]
lea eax, [edi + edi]
sub eax, ebx
lea ebx, [edx + edx]
lea ecx, [eax - 0x32c3d384]
mov esi, ecx
xor ecx, edx
not esi
lea edi, [esi + esi]
and ebx, edi
sub ebx, ecx
mov edx, ebx
mov esi, ebx
neg edx
or esi, 0x9a6e19d0
mov ecx, ebx
xor ecx, esi
xor ecx, 0x9a6e19d0
lea edi, [edx - 1]
mov eax, edi
xor edi, 0x6591e62f
or eax, 0x6591e62f
sub eax, edi
mov edx, eax
mov edi, eax
and edx, ecx
or edi, ecx
imul edi, edx
mov edx, ecx
not edx
mov esi, eax
not eax
and esi, edx
and ecx, eax
mov eax, ebx
imul ecx, esi
not eax
lea esi, [edi + ecx]
mov edi, eax
or edi, 0x6591e62f
and eax, 0x6591e62f
lea ecx, [edi + ebx + 1]
lea edi, [ebx + eax]
mov ebx, edi
mov edx, edi
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ebx, edi
not ebx
lea eax, [esi + esi]
and ebx, ecx
not ecx
and ecx, edi
imul ecx, ebx
lea edi, [edx + ecx]
lea ecx, [edi + edi]
xor edi, esi
or ecx, eax
mov eax, dword [esp + 0x38c]
sub ecx, eax
sub ecx, edi
lea edi, [ecx + ecx]
mov edx, edi
or edi, 0xb87f2588
and edx, 0xb87f2588
mov ebx, edi
sub ecx, edx
not edi
lea esi, [ecx - 0x23c06d3c]
xor ebx, esi
lea ecx, [ecx + ecx - 0x4780da78]
mov esi, dword [esp + 0x210]
add ebx, eax
lea eax, [edi + edi]
and ecx, eax
lea eax, [esi + esi]
sub ebx, ecx
mov ecx, esi
or ecx, ebx
xor esi, ebx
mov dword [esp + 0xa64], eax
lea edi, [ebx + ebx]
mov edx, edi
and edi, eax
xor edx, eax
add ecx, ecx
sub ecx, esi
add edi, edx
mov edx, ecx
mov eax, edi
neg edx
not eax
not ecx
neg edi
imul eax, edx
imul edi, ecx
not eax
not edi
sub eax, edi
mov edi, ebx
and edi, esi
mov edx, dword [esp + 0x210]
lea esi, [edx + edi]
xor edx, esi
not esi
lea edi, [esi + esi]
and edi, dword [esp + 0xa64]
sub edx, edi
lea ecx, [ebx + edx]
and ebx, edx
lea edi, [ebx + ebx]
sub ecx, edi
lea ebx, [eax + eax]
mov esi, ebx
lea ecx, [ecx + ecx + 0x6591e630]
lea edx, [ecx + ecx]
xor esi, edx
mov edx, eax
and esi, ebx
and edx, ecx
or eax, ecx
not edx
not eax
sub edx, eax
lea edi, [esi + ecx*2]
mov ecx, edx
not ecx
xor edx, edi
and ecx, edi
lea ebx, [ecx + ecx]
sub ebx, edx
lea esi, [ebx - 0x6591e630]
mov dword [esp + 0x210], esi
shr dword [esp + 0x38c], 1
lea edx, [esp + 0x390]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002ed69
mov edx, dword [esp]
mov eax, edx
imul eax, dword [esp + 0x210]
mov dword [esp + 0x66c], eax
mov dword [esp + 0x394], edx
mov dword [esp + 0x1e4], 0
test edx, edx
je 0x1002f0b2
test byte [esp + 0x66c], 1
je 0x1002f09c
mov esi, dword [esp + 0x394]
mov ebx, dword [esp + 0x1e4]
lea edx, [esi + esi]
mov edi, edx
lea ecx, [ebx + ebx]
and edi, ecx
lea eax, [ebx + esi]
sub eax, edi
lea ebx, [edx + ebx*2]
or edx, ecx
sub ebx, edx
lea esi, [eax + eax]
lea ecx, [ebx + ebx]
xor ebx, eax
and ecx, esi
lea eax, [ecx + ebx]
mov dword [esp + 0x1e4], eax
shr dword [esp + 0x66c], 1
lea edx, [esp + 0x394]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002f05a
mov eax, dword [esp]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x198], 0
test eax, eax
je 0x1002f277
test byte [esp + 0x1e4], 1
je 0x1002f25d
mov eax, dword [esp + 0x198]
mov esi, eax
mov ecx, dword [esp + 0x1e8]
bswap ecx
bswap esi
lea edx, [ecx + ecx]
mov edi, edx
lea ebx, [esi + esi]
xor edi, ebx
or edx, ebx
sub edx, edi
mov ebx, edx
xor edx, ecx
not ebx
and ebx, ecx
lea edi, [ebx + ebx]
mov ebx, eax
sub edi, edx
and ebx, 0x30ca853a
mov ecx, edi
and edi, esi
xor ecx, esi
mov esi, eax
and esi, 0xcf357ac5
lea edx, [ecx + edi*2]
mov ecx, eax
not eax
or ecx, 0xcf357ac5
and eax, 0xcf357ac5
imul ecx, esi
imul eax, ebx
bswap edx
lea ebx, [ecx + eax]
mov ecx, ebx
and ebx, 0x1f75cf59
or ecx, 0x1f75cf59
lea edi, [ecx + ebx]
mov esi, edi
mov ebx, edi
not esi
mov ecx, edi
and esi, 0x5481f40d
and ebx, 0xab7e0bf2
or ecx, 0x5481f40d
and edi, 0x5481f40d
imul ebx, esi
imul edi, ecx
add ebx, edi
mov esi, ebx
and ebx, 0x6d8aa47b
or esi, 0x6d8aa47b
lea ecx, [esi + ebx]
mov esi, dword [esp + 0x1e8]
mov eax, esi
mov ebx, esi
and eax, ecx
xor ebx, eax
lea edi, [ebx + ecx]
mov ebx, ecx
not ebx
imul ebx, edi
not edi
imul edi, ecx
not ebx
not edi
sub ebx, edi
mov ecx, ebx
not ebx
sub ecx, esi
and esi, ebx
lea eax, [ecx + esi*2]
lea esi, [eax + eax]
mov edi, esi
mov ebx, esi
mov eax, esi
not edi
and ebx, 0x26599311
or eax, 0x26599311
and edi, 0x26599311
and esi, 0xd9a66cee
imul eax, ebx
imul esi, edi
lea ebx, [eax + esi]
mov ecx, ebx
not ecx
imul ecx, ecx, 0xf6e81bfd
imul esi, ebx, 0x917e404
not ecx
not esi
sub ecx, esi
mov eax, ecx
mov ebx, ecx
mov edi, ecx
not ecx
and eax, 0x1089bdf1
or ebx, 0x1089bdf1
and edi, 0xef76420e
and ecx, 0x1089bdf1
imul ebx, eax
imul ecx, edi
lea edi, [ebx + ecx]
mov ebx, edi
and edi, 0x686eddd3
or ebx, 0x686eddd3
lea esi, [ebx + edi]
mov eax, esi
mov ecx, esi
xor eax, edx
or ecx, edx
sub ecx, eax
lea eax, [esi + esi]
lea ebx, [ecx + ecx]
lea ecx, [esi + edx]
add edx, edx
and edx, eax
sub ecx, edx
mov esi, ecx
xor ecx, ebx
or esi, ebx
lea edi, [esi + esi]
sub edi, ecx
mov dword [esp + 0x198], edi
shr dword [esp + 0x1e4], 1
lea edx, [esp + 0x1e8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002f0cf
mov ecx, dword [esp]
mov edi, ecx
or edi, 0x91e2a751
mov ebx, ecx
sub ebx, edi
mov esi, edi
mov edx, edi
lea eax, [ebx - 0x6e1d58af]
mov ebx, edi
not ebx
and esi, eax
or edx, eax
and ebx, eax
not eax
and eax, edi
imul edx, esi
mov esi, ecx
imul eax, ebx
or esi, 0x6e1d58ae
lea ebx, [edx + eax]
mov edi, dword [esp + 0x1a4]
sub esi, ecx
mov ecx, edi
or edi, 0x91e2a751
xor ecx, 0x91e2a751
xor esi, 0x6e1d58ae
xor ecx, edi
mov eax, esi
mov edi, ecx
not eax
not edi
mov edx, ecx
and edi, esi
and eax, ecx
and edx, esi
or ecx, esi
imul eax, edi
imul ecx, edx
mov edx, ebx
lea edi, [eax + ecx]
or edx, edi
xor ebx, edi
lea ecx, [edx + edx]
sub ecx, ebx
mov eax, ecx
mov esi, ecx
not eax
mov edi, ecx
mov ebx, ecx
and esi, 0xb15577fe
and eax, 0x4eaa8801
or edi, 0x4eaa8801
and ebx, 0x4eaa8801
neg ecx
imul eax, esi
imul ebx, edi
lea edi, [ecx - 1]
lea edx, [eax + ebx]
mov eax, edi
mov ebx, edi
or eax, 0xb15577fe
and ebx, 0xb15577fe
neg edx
imul ebx, eax
neg ebx
lea esi, [ebx - 1]
mov ebx, edi
not edi
and ebx, 0x4eaa8801
and edi, 0xb15577fe
imul edi, ebx
lea ebx, [edx - 1]
neg edx
sub esi, edi
mov ecx, esi
not ebx
neg ecx
not esi
imul ebx, ecx
not ebx
lea edi, [edx + 1]
imul esi, edi
not esi
sub ebx, esi
mov ecx, ebx
mov eax, ebx
mov edx, ebx
xor ecx, 0xa2b301b1
and eax, 0xa2b301b1
or edx, 0xa2b301b1
xor edx, ebx
xor edx, 0xa2b301b1
mov esi, edx
mov edi, edx
add ecx, eax
mov eax, edx
and esi, ecx
or edi, ecx
imul edi, esi
mov esi, ecx
not esi
not edx
and eax, esi
and edx, ecx
imul edx, eax
mov ecx, ebx
or ecx, 0x5d4cfe4e
add edx, edi
mov edi, ebx
neg ebx
xor edi, 0x5d4cfe4e
sub ecx, edi
mov esi, ecx
lea ebx, [ebx - 1]
mov edi, ebx
xor ebx, 0xa2b301b1
or edi, 0xa2b301b1
sub edi, ebx
mov eax, edi
mov ebx, edi
and eax, ecx
or ebx, ecx
imul ebx, eax
mov eax, edi
not eax
not ecx
and esi, eax
and edi, ecx
imul edi, esi
lea esi, [ebx + edi]
mov ebx, edx
or ebx, esi
and edx, esi
add edx, ebx
mov edi, edx
mov ecx, edx
not edi
mov ebx, edx
and edi, 0x236cad57
and ecx, 0x236cad57
or ebx, 0x236cad57
and edx, 0xdc9352a8
imul ebx, ecx
imul edx, edi
mov dword [esp + 0xd28], edi
lea eax, [ebx + edx]
mov ebx, eax
lea esi, [eax + eax]
xor ebx, 0xe5ee4663
and esi, 0xcbdc8cc6
lea ecx, [ebx + esi]
mov ebx, ecx
mov edx, ecx
mov eax, ecx
not ebx
and edx, 0xade08e67
or eax, 0xade08e67
and ebx, 0xade08e67
and ecx, 0x521f7198
imul eax, edx
imul ecx, ebx
add eax, ecx
mov edx, eax
not edx
imul esi, edx, 0x2b893bd5
mov edx, edi
imul ebx, eax, 0x2b893bd6
neg edx
lea ecx, [esi + ebx]
mov ebx, ecx
lea edi, [edi + 0x6bd60b62]
neg ebx
lea esi, [edx - 0x6bd60b63]
mov edx, edi
lea eax, [ebx - 1]
mov ebx, edi
or edx, eax
and ebx, eax
imul ebx, edx
mov edx, edi
neg ebx
not edx
and edx, eax
not eax
and eax, edi
imul eax, edx
mov edx, esi
not edx
lea ebx, [ebx - 1]
mov edi, ebx
mov ebx, ecx
not ebx
and edx, ecx
and ebx, esi
sub edi, eax
imul edx, ebx
mov ebx, ecx
or ebx, esi
and ecx, esi
imul ecx, ebx
lea esi, [edx + ecx]
mov edx, edi
neg esi
mov ecx, dword [esp + 0xd28]
lea eax, [esi - 1]
xor edx, eax
not eax
and eax, edi
lea ebx, [ecx + edx]
mov ecx, dword [esp + 0x198]
shld ecx, ecx, 0x1b
lea edi, [eax + eax]
sub ebx, edi
mov esi, ebx
shld esi, ebx, 0x1b
neg esi
mov dword [esp + 0xd2c], ebx
lea edx, [esi - 1]
neg esi
mov eax, edx
mov edi, edx
and eax, ecx
xor edi, ecx
not edx
add eax, edi
mov ecx, eax
lea edi, [esi + 1]
neg ecx
not eax
imul eax, edi
imul edx, ecx
not eax
not edx
sub eax, edx
mov edx, dword [esp + 0x198]
ror edx, cl
ror ebx, cl
mov esi, edx
or esi, ebx
neg ecx
shrd eax, eax, 0x1b
lea edi, [edx + ebx]
sub edi, esi
mov esi, edi
not edi
sub esi, ebx
add ebx, ebx
add edi, edi
and ebx, edi
add ebx, esi
lea edi, [ebx + ebx]
xor ebx, edx
lea esi, [edx + edx]
or edi, esi
sub edi, ebx
mov ebx, eax
ror edi, cl
not ebx
mov esi, edi
mov edx, ebx
not esi
or edx, edi
and esi, eax
sub edx, ebx
mov ebx, edx
lea ecx, [esi + edi]
mov esi, edx
or ebx, ecx
and esi, ecx
imul esi, ebx
mov ebx, ecx
mov dword [esp + 0xd30], esi
not ebx
mov esi, edx
not edx
and esi, ebx
mov ebx, eax
neg ebx
and edx, ecx
lea ecx, [esp + 0xd34]
mov dword [ecx], esi
imul edx, dword [ecx]
mov ecx, dword [esp + 0xd30]
lea esi, [ebx - 1]
mov ebx, esi
or ebx, edi
sub ebx, esi
add ecx, edx
xor ebx, edi
neg edi
lea esi, [edi - 1]
mov edi, esi
or esi, eax
xor edi, eax
mov eax, ebx
sub esi, edi
not eax
mov edx, esi
mov edi, ebx
not edx
and eax, esi
and edx, ebx
and edi, esi
or ebx, esi
imul edx, eax
imul ebx, edi
lea edi, [edx + ebx]
mov esi, edi
lea eax, [edi + edi]
mov edi, dword [esp + 0x198]
xor esi, ecx
add ecx, ecx
and eax, ecx
lea ecx, [edi - 1]
bswap edi
not ecx
mov edx, ecx
not ecx
and ecx, 1
xor edx, 1
lea ebx, [esi + eax]
mov eax, dword [esp + 0xd2c]
mov dword [esp + 0xd38], ebx
mov ebx, eax
lea esi, [ecx + ecx]
mov ecx, edx
sub ecx, esi
mov esi, eax
xor ebx, ecx
mov edx, eax
and esi, ebx
lea ebx, [esi + ecx]
xor edx, ebx
not ebx
lea esi, [eax + eax]
not eax
bswap eax
add ebx, ebx
and esi, ebx
mov ebx, ecx
sub edx, esi
or ebx, edx
and ecx, edx
sub ebx, ecx
mov ecx, eax
mov edx, eax
and ecx, edi
or edx, edi
xor eax, edi
sub edx, ecx
lea edi, [ecx + eax]
mov eax, ebx
lea esi, [edx + edi]
add edi, edi
lea ecx, [edx + edx]
and edi, ecx
mov ecx, ebx
sub esi, edi
neg ecx
bswap esi
mov edx, esi
neg edx
lea edi, [edx - 1]
or eax, edi
lea edx, [ecx - 1]
xor eax, edi
mov edi, edx
or edi, esi
xor eax, ebx
xor edi, edx
mov ecx, eax
xor edi, esi
mov edx, eax
and ecx, edi
or edx, edi
imul edx, ecx
mov ecx, edi
not ecx
and ecx, eax
not eax
and edi, eax
imul edi, ecx
mov ecx, ebx
and ecx, esi
lea eax, [edx + edi]
xor ecx, ebx
mov edi, ebx
mov edx, ebx
xor edi, esi
or edx, esi
xor edi, edx
mov edx, edi
lea ebx, [ecx + esi]
mov esi, edi
or edx, ebx
and esi, ebx
imul esi, edx
mov edx, edi
not edx
and edx, ebx
not ebx
and ebx, edi
imul ebx, edx
lea edx, [esi + ebx]
mov ebx, dword [esp + 0xd38]
mov edi, edx
xor edx, eax
or edi, eax
lea ecx, [edi + edi]
sub ecx, edx
lea edi, [ebx + ebx]
lea esi, [ecx + ecx]
mov eax, esi
xor esi, edi
and eax, edi
sub ebx, eax
lea edi, [eax + esi]
add ebx, ecx
mov eax, ebx
not eax
imul eax, edi
not edi
imul edi, ebx
mov ebx, dword [esp + 0xd24]
not eax
not edi
mov ecx, ebx
mov esi, ebx
sub eax, edi
not ecx
and esi, 0x51c761ff
mov edi, ebx
or ecx, 0x51c761ff
sub edi, esi
mov dword [esp + 0xd3c], eax
lea edx, [ebx + ecx + 1]
mov esi, edx
lea ecx, [edi + 0x51c761ff]
mov edi, ecx
not esi
not edi
and esi, ecx
and edi, edx
mov eax, ecx
imul esi, edi
mov edi, ebx
neg edi
or eax, edx
and ecx, edx
imul ecx, eax
lea edx, [edi - 1]
or edx, 0x51c761ff
lea eax, [esi + ecx]
sub edi, edx
lea esi, [edi + 0x51c761fe]
mov edi, ebx
or edi, 0xae389e00
mov edx, esi
sub edi, ebx
not edx
xor edi, 0xae389e00
mov ecx, edi
and edx, edi
not ecx
and ecx, esi
imul edx, ecx
mov ecx, edi
and ecx, esi
or edi, esi
imul edi, ecx
add edi, edx
mov esi, edi
xor edi, eax
and esi, eax
lea ecx, [ebx + esi*2]
lea eax, [ecx + edi + 0x51c761ff]
mov ecx, eax
mov edx, eax
neg ecx
not edx
mov edi, eax
and edx, 0xc2beb578
and edi, 0x3d414a87
imul edi, edx
mov dword [esp + 0xd40], edi
lea esi, [ecx - 1]
mov ecx, esi
mov edx, esi
or ecx, 0x3d414a87
and edx, 0x3d414a87
imul edx, ecx
neg edx
lea ecx, [edx - 1]
mov edx, esi
not esi
and edx, 0xc2beb578
and esi, 0x3d414a87
imul esi, edx
mov edx, eax
and edx, 0xc2beb578
or eax, 0xc2beb578
imul eax, edx
sub ecx, esi
add edi, eax
neg edi
lea edx, [edi - 1]
mov edi, ecx
xor edi, edx
not edx
and edx, ecx
sub edi, ebx
lea ebx, [edx + edx]
sub edi, ebx
mov dword [esp + 0xd44], edi
lea ebx, [edi - 0x51c761ff]
mov dword [esp + 0xd48], ebx
mov ecx, ebx
mov edx, ebx
neg ecx
xor edx, 0x5b4b6200
or ebx, 0x5b4b6200
xor edx, ebx
mov dword [esp + 0xd50], edx
lea esi, [ecx - 1]
mov eax, esi
xor esi, 0xa4b49dff
or eax, 0xa4b49dff
sub eax, esi
mov dword [esp + 0xd4c], eax
or eax, edx
not edx
mov dword [esp + 0x760], eax
mov dword [esp + 0xd54], edx
mov edi, dword [esp + 0xd4c]
mov edx, edi
mov ebx, dword [esp + 0xd50]
mov eax, edi
not edx
mov esi, ebx
and ebx, edi
and esi, edx
mov edi, dword [esp + 0x760]
mov edx, edi
and eax, dword [esp + 0xd54]
imul esi, eax
imul edx, ebx
lea ebx, [esi + edx]
mov edx, dword [esp + 0xd48]
mov esi, edx
mov eax, edx
or esi, 0xa4b49dff
and edx, 0xa4b49dff
xor edx, 0xa4b49dff
lea ecx, [esi + 0x5b4b6201]
mov esi, dword [esp + 0xd44]
xor eax, ecx
lea edx, [edx + esi - 0x51c761ff]
mov esi, eax
mov ecx, edx
not esi
not ecx
and esi, edx
and ecx, eax
imul esi, ecx
mov ecx, eax
or ecx, edx
and eax, edx
imul eax, ecx
lea edx, [esi + eax]
mov esi, edx
xor edx, ebx
and esi, ebx
lea edx, [edx + esi*2]
mov esi, edx
lea ebx, [edx + edx]
not esi
mov ecx, ebx
xor ecx, 0x7abac422
or ebx, 0x7abac422
sub ebx, ecx
lea eax, [esi + esi]
and eax, 0x7abac422
lea ecx, [eax + edx + 0x42a29def]
mov edx, ebx
or edx, ecx
xor ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xd40]
add edx, edx
sub edx, ebx
lea esi, [edx + 0x344ca568]
and eax, esi
xor edi, esi
lea ebx, [edi + eax*2]
mov edi, dword [esp + 0xd3c]
mov dword [esp + 0xd58], ebx
mov edx, edi
ror ebx, cl
ror edx, cl
mov esi, ebx
mov eax, ebx
xor esi, edx
and eax, edx
add eax, esi
lea esi, [eax + edx]
and eax, edx
lea edx, [eax + eax]
sub esi, edx
lea edx, [esi + ebx]
add esi, esi
add ebx, ebx
and esi, ebx
sub edx, esi
rol edx, cl
mov eax, edx
mov ecx, edx
not eax
mov esi, edx
and ecx, 0x9af3f3ee
and eax, 0x650c0c11
or esi, 0x650c0c11
and edx, 0x650c0c11
imul eax, ecx
imul edx, esi
lea ebx, [eax + edx]
lea eax, [ebx + ebx]
xor ebx, 0x345182a3
and eax, 0xe8a30546
lea esi, [eax + ebx]
mov edx, esi
mov ecx, esi
not edx
mov eax, esi
and ecx, 0xa2d9b0e
and edx, 0xf5d264f1
and eax, 0xf5d264f1
or esi, 0xf5d264f1
imul edx, ecx
imul esi, eax
lea ebx, [edx + esi]
imul edx, ebx, 0x3f86588c
not ebx
imul ecx, ebx, 0xc079a773
not edx
lea esi, [edi + edi]
neg esi
not ecx
sub edx, ecx
mov ecx, dword [esp + 0xd58]
lea ebx, [esi - 2]
not ebx
lea eax, [ecx + ecx]
mov esi, ebx
add edx, edx
or esi, eax
mov eax, ecx
sub esi, ebx
mov ebx, edi
neg eax
not ebx
not ecx
neg edi
imul ebx, eax
imul edi, ecx
not ebx
not edi
sub ebx, edi
mov ecx, esi
or ecx, ebx
and esi, ebx
mov ebx, edx
not ebx
lea edi, [ecx + esi]
lea esi, [edi - 0x35890ca9]
mov eax, esi
and ebx, esi
or eax, edx
sub eax, edi
lea ecx, [eax + 0x35890ca9]
xor ecx, edx
lea edx, [edx + ebx*2]
sub edx, edi
mov edi, dword [esp + 0x760]
mov ebx, edi
not ebx
lea eax, [ecx + ecx]
mov ecx, eax
lea esi, [edx + 0x35890ca9]
or ecx, esi
and eax, esi
lea edx, [ecx + eax + 0x35890ca9]
and ebx, edx
xor edi, edx
imul edx, dword [esp + 4], 0xa9b1db71
mov ecx, edx
lea eax, [ebx + ebx]
sub eax, edi
sub ecx, eax
lea esi, [eax + eax]
mov ebx, esi
lea edi, [ecx + ecx]
and ecx, eax
xor ebx, edi
or esi, edi
sub esi, ebx
lea ebx, [ecx + ecx]
mov ecx, esi
sub edx, ebx
xor ecx, edx
and esi, edx
add eax, ecx
lea edx, [eax + esi*2]
cmp edx, 0xe3dae71d
jne 0x1002fa9e
mov dword [esp + 0x764], 0
jmp 0x1003b069
mov ebx, 0x9a7175b8
mov ecx, dword [ebp + 8]
mov eax, ecx
rol ebx, cl
mov edx, ebx
not edx
rol eax, cl
mov edi, edx
mov esi, edx
xor edi, eax
and esi, eax
mov dword [esp + 0x184], 0
add edi, esi
mov esi, eax
not esi
mov dword [esp + 0x840], esi
lea ecx, [esi + esi]
lea esi, [edi + edi]
and ecx, esi
mov esi, dword [esp + 0x840]
add ecx, eax
neg eax
sub ecx, edi
lea esi, [esi + 1]
mov edi, ecx
not edi
and edi, edx
not edx
and ecx, edx
lea edx, [edi + ecx]
mov ecx, esi
lea ebx, [ebx + edx*2]
lea edi, [edx + edx]
mov dword [esp + 0x116c], edi
mov edi, ebx
mov edx, esi
neg edi
lea edi, [edi - 1]
and ecx, edi
or edx, edi
imul edx, ecx
mov ecx, esi
not ecx
neg edx
and ecx, edi
not edi
and edi, esi
lea esi, [ebx - 1]
imul edi, ecx
not esi
mov ebx, esi
lea edx, [edx - 1]
sub edx, edi
lea edi, [eax - 1]
mov ecx, esi
or ebx, edi
and ecx, edi
mov eax, edi
imul ecx, ebx
not eax
mov ebx, esi
not esi
and ebx, eax
and esi, edi
imul esi, ebx
mov eax, edx
not edx
lea edi, [ecx + esi]
neg edi
lea ecx, [edi - 1]
xor eax, ecx
lea ebx, [edi + edi - 2]
mov ecx, dword [esp + 0x116c]
lea edi, [edx + edx]
mov edx, dword [esp + 0x840]
sub eax, ecx
sub ecx, edx
and ebx, edi
sub eax, ebx
lea esi, [ecx - 1]
not esi
and esi, eax
lea edi, [esi + esi]
sub edi, eax
add eax, eax
lea esi, [ecx + ecx - 2]
lea edi, [edi + ecx - 1]
mov ecx, eax
or ecx, esi
sub ecx, esi
xor ecx, eax
mov eax, ecx
or ecx, edi
and eax, edi
add edx, eax
mov eax, dword [ebp + 8]
mov ebx, eax
lea edx, [edx + ecx + 1]
shl ebx, 5
lea ecx, [eax + ebx]
mov eax, dword [esp + 4]
neg ecx
rol edx, cl
lea ecx, [esp + 0x1168]
mov dword [ecx], edx
mov esi, dword [ecx]
lea edx, [esp + 0x14f4]
mov dword [edx], 0x8482000
mov edi, dword [edx]
mov dword [esp + 0x1170], esi
mov dword [esp + 0x1174], edi
mov dword [esp + 0x3f0], eax
test eax, eax
je 0x1002fc92
mov dword [esp + 0x6b0], 0xbd064c00
test byte [esp + 0x6b0], 1
je 0x1002fc78
mov edi, dword [esp + 0x184]
mov ecx, edi
neg ecx
mov edx, dword [esp + 0x3f0]
mov eax, edx
mov esi, edx
bswap edx
lea ebx, [ecx - 1]
mov ecx, edi
or eax, ebx
xor eax, ebx
xor esi, eax
mov eax, edi
bswap edi
and eax, esi
xor ecx, esi
lea esi, [edx + edx]
lea ebx, [edi + edi]
or esi, ebx
lea eax, [ecx + eax*2]
mov ecx, edx
sub esi, edx
not ecx
sub esi, edi
and ecx, edi
mov ebx, esi
not esi
add edx, ecx
xor ebx, edx
lea edi, [edx + edx]
lea edx, [esi + esi]
mov esi, eax
and edi, edx
sub ebx, edi
not ebx
lea ecx, [ebx + 1]
mov ebx, eax
bswap ecx
xor ebx, ecx
and esi, ecx
lea edx, [eax + ecx]
or eax, ecx
xor ebx, eax
sub edx, esi
mov ecx, ebx
xor ebx, edx
and ecx, edx
lea eax, [ebx + ecx*2]
mov dword [esp + 0x184], eax
shr dword [esp + 0x6b0], 1
lea edx, [esp + 0x3f0]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1002fbf4
mov edx, dword [esp]
neg edx
lea ecx, [edx - 1]
mov ebx, ecx
mov esi, ecx
xor ebx, 0x7ce31b80
and esi, 0x7ce31b80
mov eax, ecx
not eax
add ebx, esi
xor ecx, ebx
lea edx, [ebx + ebx]
mov ebx, dword [esp + 0x148]
lea edi, [eax + eax]
and edx, edi
mov esi, ebx
sub edx, ecx
mov ecx, ebx
not esi
mov edi, ebx
or ecx, 0xd9e042f5
and esi, 0xd9e042f5
and edi, 0x261fbd0a
and ebx, 0xd9e042f5
imul edi, esi
imul ebx, ecx
mov dword [esp + 0x14f8], ecx
lea ecx, [edi + ebx]
lea eax, [ecx + ecx]
xor ecx, 0x21eec21a
and eax, 0xbc227bca
sub eax, ecx
mov ebx, eax
mov edi, eax
mov esi, eax
not ebx
and edi, 0xddeed95d
or esi, 0xddeed95d
and ebx, 0xddeed95d
and eax, 0x221126a2
imul esi, edi
imul eax, ebx
lea ecx, [esi + eax]
mov esi, ecx
and ecx, 0x1c708d72
xor esi, 0x9c708d72
lea edi, [esi + ecx*2]
shld edi, edi, 0xc
mov ecx, edi
or ecx, 0xce47f831
lea esi, [edi + edi]
and esi, 0x9c8ff062
lea ebx, [edi - 0x31b807cf]
sub ebx, esi
mov esi, ecx
mov eax, ebx
xor ebx, ecx
not eax
mov ecx, edx
and esi, eax
lea eax, [esi + esi]
mov esi, edx
sub eax, ebx
mov ebx, edx
shld eax, eax, 0x14
xor ecx, eax
or ebx, eax
and esi, ecx
sub ebx, ecx
lea ecx, [esi + eax]
mov esi, ebx
mov edi, ecx
not esi
not edi
and esi, ecx
and edi, ebx
imul esi, edi
mov edi, ebx
and edi, ecx
or ebx, ecx
mov ecx, edx
imul ebx, edi
neg ecx
lea edi, [esi + ebx]
lea esi, [ecx - 1]
or esi, eax
lea ebx, [eax + ecx - 1]
neg eax
sub ebx, esi
mov dword [esp + 0x14fc], eax
lea ecx, [eax - 1]
mov dword [esp + 0x1500], ecx
not ecx
or ecx, edx
mov edx, ebx
lea esi, [ecx + eax]
mov ecx, ebx
or edx, esi
and ecx, esi
mov eax, esi
imul ecx, edx
not eax
mov edx, ebx
not ebx
and edx, eax
and ebx, esi
imul ebx, edx
mov eax, dword [esp + 0x1a8]
lea edx, [ecx + ebx]
mov ecx, edi
and edi, edx
or ecx, edx
and eax, 2
mov edx, dword [esp + 0x14c]
neg edx
mov dword [esp + 0x1504], ecx
mov dword [esp + 0x1508], edi
lea esi, [ecx + edi]
mov ecx, dword [esp + 0x15fc]
mov dword [esp + 0x150c], esi
lea ebx, [edx - 1]
mov dword [esp + 0x560], ebx
not ebx
and ecx, ebx
mov esi, dword [esp + 0x72c]
mov dword [esp + 0x1510], edx
lea ebx, [edx + ecx - 1]
mov ecx, dword [esp + 0x164]
mov edi, ebx
lea edx, [esi + eax]
or edi, edx
xor ebx, edx
mov eax, dword [esp]
mov edx, eax
lea esi, [edi + edi]
sub esi, ebx
mov ebx, ecx
or ebx, 0x831ce47f
xor ecx, 0x831ce47f
sub ebx, ecx
xor edx, ebx
and eax, ebx
bswap esi
lea edi, [edx + eax*2]
mov ecx, edi
mov edx, edi
and ecx, esi
or edx, esi
xor ecx, esi
xor edx, esi
xor edx, edi
lea eax, [ecx + edi]
mov ecx, edx
mov ebx, eax
not ebx
and ecx, ebx
mov ebx, edx
not ebx
and ebx, eax
imul ebx, ecx
mov ecx, edx
and ecx, eax
or edx, eax
mov eax, esi
imul edx, ecx
neg eax
lea ecx, [ebx + edx]
mov edx, edi
lea eax, [eax - 1]
or edx, eax
sub edx, edi
neg edi
xor edx, eax
lea ebx, [edi - 1]
mov edi, ebx
or ebx, esi
xor edi, esi
mov esi, edx
xor edi, ebx
not esi
mov ebx, edi
mov eax, edi
and ebx, esi
not eax
mov esi, edi
and eax, edx
or esi, edx
and edi, edx
imul eax, ebx
imul edi, esi
mov esi, ecx
lea edx, [eax + edi]
xor esi, edx
lea ebx, [edx + edx]
mov edi, dword [esp + 0x150c]
add ecx, ecx
and ebx, ecx
mov ecx, dword [esp + 0x1504]
lea edx, [esi + ebx]
mov esi, dword [esp + 0x1508]
mov eax, edx
lea ebx, [ecx + esi - 0x6b3b07c9]
mov ecx, edx
and eax, ebx
or ecx, ebx
xor eax, edx
xor edx, ebx
xor ecx, edx
mov ebx, ecx
lea edi, [edi + eax - 0x6b3b07c9]
xor ebx, edi
and ecx, edi
lea ebx, [ebx + ecx*2]
mov ecx, dword [esp + 0x1600]
mov edx, ecx
lea esi, [ebx + 0x6b3b07c9]
mov eax, esi
xor esi, 0xdf323a42
bswap eax
mov edi, eax
not edi
or edx, edi
lea edi, [eax + edx + 1]
mov edx, ecx
or edx, eax
add edx, edx
sub edx, eax
sub edx, ecx
lea ecx, [ebx + ebx - 0x2989f06e]
mov eax, ecx
xor eax, 0xbe647484
and eax, 0xbe647484
mov dword [esp + 0x8a4], edx
lea ebx, [eax + ecx]
and ecx, 0xbe647484
add ecx, esi
mov eax, ecx
xor ecx, ebx
not eax
and eax, ebx
lea ebx, [edx + edx]
xor edx, edi
lea esi, [eax + eax]
sub esi, ecx
lea ecx, [edi + edi]
or ebx, ecx
mov edi, esi
sub ebx, edx
neg edi
bswap ebx
mov dword [esp + 0x1514], edi
lea ecx, [edi + edi - 2]
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x1500]
lea ebx, [edx + edx]
mov eax, ebx
or eax, ecx
sub eax, ecx
xor eax, ebx
mov ebx, edx
not ebx
mov ecx, eax
and ebx, esi
not esi
and esi, edx
not ecx
mov dword [esp + 0x1518], ecx
mov edx, dword [esp + 0x14fc]
lea edi, [ebx + esi]
xor eax, edi
and ecx, edi
lea eax, [eax + edx - 1]
lea edi, [ecx + ecx]
sub eax, edi
mov ebx, eax
bswap ebx
mov esi, ebx
and ebx, 1
or esi, 1
mov dword [esp + 0x568], esi
mov dword [esp + 0x151c], eax
lea edx, [ebx + esi]
not edx
lea ecx, [edx + 1]
bswap ecx
mov ebx, ecx
mov edi, ecx
and ebx, 0x21cedb7f
sub edi, ebx
lea ebx, [ecx + ecx]
and ebx, 0xbc624900
sub ebx, ecx
lea edx, [edi + 0x21cedb7f]
lea ecx, [ebx + 0x21cedb7f]
mov ebx, edx
not edx
xor ebx, ecx
and edx, ecx
lea esi, [edx + edx]
sub ebx, esi
mov esi, dword [esp + 0x1604]
mov edi, esi
mov edx, esi
and edi, eax
xor edx, eax
mov dword [esp + 0x1520], ebx
lea ecx, [edi + edx]
mov edi, ebx
mov edx, ecx
not ecx
sub edx, eax
and ecx, eax
not edi
lea eax, [edx + ecx*2]
lea ecx, [esi + eax]
and esi, eax
lea edx, [esi + esi]
sub ecx, edx
mov esi, ecx
or edi, ecx
and esi, ebx
xor esi, ecx
lea edi, [ebx + edi + 1]
lea edx, [ebx + esi]
mov eax, edx
mov esi, edx
or eax, edi
and esi, edi
imul esi, eax
mov eax, edx
not eax
and eax, edi
not edi
and edi, edx
mov edx, ebx
imul edi, eax
neg edx
lea eax, [esi + edi]
mov esi, ecx
lea edi, [edx - 1]
mov edx, ecx
neg ecx
or edx, edi
xor esi, edi
sub edx, esi
mov esi, edx
mov edi, edx
not esi
lea ecx, [ecx - 1]
not ecx
or ebx, ecx
sub ebx, ecx
mov ecx, ebx
and esi, ebx
mov dword [esp + 0x1528], esi
not ecx
mov esi, edx
and edi, ebx
and esi, ecx
or edx, ebx
imul esi, dword [esp + 0x1528]
imul edx, edi
mov dword [esp + 0x1524], edi
lea ebx, [esi + edx]
mov edi, ebx
xor ebx, eax
and edi, eax
lea eax, [ebx + edi*2]
mov dword [esp + 0x152c], eax
mov eax, dword [esp + 0x151c]
mov ebx, eax
shld ebx, eax, 0xc
neg ebx
lea ecx, [ebx - 1]
mov ebx, ecx
mov edx, ecx
or ebx, 0xedb7f21c
not edx
lea esi, [ebx + ebx]
xor ebx, ecx
mov ecx, eax
add edx, edx
neg ecx
and edx, esi
sub edx, ebx
mov esi, eax
shrd edx, edx, 0xc
lea edi, [ecx - 1]
mov dword [esp + 0x1530], edi
mov ebx, edi
or ebx, 0x21cedb7f
xor ebx, 0x21cedb7f
xor ebx, edi
mov edi, edx
and esi, ebx
xor eax, ebx
neg edi
lea eax, [eax + esi*2]
mov ebx, eax
lea edi, [edi - 1]
neg ebx
mov esi, eax
or esi, edi
lea ecx, [ebx - 1]
not ecx
or ecx, edx
add ebx, ecx
mov ecx, eax
xor ecx, edi
xor ecx, esi
mov esi, ebx
mov edi, ecx
not esi
not edi
and esi, ecx
and edi, ebx
imul esi, edi
mov edi, ecx
and edi, ebx
or ecx, ebx
imul ecx, edi
mov edi, eax
or edi, edx
lea ebx, [esi + ecx]
mov esi, edx
sub edi, eax
not esi
xor edi, edx
and esi, eax
mov ecx, edi
not ecx
lea eax, [esi + edx]
mov edx, edi
mov esi, edi
and edx, eax
or esi, eax
and ecx, eax
not eax
and edi, eax
imul esi, edx
imul edi, ecx
lea edx, [esi + edi]
mov esi, edx
xor edx, ebx
and esi, ebx
mov ebx, dword [esp + 0x152c]
mov ecx, ebx
lea edx, [edx + esi*2]
mov edi, edx
lea eax, [ebx + edx]
not edi
and ecx, edx
or edi, ebx
sub eax, ecx
lea ecx, [edi + edx + 1]
lea edx, [eax + eax]
xor eax, ecx
lea ebx, [ecx + ecx]
or edx, ebx
sub edx, eax
mov esi, edx
xor edx, 0xfd6462f5
or esi, 0xfd6462f5
lea ebx, [esi + esi]
sub ebx, edx
mov edi, ebx
mov edx, ebx
mov ecx, ebx
and edi, 0xeb22a342
xor edx, 0xeb22a342
or ecx, 0xeb22a342
add edx, edi
mov edi, ebx
neg edi
lea esi, [ecx + ecx]
sub esi, ebx
lea eax, [esi + 0x14dd5cbe]
lea esi, [edi - 1]
mov edi, eax
mov ecx, esi
xor edi, edx
or ecx, 0xeb22a342
not edx
and edx, eax
lea ecx, [ecx + 0x14dd5cbe]
xor ecx, esi
mov esi, ebx
and esi, ecx
lea eax, [edx + edx]
xor ebx, ecx
sub edi, eax
lea ecx, [ebx + esi*2]
mov esi, ecx
lea edx, [edi + 0x14dd5cbe]
mov ebx, ecx
lea eax, [ecx + edi + 0x14dd5cbe]
and ecx, edx
xor esi, edx
or ebx, edx
sub ebx, esi
mov esi, dword [esp + 0x14f8]
lea edx, [ecx + ecx]
sub eax, edx
mov edi, eax
add ebx, ebx
xor edi, ebx
and eax, ebx
lea edx, [edi + eax*2]
mov eax, dword [esp + 0x184]
sub eax, esi
lea ebx, [edx + edx - 0x1bab97c]
and ebx, 0x5373a16
lea ecx, [edx - 0x14dd5cbe]
xor ecx, 0x29b9d0b
mov edi, eax
neg edi
lea edx, [ebx + ecx]
mov ebx, eax
not ebx
lea ecx, [edi + edi - 2]
mov dword [esp + 0x56c], edx
shrd edx, edx, 0x16
mov dword [esp + 0x1534], edx
lea eax, [eax + ebx*2 + 1]
mov edi, eax
xor eax, ecx
not edi
and edi, ecx
sub edx, dword [esp + 0x8a4]
mov dword [esp + 0x153c], edx
lea ebx, [edi + edi]
sub ebx, esi
lea esi, [edx + edx]
sub ebx, eax
not edx
shrd ebx, ebx, 0x16
and edx, ebx
mov dword [esp + 0x1538], ebx
lea eax, [ebx + ebx]
mov dword [esp + 0x1540], eax
lea ecx, [esi + ebx*2]
and esi, eax
sub ecx, esi
lea edi, [edx + edx]
sub edi, ebx
mov dword [esp + 0x1544], ecx
mov ecx, dword [esp + 0x1534]
mov ebx, ecx
mov eax, dword [esp + 0x153c]
mov edx, edi
mov edi, dword [esp + 0x1538]
or ebx, edi
sub ebx, ecx
mov esi, edi
xor esi, ebx
add edx, eax
mov eax, ecx
and eax, esi
add eax, eax
sub ecx, eax
mov eax, dword [esp + 0x1540]
lea ebx, [ecx + esi]
mov ecx, dword [esp + 0x1518]
xor edi, ebx
lea esi, [ebx + ebx]
or eax, esi
mov esi, dword [esp + 0x8a4]
sub eax, edi
mov ebx, dword [esp + 0x1544]
lea edi, [esi + ecx]
mov esi, ebx
not esi
imul esi, edx
not edx
imul ebx, edx
sub esi, ebx
mov edx, eax
neg edx
mov ebx, eax
not ebx
add edi, esi
mov esi, edi
lea edx, [edx - 1]
or esi, edx
add ebx, ebx
sub esi, edx
lea edx, [edi + edi]
and edx, ebx
xor esi, edi
add eax, edx
sub eax, edi
add esi, esi
mov edx, eax
not edx
imul edx, esi
not esi
imul esi, eax
not edx
not esi
sub edx, ecx
mov ecx, dword [esp + 0x56c]
sub edx, esi
shrd ecx, ecx, 0x1a
shrd edx, edx, 0xa
mov edi, dword [esp + 0x568]
mov dword [esp + 0x570], edx
lea edx, [edi + ecx]
neg edx
lea ebx, [edx - 1]
mov esi, ebx
not ebx
neg esi
lea eax, [esi - 1]
not eax
lea edx, [eax + eax]
mov ecx, edx
neg edx
not ecx
imul ecx, esi
imul edx, ebx
not ecx
not edx
mov ebx, dword [esp + 0x184]
mov eax, ebx
bswap eax
add ecx, edi
sub ecx, edx
shld ecx, ecx, 0x1a
mov edi, ecx
bswap edi
mov edx, edi
or edx, eax
mov dword [esp + 0x1548], edi
and edi, eax
mov esi, edx
xor edx, eax
sub esi, edi
mov edi, ebx
mov dword [esp + 0x154c], esi
mov esi, ebx
or esi, ecx
mov eax, ecx
sub edi, esi
lea esi, [ebx + ecx]
and ebx, ecx
neg eax
sub ebx, esi
mov ecx, ebx
neg ecx
xor edx, dword [esp + 0x1548]
lea eax, [eax - 1]
sub eax, edi
lea ebx, [ebx - 1]
not ebx
mov edi, dword [esp + 0x154c]
lea esi, [ecx + 1]
mov ecx, eax
neg eax
not ecx
imul ecx, esi
imul eax, ebx
not ecx
not eax
sub ecx, eax
mov eax, edi
and eax, edx
xor edi, edx
lea edx, [edi + eax*2]
mov eax, dword [esp + 0x568]
bswap edx
lea edi, [eax + edx]
mov esi, edi
not edi
neg esi
lea ebx, [esi - 1]
mov eax, ebx
lea esi, [ecx - 1]
not esi
not eax
mov edx, esi
and eax, esi
not edx
neg ecx
and edx, ebx
imul edx, eax
mov eax, esi
and eax, ebx
or esi, ebx
neg edx
lea ebx, [edi + 1]
imul esi, eax
lea eax, [ecx - 1]
mov edi, ebx
lea edx, [edx - 1]
mov ecx, eax
sub edx, esi
not edi
not ecx
mov esi, eax
and edi, eax
and ecx, ebx
or esi, ebx
and eax, ebx
imul ecx, edi
imul eax, esi
lea ebx, [ecx + eax]
mov ecx, dword [esp + 0x570]
neg ebx
mov esi, ebx
neg esi
shld ecx, ecx, 0x1e
lea ebx, [ebx - 1]
not ebx
lea eax, [esi + 1]
mov esi, edx
neg edx
not esi
imul esi, eax
imul edx, ebx
not esi
not edx
sub esi, dword [esp + 0x568]
sub esi, edx
mov edx, ecx
mov ebx, esi
not edx
shld ebx, esi, 0x1e
mov eax, ebx
mov edi, ebx
and eax, ecx
xor edi, ecx
mov dword [esp + 0x1550], esi
add eax, edi
lea edi, [edx + edx]
lea edx, [eax + eax]
xor eax, ecx
and edi, edx
mov ecx, ebx
sub edi, eax
not ecx
and ecx, edi
mov eax, esi
lea edx, [ebx + ecx*2]
mov ecx, dword [esp + 0x570]
and eax, ecx
sub edx, edi
shld edx, edx, 2
lea ebx, [esi + ecx]
lea edi, [eax + eax]
mov eax, esi
or eax, ecx
xor esi, ecx
sub ebx, edi
sub eax, esi
lea esi, [eax + eax]
xor eax, ebx
lea ecx, [ebx + ebx]
mov ebx, edx
and esi, ecx
not ebx
add eax, esi
and ebx, eax
mov ecx, eax
or ecx, edx
sub ecx, eax
xor ecx, edx
lea edi, [ebx + edx]
mov ebx, ecx
mov esi, edi
not ebx
not esi
and ebx, edi
and esi, ecx
imul ebx, esi
mov esi, ecx
or esi, edi
and ecx, edi
imul ecx, esi
mov esi, eax
neg esi
lea edi, [ebx + ecx]
lea ebx, [esi - 1]
mov esi, eax
mov ecx, ebx
or ecx, edx
xor ecx, ebx
xor ecx, edx
neg edx
lea edx, [edx - 1]
or esi, edx
sub esi, eax
xor esi, edx
mov edx, ecx
not edx
mov ebx, esi
mov eax, esi
and edx, esi
not esi
or ebx, ecx
and eax, ecx
and ecx, esi
imul eax, ebx
imul ecx, edx
add eax, ecx
mov edx, eax
xor eax, edi
or edx, edi
lea esi, [edx + edx]
sub esi, eax
mov dword [esp + 0x1554], esi
mov esi, dword [esp + 0x570]
mov edx, esi
shrd edx, esi, 0xc
lea edi, [edx + edx]
xor edx, 1
and edi, 2
lea eax, [edi + edx - 1]
mov edx, dword [esp + 0x1550]
not eax
mov ebx, edx
shrd eax, eax, 0x14
xor ebx, eax
mov edi, edx
and ebx, edx
lea ecx, [ebx + eax]
mov ebx, ecx
not ebx
imul edi, ebx
mov ebx, edx
not ebx
lea edx, [edx - 1]
imul ebx, ecx
mov ecx, edi
sub ecx, ebx
not edx
lea edi, [ecx + eax]
lea ebx, [ecx + ecx]
mov ecx, edx
not ecx
add eax, eax
and ebx, eax
neg ecx
sub edi, ebx
lea eax, [edx + edx]
not ecx
not eax
mov ebx, esi
sub ecx, eax
not ebx
mov edx, ecx
and ebx, ecx
not edx
and edx, esi
lea ebx, [esi + ebx*2]
sub ebx, ecx
lea eax, [edx + ecx]
mov esi, ebx
not esi
and esi, eax
lea ecx, [ebx + esi*2]
sub ecx, eax
mov ebx, ecx
mov eax, ecx
and ebx, edi
mov edx, ecx
xor ebx, edi
xor eax, edi
or edx, edi
sub edx, eax
mov esi, edx
lea eax, [ecx + ebx]
mov ebx, edx
and esi, eax
or ebx, eax
imul ebx, esi
mov esi, eax
mov dword [esp + 0x1558], ebx
not esi
mov ebx, edx
not edx
and ebx, esi
and edx, eax
lea eax, [esp + 0x155c]
mov dword [eax], ebx
mov ebx, ecx
imul edx, dword [eax]
neg ebx
mov eax, dword [esp + 0x1558]
lea esi, [eax + edx]
mov eax, edi
lea edx, [ebx - 1]
mov ebx, edi
neg edi
or ebx, edx
xor eax, ebx
xor eax, edx
lea ebx, [edi - 1]
lea edx, [ecx + edi - 1]
mov edi, ecx
or edi, ebx
mov ecx, edx
sub ecx, edi
mov ebx, eax
not ebx
mov edx, ecx
and edx, ebx
mov ebx, ecx
not ebx
mov edi, eax
and edi, ebx
imul edi, edx
mov edx, ecx
or edx, eax
and ecx, eax
imul ecx, edx
mov eax, esi
mov ebx, dword [esp + 0x1554]
lea edx, [edi + ecx]
or eax, edx
and esi, edx
mov ecx, dword [esp + 0x1520]
mov edi, ebx
not edi
mov edx, edi
add eax, ecx
add eax, esi
and edx, eax
or edi, eax
mov eax, dword [esp + 0x56c]
add edx, ebx
lea esi, [ebx + edi + 1]
mov ebx, edx
or ebx, esi
and edx, esi
sub ebx, ecx
lea ecx, [ebx + edx]
mov edx, dword [esp + 0x14c]
xor edx, 0x1f
neg edx
mov dword [esp + 0x1560], ecx
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x1564], edx
lea ecx, [edx - 1]
mov dword [esp + 0x1568], ecx
rol ebx, cl
rol eax, cl
mov ecx, dword [esp + 0x1530]
mov esi, eax
mov dword [esp + 0x156c], ebx
ror ebx, cl
mov edi, ebx
ror esi, cl
not edi
or edi, esi
neg ecx
lea edx, [ebx + edi + 1]
lea edi, [ebx + esi]
and ebx, esi
lea esi, [ebx + ebx]
sub edi, esi
mov ebx, edi
xor edi, edx
or ebx, edx
lea esi, [ebx + ebx]
sub esi, edi
ror esi, cl
mov ecx, eax
lea edx, [esi - 2]
and edx, eax
add eax, eax
lea ebx, [edx + edx]
sub ecx, ebx
lea edi, [ecx + esi - 2]
mov ecx, dword [esp + 0x156c]
shld ecx, ecx, 0x12
lea esi, [esi + esi - 4]
neg esi
lea edx, [esi - 2]
or edx, eax
lea ebx, [eax + esi - 2]
sub ebx, edx
mov esi, ebx
xor esi, edi
not edi
lea edx, [ebx + ebx]
mov ebx, ecx
not ebx
lea eax, [edi + edi]
and eax, edx
sub esi, eax
lea eax, [esi + 2]
shld eax, eax, 0x12
mov edx, eax
not edx
imul edx, ecx
neg ecx
imul ebx, eax
not edx
lea edi, [ecx + ecx - 2]
not ebx
lea esi, [eax + eax]
mov eax, edi
or edi, esi
xor eax, esi
sub edx, ebx
sub edi, eax
mov ebx, edi
xor ebx, edx
mov ecx, dword [esp + 0x1564]
add edx, edx
lea esi, [edi + edi]
and edx, esi
mov esi, dword [esp + 0x1568]
mov eax, esi
shl eax, 5
not esi
shl esi, 5
neg esi
lea edi, [ebx + edx]
not esi
shrd edi, edi, 0x12
lea ecx, [eax + ecx - 1]
mov eax, dword [esp + 0x184]
not ecx
sub ecx, esi
rol edi, cl
mov dword [esp + 0x574], edi
mov edi, dword [esp + 0x56c]
shld edi, edi, 0x12
shld eax, eax, 0x12
mov esi, edi
mov edx, eax
and esi, eax
mov ebx, eax
xor esi, eax
not edx
sub ebx, edi
and edx, edi
mov dword [esp + 0x1570], eax
lea ecx, [esi + edi]
mov eax, ecx
lea edx, [ebx + edx*2]
not eax
and eax, edx
xor edx, ecx
lea ebx, [eax + eax]
sub ebx, edx
lea esi, [ebx - 1]
not esi
lea ebx, [edi + edi]
lea eax, [esi + esi]
xor esi, edi
mov edx, eax
lea ecx, [eax + edi*2]
and edx, ebx
and ebx, eax
sub ecx, edx
lea edx, [ebx + esi]
mov esi, dword [esp + 0x1570]
mov edi, edx
lea eax, [ecx + ecx]
not edi
xor ecx, edx
lea ebx, [edi + edi]
and ebx, eax
sub ebx, ecx
mov eax, ebx
mov edx, ebx
or eax, esi
xor edx, esi
mov ecx, eax
and ebx, esi
sub ecx, edx
sub eax, ebx
mov esi, eax
lea edx, [ecx + ecx]
and esi, edx
or eax, edx
lea edi, [esi + eax]
shld edi, edi, 0xe
mov dword [esp + 0x8a8], edi
shrd edi, edi, 0x1d
not edi
mov eax, dword [esp + 0x574]
mov esi, eax
shld esi, eax, 0xe
not eax
lea ecx, [edi + edi]
neg ecx
mov dword [esp + 0x1574], eax
lea ebx, [ecx - 2]
not ebx
sub ebx, edi
lea ecx, [ebx - 1]
mov ebx, esi
shld ecx, ecx, 0x1d
shld ecx, ecx, 0xe
and ebx, ecx
lea edi, [esi + ecx]
xor esi, ecx
lea edx, [ebx + ebx]
sub edi, edx
lea edx, [esi + ebx]
mov ecx, edx
not ecx
lea ebx, [edi + edi]
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0x8a8]
and esi, ebx
sub esi, edi
lea edi, [eax + eax + 2]
not edi
lea ebx, [esi + edx]
mov edx, ecx
shld ebx, ebx, 0x12
lea esi, [eax + 1]
not esi
neg esi
not esi
sub edi, esi
lea edi, [edi - 1]
xor edx, edi
and ecx, edi
lea esi, [edx + ecx]
mov edx, esi
not edx
imul edx, edi
not edi
imul edi, esi
sub edx, edi
mov esi, edx
mov edi, edx
neg esi
lea eax, [esi - 1]
mov esi, ebx
neg esi
mov ecx, eax
xor ecx, ebx
or eax, ebx
xor ecx, eax
lea eax, [esi - 1]
mov esi, edx
or esi, eax
xor edi, eax
sub esi, edi
mov eax, ecx
mov edi, ecx
and eax, esi
or edi, esi
imul edi, eax
mov eax, esi
not eax
and eax, ecx
not ecx
and esi, ecx
mov ecx, edx
imul esi, eax
lea eax, [edi + esi]
mov edi, edx
and edi, ebx
mov esi, edx
xor edi, ebx
or esi, ebx
sub esi, ebx
xor ecx, esi
mov ebx, ecx
mov esi, ecx
add edi, edx
or ebx, edi
and esi, edi
imul esi, ebx
mov ebx, ecx
not ebx
and ebx, edi
not edi
and edi, ecx
imul edi, ebx
lea ecx, [esi + edi]
mov esi, eax
or esi, ecx
xor eax, ecx
mov edi, dword [esp + 0x574]
shld edi, edi, 0x19
mov dword [esp + 0x1578], esi
lea edx, [esi + esi]
sub edx, eax
mov esi, edi
mov dword [esp + 0x157c], edx
lea eax, [edi + edi]
mov edx, dword [esp + 0x8a8]
mov ecx, edx
shld ecx, edx, 0x19
and esi, ecx
xor esi, edi
lea ebx, [esi + ecx]
lea esi, [ecx + ecx]
or esi, eax
sub esi, ecx
sub esi, edi
mov edi, edx
mov ecx, esi
xor ecx, ebx
not ebx
and ebx, esi
mov esi, edx
lea eax, [ebx + ebx]
mov ebx, dword [esp + 0x574]
xor edi, ebx
or esi, ebx
sub ebx, edx
sub esi, edi
and edx, dword [esp + 0x1574]
sub ecx, eax
mov edi, esi
shrd ecx, ecx, 0x19
lea edx, [ebx + edx*2]
mov ebx, ecx
or edi, edx
neg ebx
xor esi, edx
lea eax, [edi + edi]
sub eax, esi
lea esi, [ebx - 1]
mov ebx, eax
mov edi, eax
mov edx, eax
neg ebx
xor edi, esi
or edx, esi
sub edx, edi
mov edi, ecx
not edi
mov esi, edi
lea ebx, [ebx - 1]
or esi, ebx
sub esi, edi
mov ebx, esi
mov edi, esi
or ebx, edx
and edi, edx
imul edi, ebx
mov ebx, edx
mov dword [esp + 0x1580], edi
not ebx
mov edi, esi
not esi
and edi, ebx
and edx, esi
lea esi, [esp + 0x1584]
mov dword [esi], edi
mov edi, eax
imul edx, dword [esi]
lea ebx, [eax + ecx]
mov esi, dword [esp + 0x1580]
or edi, ecx
sub ebx, edi
add edx, esi
mov esi, eax
xor esi, ecx
and esi, eax
mov eax, ebx
not eax
lea edi, [esi + ecx]
mov ecx, ebx
mov esi, edi
and eax, edi
not esi
and ecx, edi
and esi, ebx
or ebx, edi
imul eax, esi
lea edi, [edx + edx]
imul ebx, ecx
lea esi, [eax + ebx]
mov ebx, dword [esp + 0x1514]
lea ecx, [esi + esi]
xor esi, edx
and ecx, edi
sub ecx, ebx
lea eax, [ecx + esi + 1]
mov esi, dword [esp + 0x157c]
lea edi, [eax + eax]
lea edx, [esi + esi]
mov ecx, edx
or ecx, edi
sub ecx, edi
xor ecx, edx
mov edx, esi
not edx
add edx, edx
and edi, edx
lea edx, [ecx + ecx]
add edi, esi
sub edi, eax
lea esi, [edi + edi]
xor edi, ecx
and esi, edx
mov ecx, dword [esp + 0x1578]
add ebx, esi
mov esi, dword [esp + 0x1560]
mov edx, esi
lea edi, [ebx + edi - 1]
rol edx, cl
mov eax, edx
mov dword [esp + 0x1588], edi
not eax
rol edi, cl
and eax, edi
shld esi, esi, 0x1e
lea ebx, [eax + eax]
sub ebx, edi
add ebx, edx
mov eax, ebx
or eax, edi
sub eax, ebx
xor eax, edi
mov edi, eax
xor eax, edx
or edi, edx
mov edx, dword [esp + 0x1588]
shld edx, edx, 0x1e
add edi, edi
sub edi, eax
ror edi, cl
mov ecx, esi
xor ecx, edx
and ecx, esi
lea eax, [ecx + edx]
mov ecx, esi
not esi
sub ecx, edx
and esi, edx
mov edx, dword [esp + 0x1524]
lea esi, [ecx + esi*2]
mov ebx, esi
not ebx
imul ebx, eax
not eax
imul eax, esi
not ebx
not eax
sub ebx, eax
shrd ebx, ebx, 0x1e
lea ecx, [edx + ebx]
mov esi, ecx
mov eax, ecx
and esi, edi
or eax, edi
xor esi, edi
xor eax, ecx
xor eax, edi
mov edi, eax
add esi, ecx
or edi, esi
xor eax, esi
add edi, edi
sub edi, edx
sub edi, eax
mov eax, dword [esp + 4]
imul eax, dword [esp + 0x3ec]
mov dword [esp + 0x1178], edi
mov edi, eax
shld edi, eax, 0x16
mov ecx, edi
mov esi, edi
not ecx
mov edx, edi
and ecx, 0x4011cbf
and esi, 0xfbfee340
or edx, 0x4011cbf
and edi, 0x4011cbf
imul esi, ecx
imul edi, edx
mov dword [esp + 0x2c4], eax
add esi, edi
lea edx, [esi + esi]
xor esi, 0x62bc5838
and edx, 0x3a874f8e
sub edx, esi
mov ebx, edx
mov ecx, edx
mov edi, edx
not edx
or ebx, 0xea98533f
and ecx, 0xea98533f
and edi, 0x1567acc0
and edx, 0xea98533f
imul ecx, ebx
imul edx, edi
lea edi, [ecx + edx]
lea esi, [edi + edi]
xor edi, 0x11cc2238
and esi, 0xdc67bb8e
sub esi, edi
lea ecx, [esi + esi]
xor ecx, 1
sub esi, ecx
lea edx, [esi + 1]
mov edi, edx
mov esi, edx
mov ebx, edx
not edx
or edi, 0xd08562f7
and esi, 0xd08562f7
and ebx, 0x2f7a9d08
and edx, 0xd08562f7
imul esi, edi
imul edx, ebx
add esi, edx
mov ebx, esi
xor esi, 0xe029afeb
or ebx, 0xe029afeb
lea edx, [ebx + ebx]
sub edx, esi
mov ecx, edx
mov edi, edx
not ecx
mov esi, edx
and ecx, 0xca19fec7
and edi, 0x35e60138
or esi, 0xca19fec7
and edx, 0xca19fec7
imul edi, ecx
imul edx, esi
lea ebx, [edi + edx]
lea esi, [ebx + ebx]
xor ebx, 0xc71a1653
or esi, 0x8e342ca6
sub esi, ebx
mov edi, esi
neg edi
lea edx, [esi + esi]
and edx, 2
sub esi, edx
lea ecx, [edi + edi + 6]
or ecx, 0xfffffffd
lea ebx, [esi + 1]
lea ecx, [ecx + 3]
mov edi, ecx
not edi
imul edi, ebx
not ebx
imul ebx, ecx
not edi
not ebx
mov dword [esp + 0x158c], edi
sub edi, ebx
mov dword [esp + 0x1590], edi
shld edi, edi, 0xa
shrd edi, edi, 1
mov ecx, edi
mov esi, edi
or ecx, 1
and esi, 1
mov ebx, dword [esp]
shrd ebx, ebx, 1
shrd ebx, ebx, 0xd
mov dword [esp + 0x1594], edi
lea ecx, [ecx + esi - 1]
not ecx
shrd ecx, ecx, 0xd
lea edx, [ebx + ebx]
lea esi, [ecx + ecx]
or esi, edx
sub esi, ecx
sub esi, ebx
mov edx, esi
or esi, ecx
xor edx, ecx
lea ecx, [edi + edi]
xor edx, esi
and ecx, 2
mov esi, edx
and edx, ebx
or esi, ebx
xor edi, 1
add esi, edx
shrd esi, esi, 0x13
lea ecx, [ecx + edi - 1]
not ecx
lea edi, [esi + esi]
lea edx, [ecx + esi]
neg esi
lea ebx, [ecx + ecx - 0x1fcb29c]
and edi, ebx
lea ebx, [ecx - 0xfe594e]
sub edx, edi
mov edi, ebx
lea esi, [esi - 1]
xor edi, esi
or ebx, esi
xor edi, ebx
lea edx, [edx - 0xfe594e]
mov esi, edx
not esi
lea ecx, [edi + edi]
imul esi, ecx
not ecx
imul ecx, edx
sub esi, ecx
mov ecx, dword [esp + 0x560]
xor ecx, 1
lea edx, [esi - 0xfe594e]
mov esi, dword [esp + 0x1510]
shld edx, edx, 1
mov dword [esp + 0x578], edx
lea edi, [esi + esi - 2]
and edi, 2
lea ebx, [edi + ecx]
lea esi, [ebx + ebx]
sub ebx, esi
mov esi, eax
not esi
lea edi, [ebx - 1]
neg edi
lea ecx, [edi - 2]
bswap ecx
mov edx, ecx
not edx
imul edx, eax
imul esi, ecx
sub edx, esi
mov dword [esp + 0x1598], edx
lea edx, [ecx + ecx]
mov ebx, edx
neg ebx
lea edi, [ebx - 2]
mov esi, edi
lea ebx, [eax + eax]
or esi, ebx
xor esi, edi
mov edi, ecx
neg edi
xor esi, ebx
mov dword [esp + 0x159c], ebx
lea ebx, [edi - 1]
mov edi, ebx
or edi, eax
sub edi, eax
xor edi, ebx
mov ebx, dword [esp + 0x1598]
lea eax, [edi + edi]
xor edi, ecx
or edx, eax
mov ecx, esi
mov eax, dword [esp + 0x1594]
sub edx, edi
or ecx, ebx
and esi, ebx
sub ecx, eax
mov ebx, edx
not ebx
add ecx, esi
lea esi, [ebx + ebx]
lea edi, [ecx + ecx]
and esi, edi
lea edi, [edx + esi]
sub edi, ecx
neg ecx
lea ebx, [ecx - 1]
mov ecx, edi
not ebx
not ecx
or edx, ebx
neg edi
sub edx, ebx
lea esi, [edx + edx]
mov edx, esi
not esi
neg edx
imul ecx, edx
imul edi, esi
not ecx
not edi
lea ebx, [ecx + eax]
sub edi, ebx
lea eax, [edi - 1]
mov edi, dword [esp + 0x578]
mov esi, eax
or eax, 1
and esi, 1
shrd edi, edi, 7
mov edx, edi
mov ebx, edi
lea ecx, [esi + eax]
mov dword [esp + 0x8ac], ecx
shrd ecx, ecx, 7
and edx, ecx
or ebx, ecx
mov esi, edx
xor edx, edi
not esi
not ebx
sub esi, ebx
mov dword [esp + 0x15a0], esi
not esi
add edx, ecx
mov eax, edx
not edx
neg eax
imul esi, eax
not esi
mov dword [esp + 0x15a4], esi
mov esi, dword [esp + 0x15a0]
neg esi
mov ebx, edx
mov eax, dword [esp + 0x578]
imul ebx, esi
mov edi, eax
neg edi
not ebx
mov ecx, dword [esp + 0x15a4]
sub ecx, ebx
not ecx
lea ebx, [edi - 1]
mov edi, dword [esp + 0x8ac]
mov edx, edi
or edi, ebx
xor edx, ebx
sub edi, edx
lea edx, [eax + eax]
xor eax, edi
lea esi, [ecx + 1]
shld esi, esi, 7
lea ebx, [edi + edi]
or edx, ebx
mov ebx, esi
sub edx, eax
not ebx
mov ecx, edx
mov edi, edx
not ecx
or edi, ebx
and ecx, esi
sub edi, ebx
lea eax, [edx + ecx]
mov ecx, edi
mov ebx, eax
not ebx
and ecx, ebx
mov ebx, edi
not ebx
and ebx, eax
imul ebx, ecx
mov ecx, edi
or ecx, eax
and edi, eax
mov eax, esi
imul edi, ecx
neg eax
add edi, ebx
lea ebx, [eax - 1]
lea ecx, [edx + eax - 1]
mov eax, edx
neg edx
or eax, ebx
sub ecx, eax
mov ebx, ecx
not ebx
lea edx, [edx - 1]
not edx
mov eax, edx
or eax, esi
sub eax, edx
mov edx, eax
mov esi, eax
not edx
and esi, ebx
mov ebx, eax
and edx, ecx
and ebx, ecx
or eax, ecx
imul esi, edx
imul eax, ebx
mov ecx, dword [esp + 0x1590]
add esi, eax
mov edx, esi
xor esi, edi
or edx, edi
lea ebx, [edx + edx]
sub ebx, esi
mov dword [esp + 0x15a8], ebx
mov ebx, dword [esp + 0x8ac]
mov edi, ebx
rol edi, cl
neg ecx
not edi
mov esi, dword [esp + 0x578]
mov eax, esi
shld eax, esi, 0x17
neg eax
lea edx, [edi + 1]
not edx
lea edi, [edi + edi + 2]
neg edx
not edi
not edx
sub edx, edi
lea edi, [eax - 1]
rol edx, cl
shld edx, edx, 0x17
lea ecx, [eax + edx]
mov eax, edi
and eax, edx
sub ecx, eax
mov eax, edi
not eax
lea edx, [ecx - 1]
and eax, edx
xor edx, edi
mov edi, esi
not edi
add eax, eax
sub eax, edx
mov edx, ebx
not edx
lea esi, [edi + edi + 2]
and esi, 0xfffffffc
lea edi, [edi + 1]
xor edi, 1
sub esi, edi
mov ecx, esi
and ecx, edx
mov edx, ebx
or edx, esi
shrd eax, eax, 0x17
lea edi, [ebx + ecx]
and ebx, esi
sub edx, ebx
mov ebx, edi
not ebx
imul ebx, edx
not edx
imul edx, edi
sub ebx, edx
mov edx, eax
mov edi, ebx
neg edx
neg edi
mov ecx, ebx
not ecx
lea edx, [edx - 1]
lea edi, [edi - 1]
mov esi, edi
or edi, eax
xor esi, eax
sub edi, esi
mov esi, ecx
or esi, edx
mov edx, edi
sub esi, ecx
mov ecx, edi
or edx, esi
and ecx, esi
imul ecx, edx
mov edx, edi
not edx
and edx, esi
not esi
and edi, esi
imul edi, edx
lea esi, [ecx + edi]
mov ecx, ebx
and ecx, eax
mov edi, ebx
xor ecx, ebx
or edi, eax
xor edi, ebx
xor edi, eax
mov edx, edi
lea ebx, [ecx + eax]
mov ecx, edi
mov eax, ebx
not ecx
not eax
and ecx, ebx
and edx, eax
mov eax, edi
or eax, ebx
and edi, ebx
imul ecx, edx
mov ebx, esi
imul edi, eax
lea edx, [ecx + edi]
or ebx, edx
and esi, edx
lea edi, [ebx + esi]
mov esi, dword [esp + 0x15a8]
mov ecx, edi
lea edx, [esi - 0x218d1cbf]
or ecx, edx
lea eax, [esi + edi]
sub eax, ecx
not edx
and edx, edi
mov dword [esp + 0x15ac], ecx
lea ebx, [eax - 0x218d1cbf]
lea edi, [esi + edx - 0x218d1cbf]
mov esi, ebx
or esi, edi
and ebx, edi
lea edi, [esi + ebx + 0x218d1cbf]
mov dword [esp + 0x15b0], edi
mov ebx, dword [esp + 0x2c4]
mov edi, dword [esp]
shld ebx, ebx, 0x12
shld edi, edi, 0x12
mov ecx, edi
mov esi, ebx
shrd ecx, edi, 2
shrd esi, ebx, 2
mov edx, ecx
and edx, esi
lea eax, [ecx + esi]
sub eax, edx
mov edx, ecx
not edx
or edx, esi
mov esi, eax
not eax
lea edx, [ecx + edx + 1]
mov ecx, edx
not ecx
imul esi, ecx
lea ecx, [ebx + ebx]
imul eax, edx
not esi
not eax
sub esi, eax
lea eax, [edi + edi]
mov edx, edi
or eax, ecx
not edx
sub eax, ebx
sub eax, edi
mov edi, edx
or edi, eax
sub edi, edx
mov edx, edi
xor edi, ebx
and edx, ebx
shld esi, esi, 2
lea ebx, [edi + edx*2]
mov edi, ebx
neg edi
lea edx, [edi - 1]
mov edi, esi
mov ecx, edx
not edi
not ecx
and edi, edx
and ecx, esi
imul ecx, edi
mov edi, edx
and edi, esi
or edx, esi
neg ecx
neg esi
imul edx, edi
lea eax, [ecx - 1]
sub eax, edx
lea ecx, [esi - 1]
mov edx, ecx
mov edi, ecx
or edx, ebx
and edi, ebx
imul edi, edx
mov edx, ebx
not edx
neg edi
and edx, ecx
not ecx
and ecx, ebx
mov ebx, eax
imul ecx, edx
not ebx
neg eax
lea edi, [edi - 1]
sub edi, ecx
mov esi, edi
not edi
neg esi
imul ebx, esi
imul eax, edi
not ebx
not eax
sub ebx, eax
mov eax, dword [esp + 0x14c]
mov esi, eax
lea edx, [ebx + ebx]
neg edx
not edx
neg edx
lea ecx, [ebx + edx - 1]
mov ebx, dword [esp + 0x2c4]
shld ecx, ecx, 0xe
mov edi, ebx
mov dword [esp + 0x2cc], ecx
mov ecx, eax
bswap edi
and ecx, edi
xor esi, edi
mov dword [esp + 0x117c], edi
lea edx, [esi + ecx]
lea esi, [ecx + ecx]
sub edi, esi
lea esi, [edx + edx]
lea ecx, [eax + edi]
mov edi, ecx
xor edx, ecx
not edi
mov ecx, dword [esp + 0x560]
add edi, edi
and esi, edi
mov edi, ecx
sub esi, edx
bswap esi
bswap esi
or edi, esi
sub edi, ecx
xor edi, esi
neg esi
lea edx, [esi - 1]
mov esi, edi
not edx
or eax, edx
sub eax, edx
mov edx, ebx
and esi, eax
xor edi, eax
mov eax, dword [esp + 0x15ac]
lea ecx, [edi + esi*2]
mov esi, dword [esp + 0x159c]
bswap ecx
not esi
mov edi, esi
add ecx, eax
or edx, ecx
and ebx, ecx
sub edx, ebx
lea ebx, [ecx + ecx]
or edi, ebx
sub edi, esi
mov esi, edi
xor edi, edx
and esi, edx
lea ecx, [esi + esi]
sub ecx, eax
lea eax, [ecx + edi]
mov dword [esp + 0x15b4], eax
mov edx, eax
neg edx
lea esi, [edx - 1]
mov edx, dword [esp + 0x2cc]
mov ebx, esi
xor ebx, edx
and ebx, esi
lea edi, [ebx + edx]
mov ecx, edi
not ecx
imul ecx, esi
not esi
imul esi, edi
mov edi, edx
sub ecx, esi
neg edi
lea ebx, [edi - 1]
mov esi, ebx
or ebx, eax
xor esi, eax
xor esi, ebx
mov eax, esi
and esi, edx
xor eax, edx
mov edx, ecx
lea ebx, [eax + esi*2]
mov esi, ecx
mov edi, ebx
and esi, ebx
not edi
or edx, edi
lea edi, [ecx + ebx]
sub edi, esi
mov esi, edi
lea eax, [ebx + edx + 1]
mov edx, edi
and edx, eax
or esi, eax
imul esi, edx
mov edx, eax
mov dword [esp + 0x15b8], esi
not edx
mov esi, edi
not edi
and esi, edx
and edi, eax
lea eax, [esp + 0x15bc]
mov dword [eax], esi
mov edx, ecx
imul edi, dword [eax]
neg edx
mov eax, dword [esp + 0x15b8]
lea esi, [eax + edi]
mov dword [esp + 0x15c0], esi
lea eax, [edx - 1]
or eax, ebx
lea edi, [edx + ebx]
sub edi, eax
neg ebx
lea esi, [edi - 1]
mov edi, ecx
lea edx, [ebx - 1]
or edi, edx
xor edi, edx
mov edx, esi
xor ecx, edi
not edx
mov eax, ecx
mov edi, ecx
not eax
mov ebx, ecx
and edi, edx
and eax, esi
mov edx, dword [esp + 0x15b4]
and ebx, esi
or ecx, esi
mov esi, edx
not esi
imul edi, eax
imul ecx, ebx
bswap edx
lea eax, [esi + 1]
mov esi, eax
not eax
and eax, 1
add edi, ecx
mov dword [esp + 0x15c4], edi
xor esi, 1
mov ecx, dword [esp + 0x2cc]
neg edx
lea edi, [eax + eax]
mov eax, ecx
sub esi, edi
not eax
mov ebx, esi
mov edi, esi
xor ebx, ecx
and edi, ebx
add eax, eax
add edi, ecx
lea ebx, [edi + edi]
xor edi, ecx
and eax, ebx
sub eax, edi
mov edi, esi
not esi
sub edi, eax
shld ecx, ecx, 0x19
and esi, eax
lea edi, [edi + esi*2]
lea esi, [ecx - 1]
not esi
mov eax, esi
xor esi, 1
and eax, 0xfffffffe
add eax, eax
sub eax, esi
lea esi, [edx - 1]
shrd eax, eax, 0x19
bswap eax
mov ebx, esi
mov ecx, esi
and ebx, eax
xor ecx, eax
mov eax, esi
not eax
add ebx, ecx
mov dword [esp + 0x8b0], ebx
and eax, ebx
xor esi, ebx
lea edx, [eax + eax]
sub edx, esi
bswap edx
mov eax, edx
mov esi, edx
neg eax
not esi
lea ecx, [eax - 1]
mov eax, edi
neg eax
not ecx
mov ebx, ecx
or ebx, edi
sub ebx, ecx
lea ecx, [eax - 1]
mov eax, esi
or eax, ecx
mov ecx, ebx
sub eax, esi
mov esi, ebx
not esi
and esi, eax
mov dword [esp + 0x15c8], esi
mov esi, eax
not esi
and ecx, esi
mov esi, eax
and esi, ebx
or eax, ebx
imul ecx, dword [esp + 0x15c8]
imul eax, esi
lea esi, [ecx + eax]
mov eax, edi
and eax, edx
mov ecx, edi
xor eax, edx
not ecx
mov ebx, ecx
or ebx, edx
sub ebx, ecx
mov ecx, ebx
add edi, eax
mov edx, edi
mov eax, ebx
not edx
not ecx
and eax, edx
mov edx, ebx
and ecx, edi
or edx, edi
and ebx, edi
imul eax, ecx
imul ebx, edx
mov edx, dword [esp + 0x15c0]
lea edi, [eax + ebx]
mov eax, edi
mov ecx, edx
and eax, esi
xor edi, esi
mov esi, dword [esp + 0x15c4]
or ecx, esi
and edx, esi
sub ecx, dword [esp + 0x2cc]
lea edi, [edi + eax*2]
lea eax, [ecx + edx]
lea ebx, [edi + eax]
mov dword [esp + 0x15cc], ebx
mov ecx, edi
mov ebx, ecx
mov esi, eax
mov eax, ecx
xor ebx, esi
or eax, esi
and ecx, ebx
mov edx, dword [esp + 0x15cc]
sub edx, eax
mov eax, edx
mov edi, dword [esp + 0x2cc]
add ecx, esi
or eax, ecx
and edx, ecx
mov ecx, dword [esp + 0x8b0]
mov dword [esp + 0x268], 0
mov dword [esp + 0x3f4], 0x96380000
lea ebx, [edi + eax]
lea edi, [edx + ebx]
mov ebx, dword [esp + 0x15b0]
mov eax, ebx
mov esi, edi
ror eax, cl
neg eax
ror esi, cl
shrd edi, edi, 7
shrd ebx, ebx, 7
lea edx, [eax - 1]
lea ecx, [eax + esi]
mov eax, edx
and eax, esi
mov esi, edi
sub ecx, eax
or esi, ebx
lea eax, [ecx - 1]
lea ecx, [edi + ebx]
and edi, ebx
lea ebx, [esp + 0x15d0]
mov dword [ebx], ecx
sub ecx, esi
lea esi, [edi + edi]
mov edi, dword [ebx]
sub edi, esi
lea ebx, [ecx + ecx]
lea esi, [edi + edi]
xor edi, ecx
or ebx, esi
mov esi, eax
not esi
sub ebx, edi
imul esi, edx
not edx
imul edx, eax
shld ebx, ebx, 7
sub esi, edx
mov ecx, dword [esp + 0x8b0]
rol esi, cl
mov ecx, dword [esp + 0x158c]
sub esi, ecx
mov eax, esi
mov edx, esi
or eax, ebx
xor edx, ebx
sub eax, edx
lea edx, [eax + eax]
lea eax, [esi + ebx]
and esi, ebx
lea edi, [edx + edx]
lea ebx, [esi + esi]
sub eax, ebx
lea ebx, [eax + eax]
xor eax, edx
and edi, ebx
mov edx, dword [esp + 4]
add ecx, edi
add eax, ecx
imul edx, eax
mov dword [esp + 0x6b4], edx
test byte [esp + 0x6b4], 1
je 0x100315ce
mov ebx, dword [esp + 0x268]
mov eax, dword [esp + 0x3f4]
lea esi, [ebx + ebx]
lea ebx, [esi + esi]
bswap ebx
lea edi, [eax + eax]
mov ecx, ebx
neg ecx
bswap edi
shld eax, eax, 3
shld esi, esi, 3
lea ecx, [ecx - 1]
mov edx, ecx
xor ecx, edi
and edx, edi
lea edi, [edx + ecx]
mov ecx, ebx
xor ecx, 1
lea edx, [ebx + ebx]
and edx, 2
lea ebx, [ecx + edx]
mov ecx, edi
mov edx, eax
or ecx, ebx
and edi, ebx
neg edx
add edi, ecx
bswap edi
lea ecx, [edx - 1]
mov ebx, ecx
mov edx, eax
xor ebx, esi
or ecx, esi
not edx
sub ecx, ebx
and edx, esi
xor esi, eax
add ecx, ecx
add edx, edx
sub edx, esi
mov esi, ecx
not esi
imul esi, edx
not edx
imul edx, ecx
sub esi, edx
shrd esi, esi, 3
lea eax, [ebx + esi]
lea esi, [edi + edi]
mov ecx, esi
lea edx, [eax + eax]
and ecx, edx
xor ecx, edx
mov edx, eax
not edx
lea ecx, [ecx + edi*2]
add edx, edx
and edx, esi
sub edx, edi
mov esi, dword [esp + 0x268]
lea edi, [edx + eax]
mov edx, ecx
not ecx
xor edx, edi
sub edx, ebx
mov ebx, esi
not ebx
lea eax, [ecx + ecx]
lea ecx, [edi + edi]
and eax, ecx
sub edx, eax
imul ebx, edx
not edx
imul esi, edx
not ebx
not esi
sub ebx, esi
mov dword [esp + 0x268], ebx
shr dword [esp + 0x6b4], 1
lea edx, [esp + 0x3f4]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100314f5
mov edx, dword [esp + 0x268]
mov eax, dword [esp + 0x1178]
lea esi, [edx + edx]
bswap edx
mov ebx, esi
lea ecx, [eax + eax]
or ebx, ecx
mov edi, ebx
sub edi, esi
and esi, ecx
xor edi, ecx
sub ebx, esi
bswap eax
lea ecx, [edi + edi]
xor edi, ebx
lea esi, [ebx + ebx]
mov ebx, edx
neg ebx
or ecx, esi
sub ecx, edi
not edx
mov dword [esp + 0x1180], ebx
lea edi, [ebx + ebx - 2]
not edi
lea ebx, [eax + eax]
mov esi, edi
or esi, ebx
mov ebx, eax
neg ebx
not eax
sub esi, edi
mov edi, dword [esp + 0x1180]
imul edx, ebx
imul edi, eax
not edx
not edi
sub edx, edi
mov edi, ecx
mov ebx, edx
xor edx, esi
or ebx, esi
neg edi
lea eax, [ebx + ebx]
sub eax, edx
lea edi, [edi - 1]
mov esi, eax
mov ebx, edi
bswap esi
mov edx, edi
mov eax, esi
and ebx, esi
not eax
or edx, esi
and eax, edi
not edi
and edi, esi
neg esi
imul edx, ebx
imul edi, eax
lea eax, [esi - 1]
mov esi, ecx
and esi, eax
lea ebx, [edx + edi]
mov edi, eax
mov edx, ecx
not edi
or edx, eax
and edi, ecx
not ecx
and ecx, eax
imul esi, edx
imul ecx, edi
lea eax, [esi + ecx]
mov esi, dword [esp + 0x14c]
mov edx, eax
xor edx, ebx
not ebx
and ebx, eax
mov eax, dword [esp + 0x89c]
lea edi, [ebx + ebx]
mov ebx, dword [esp + 0x168]
sub edx, edi
and ebx, 0xc52a9e74
mov dword [esp + 0x1184], edx
mov edx, dword [esp + 0x1a8]
or edx, dword [esp + 0x14c0]
sub edx, esi
and esi, dword [esp + 0x14c4]
sub edx, eax
mov ecx, edx
not edx
add eax, esi
mov edi, eax
not edi
imul ecx, edi
imul edx, eax
mov edi, dword [esp]
sub ebx, edi
mov esi, edi
xor edi, 0x9d6ab0c5
or esi, 0x9d6ab0c5
not ecx
not edx
sub esi, edi
sub ecx, edx
lea ebx, [ebx - 0x62954f3b]
mov edx, esi
and esi, ebx
xor edx, ebx
lea eax, [ecx - 1]
not eax
bswap eax
lea ecx, [edx + esi*2]
mov edi, ecx
mov esi, ecx
neg edi
lea ebx, [edi - 1]
mov edi, eax
neg edi
not ebx
mov edx, ebx
or edx, eax
sub edx, ebx
mov ebx, edx
lea edi, [edi - 1]
or esi, edi
xor esi, edi
mov edi, edx
xor esi, ecx
and edi, esi
or ebx, esi
imul ebx, edi
mov edi, edx
mov dword [esp + 0x1188], ebx
not edi
mov ebx, esi
not esi
and ebx, edi
and edx, esi
lea esi, [esp + 0x118c]
mov dword [esi], ebx
mov ebx, eax
imul edx, dword [esi]
not ebx
mov edi, dword [esp + 0x1188]
and ebx, ecx
lea esi, [edi + edx]
mov edx, ecx
or edx, eax
add ebx, eax
sub edx, ecx
xor edx, eax
mov eax, ebx
mov dword [esp + 0x1190], esi
mov esi, edx
not eax
mov ecx, edx
not esi
and ecx, eax
and esi, ebx
imul esi, ecx
mov ecx, edx
or ecx, ebx
and edx, ebx
imul edx, ecx
mov edi, dword [esp + 0x72c]
lea eax, [esi + edx]
mov esi, dword [esp + 0x14c]
and esi, 1
mov dword [esp + 0x1194], eax
lea edi, [edi + esi*2 - 1]
not edi
bswap edi
mov ebx, edi
mov eax, edi
xor ebx, 0x9d6ab0c5
and eax, 0x9d6ab0c5
mov edx, edi
not edx
lea ecx, [ebx + eax]
mov ebx, dword [esp + 0x14c8]
imul edx, ecx
not ecx
imul ecx, edi
not edx
not ecx
sub edx, ecx
mov edi, edx
and edx, 0x62954f3a
not edi
and edi, 0x9d6ab0c5
lea ecx, [edi + edx]
mov edx, dword [esp]
mov esi, edx
mov edi, edx
and esi, dword [esp + 0x14cc]
xor edi, ebx
lea eax, [esi + esi]
sub eax, edx
and edx, ebx
add eax, ebx
lea ebx, [edi + edx]
mov edi, ebx
xor edi, eax
not eax
and eax, ebx
lea edx, [eax + eax]
sub edi, edx
not edi
mov dword [esp + 0x1198], edi
lea ebx, [edi + 1]
mov esi, ebx
mov edx, ebx
xor esi, ecx
or edx, ecx
sub edx, esi
and esi, ecx
mov eax, edx
lea edi, [edi + esi + 1]
mov esi, edx
or esi, edi
and eax, edi
imul eax, esi
mov esi, edi
not esi
and esi, edx
not edx
and edx, edi
imul edx, esi
lea edi, [eax + edx]
mov eax, ecx
neg eax
lea esi, [eax - 1]
mov edx, esi
or edx, ebx
sub edx, esi
xor edx, ebx
mov ebx, dword [esp + 0x1198]
neg ebx
lea esi, [ebx - 2]
mov ebx, ecx
or ebx, esi
sub ebx, ecx
mov ecx, edx
xor ebx, esi
not ecx
mov eax, ebx
mov esi, edx
and eax, ecx
mov ecx, ebx
not ecx
and esi, ebx
and ecx, edx
or edx, ebx
imul ecx, eax
imul edx, esi
mov ebx, dword [esp + 0x1194]
lea eax, [ecx + edx]
mov esi, eax
xor eax, edi
and esi, edi
mov edi, ebx
lea edx, [eax + esi*2]
mov eax, dword [esp + 0x1190]
or edi, eax
xor ebx, eax
mov eax, dword [esp + 0x89c]
lea ecx, [edi + edi]
sub ecx, ebx
sub ecx, eax
mov edi, ecx
mov ebx, ecx
not edi
xor ebx, edx
and ecx, edx
mov esi, edi
or esi, edx
sub esi, edi
mov edx, esi
lea edi, [ebx + ecx]
mov ecx, dword [esp + 0xf24]
and edx, edi
or esi, edi
mov edi, ecx
mov ebx, ecx
add eax, edx
lea edx, [esi + eax]
mov eax, edx
bswap eax
and edi, eax
xor ecx, eax
or ebx, eax
shld edx, edx, 0xc
mov eax, edx
add ecx, edi
shld eax, edx, 0x14
lea esi, [ebx + edi]
mov edi, ecx
not edi
lea ebx, [edi + edi]
lea edi, [esi + esi]
xor esi, ecx
and ebx, edi
mov edi, eax
sub ebx, esi
not edi
bswap ebx
mov ecx, eax
sub ebx, edx
add eax, eax
sub ecx, ebx
add edi, edi
lea esi, [ebx + ebx]
mov ebx, esi
and ebx, edi
lea edi, [ecx + ebx]
mov ecx, esi
or ecx, eax
xor esi, eax
xor ecx, esi
mov eax, ecx
xor ecx, edi
and eax, edi
lea edx, [edx + eax*2]
lea eax, [ecx + edx]
mov ecx, dword [esp]
mov edi, ecx
mov ebx, ecx
shld edi, ecx, 9
shrd ebx, ecx, 4
not edi
shrd edi, edi, 9
shrd edi, edi, 4
neg edi
mov dword [esp + 0x119c], eax
lea eax, [edi - 1]
mov edx, eax
not edx
mov esi, edx
and esi, ebx
mov ebx, ecx
or ebx, 0x40f5073b
add edx, edx
lea esi, [esi + edi - 1]
lea edi, [esi + esi]
xor esi, eax
and edx, edi
mov eax, ecx
sub edx, esi
mov esi, ecx
mov edi, dword [esp + 0x148]
and eax, 0x40f5073b
shld esi, ecx, 0xf
shrd edx, edx, 0x1c
imul eax, ebx
and ecx, 0xbf0af8c4
and edi, 0x40f5073b
imul edi, ecx
not esi
shrd esi, esi, 0xf
lea ecx, [eax + edi]
mov eax, ecx
xor ecx, 0x9d905d78
and eax, 0xe26fa287
lea ebx, [eax + eax]
sub ebx, ecx
mov eax, ebx
mov edi, ebx
not eax
mov ecx, ebx
and edi, 0x8675c60c
and eax, 0x798a39f3
or ecx, 0x798a39f3
and ebx, 0x798a39f3
imul eax, edi
imul ebx, ecx
add eax, ebx
mov edi, eax
not edi
imul edi, edi, 0x30778f18
imul ecx, eax, 0x30778f19
add edi, ecx
mov eax, edi
neg eax
lea ecx, [eax - 1]
xor ecx, esi
and ecx, esi
mov esi, edi
and esi, 1
or edi, 1
lea ebx, [ecx + eax - 1]
mov ecx, ebx
lea eax, [esi + edi]
and ecx, eax
xor ebx, eax
lea eax, [ebx + ecx*2]
mov esi, eax
mov edi, eax
and esi, edx
mov ebx, eax
xor esi, eax
xor edi, edx
or ebx, edx
sub ebx, edi
mov ecx, ebx
lea edi, [esi + edx]
mov esi, ebx
and esi, edi
or ecx, edi
imul ecx, esi
mov esi, ebx
not esi
and esi, edi
not edi
and ebx, edi
mov edi, eax
neg edi
imul ebx, esi
lea esi, [edi - 1]
mov edi, esi
xor esi, edx
or edi, edx
neg edx
sub edi, esi
add ebx, ecx
mov ecx, edi
lea esi, [edx - 1]
mov edx, eax
xor edx, esi
or eax, esi
xor edx, eax
mov eax, edi
and ecx, edx
or eax, edx
imul eax, ecx
mov ecx, edi
not ecx
mov esi, edx
not edx
and esi, ecx
and edx, edi
imul edx, esi
mov ecx, dword [esp]
lea edi, [eax + edx]
mov edx, ebx
add ebx, ebx
xor edx, edi
lea eax, [edi + edi]
and ebx, eax
lea edi, [edx + ebx]
mov dword [esp + 0x11a0], edi
mov edi, ecx
shld edi, ecx, 7
mov esi, edi
neg esi
lea edx, [esi - 1]
mov eax, edx
lea esi, [edi + edi]
and eax, edi
or esi, 2
xor eax, edx
add eax, edi
xor edi, 1
sub esi, edi
lea edi, [ecx + ecx]
mov edx, esi
xor edx, eax
add eax, eax
sub edi, dword [esp + 0x168]
lea ebx, [esi + esi]
mov esi, ecx
and ebx, eax
xor esi, edi
and ecx, edi
add edx, ebx
shrd edx, edx, 7
lea eax, [esi + ecx*2]
mov edi, eax
mov esi, eax
xor edi, edx
or esi, edx
mov ecx, eax
sub esi, edi
and ecx, edx
lea ebx, [eax + edx]
sub ebx, ecx
mov edi, esi
not edi
mov ecx, ebx
and ecx, edi
mov edi, ebx
mov dword [esp + 0x11a4], ecx
not edi
mov ecx, esi
and ecx, edi
mov edi, ebx
or edi, esi
and ebx, esi
mov esi, edx
imul ecx, dword [esp + 0x11a4]
neg esi
imul ebx, edi
lea edi, [ecx + ebx]
mov ebx, eax
lea esi, [esi - 1]
or ebx, esi
xor ebx, eax
neg eax
xor ebx, esi
lea esi, [eax - 1]
mov eax, esi
or eax, edx
xor eax, esi
xor eax, edx
mov edx, eax
mov esi, eax
and edx, ebx
or esi, ebx
imul esi, edx
mov edx, ebx
not edx
mov ecx, eax
not eax
and ecx, edx
and ebx, eax
imul ebx, ecx
mov ecx, edi
mov edx, dword [esp + 0x11a0]
add esi, ebx
or ecx, esi
xor edi, esi
lea eax, [ecx + ecx]
sub eax, edi
mov ecx, eax
mov ebx, eax
xor ecx, edx
and ebx, ecx
mov ecx, eax
not ecx
and ecx, edx
lea esi, [ebx + edx]
not edx
and edx, eax
lea edi, [esi + esi]
lea eax, [ecx + edx]
mov esi, edi
mov edi, esi
not esi
xor edi, eax
lea ebx, [esi + esi]
lea ecx, [eax + eax]
and ebx, ecx
sub edi, ebx
mov ebx, dword [esp + 0x14c]
mov esi, ebx
mov dword [esp + 0x11a8], edi
mov edx, ebx
bswap edi
neg esi
and edx, edi
xor edx, edi
lea eax, [ebx + edx]
not ebx
mov ecx, eax
neg eax
not ecx
imul esi, ecx
imul ebx, eax
not esi
not ebx
sub esi, ebx
mov ecx, esi
not ecx
and ecx, edi
mov edx, dword [esp + 0x148]
and edx, 0x7d278edf
lea esi, [esi + ecx*2]
mov ecx, dword [esp]
mov eax, ecx
mov ebx, ecx
and eax, 0x82d87120
and ebx, 0x7d278edf
or ecx, 0x7d278edf
sub esi, edi
imul eax, edx
imul ecx, ebx
bswap esi
add eax, ecx
imul edx, eax, 0xe036810
not eax
imul eax, eax, 0xf1fc97f1
mov dword [esp + 0x11ac], edx
not eax
not edx
sub eax, edx
mov ebx, eax
mov ecx, eax
or ebx, 0xad77ad1f
and ecx, 0xad77ad1f
imul ecx, ebx
mov ebx, eax
not ebx
and eax, 0x528852e0
and ebx, 0xad77ad1f
imul eax, ebx
add eax, ecx
mov ecx, eax
not ecx
imul edx, ecx, 0x81b4bcd1
imul ebx, eax, 0x7e4b4330
not edx
not ebx
sub edx, ebx
bswap edx
mov ecx, edx
not ecx
mov eax, ecx
or eax, edi
lea eax, [edx + eax + 1]
and ecx, eax
lea ecx, [edx + ecx*2]
sub ecx, eax
lea eax, [edi + edi]
lea ebx, [ecx + ecx]
xor ecx, edi
or ebx, eax
sub ebx, ecx
bswap ebx
mov edi, ebx
mov eax, ebx
not edi
or eax, esi
and edi, esi
sub eax, esi
xor eax, ebx
lea edx, [edi + ebx]
mov edi, eax
mov ecx, edx
not edi
not ecx
and edi, edx
and ecx, eax
imul ecx, edi
mov edi, eax
or edi, edx
and eax, edx
imul eax, edi
lea edx, [eax + ecx]
mov eax, ebx
neg eax
mov dword [esp + 0x11b0], edx
lea edi, [eax - 1]
mov edx, edi
or edx, esi
xor edx, edi
xor edx, esi
neg esi
mov eax, edx
not eax
lea esi, [esi - 1]
not esi
mov edi, esi
or edi, ebx
sub edi, esi
mov esi, edi
mov ebx, edi
not esi
and eax, edi
and esi, edx
or ebx, edx
and edi, edx
imul esi, eax
imul edi, ebx
mov eax, dword [esp + 0xba0]
lea ebx, [esi + edi]
mov esi, eax
xor eax, 1
and esi, 0xfffffffe
mov dword [esp + 0x11b4], ebx
mov ebx, dword [esp + 0x11a8]
lea edi, [esi + esi]
sub edi, eax
mov eax, ebx
mov dword [esp + 0x11b8], edi
shrd edi, edi, 0x10
shrd eax, ebx, 0x10
mov edx, edi
and edx, eax
xor edx, edi
ror ebx, cl
neg ecx
not ebx
lea esi, [edx + eax]
mov edx, esi
not esi
xor edx, edi
add edi, edi
add esi, esi
and esi, edi
sub edx, esi
mov edi, edx
not edx
sub edi, eax
and edx, eax
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x6f8]
mov esi, eax
xor eax, 1
and esi, 0xfffffffe
lea edx, [edi + edx*2]
shrd edx, edx, 0x10
lea edi, [esi + esi]
mov esi, dword [esp + 0x724]
sub edi, eax
ror edi, cl
mov eax, dword [esp + 0x1a4]
and eax, edi
add esi, edi
sub esi, eax
mov eax, dword [esp]
and eax, 1
mov dword [esp + 0x11bc], eax
lea ecx, [esi - 1]
lea esi, [esi + esi - 2]
lea edi, [ebx + eax*2]
mov dword [esp + 0x11c0], edi
xor ecx, edi
lea ebx, [edi + edi]
and esi, ebx
lea eax, [ecx + esi]
mov ecx, eax
mov esi, eax
xor ecx, edx
and esi, edx
mov edi, eax
lea ebx, [eax + edx]
or edi, edx
sub ebx, edi
add ecx, esi
mov esi, ebx
mov edi, ecx
not esi
not edi
and esi, ecx
and edi, ebx
imul edi, esi
mov esi, ebx
or esi, ecx
and ebx, ecx
imul ebx, esi
mov ecx, eax
not ecx
lea esi, [edi + ebx]
mov edi, edx
neg edi
lea edi, [edi - 1]
or ecx, edi
lea ecx, [ecx + eax + 1]
neg eax
lea ebx, [eax - 1]
or ebx, edx
sub ebx, eax
lea edi, [ebx + 1]
mov ebx, esi
xor edi, edx
mov edx, edi
mov eax, edi
and edx, ecx
or eax, ecx
imul eax, edx
mov edx, edi
not edx
and edx, ecx
not ecx
and edi, ecx
imul edi, edx
mov ecx, dword [esp + 0x11ac]
add eax, edi
xor ebx, eax
and esi, eax
mov eax, dword [esp + 0x11b4]
lea edx, [ebx + esi*2]
mov esi, dword [esp + 0x11b0]
mov edi, esi
and esi, eax
or edi, eax
lea ebx, [edx + edx]
sub edi, ecx
lea eax, [edi + esi]
mov edi, ebx
lea esi, [eax + eax]
xor edi, esi
and ebx, esi
lea esi, [edi + ebx]
mov edi, edx
not edi
and edi, eax
lea ebx, [edx + edi*2]
sub ebx, eax
mov edx, ebx
xor ebx, esi
not edx
and edx, esi
mov esi, dword [esp + 0x14d0]
mov edi, esi
lea edx, [ecx + edx*2]
mov ecx, esi
sub edx, ebx
mov eax, edx
bswap eax
or edi, eax
xor ecx, eax
mov dword [esp + 0x848], eax
mov dword [esp + 0x844], edx
lea ebx, [edi + edi]
sub edi, eax
xor esi, edi
sub ebx, ecx
mov edi, edx
mov ecx, edx
not edi
and ecx, 0xb00206c2
and edi, 0x4ffdf93d
imul edi, ecx
lea eax, [esi + esi]
mov esi, ebx
not esi
imul esi, eax
not eax
imul ebx, eax
mov eax, edx
or edx, 0x4ffdf93d
and eax, 0x4ffdf93d
sub esi, ebx
imul edx, eax
mov dword [esp + 0x11c4], edi
add edi, edx
mov ebx, edi
and edi, 0x1d64b7be
xor ebx, 0x9d64b7be
mov dword [esp + 0x84c], esi
bswap esi
lea ecx, [ebx + edi*2]
mov edi, ecx
mov edx, ecx
mov eax, ecx
not edi
or edx, 0x3991a615
and eax, 0x3991a615
and edi, 0x3991a615
and ecx, 0xc66e59ea
imul eax, edx
imul ecx, edi
add eax, ecx
imul edx, eax, 0x66f9b969
not eax
imul ebx, eax, 0x99064696
not edx
not ebx
sub edx, ebx
mov ebx, esi
shrd edx, edx, 0x19
mov eax, edx
and ebx, 0x48055dbf
and eax, 0x13fffff4
lea ecx, [edx + 0x13fffff4]
lea edi, [eax + eax]
mov eax, edx
not eax
sub ecx, edi
or eax, 0x13fffff4
mov edi, esi
or edi, 0x48055dbf
imul edi, ebx
lea eax, [edx + eax + 1]
mov edx, esi
not edx
and esi, 0xb7faa240
and edx, 0x48055dbf
imul esi, edx
lea ebx, [edi + esi]
lea edi, [ebx + ebx]
xor ebx, 0x95dd93a5
or edi, 0x2bbb274a
sub edi, ebx
mov esi, edi
mov ebx, edi
not esi
and ebx, 0xb766dc0
and esi, 0xf489923f
imul ebx, esi
mov esi, edi
and esi, 0xf489923f
or edi, 0xf489923f
imul edi, esi
lea esi, [ebx + edi]
mov edi, ecx
mov ebx, esi
xor esi, 0x78f79065
and ebx, 0xf8f79065
xor edi, eax
and ecx, eax
lea esi, [esi + ebx*2]
shld esi, esi, 0x11
lea ebx, [edi + ecx*2]
mov edi, esi
shld ebx, ebx, 0x19
shld ebx, ebx, 0x11
mov eax, ebx
xor edi, ebx
not eax
and eax, esi
neg esi
lea ecx, [esi - 1]
mov esi, ecx
or ecx, ebx
xor esi, ebx
add eax, eax
sub ecx, esi
sub eax, edi
mov edi, eax
lea esi, [ecx + ecx]
mov ecx, dword [esp + 0x11c4]
or edi, esi
xor eax, esi
mov esi, edx
sub esi, dword [esp + 0x844]
lea ebx, [edi + edi]
sub ebx, eax
lea edi, [esi - 1]
neg edi
not edi
sub edi, edx
shld ebx, ebx, 0xf
mov dword [esp + 0x850], ebx
lea eax, [edi + 1]
mov edi, 0x17d80000
rol edi, cl
mov dword [esp + 0x11c8], eax
mov edx, edi
rol eax, cl
neg ecx
or edx, eax
sub edx, eax
xor edx, edi
mov esi, edx
and edx, edi
or esi, edi
sub esi, edx
mov edi, esi
xor esi, eax
or edi, eax
mov eax, dword [esp + 0x84c]
neg eax
add edi, edi
sub edi, esi
rol edi, cl
lea eax, [eax + 0x17d80000]
mov ebx, eax
mov ecx, edi
neg ebx
not ecx
lea edx, [ebx - 1]
mov ebx, edx
mov esi, edx
or ebx, edi
and esi, edi
imul esi, ebx
mov ebx, edx
not ebx
and ecx, edx
and ebx, edi
neg esi
imul ecx, ebx
neg edi
mov edx, eax
lea esi, [esi - 1]
sub esi, ecx
lea ecx, [edi - 1]
mov ebx, ecx
not edx
not ebx
mov edi, ecx
and edx, ecx
and ebx, eax
or edi, eax
and ecx, eax
imul ebx, edx
imul ecx, edi
lea eax, [ebx + ecx]
mov ecx, dword [esp + 0x11c8]
neg eax
shld ecx, ecx, 0x1c
lea edi, [eax - 1]
mov eax, esi
not esi
xor eax, edi
and esi, edi
lea edi, [ecx + ecx]
sub eax, dword [esp + 0x84c]
neg edi
mov dword [esp + 0x11cc], edi
lea ebx, [esi + esi]
sub eax, ebx
lea edx, [edi - 2]
shld eax, eax, 0x1c
mov dword [esp + 0x11d0], edx
not edx
lea esi, [eax + eax]
xor eax, ecx
or edx, esi
lea ebx, [edx + edi - 1]
mov edi, ecx
not edi
mov edx, ebx
not edx
neg ebx
add edi, edi
and esi, edi
sub esi, eax
mov ecx, esi
not esi
neg ecx
imul edx, ecx
imul ebx, esi
not edx
not ebx
sub edx, ebx
shld edx, edx, 4
mov dword [esp + 0x854], edx
bswap edx
mov dword [esp + 0x11d4], edx
not edx
mov esi, dword [esp + 0x850]
mov eax, esi
shrd eax, esi, 0xf
lea ecx, [edx + 1]
not ecx
lea edi, [edx + edx + 2]
neg ecx
not edi
not ecx
lea edx, [esi + esi]
sub ecx, edi
and edx, 2
bswap ecx
shrd ecx, ecx, 0xf
mov ebx, ecx
not ebx
and ebx, eax
lea edi, [eax + ecx]
and eax, ecx
add ebx, ecx
add eax, eax
sub edi, eax
mov eax, edi
not eax
imul eax, ebx
not ebx
imul ebx, edi
not eax
not ebx
sub eax, ebx
shld eax, eax, 0xf
mov dword [esp + 0x11d8], eax
mov eax, esi
xor eax, 1
mov ebx, dword [esp + 0x854]
mov ecx, ebx
not ecx
lea esi, [edx + eax - 1]
not esi
and ecx, esi
lea edi, [ebx + ecx]
lea edx, [edi + edi]
lea ecx, [esi + esi]
and edx, ecx
lea eax, [esi + edi]
sub eax, edx
mov edx, ebx
mov esi, eax
not esi
and edx, esi
lea edi, [edx + edx]
sub edi, ebx
add edi, eax
mov eax, dword [esp + 0x11d8]
mov ebx, eax
mov ecx, edi
neg ebx
lea edx, [ebx - 1]
mov ebx, edi
xor ecx, edx
or ebx, edx
mov edx, edi
sub ebx, ecx
neg edx
mov ecx, eax
lea esi, [edx - 1]
not esi
or ecx, esi
sub ecx, esi
mov edx, ecx
mov esi, ecx
and edx, ebx
or esi, ebx
imul esi, edx
mov edx, ebx
mov dword [esp + 0x11dc], esi
not edx
mov esi, ecx
not ecx
and esi, edx
and ebx, ecx
lea ecx, [esp + 0x11e0]
mov dword [ecx], esi
mov esi, eax
imul ebx, dword [ecx]
or esi, edi
mov edx, dword [esp + 0x11dc]
lea ecx, [edx + ebx]
mov ebx, edi
not ebx
lea edx, [eax + edi]
and eax, ebx
sub edx, esi
mov esi, edx
lea ebx, [eax + edi]
mov edi, edx
and esi, ebx
or edi, ebx
mov eax, ebx
imul edi, esi
not eax
mov esi, edx
not edx
and esi, eax
and edx, ebx
imul edx, esi
mov eax, ecx
mov esi, dword [esp + 0x850]
lea ebx, [edi + edx]
or eax, ebx
and ecx, ebx
mov edx, esi
bswap edx
shld esi, esi, 0x19
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0x11d4]
mov dword [esp + 0x11e4], ebx
mov edi, ecx
mov ebx, ecx
and edi, edx
xor ebx, edx
lea eax, [edi + ebx]
mov edi, eax
not edi
and edi, edx
lea ebx, [edi + edi]
mov edi, dword [esp + 0x854]
sub ebx, edx
lea edx, [ecx + ecx]
shld edi, edi, 0x19
add eax, ebx
lea ebx, [ecx + eax]
lea ecx, [eax + eax]
mov eax, edi
and edx, ecx
lea ecx, [edi + esi]
or eax, esi
sub ebx, edx
sub ecx, eax
lea eax, [edi + edi]
bswap ebx
lea edx, [esi + esi]
or eax, edx
sub eax, edi
sub eax, esi
lea esi, [ecx + ecx]
lea edx, [eax + eax]
xor eax, ecx
and esi, edx
mov edx, ebx
neg edx
add esi, eax
shld esi, esi, 7
mov ecx, esi
neg ecx
lea edi, [ecx - 1]
mov eax, edi
xor edi, ebx
or eax, ebx
xor eax, edi
lea edi, [edx - 1]
mov edx, edi
or edx, esi
xor edx, esi
xor edx, edi
mov edi, eax
mov ecx, edx
not edi
not ecx
and edi, edx
and ecx, eax
imul edi, ecx
mov ecx, eax
and ecx, edx
or eax, edx
imul eax, ecx
mov ecx, ebx
not ecx
lea edx, [edi + eax]
mov edi, esi
or ecx, esi
not edi
and edi, ebx
lea eax, [ebx + ecx + 1]
mov ebx, eax
lea ecx, [edi + esi]
mov edi, eax
or ebx, ecx
and edi, ecx
imul edi, ebx
mov ebx, ecx
not ebx
lea esi, [edx + edx]
and ebx, eax
not eax
and eax, ecx
imul eax, ebx
add edi, eax
mov eax, dword [esp + 0x11e4]
lea ecx, [edi + edi]
xor edi, edx
or esi, ecx
sub esi, edi
lea ebx, [eax + eax]
mov edx, ebx
mov ecx, ebx
lea edi, [esi + esi]
or edx, edi
xor ecx, edi
sub edx, ecx
mov ecx, esi
not ecx
add ecx, ecx
and ecx, ebx
sub ecx, eax
mov eax, edx
lea ebx, [ecx + esi]
mov ecx, dword [esp + 0x844]
shrd ecx, ecx, 0x14
and eax, ebx
xor edx, ebx
mov ebx, ecx
xor ebx, 0x8000017d
mov dword [esp + 0x11e8], eax
lea esi, [edx + eax*2]
mov dword [esp + 0x11ec], esi
mov esi, dword [esp + 0x848]
lea edx, [ecx + ecx]
or edx, 0x2fa
or ecx, 0x8000017d
sub edx, ebx
sub ecx, ebx
mov ebx, dword [esp + 0x8a0]
mov edi, esi
and edi, ebx
mov eax, esi
xor eax, edi
lea edi, [ebx + eax]
mov eax, esi
xor eax, ebx
or esi, ebx
xor eax, esi
mov ebx, eax
xor eax, edi
not ebx
and ebx, edi
mov dword [esp + 0x11f0], edi
lea esi, [ebx + ebx]
mov ebx, ecx
xor ebx, edx
not edx
sub esi, eax
add ecx, ecx
mov eax, esi
bswap eax
lea edi, [edx + edx]
mov edx, dword [esp + 0x11cc]
and ecx, edi
sub ebx, ecx
shld ebx, ebx, 0x14
lea ebx, [ebx + edx - 2]
mov edx, ebx
neg edx
lea ecx, [edx - 1]
mov edx, eax
not edx
neg eax
lea edx, [edx + 1]
mov edi, edx
mov esi, edx
or edi, ecx
and esi, ecx
imul esi, edi
mov edi, ecx
not edi
and edi, edx
not edx
and edx, ecx
lea ecx, [eax - 1]
imul edx, edi
lea edi, [esi + edx]
neg edi
lea edx, [ebx - 1]
not edx
mov ebx, ecx
not ebx
mov esi, edx
mov eax, edx
and esi, ebx
not eax
mov ebx, edx
and eax, ecx
and ebx, ecx
or edx, ecx
imul eax, esi
imul edx, ebx
lea ecx, [eax + edx]
neg ecx
lea eax, [edi + edi - 2]
lea edi, [edi - 1]
lea ecx, [ecx - 1]
mov esi, ecx
xor edi, ecx
not esi
lea ebx, [esi + esi]
mov esi, dword [esp + 0x848]
mov edx, esi
and ebx, eax
not edx
mov ecx, esi
mov eax, dword [esp + 0x11f0]
imul edx, eax
not eax
imul ecx, eax
not edx
not ecx
sub edx, ecx
mov eax, dword [esp + 0x8a0]
sub ebx, dword [esp + 0x11d0]
sub ebx, edi
mov dword [esp + 0x2c8], ebx
lea edi, [eax + edx]
mov ecx, dword [esp + 0x14d4]
lea ebx, [edx + edx]
and ecx, ebx
mov edx, edi
sub edx, ecx
mov ecx, dword [esp + 0x14d8]
mov edi, ecx
lea ebx, [edx + edx]
or edi, ebx
xor ecx, ebx
mov ebx, edx
sub edi, ecx
not ebx
imul eax, ebx
mov ebx, dword [esp + 0x14dc]
not eax
imul ebx, edx
mov edx, edi
not ebx
sub eax, ebx
and edx, eax
xor edi, eax
lea eax, [esi + esi]
lea edx, [edi + edx*2]
lea ebx, [edx + edx]
mov ecx, ebx
or ecx, eax
xor ecx, eax
xor ecx, ebx
mov ebx, edx
not ebx
lea edi, [ebx + ebx]
and eax, edi
add edx, eax
mov eax, dword [esp + 0x2c8]
sub edx, esi
lea esi, [ecx + ecx]
rol eax, cl
lea ebx, [edx + edx]
xor edx, ecx
and esi, ebx
lea edi, [esi + edx]
bswap edi
lea esi, [eax + eax]
mov ebx, edi
neg ebx
mov dword [esp + 0x11f4], edi
bswap edi
lea ebx, [ebx - 1]
rol ebx, cl
lea edx, [ebx + ebx]
or edx, esi
mov esi, ebx
sub edx, eax
xor esi, eax
sub edx, ebx
and ebx, eax
lea eax, [esi + ebx]
mov esi, edx
not edx
xor esi, eax
add eax, eax
lea ebx, [edx + edx]
and eax, ebx
sub esi, eax
lea esi, [esi - 1]
not esi
ror esi, cl
mov ecx, dword [esp + 0x2c8]
mov eax, ecx
xor eax, 1
lea ebx, [ecx + ecx]
mov ecx, edi
and ebx, 2
lea ebx, [eax + ebx - 1]
not ebx
bswap ebx
mov edx, ebx
mov eax, ebx
not edx
sub eax, edi
and edx, edi
xor ecx, ebx
and edi, ebx
lea edx, [eax + edx*2]
lea eax, [ecx + edi]
mov ebx, eax
or ebx, edx
add ebx, ebx
sub ebx, edx
sub ebx, eax
bswap ebx
mov eax, ebx
neg eax
lea edx, [eax - 1]
mov eax, esi
neg eax
mov edi, edx
xor edi, esi
or edx, esi
xor edi, edx
mov edx, edi
lea ecx, [eax - 1]
mov eax, ecx
or eax, ebx
xor eax, ebx
xor eax, ecx
mov ecx, edi
or edx, eax
and ecx, eax
imul ecx, edx
mov edx, eax
not edx
and edx, edi
not edi
and eax, edi
imul eax, edx
mov edx, esi
and edx, ebx
lea edi, [ecx + eax]
xor edx, esi
mov eax, esi
mov ecx, esi
or eax, ebx
xor ecx, ebx
sub eax, ecx
mov esi, eax
add edx, ebx
mov ebx, eax
and esi, edx
or ebx, edx
imul ebx, esi
mov esi, eax
not esi
and esi, edx
not edx
and edx, eax
imul edx, esi
lea eax, [ebx + edx]
mov ebx, eax
xor eax, edi
or ebx, edi
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x2c8]
sub ecx, eax
mov eax, dword [esp + 0x11f4]
mov esi, eax
shld esi, eax, 0x16
shld ebx, ebx, 0x16
mov edi, esi
mov edx, esi
xor edi, ebx
neg edx
and edi, esi
not esi
mov dword [esp + 0x11f8], ecx
lea ecx, [edi + ebx]
mov edi, ecx
neg ecx
not edi
imul edx, edi
imul esi, ecx
not edx
not esi
sub edx, esi
mov ecx, ebx
not ebx
sub ecx, edx
and edx, ebx
mov esi, dword [esp + 0x2c8]
lea ebx, [ecx + edx*2]
mov ecx, dword [esp + 0x11e8]
rol eax, cl
rol esi, cl
neg ecx
shrd ebx, ebx, 0x16
mov dword [esp + 0x11fc], ebx
lea edi, [eax + eax]
lea ebx, [esi + esi]
and ebx, edi
lea edx, [eax + esi]
sub edx, ebx
mov edi, edx
xor edx, eax
or edi, eax
sub edi, edx
mov eax, edi
xor edi, esi
or eax, esi
lea edx, [eax + eax]
mov eax, dword [esp + 0x11fc]
sub edx, edi
mov esi, eax
rol edx, cl
not esi
mov ebx, edx
mov edi, esi
not ebx
or edi, edx
and ebx, eax
sub edi, esi
mov esi, edi
add ebx, edx
mov ecx, ebx
not ecx
and esi, ecx
mov ecx, edi
not ecx
and ecx, ebx
imul ecx, esi
mov esi, edi
or esi, ebx
and edi, ebx
imul edi, esi
lea ebx, [ecx + edi]
mov ecx, eax
neg ecx
lea edi, [ecx - 1]
mov esi, edi
or esi, edx
xor esi, edx
neg edx
xor esi, edi
mov edi, esi
lea edx, [edx - 1]
mov ecx, edx
xor edx, eax
or ecx, eax
mov eax, esi
sub ecx, edx
mov edx, esi
or edi, ecx
and eax, ecx
imul eax, edi
mov edi, ecx
not edi
not esi
and edx, edi
and ecx, esi
imul ecx, edx
add ecx, eax
lea eax, [ebx + ebx]
xor ebx, ecx
lea edx, [ecx + ecx]
and eax, edx
mov dword [esp + 0x1200], eax
add eax, ebx
mov dword [esp + 0x1204], eax
mov esi, ebx
mov eax, dword [esp + 0x1200]
mov edi, dword [esp + 0x11f8]
mov ebx, edi
lea edx, [eax + esi - 0x110b7679]
mov esi, edi
or esi, edx
mov eax, edi
and ebx, edx
xor eax, edx
lea edx, [esi + esi]
sub edx, edi
lea ecx, [ebx + eax]
sub edx, dword [esp + 0x1204]
add ecx, ecx
lea esi, [ecx + ecx]
lea ebx, [edx + 0x110b7679]
mov edi, ebx
xor ebx, ecx
not edi
lea eax, [edi + edi]
and eax, esi
sub eax, ebx
mov ebx, dword [esp + 0x11ec]
mov edx, ebx
lea esi, [eax + 0x110b7679]
mov eax, ebx
mov ecx, esi
neg ecx
bswap ebx
lea edi, [ecx - 1]
or edx, edi
sub edx, edi
mov edi, ebx
xor eax, edx
mov ecx, eax
or eax, esi
and ecx, esi
bswap esi
xor edi, esi
and edi, ebx
add ecx, eax
lea edx, [edi + esi]
mov eax, edx
not edx
xor eax, esi
add esi, esi
lea edi, [edx + edx]
mov edx, ecx
and edi, esi
sub eax, edi
lea esi, [eax + ebx]
and eax, ebx
lea ebx, [eax + eax]
mov eax, ecx
sub esi, ebx
bswap esi
lea edi, [esi + 0x55e41396]
mov esi, ecx
and edx, edi
xor eax, edi
or esi, edi
xor esi, edi
xor esi, ecx
mov edi, esi
add edx, eax
or edi, edx
and esi, edx
lea ebx, [edi + esi - 0x55e41396]
mov ecx, ebx
mov edi, ebx
not ecx
mov eax, ebx
and edi, 0x26cf4958
and ecx, 0xd930b6a7
or eax, 0xd930b6a7
and ebx, 0xd930b6a7
imul ecx, edi
imul ebx, eax
lea esi, [ecx + ebx]
lea edi, [esi + esi]
xor esi, 0x23404111
or edi, 0x46808222
sub edi, esi
mov edx, edi
mov ebx, edi
mov eax, edi
not edi
and edx, 0xf1dd9117
or ebx, 0xf1dd9117
and eax, 0xe226ee8
and edi, 0xf1dd9117
imul ebx, edx
imul edi, eax
lea ecx, [ebx + edi]
mov edi, dword [esp + 4]
mov esi, ecx
not esi
imul ebx, esi, 0xbc4d7987
mov esi, edi
imul edx, ecx, 0xbc4d7988
mov ecx, dword [esp + 0x150]
lea eax, [ebx + edx]
and ecx, eax
or esi, eax
xor esi, eax
mov edx, edi
xor edx, esi
mov ebx, edx
not ebx
lea esi, [edi + ecx]
mov ecx, esi
and ebx, esi
not ecx
and ecx, edx
imul ebx, ecx
mov ecx, edx
or ecx, esi
and edx, esi
imul edx, ecx
mov ecx, dword [esp + 0x240]
mov esi, ecx
or esi, eax
add edx, ebx
sub esi, eax
neg eax
xor ecx, esi
mov esi, edi
mov ebx, ecx
lea eax, [eax - 1]
or esi, eax
xor edi, eax
xor esi, edi
mov eax, ecx
mov edi, esi
not eax
not edi
and eax, esi
and edi, ecx
and ebx, esi
or ecx, esi
imul edi, eax
imul ecx, ebx
lea esi, [edi + ecx]
mov ebx, esi
or esi, edx
and ebx, edx
mov edx, dword [esp + 0x11c0]
not edx
mov dword [esp + 0x120c], edx
lea edi, [ebx + esi]
mov dword [esp + 0x1208], edi
mov ecx, edi
shrd ecx, edi, 0x1f
mov ebx, ecx
lea eax, [edx + 1]
shrd eax, eax, 0x1f
mov edx, ecx
and ebx, eax
sub edx, eax
lea esi, [ecx + eax]
not ecx
and ecx, eax
sub esi, ebx
mov eax, esi
lea ebx, [edx + ecx*2]
mov ecx, edi
xor eax, ebx
not ebx
mov dword [esp + 0x1210], eax
add esi, esi
or ecx, 0x8f981455
lea edx, [ebx + ebx]
and edx, esi
mov esi, edi
sub edx, eax
not esi
mov eax, edi
and esi, 0x8f981455
and eax, 0x7067ebaa
and edi, 0x8f981455
imul eax, esi
imul edi, ecx
shld edx, edx, 0x1f
add eax, edi
mov esi, eax
and eax, 0x1a6e6b5e
or esi, 0x1a6e6b5e
lea ecx, [esi + eax]
mov ebx, ecx
mov edi, ecx
not ebx
mov eax, ecx
and ebx, 0xe90c48fd
and edi, 0x16f3b702
or eax, 0xe90c48fd
and ecx, 0xe90c48fd
imul edi, ebx
imul ecx, eax
lea esi, [edi + ecx]
mov edi, esi
or esi, 0x3c45741a
and edi, 0x3c45741a
lea ebx, [edi + esi]
bswap ebx
not ebx
lea eax, [ebx + ebx]
neg eax
lea ecx, [eax - 2]
mov eax, dword [esp + 0x14c]
not ecx
mov edi, eax
sub ecx, ebx
lea esi, [ecx - 1]
mov ecx, eax
bswap esi
bswap esi
mov ebx, esi
and edi, esi
xor ecx, esi
not ebx
add edi, ecx
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x1a8]
and ebx, ecx
sub ebx, eax
lea eax, [ebx + esi]
mov ecx, eax
xor ecx, edi
not edi
and edi, eax
lea esi, [edi + edi]
sub ecx, esi
bswap ecx
mov edi, ecx
mov ebx, ecx
neg edi
not ebx
lea esi, [edi - 1]
mov edi, edx
neg edi
mov eax, esi
or eax, edx
xor esi, edx
sub eax, esi
mov esi, ebx
lea edi, [edi - 1]
or esi, edi
mov edi, eax
sub esi, ebx
mov ebx, eax
not ebx
and ebx, esi
mov dword [esp + 0x1214], ebx
mov ebx, esi
not ebx
and edi, ebx
mov ebx, esi
or ebx, eax
and esi, eax
imul esi, ebx
mov ebx, ecx
imul edi, dword [esp + 0x1214]
and ebx, edx
lea eax, [edi + esi]
xor ebx, edx
mov esi, ecx
mov dword [esp + 0x1218], eax
mov edi, ecx
or esi, edx
xor edi, edx
sub esi, edi
mov edx, esi
lea eax, [ebx + ecx]
mov ebx, eax
mov edi, esi
not ebx
and edx, eax
and ebx, esi
not esi
or edi, eax
and esi, eax
imul edi, edx
imul esi, ebx
mov ebx, dword [esp + 0x1208]
add edi, esi
mov dword [esp + 0x121c], edi
mov edi, dword [esp]
mov eax, edi
mov ecx, edi
and eax, ebx
xor ecx, ebx
mov esi, dword [esp + 0xb6c]
add eax, ecx
lea edx, [eax + eax]
and esi, edx
lea ecx, [edi + esi]
sub ecx, eax
mov eax, ecx
not eax
and eax, ebx
lea edx, [eax + eax]
sub edx, ebx
lea esi, [edx + ecx]
mov ecx, dword [esp + 0x1210]
ror edi, cl
mov edx, edi
ror ebx, cl
not edx
mov eax, edx
neg ecx
or eax, ebx
sub eax, edx
lea edx, [ebx + edi]
and ebx, edi
lea edi, [ebx + ebx]
sub edx, edi
mov edi, edx
and edx, eax
or edi, eax
mov eax, esi
neg eax
add edx, edi
ror edx, cl
lea ebx, [eax - 1]
mov ecx, edx
or ebx, edx
neg ecx
lea edi, [eax + edx]
sub edi, ebx
lea eax, [ecx - 1]
mov ecx, eax
or ecx, esi
sub ecx, esi
lea ebx, [edi - 1]
xor ecx, eax
mov edi, ecx
mov eax, ecx
and edi, ebx
or eax, ebx
imul eax, edi
mov edi, ecx
not edi
and edi, ebx
not ebx
and ebx, ecx
mov ecx, esi
imul ebx, edi
or ecx, edx
xor ecx, edx
add ebx, eax
mov eax, esi
xor ecx, esi
xor eax, edx
and esi, edx
mov edi, ecx
lea edx, [eax + esi]
mov esi, ecx
mov eax, edx
not esi
not eax
and esi, edx
and eax, ecx
and edi, edx
or ecx, edx
imul eax, esi
imul ecx, edi
mov edi, ebx
add eax, ecx
or edi, eax
xor ebx, eax
mov eax, dword [esp + 0x1218]
mov ecx, dword [esp + 0x121c]
lea edx, [edi + edi]
sub edx, ebx
lea esi, [eax + eax]
lea edi, [ecx + ecx]
xor ecx, eax
or esi, edi
sub esi, ecx
lea ecx, [edx + edx]
lea edi, [esi - 0x7067ebaa]
not edi
mov eax, edi
or eax, edx
add edi, edi
and ecx, edi
sub ecx, edx
lea ebx, [eax + esi - 0x7067eba9]
lea eax, [ebx + ebx]
mov dword [esp + 0x1220], eax
lea edx, [ecx + esi - 0x7067ebaa]
mov dword [esp + 0x1224], edx
mov edx, dword [esp + 0x17c]
mov ecx, edx
mov edi, edx
ror edi, cl
neg ecx
lea esi, [edi + edi]
xor edi, 1
and esi, 2
lea eax, [esi + edi - 1]
not eax
ror eax, cl
mov edi, eax
xor edi, 0x71136000
lea ebx, [eax + eax]
and ebx, 0xe226c000
lea esi, [ebx + edi]
mov edi, eax
and edi, 0x71136000
xor edi, 0x71136000
add edi, eax
mov ebx, edi
lea eax, [esi + esi]
not ebx
xor esi, edi
mov edi, edx
and edi, 0x5aeb71df
add ebx, ebx
and eax, ebx
mov ebx, edx
sub eax, esi
mov esi, edx
not esi
or ebx, 0x5aeb71df
mov dword [esp + 0x1228], esi
and edx, 0xa5148e20
and esi, 0x5aeb71df
imul edi, ebx
imul esi, edx
lea ebx, [edi + esi]
mov ecx, ebx
xor ebx, 0xc7fcc93e
and ecx, 0x380336c1
lea edi, [ecx + ecx]
sub edi, ebx
mov edx, edi
mov esi, edi
mov ebx, edi
not edx
or esi, 0xbf458a1f
and ebx, 0xbf458a1f
and edx, 0xbf458a1f
and edi, 0x40ba75e0
imul ebx, esi
imul edi, edx
lea esi, [ebx + edi]
mov ecx, esi
not esi
and esi, 0x432357e
xor ecx, 0x432357e
lea ebx, [esi + esi]
sub ecx, ebx
mov esi, ecx
mov edi, ecx
and esi, 0x8eec9fff
xor edi, 0x8eec9fff
lea ebx, [esi + esi]
sub ecx, ebx
add edi, esi
mov edx, edi
not edx
lea esi, [ecx - 0x71136001]
and edx, esi
xor esi, edi
add edx, edx
sub edx, esi
mov esi, eax
not edx
neg esi
lea ecx, [edx + 1]
neg edx
mov ebx, ecx
lea edi, [esi - 1]
or ebx, edi
sub ebx, esi
lea esi, [ebx + 1]
xor esi, ecx
lea ebx, [edx - 2]
mov edx, eax
or edx, ebx
xor edx, eax
xor edx, ebx
mov ebx, esi
mov edi, edx
not ebx
not edi
and edi, esi
mov dword [esp + 0x122c], edi
mov edi, edx
and edi, ebx
mov ebx, esi
or ebx, edx
and esi, edx
imul esi, ebx
mov edx, eax
imul edi, dword [esp + 0x122c]
mov ebx, eax
xor edx, ecx
or ebx, ecx
add esi, edi
sub ebx, edx
and edx, ecx
lea edi, [eax + edx]
mov edx, ebx
mov ecx, edi
not edx
not ecx
mov eax, ebx
and edx, edi
and ecx, ebx
and eax, edi
or ebx, edi
imul ecx, edx
imul ebx, eax
lea eax, [ecx + ebx]
mov edx, eax
lea edi, [eax + eax]
xor edx, esi
lea eax, [esi + esi]
and edi, eax
lea ecx, [edx + edi]
mov edi, dword [esp + 0x17c]
shrd edi, edi, 4
mov esi, edi
and esi, 0x7113600
mov dword [esp + 0x1230], ecx
lea eax, [edi + 0x7113600]
sub eax, esi
lea ebx, [edi + edi]
mov dword [esp + 0x1234], edi
lea edx, [eax + eax]
and edx, 0xf1dd93fe
lea ecx, [edx + 0x7113600]
sub ecx, eax
mov dword [esp + 0x1238], ecx
lea eax, [ecx + ecx]
mov dword [esp + 0x123c], eax
mov edx, dword [esp + 0x17c]
mov ecx, edx
or ecx, 0x8eec9fff
sub ecx, edx
xor ecx, 0x8eec9fff
mov eax, ebx
or eax, dword [esp + 0x123c]
sub eax, dword [esp + 0x1234]
sub eax, dword [esp + 0x1238]
lea ebx, [ecx + ecx]
and ebx, 0xe226c000
xor ecx, 0x71136000
shld eax, eax, 4
mov edx, eax
neg edx
lea edi, [ebx + ecx]
mov ebx, edi
mov ecx, edi
neg ebx
lea esi, [edx - 1]
mov edx, edi
xor ecx, esi
or edx, esi
sub edx, ecx
lea esi, [ebx - 1]
mov ecx, esi
xor esi, eax
or ecx, eax
sub ecx, esi
mov esi, ecx
mov ebx, ecx
or esi, edx
and ebx, edx
imul ebx, esi
mov esi, ecx
not esi
and esi, edx
not edx
and ecx, edx
mov edx, edi
imul ecx, esi
mov esi, edi
and esi, eax
add ecx, ebx
xor esi, edi
mov ebx, edi
or edx, eax
xor ebx, eax
xor edx, ebx
mov edi, edx
mov ebx, edx
not edi
add eax, esi
mov esi, eax
and edi, eax
not esi
and ebx, eax
and esi, edx
or edx, eax
imul esi, edi
mov eax, ecx
imul edx, ebx
lea ebx, [esi + edx]
mov edx, dword [esp + 0x1230]
and eax, ebx
xor ecx, ebx
lea ecx, [ecx + eax*2]
mov eax, edx
or eax, ecx
lea edi, [edx + ecx]
sub edi, eax
and edx, ecx
sub eax, edx
mov ecx, eax
mov edx, dword [esp + 0x1a4]
lea esi, [edi + edi]
mov edi, dword [esp]
or ecx, esi
and eax, esi
add eax, ecx
mov ecx, edi
mov ebx, eax
or edx, eax
neg ebx
sub edx, dword [esp + 0x724]
lea esi, [ebx - 1]
mov ebx, edi
or ebx, esi
xor ecx, esi
sub ebx, ecx
lea esi, [edx + 1]
mov edx, eax
mov ecx, ebx
xor edx, esi
mov esi, ebx
or ecx, edx
and esi, edx
imul esi, ecx
mov ecx, edx
mov dword [esp + 0x1240], esi
not ecx
mov esi, ebx
not ebx
and esi, ecx
and ebx, edx
lea edx, [esp + 0x1244]
mov dword [edx], esi
mov esi, eax
imul ebx, dword [edx]
not esi
mov edx, dword [esp + 0x1240]
lea ecx, [edx + ebx]
mov ebx, edi
mov edx, edi
and ebx, eax
or edx, esi
xor edi, ebx
lea edx, [eax + edx + 1]
add edi, eax
mov eax, edx
mov ebx, edi
not eax
not ebx
mov esi, edi
and eax, edi
and ebx, edx
and esi, edx
or edi, edx
imul ebx, eax
imul edi, esi
mov esi, ecx
lea edx, [ebx + edi]
and esi, edx
xor ecx, edx
mov eax, dword [esp + 0x1184]
mov edx, eax
mov edi, dword [esp + 0x1220]
lea esi, [ecx + esi*2]
mov ecx, dword [esp + 0x119c]
or edx, ecx
and eax, ecx
lea ecx, [edx + eax]
mov edx, dword [esp + 0x1224]
mov ebx, edx
or edx, edi
and ebx, edi
add ebx, ecx
lea ebx, [ebx + edx + 0x1651dc2f]
mov ecx, ebx
mov edi, ebx
mov eax, ebx
not ecx
or edi, 0xf88b2d75
and eax, 0xf88b2d75
and ecx, 0xf88b2d75
and ebx, 0x774d28a
imul eax, edi
imul ebx, ecx
add eax, ebx
lea edx, [eax + eax]
xor eax, 0x86ea4309
and edx, 0xf22b79ec
sub edx, eax
mov ecx, edx
mov ebx, edx
not ecx
mov edi, edx
and ebx, 0xca8f8522
and ecx, 0x35707add
and edi, 0x35707add
or edx, 0x35707add
imul ecx, ebx
imul edx, edi
add ecx, edx
lea edi, [ecx + ecx]
xor ecx, 0xb2e1d73b
and edi, 0x9a3c5188
sub edi, ecx
mov eax, edi
and eax, esi
lea ecx, [edi + esi]
lea edx, [edi + edi]
lea ebx, [eax + eax]
sub ecx, ebx
lea ebx, [esi + esi]
mov esi, edx
or esi, ebx
sub esi, edx
xor esi, ebx
mov edi, esi
xor edi, ecx
add ecx, ecx
lea eax, [esi + esi]
and ecx, eax
lea edx, [edi + ecx]
mov edi, dword [esp + 4]
imul ecx, edi, 0xe40e0e00
mov dword [esp + 0x858], edx
mov ebx, ecx
mov edx, ecx
or ebx, 0x38e200d5
and edx, 0x38e200d5
mov esi, ecx
imul edx, ebx
not esi
mov ebx, ecx
and esi, 0x38e200d5
and ebx, 0xc71dff2a
imul ebx, esi
mov dword [esp + 0x1248], ecx
lea eax, [edx + ebx]
lea esi, [eax + eax]
xor eax, 0x5e0f424d
and esi, 0x43e17b64
sub esi, eax
mov ebx, esi
mov eax, esi
not ebx
mov edx, esi
and eax, 0x98e4c782
and ebx, 0x671b387d
and edx, 0x671b387d
or esi, 0x671b387d
imul ebx, eax
imul esi, edx
lea edx, [ebx + esi]
mov ebx, edx
xor edx, 0x3d133799
and ebx, 0x3d133799
lea eax, [edx + ebx*2]
mov ebx, edi
mov esi, eax
not esi
mov edx, dword [esp + 0x150]
and ebx, esi
mov esi, edx
and esi, eax
add ebx, esi
mov esi, edi
mov dword [esp + 0x124c], ebx
xor esi, eax
mov ebx, edi
sub edi, ecx
and ebx, esi
lea esi, [ebx + eax]
mov ebx, dword [esp + 0x124c]
mov eax, ebx
not ebx
sub eax, esi
add esi, esi
add ebx, ebx
and ebx, esi
add eax, ebx
mov ebx, edx
and ebx, ecx
lea ebx, [edi + ebx*2]
mov edi, edx
or edi, ecx
sub edi, edx
mov edx, eax
mov ecx, edi
xor edi, ebx
or ecx, ebx
mov ebx, eax
and edx, 0x79d527a1
and ebx, 0x862ad85e
lea esi, [ecx + ecx]
sub esi, edi
mov edi, eax
not eax
or edi, 0x79d527a1
and eax, 0x79d527a1
imul edi, edx
imul eax, ebx
lea edx, [edi + eax]
lea ecx, [edx + edx]
xor edx, 0xf7b26499
or ecx, 0xef64c932
sub ecx, edx
mov edi, ecx
mov ebx, ecx
mov edx, ecx
not edi
or ebx, 0x12ca7c61
and edx, 0x12ca7c61
and edi, 0x12ca7c61
and ecx, 0xed35839e
imul edx, ebx
imul ecx, edi
lea eax, [edx + ecx]
mov edx, eax
not edx
imul ebx, edx, 0x99f3c607
mov edx, esi
imul ecx, eax, 0x660c39fa
not ebx
not ecx
sub ebx, ecx
neg edx
mov ecx, ebx
lea edi, [ebx + edx]
lea eax, [edx - 1]
mov edx, ebx
neg edx
or ecx, eax
sub edi, ecx
lea eax, [edx - 1]
mov edx, esi
or edx, eax
lea edi, [edi - 1]
sub edx, eax
mov ecx, edi
xor edx, esi
not ecx
mov eax, edx
and eax, ecx
mov ecx, edx
not ecx
and ecx, edi
imul ecx, eax
mov eax, edx
or eax, edi
and edx, edi
imul edx, eax
mov edi, ebx
mov eax, ebx
add edx, ecx
mov ecx, ebx
xor edi, esi
and ecx, esi
or eax, esi
xor ebx, ecx
sub eax, edi
mov ecx, eax
not ecx
lea edi, [esi + ebx]
mov esi, eax
mov ebx, eax
or esi, edi
and ebx, edi
and ecx, edi
not edi
and edi, eax
imul ebx, esi
imul edi, ecx
lea ecx, [ebx + edi]
mov ebx, edx
xor ebx, ecx
and edx, ecx
lea eax, [ebx + edx*2]
mov ebx, dword [esp + 0x150]
rol ebx, cl
mov edx, dword [esp + 0x1248]
mov dword [esp + 0x1250], eax
mov eax, ebx
mov edi, edx
not eax
rol edi, cl
mov esi, eax
and esi, edi
neg ecx
add esi, ebx
imul eax, esi
not esi
imul esi, ebx
not eax
not esi
sub eax, esi
mov ebx, eax
or ebx, edi
mov esi, dword [esp + 4]
add ebx, ebx
sub ebx, edi
sub ebx, eax
mov eax, ebx
lea ebx, [edx + 1]
not ebx
mov edx, esi
rol eax, cl
lea ecx, [ebx + 1]
mov edi, ecx
not edi
and edx, edi
mov edi, esi
and edi, ecx
add edx, edx
sub edx, esi
xor esi, edi
lea edx, [edx + ebx + 1]
lea ecx, [esi + ebx + 1]
mov esi, edx
not edx
xor esi, ecx
and edx, ecx
lea edi, [edx + edx]
sub esi, edi
lea esi, [esi - 1]
not esi
mov ecx, esi
neg ecx
lea ecx, [ecx - 1]
mov edx, ecx
or ecx, eax
xor edx, eax
sub ecx, edx
mov edx, eax
neg edx
lea edi, [edx - 1]
mov edx, esi
not edx
or edx, edi
mov edi, ecx
lea ebx, [edx + esi + 1]
mov edx, ecx
or edx, ebx
and edi, ebx
imul edi, edx
mov edx, ebx
mov dword [esp + 0x1254], edi
not edx
mov edi, ecx
not ecx
and edi, edx
and ecx, ebx
lea ebx, [esp + 0x1258]
mov dword [ebx], edi
mov edi, esi
imul ecx, dword [ebx]
xor edi, eax
mov edx, dword [esp + 0x1254]
lea ebx, [edx + ecx]
mov ecx, esi
and ecx, eax
mov edx, esi
xor ecx, eax
or edx, eax
sub edx, edi
mov eax, edx
mov edi, edx
add ecx, esi
mov esi, ecx
and eax, ecx
not esi
or edi, ecx
and esi, edx
not edx
and edx, ecx
imul edi, eax
imul edx, esi
mov eax, dword [esp + 0x1250]
lea ecx, [edi + edx]
mov edi, ecx
or ecx, ebx
and edi, ebx
mov edx, eax
mov esi, eax
lea ebx, [edi + ecx]
mov ecx, eax
and ecx, ebx
or edx, ebx
xor ecx, ebx
xor esi, ebx
xor edx, esi
mov ebx, edx
add eax, ecx
or ebx, eax
xor edx, eax
lea ecx, [ebx + ebx]
sub ecx, edx
mov esi, ecx
mov edi, ecx
neg esi
or edi, 1
mov dword [esp + 0x125c], ecx
lea ebx, [esi - 1]
and ebx, 0x51588c35
lea edx, [edi + edi]
sub esi, ebx
mov ebx, ecx
xor ebx, 1
mov edi, ecx
sub edx, ebx
not edi
mov ebx, ecx
and edi, 0x5c5c03e9
or ebx, 0x5c5c03e9
lea eax, [esi + 0x51588c34]
mov esi, edx
xor edx, eax
and esi, eax
mov dword [esp + 0x1264], edi
lea eax, [edx + esi*2]
mov edx, ecx
and edx, 0x5c5c03e9
and ecx, 0xa3a3fc16
imul ebx, edx
imul ecx, edi
mov dword [esp + 0x1260], eax
add ebx, ecx
mov edx, ebx
xor ebx, 0x53628652
and edx, 0x2c9d79ad
add edx, edx
sub edx, ebx
mov edi, edx
mov esi, edx
mov ecx, edx
not edi
and esi, 0x1b7b0459
or ecx, 0x1b7b0459
and edi, 0x1b7b0459
and edx, 0xe484fba6
imul ecx, esi
imul edx, edi
lea esi, [ecx + edx]
mov ecx, esi
xor esi, 0xb6bffa82
or ecx, 0xb6bffa82
lea ebx, [ecx + ecx]
sub ebx, esi
bswap ebx
mov edx, ebx
mov esi, dword [esp + 0x14e0]
not edx
mov edi, esi
or edi, edx
mov dword [esp + 0x1268], ebx
lea ecx, [ebx + edi + 1]
lea edi, [ebx + ebx]
mov dword [esp + 0x126c], edi
lea edx, [ecx + ecx]
and edi, edx
sub ebx, edi
mov edi, eax
mov dword [esp + 0x1270], ebx
add ebx, ecx
mov ecx, dword [esp + 0x14e4]
xor esi, ebx
lea edx, [ebx + ebx]
or ecx, edx
sub ecx, esi
bswap ecx
mov edx, ecx
and edi, ecx
not edx
or edx, eax
xor eax, ecx
mov dword [esp + 0x1274], ecx
lea esi, [ecx + edx + 1]
neg ecx
mov ebx, esi
add eax, edi
mov edx, esi
or ebx, eax
and edx, eax
imul edx, ebx
mov ebx, eax
not ebx
lea edi, [ecx - 1]
and ebx, esi
not esi
and esi, eax
imul esi, ebx
lea eax, [edx + esi]
mov dword [esp + 0x1278], eax
mov ebx, dword [esp + 0x1260]
mov edx, ebx
or edx, edi
sub edx, ebx
neg ebx
mov ecx, dword [esp + 0x1274]
mov esi, ecx
xor edi, edx
mov edx, edi
not edx
lea eax, [ebx - 1]
or esi, eax
xor ecx, eax
sub esi, ecx
mov eax, edi
mov ecx, esi
and edx, esi
not ecx
and eax, esi
and ecx, edi
or edi, esi
imul ecx, edx
imul edi, eax
lea esi, [ecx + edi]
mov ecx, dword [esp + 0x1278]
mov eax, ecx
lea ebx, [esi + esi]
xor eax, esi
lea edx, [ecx + ecx]
and edx, ebx
lea ecx, [eax + edx]
mov edx, dword [esp + 0x125c]
mov eax, edx
mov dword [esp + 0x127c], ecx
mov ecx, dword [esp + 0x1270]
rol eax, cl
not eax
ror eax, cl
mov esi, eax
mov edi, eax
not esi
and edi, 0x51588c35
and esi, 0xd1588c35
lea ecx, [eax + esi*2 - 0x51588c35]
xor eax, 0x51588c35
lea ebx, [edi + eax]
mov esi, ebx
not esi
and esi, ecx
lea edi, [esi + esi]
sub edi, ecx
lea eax, [edi + ebx]
mov ebx, dword [esp + 0x1268]
lea ecx, [ebx + 1]
mov ebx, 0xaea773ca
rol ebx, cl
rol edx, cl
mov esi, ebx
mov edi, ebx
xor esi, edx
and edi, edx
add esi, edi
mov edi, esi
not edi
imul edi, ebx
not ebx
imul ebx, esi
mov esi, edi
sub esi, ebx
mov edi, esi
or esi, edx
and edi, edx
not esi
not edi
sub edi, esi
ror edi, cl
mov ecx, eax
mov esi, edi
neg ecx
neg esi
lea ecx, [ecx - 1]
mov edx, ecx
lea ebx, [esi - 1]
mov esi, eax
or edx, edi
or esi, ebx
xor edx, ecx
xor esi, ebx
xor edx, edi
xor esi, eax
mov ecx, esi
mov ebx, esi
or ecx, edx
and ebx, edx
imul ebx, ecx
mov ecx, esi
mov dword [esp + 0x1280], ebx
not ecx
mov ebx, edx
not edx
and ebx, ecx
and esi, edx
lea ecx, [esp + 0x1284]
mov dword [ecx], ebx
mov edx, eax
imul esi, dword [ecx]
and edx, edi
mov ecx, dword [esp + 0x1280]
xor edx, eax
mov ebx, eax
or ebx, edi
add ecx, esi
lea esi, [eax + edi]
sub esi, ebx
add edi, edx
mov eax, esi
mov edx, esi
and eax, edi
or edx, edi
mov ebx, edi
imul edx, eax
not ebx
mov eax, esi
not esi
and eax, ebx
and esi, edi
imul esi, eax
lea eax, [edx + esi]
mov esi, eax
lea edi, [eax + eax]
xor esi, ecx
add ecx, ecx
and ecx, edi
mov edi, dword [esp + 0x127c]
mov eax, edi
not eax
lea ebx, [esi + ecx]
mov ecx, edi
and ecx, ebx
lea edx, [edi + ebx]
sub edx, ecx
lea ecx, [ebx + ebx]
mov dword [esp + 0x1288], ebx
add eax, eax
and ecx, eax
lea esi, [edx + edx]
lea eax, [ecx + edi]
sub eax, ebx
mov ebx, eax
not ebx
imul ebx, esi
not esi
imul esi, eax
not ebx
not esi
sub ebx, esi
mov dword [esp + 0x128c], ebx
shrd ebx, ebx, 5
mov ecx, ebx
and ebx, 1
xor ecx, 1
lea ebx, [ecx + ebx*2 - 1]
not ebx
shld ebx, ebx, 5
mov edi, ebx
mov edx, ebx
or edi, 0xc0450c80
and edx, 0x3fbaf37f
xor edx, 0x3fbaf37f
lea eax, [edi + 0x3fbaf380]
mov ecx, eax
lea esi, [edx + ebx]
mov edx, eax
and ecx, esi
or edx, esi
imul ecx, edx
mov edx, eax
not edx
and edx, esi
not esi
and esi, eax
imul esi, edx
lea eax, [ecx + esi]
mov ecx, ebx
neg ecx
xor ebx, 0xc0450c80
xor ebx, edi
mov edi, ebx
mov esi, ebx
lea ecx, [ecx - 1]
mov edx, ecx
or edx, 0x3fbaf37f
lea edx, [edx - 0x3fbaf37f]
xor edx, ecx
and edi, edx
or esi, edx
imul esi, edi
mov edi, ebx
not edi
mov ecx, edx
not edx
and ecx, edi
and edx, ebx
mov ebx, eax
imul edx, ecx
add eax, eax
mov edi, dword [esp + 0x128c]
lea ecx, [esi + edx]
mov edx, edi
lea esi, [ecx + ecx]
neg edx
xor ebx, ecx
and esi, eax
mov dword [esp + 0x1290], ebx
mov dword [esp + 0x1294], esi
lea eax, [edx - 1]
mov edx, dword [esp + 0x14e8]
lea ecx, [ebx + esi]
mov esi, edx
mov ebx, edx
xor esi, eax
or ebx, eax
mov eax, dword [esp + 0x14ec]
xor esi, ebx
mov dword [esp + 0x1298], ecx
mov ecx, eax
or ecx, edi
mov ebx, edi
sub ecx, eax
xor ebx, ecx
mov ecx, esi
not ecx
mov eax, ebx
and eax, ecx
mov ecx, ebx
not ecx
and ecx, esi
imul ecx, eax
mov eax, ebx
or eax, esi
and ebx, esi
imul ebx, eax
mov esi, edi
not esi
add ebx, ecx
mov ecx, edx
or ecx, esi
mov esi, edx
and esi, edi
xor edx, esi
lea eax, [ecx + edi + 1]
add edx, edi
mov edi, eax
mov ecx, edx
not edi
not ecx
mov esi, edx
and ecx, eax
and edi, edx
and esi, eax
or edx, eax
imul edi, ecx
mov ecx, ebx
imul edx, esi
lea eax, [edi + edx]
and ecx, eax
or ebx, eax
mov eax, dword [esp + 0x1298]
neg eax
lea esi, [ecx + ebx]
neg esi
lea edi, [eax + 0x3fbaf37e]
lea eax, [ecx + ebx - 1]
mov ecx, edi
not eax
not ecx
mov edx, eax
and ecx, eax
not edx
lea esi, [esi - 1]
and edx, edi
imul edx, ecx
mov ecx, eax
and ecx, edi
or eax, edi
imul eax, ecx
mov ebx, dword [esp + 0x1294]
lea ecx, [edx + eax]
mov edi, dword [esp + 0x1290]
mov edx, esi
neg ecx
lea eax, [edi + ebx - 0x3fbaf37f]
not eax
lea edi, [eax + 1]
mov eax, esi
mov ebx, edi
or edx, edi
not ebx
and eax, edi
and ebx, esi
not esi
and esi, edi
imul eax, edx
imul esi, ebx
lea edx, [eax + esi]
neg edx
lea eax, [ecx - 1]
mov edi, edx
neg ecx
neg edi
not eax
lea esi, [edx - 1]
not esi
lea ecx, [ecx + 1]
imul esi, ecx
lea ebx, [edi + 1]
imul eax, ebx
not eax
not esi
sub eax, esi
mov dword [esp + 0x129c], eax
lea edx, [eax + 0x3fbaf37f]
mov dword [esp + 0x12a0], edx
mov ebx, edx
mov edi, edx
xor ebx, 0x620f661d
lea ecx, [eax + eax + 0x7f75e6fe]
and edi, 0x620f661d
and ecx, 0xc41ecc3a
neg ecx
add edi, ebx
lea ecx, [eax + ecx - 0x5e35a664]
mov eax, edi
mov dword [esp + 0x12a4], ecx
mov esi, ecx
neg ecx
not eax
mov dword [esp + 0x12ac], ecx
not esi
imul eax, ecx
mov ecx, edx
or ecx, 0x620f661d
not eax
mov dword [esp + 0x12a8], esi
sub ecx, ebx
imul esi, edi
mov ebx, ecx
and ebx, 0xe20f661d
neg esi
not esi
mov edi, edx
sub eax, esi
lea esi, [ebx + ebx]
sub ecx, esi
lea ebx, [ecx + 0x620f661d]
or edi, ebx
xor edx, ebx
lea esi, [edi + edi]
sub esi, edx
mov ecx, esi
neg ecx
lea edi, [ecx - 1]
mov ecx, eax
or ecx, edi
sub ecx, eax
xor ecx, edi
mov edi, eax
neg edi
lea edx, [edi - 1]
not edx
or edx, esi
add edi, edx
mov edx, ecx
mov ebx, edi
not edx
not ebx
and edx, edi
and ebx, ecx
imul ebx, edx
mov edx, ecx
and edx, edi
or ecx, edi
imul ecx, edx
mov edi, eax
mov dword [esp + 0x12b0], ebx
lea edx, [ecx + ebx]
mov ebx, eax
or edi, esi
xor ebx, esi
mov dword [esp + 0x85c], edi
sub edi, ebx
lea ebx, [eax + esi]
and eax, esi
sub ebx, eax
mov eax, edi
mov ecx, ebx
mov esi, edi
not ecx
not eax
and esi, ebx
and ecx, edi
and eax, ebx
or edi, ebx
imul eax, ecx
imul edi, esi
mov dword [esp + 0x12b4], esi
lea ebx, [eax + edi]
mov esi, edx
xor edx, ebx
or esi, ebx
mov edi, 0x620f661d
mov ebx, dword [esp + 0x12a0]
lea ecx, [esi + esi]
sub ecx, edx
mov edx, ebx
mov dword [esp + 0x12b8], ecx
not edx
mov ecx, dword [esp + 0x12b0]
rol edi, cl
neg ecx
lea eax, [edi + edi]
xor edi, 1
and eax, 2
lea esi, [eax + edi]
not esi
lea eax, [esi + 1]
mov esi, ebx
rol eax, cl
lea ecx, [edx + edx]
and edx, eax
sub esi, eax
bswap ebx
lea edi, [eax + eax]
and ecx, edi
mov edi, dword [esp + 0x129c]
lea eax, [edx + edi + 0x3fbaf37f]
mov edi, 0x620f661d
add ecx, esi
mov esi, eax
or esi, ecx
and eax, ecx
sub esi, eax
lea ecx, [ebx - 1]
not ecx
mov dword [esp + 0x12bc], esi
lea esi, [ecx + ecx]
xor ecx, 1
and esi, 0xfffffffc
sub esi, ecx
bswap esi
mov ecx, dword [esp + 0x1288]
ror esi, cl
ror edi, cl
mov eax, esi
and eax, edi
lea edx, [esi + edi]
lea ebx, [eax + eax]
xor eax, edi
sub edx, ebx
mov edi, edx
not edi
lea ebx, [eax + esi]
lea esi, [ebx + ebx]
lea eax, [edi + edi]
and eax, esi
mov esi, dword [esp + 0x12bc]
lea edi, [edx + eax]
sub edi, ebx
rol edi, cl
mov ecx, esi
neg ecx
lea edx, [ecx - 1]
mov ecx, edi
neg ecx
mov ebx, edx
or ebx, edi
sub ebx, edi
xor ebx, edx
mov edx, esi
lea eax, [ecx - 1]
mov ecx, esi
or ecx, eax
xor edx, eax
sub ecx, edx
mov eax, ebx
mov edx, ebx
or eax, ecx
and edx, ecx
imul edx, eax
mov eax, ebx
not eax
and eax, ecx
not ecx
and ecx, ebx
mov ebx, esi
imul ecx, eax
mov eax, esi
xor eax, edi
add edx, ecx
mov ecx, esi
or ebx, edi
and ecx, edi
xor eax, ebx
xor esi, ecx
mov ecx, eax
add esi, edi
mov edi, eax
mov ebx, esi
not edi
not ebx
and edi, esi
and ebx, eax
and ecx, esi
or eax, esi
mov esi, edx
imul edi, ebx
imul eax, ecx
lea ecx, [edi + eax]
or esi, ecx
and edx, ecx
lea edi, [esi + edx]
mov edx, dword [esp + 0x12b8]
mov esi, edx
or esi, edi
lea ecx, [edx + edi]
and edx, edi
sub ecx, esi
not edx
not esi
sub edx, esi
mov ebx, edx
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x85c]
and ebx, eax
xor edx, eax
mov eax, 0x97a32f63
rol eax, cl
mov dword [esp + 0x12c4], eax
lea edx, [edx + ebx*2]
mov dword [esp + 0x12c0], edx
rol edx, cl
mov edi, edx
mov esi, edi
mov eax, edi
mov ebx, dword [esp + 0x12c4]
or esi, ebx
not eax
mov dword [esp + 0x1a0], 0
lea ecx, [esi + esi]
sub ecx, ebx
or ebx, eax
mov eax, dword [esp + 0x12c0]
sub ecx, edi
lea edx, [eax + eax]
xor eax, 0x97a32f63
mov esi, edx
or edx, 0xd0b9a139
or esi, 0x2f465ec6
lea edi, [edi + ebx + 1]
mov ebx, edx
sub esi, eax
neg ebx
lea eax, [ebx - 0x2f465ec7]
mov ebx, esi
not ebx
neg esi
imul ebx, eax
lea eax, [edx + 0x2f465ec7]
not eax
mov edx, ecx
imul esi, eax
xor edx, edi
and ecx, edi
not ebx
not esi
sub ebx, esi
lea edi, [edx + ecx*2]
mov ecx, dword [esp + 0x85c]
neg ecx
mov edx, ebx
rol edi, cl
neg edx
lea eax, [edi + edi]
lea edi, [edx - 1]
mov edx, eax
mov esi, edi
not edx
not esi
and edx, edi
and esi, eax
imul esi, edx
mov edx, edi
or edx, eax
and edi, eax
neg esi
neg eax
imul edi, edx
lea ecx, [esi - 1]
sub ecx, edi
lea edx, [eax - 1]
mov edi, ebx
mov eax, ebx
and edi, edx
or eax, edx
imul eax, edi
mov esi, edx
not esi
mov edi, ebx
not ebx
and edi, esi
and ebx, edx
neg eax
imul ebx, edi
mov edx, ecx
not ecx
lea eax, [eax - 1]
sub eax, ebx
and ecx, eax
xor edx, eax
mov dword [esp + 0x12c8], esi
mov esi, dword [esp + 0x858]
lea ebx, [ecx + ecx]
sub edx, ebx
lea ecx, [esi + esi]
mov dword [esp + 0x12cc], edx
mov eax, ecx
lea edi, [edx + edx]
mov edx, ecx
or eax, edi
xor edx, edi
sub eax, edx
lea edx, [edi + edi]
lea ebx, [eax + eax]
lea eax, [ecx + ecx]
bswap ecx
and eax, edx
mov edx, edi
sub edx, eax
bswap edi
lea esi, [edx + esi*2]
mov edx, ebx
or edx, esi
and ebx, esi
mov esi, ecx
neg esi
mov dword [esp + 0x12d0], ebx
lea eax, [edx + ebx]
neg eax
lea esi, [esi - 1]
mov ebx, esi
or ebx, edi
xor ebx, edi
xor ebx, esi
mov edi, ebx
xor ebx, ecx
and edi, ecx
lea edi, [ebx + edi*2]
bswap edi
lea ecx, [edi + 0x3fbaf37e]
lea esi, [ecx]
not esi
lea ebx, [ecx + 1]
mov ecx, esi
lea edi, [eax - 1]
mov eax, edi
not ecx
not eax
and ecx, edi
and eax, esi
neg ebx
imul ecx, eax
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0x12d0]
neg ecx
imul esi, eax
lea ebx, [ebx - 1]
lea edi, [edx + edi - 1]
not edi
lea ecx, [ecx - 1]
mov edx, edi
mov eax, edi
sub ecx, esi
and edx, ebx
or eax, ebx
mov esi, ebx
imul eax, edx
not esi
mov edx, edi
not edi
and edx, esi
and edi, ebx
imul edi, edx
add eax, edi
mov edi, dword [esp + 0x12cc]
neg eax
shld edi, edi, 0x1b
mov dword [esp + 0x860], edi
lea eax, [eax - 1]
mov ebx, eax
not ebx
lea edx, [ebx + ebx]
lea ebx, [ecx + ecx]
xor ecx, eax
and edx, ebx
sub edx, ecx
mov ebx, dword [esp + 0x858]
shld ebx, ebx, 0x1b
mov dword [esp + 0x12d8], ebx
lea eax, [edx + 0x3fbaf37f]
mov dword [esp + 0x12d4], eax
lea edx, [edi - 1]
mov eax, dword [esp + 0x1264]
not edx
mov edi, edx
lea esi, [eax + ebx]
neg esi
lea ecx, [esi - 1]
mov esi, edx
and edi, ecx
or esi, ecx
imul esi, edi
mov edi, ecx
not edi
neg esi
and edi, edx
not edx
and edx, ecx
imul edx, edi
lea edi, [ebx + eax - 1]
mov ecx, dword [esp + 0x860]
lea esi, [esi - 1]
neg ecx
not edi
sub esi, edx
mov ebx, edi
lea edx, [ecx - 1]
mov ecx, edi
and ebx, edx
or ecx, edx
imul ecx, ebx
mov ebx, edx
not ebx
neg ecx
and ebx, edi
not edi
and edi, edx
imul edi, ebx
lea ecx, [ecx - 1]
sub ecx, edi
mov edi, esi
mov edx, ecx
not esi
not edx
imul edi, edx
imul esi, ecx
not edi
not esi
sub edi, eax
mov eax, dword [esp + 0x12d8]
sub edi, esi
bswap eax
not eax
bswap eax
mov edx, dword [esp + 0x860]
lea ecx, [eax + eax]
shld ecx, ecx, 0x1b
lea eax, [edx + edx]
shld eax, eax, 0x1b
lea esi, [ecx + ecx]
lea ebx, [eax + eax]
and esi, ebx
mov ebx, ecx
xor ebx, eax
lea edx, [ecx + eax]
and ecx, eax
sub edx, esi
mov esi, edx
not edx
lea eax, [ebx + ecx]
mov ebx, eax
and edx, eax
not ebx
mov eax, edi
and esi, ebx
lea ebx, [esi + edx]
mov edx, dword [esp + 0x126c]
shld ebx, ebx, 5
sub ebx, edx
mov esi, edi
or eax, ebx
xor esi, ebx
xor eax, esi
mov esi, dword [esp + 0x12a8]
lea ecx, [edi + ebx]
and edi, ebx
sub ecx, edi
mov ebx, ecx
xor ecx, eax
or ebx, eax
mov edi, dword [esp + 0x12ac]
lea ebx, [edx + ebx*2]
mov edx, dword [esp + 0x12d4]
mov eax, edx
sub ebx, ecx
imul esi, edx
not eax
imul edi, eax
shrd ebx, ebx, 0x1b
neg esi
not edi
not esi
lea eax, [ebx + ebx]
sub edi, esi
lea esi, [eax + eax]
lea edx, [edi + edi]
lea ecx, [edx + edx]
or esi, ecx
mov ecx, eax
sub esi, eax
and ecx, edx
xor eax, edx
sub esi, edx
mov dword [esp + 0x12dc], esi
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x12c8]
ror ebx, cl
ror edi, cl
mov esi, ebx
or esi, edi
xor esi, edi
xor esi, ebx
mov dword [esp + 0x12e0], edx
lea eax, [esi + esi]
mov esi, edi
mov edx, eax
not esi
neg edx
not eax
neg edi
imul esi, edx
imul edi, eax
not esi
not edi
sub esi, edi
mov eax, esi
xor esi, ebx
and eax, ebx
mov ebx, dword [esp + 0x12b4]
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x12e0]
rol esi, cl
mov ecx, dword [esp + 0x12dc]
mov edx, ecx
lea edi, [eax + eax]
sub edx, ebx
add ecx, ecx
and edi, ecx
sub eax, edi
lea edi, [edx + eax]
mov eax, edi
mov ecx, edi
or eax, esi
and ecx, esi
mov edx, eax
sub eax, esi
xor eax, edi
sub edx, ecx
add eax, eax
lea esi, [eax + eax]
lea edi, [edx + edx]
xor edx, eax
or esi, edi
mov eax, dword [esp]
mov dword [esp + 0x6b8], eax
mov dword [esp + 0x3f8], eax
add ebx, esi
sub ebx, edx
mov dword [esp + 0x12e4], ebx
test eax, eax
je 0x100341b8
test byte [esp + 0x6b8], 1
je 0x1003419e
mov ecx, dword [esp + 0x3f8]
mov edx, ecx
not edx
and edx, 0x18c4446f
lea edi, [ecx + edx*2 + 0x673bbb91]
neg ecx
lea ebx, [ecx + ecx - 2]
mov esi, ebx
or esi, 0x318888de
sub ebx, esi
lea ecx, [ebx + 0x318888de]
mov eax, ecx
xor ecx, edi
not eax
and eax, edi
lea edx, [eax + eax]
sub edx, ecx
mov ebx, edx
not ebx
lea edi, [ebx + 1]
not edi
lea ebx, [edi + ebx*2 + 2]
mov edi, dword [esp + 0x1a0]
mov eax, edi
lea ecx, [ebx + ebx]
not eax
lea esi, [edi + edi]
or ecx, esi
mov esi, eax
and esi, ebx
sub ecx, edi
sub ecx, ebx
and eax, 0x34009d21
mov ebx, ecx
add esi, edi
or ebx, esi
add ebx, ebx
sub ebx, ecx
sub ebx, esi
mov ecx, ebx
or ecx, edx
lea esi, [ecx + ecx]
sub esi, edx
sub esi, ebx
xor ebx, edx
sub ecx, ebx
bswap edx
lea ebx, [ecx + ecx]
mov ecx, esi
or ecx, ebx
and esi, ebx
mov ebx, edi
or ebx, 0x34009d21
add ecx, esi
mov dword [esp + 0xdac], ecx
mov ecx, edi
and edi, 0xcbff62de
and ecx, 0x34009d21
imul ecx, ebx
imul eax, edi
lea edi, [ecx + eax]
mov ecx, edi
and edi, 0xd30dbecc
xor ecx, 0x530dbecc
lea eax, [ecx + edi*2]
mov ecx, eax
mov esi, eax
mov edi, eax
not ecx
or esi, 0x4c326e1
and edi, 0x4c326e1
and ecx, 0x4c326e1
and eax, 0xfb3cd91e
imul edi, esi
imul eax, ecx
add eax, edi
mov edi, eax
lea ebx, [eax + eax]
and ebx, 0xe26a0d66
xor edi, 0x8ecaf94c
sub ebx, edi
lea ecx, [edx + edx]
lea esi, [ebx + ebx]
xor ebx, 1
and esi, 2
lea ebx, [esi + ebx - 1]
not ebx
bswap ebx
lea edi, [ebx + ebx]
and edi, ecx
lea esi, [edx + ebx]
sub esi, edi
mov ecx, esi
or esi, edx
xor ecx, edx
sub esi, ecx
mov ecx, eax
mov edx, esi
neg ecx
or edx, ebx
and esi, ebx
mov ebx, dword [esp + 0x1a0]
lea edi, [ecx + 1]
mov ecx, ebx
add edx, esi
mov esi, edi
not esi
or ecx, esi
sub ecx, esi
mov esi, ebx
or esi, edi
bswap edx
add ecx, ecx
add esi, esi
sub esi, ebx
mov ebx, esi
sub ebx, edi
mov edi, ebx
xor edi, ecx
add edi, eax
lea eax, [ecx + ecx]
lea ecx, [ebx + ebx]
and eax, ecx
lea ebx, [edx + edx]
not ebx
mov ecx, ebx
add edi, eax
mov eax, edi
lea esi, [edi + edi]
not eax
or ecx, esi
and eax, edx
sub ecx, ebx
lea esi, [eax + eax]
sub esi, edx
lea edx, [esi + edi]
mov edi, ecx
or edi, edx
xor ecx, edx
mov esi, dword [esp + 0xdac]
mov ebx, esi
mov eax, esi
or ebx, 0xffbab2b7
sub eax, ebx
add edi, edi
sub edi, ecx
mov ecx, esi
and ecx, 0xffbab2b7
xor ecx, 0xffbab2b7
lea eax, [eax - 0x454d49]
mov edx, eax
not edx
lea ebx, [ecx + esi]
mov ecx, ebx
and edx, ebx
not ecx
and ecx, eax
imul edx, ecx
mov ecx, ebx
or ecx, eax
and ebx, eax
imul ebx, ecx
mov eax, esi
neg esi
add ebx, edx
not eax
mov ecx, eax
or ecx, 0x454d48
sub ecx, eax
lea edx, [esi - 1]
mov esi, edx
mov eax, ecx
or esi, 0xffbab2b7
xor esi, 0xffbab2b7
xor esi, edx
mov edx, ecx
and eax, esi
or edx, esi
imul edx, eax
mov eax, ecx
not eax
and eax, esi
not esi
and ecx, esi
imul ecx, eax
lea eax, [ebx + ebx]
lea esi, [edx + ecx]
xor ebx, esi
lea edx, [esi + esi]
and eax, edx
lea ecx, [eax + ebx]
mov edx, ecx
lea eax, [ecx + ecx]
mov esi, eax
not edx
or esi, 0x86d24f3a
and edx, 0x3c96d862
lea ebx, [esi + 0x792db0c6]
xor ebx, eax
lea eax, [ecx + edx*2 - 0x3c96d862]
mov ecx, eax
mov edx, ebx
neg ecx
not edx
not eax
neg ebx
imul edx, ecx
imul ebx, eax
not edx
not ebx
sub edx, ebx
mov esi, edx
mov ecx, edx
or esi, 0x3542cb07
mov eax, edx
and eax, 0x3542cb07
lea ebx, [esi - 0x3542cb07]
xor ecx, ebx
mov ebx, edx
sub ebx, eax
mov esi, ecx
not esi
lea ebx, [ebx + 0x3542cb07]
mov eax, ebx
and esi, ebx
not eax
and eax, ecx
imul eax, esi
mov esi, ecx
and esi, ebx
or ecx, ebx
mov ebx, edx
neg ebx
imul ecx, esi
lea ebx, [ebx - 1]
mov esi, ebx
add eax, ecx
or esi, 0x3542cb07
lea ecx, [esi - 0x3542cb07]
mov esi, edx
or esi, 0xcabd34f8
xor ebx, ecx
sub edx, esi
lea esi, [edx - 0x3542cb08]
mov edx, ebx
mov ecx, esi
not edx
not ecx
and edx, esi
and ecx, ebx
imul edx, ecx
mov ecx, ebx
and ecx, esi
or ebx, esi
imul ebx, ecx
lea esi, [edx + ebx]
lea ebx, [eax + eax]
xor eax, esi
lea ecx, [esi + esi]
or ebx, ecx
sub ebx, eax
lea esi, [ebx + ebx]
and esi, 0x4e0cbea2
sub esi, ebx
or ebx, 0xa7065f51
lea ecx, [esi + 0x58f9a0ae]
lea ebx, [ebx + ebx - 0x4e0cbea2]
lea edx, [ebx + ebx]
xor ebx, ecx
mov ecx, edi
lea eax, [esi + esi - 0x4e0cbea4]
not ecx
or eax, edx
imul ecx, ecx, 0x27a787f3
sub eax, ebx
imul edi, edi, 0x27a787f4
lea ebx, [ecx + edi]
mov edi, eax
shld edi, eax, 7
mov esi, edi
mov ecx, ebx
neg esi
shld ecx, ebx, 7
lea esi, [esi - 1]
mov edx, esi
or esi, ecx
xor edx, ecx
neg ecx
sub esi, edx
lea ecx, [ecx - 1]
not ecx
mov edx, ecx
or edx, edi
sub edx, ecx
lea ecx, [esi + esi]
lea edi, [edx + edx]
xor edx, esi
and ecx, edi
mov edi, eax
or edi, ebx
add ecx, edx
mov edx, eax
xor edx, ebx
lea esi, [edi + edi]
mov edi, ebx
sub esi, edx
not edi
and eax, edi
shrd ecx, ecx, 7
lea edi, [eax + ebx]
mov ebx, edi
lea eax, [esi + esi]
not ebx
xor esi, edi
add ebx, ebx
and eax, ebx
sub eax, esi
add eax, eax
mov ebx, eax
mov edi, eax
and ebx, ecx
xor edi, ecx
or eax, ecx
not eax
lea edx, [edi + ebx]
not ebx
sub ebx, eax
add edx, edx
mov ecx, ebx
lea edi, [edx + edx]
not ecx
xor ebx, edx
add ecx, ecx
and ecx, edi
sub ecx, ebx
mov esi, ecx
not esi
imul edi, esi, 0xd858780d
imul ecx, ecx, 0xd858780e
mov dword [esp + 0xdb0], edi
lea edx, [edi - 0x673bbb91]
not edx
lea esi, [edi + ecx]
mov eax, edi
lea ebx, [edi + edi + 0x318888de]
neg edx
lea edi, [esi + edi - 0x673bbb91]
mov ecx, edi
not edx
neg ecx
sub eax, edx
not ebx
lea esi, [ecx - 1]
mov edx, esi
lea eax, [eax + ebx - 1]
mov ebx, esi
or edx, eax
and ebx, eax
mov ecx, esi
imul ebx, edx
mov edx, eax
not ecx
not edx
and ecx, eax
and edx, esi
neg eax
mov esi, edi
imul edx, ecx
not esi
lea eax, [eax - 1]
and esi, eax
lea ecx, [ebx + edx]
mov edx, eax
mov ebx, eax
not edx
or ebx, edi
and edx, edi
and eax, edi
imul esi, edx
imul eax, ebx
lea edi, [esi + eax]
mov ebx, edi
not ebx
imul ebx, ecx
not ecx
imul ecx, edi
not ebx
not ecx
sub ebx, dword [esp + 0xdb0]
sub ebx, ecx
lea edi, [ebx + 0x673bbb91]
mov dword [esp + 0x1a0], edi
shr dword [esp + 0x6b8], 1
lea edx, [esp + 0x3f8]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10033d41
mov eax, dword [esp]
mov dword [esp + 0x224], eax
mov dword [esp + 0x26c], 0
test eax, eax
je 0x10034335
test byte [esp + 0x1a0], 1
je 0x1003431b
mov edx, dword [esp + 0x26c]
mov eax, dword [esp + 0x224]
lea ecx, [edx + edx]
mov esi, ecx
mov edi, ecx
not esi
mov ebx, ecx
and esi, 0x93f35285
and edi, 0x6c0cad7a
and ebx, 0x93f35285
or ecx, 0x93f35285
imul edi, esi
add eax, eax
imul ecx, ebx
add edi, ecx
lea ebx, [edi + edi]
xor edi, 0xba4e2025
and ebx, 0x749c404a
lea ecx, [ebx + edi]
mov ebx, ecx
mov edi, ecx
mov esi, ecx
not ebx
or edi, 0x8611d64d
and esi, 0x79ee29b2
and ebx, 0x8611d64d
and ecx, 0x8611d64d
imul ebx, esi
imul ecx, edi
mov dword [esp + 0xdb4], edi
add ebx, ecx
mov esi, ebx
not esi
imul edi, esi, 0x272c66df
imul ecx, ebx, 0xd8d39922
not edi
not ecx
sub edi, ecx
mov ecx, edi
neg ecx
lea esi, [ecx - 1]
and esi, eax
xor esi, eax
mov eax, edi
and eax, 1
xor edi, 1
lea ebx, [esi + ecx - 1]
mov esi, dword [esp + 0x224]
lea eax, [edi + eax*2]
lea ecx, [eax + eax]
xor eax, ebx
lea edi, [ebx + ebx]
or ecx, edi
sub ecx, eax
ror edx, cl
ror esi, cl
lea ebx, [edx + edx]
neg ebx
lea eax, [ebx - 2]
lea ebx, [esi + esi]
mov edi, ebx
xor ebx, eax
or edi, eax
mov eax, esi
sub edi, ebx
mov ebx, edx
neg eax
not ebx
not esi
neg edx
imul ebx, eax
imul edx, esi
not ebx
not edx
sub ebx, edx
lea esi, [edi + edi]
lea eax, [ebx + ebx]
xor ebx, edi
or esi, eax
mov edi, dword [esp + 0xdb4]
sub esi, ebx
rol esi, cl
add ecx, edi
lea edx, [ecx + ecx]
mov eax, edx
lea ebx, [esi + esi]
xor eax, ebx
or edx, ebx
sub edx, eax
mov eax, ecx
not eax
mov ebx, edx
and eax, esi
not esi
and esi, ecx
lea ecx, [eax + esi]
xor ebx, ecx
lea eax, [ecx + ecx]
sub ebx, edi
lea edi, [edx + edx]
and edi, eax
lea edx, [ebx + edi]
mov dword [esp + 0x26c], edx
shr dword [esp + 0x1a0], 1
lea edx, [esp + 0x224]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100341d5
mov eax, dword [esp + 0x26c]
mov ecx, eax
bswap ecx
mov ebx, ecx
mov esi, dword [esp + 0x1608]
not ebx
mov edi, esi
and edi, ebx
lea ebx, [ecx + ecx]
mov dword [esp + 0x15d4], ecx
mov dword [esp + 0x484], 0
mov dword [esp + 0x3fc], 0xd279a000
lea edx, [edi + ecx]
mov edi, dword [esp + 0x160c]
or edi, ebx
mov ebx, eax
sub edi, esi
or ebx, 1
sub edi, ecx
mov ecx, edx
not ecx
xor eax, 1
imul ecx, edi
not edi
imul edi, edx
mov esi, 0x31060000
add ebx, ebx
sub ebx, eax
mov edx, ecx
not ebx
sub edx, edi
ror esi, cl
mov edi, esi
neg edi
bswap edx
lea ebx, [ebx + 1]
ror ebx, cl
mov eax, ebx
not eax
lea edi, [edi - 1]
and eax, edi
add ebx, eax
lea eax, [esi + esi]
xor esi, 1
or eax, 2
sub eax, esi
mov edi, eax
xor eax, ebx
or edi, ebx
add edi, edi
sub edi, eax
rol edi, cl
mov esi, edi
mov ebx, edi
mov ecx, edi
and esi, edx
or ebx, edx
xor ecx, edx
sub ebx, ecx
lea eax, [edi + edx]
sub eax, esi
mov ecx, eax
mov esi, eax
or ecx, ebx
and esi, ebx
imul esi, ecx
mov ecx, eax
not ecx
and ecx, ebx
not ebx
and ebx, eax
mov eax, edx
imul ebx, ecx
neg eax
lea ecx, [esi + ebx]
lea esi, [eax - 1]
mov eax, esi
xor esi, edi
or eax, edi
neg edi
sub eax, esi
mov esi, edx
not esi
lea ebx, [edi - 1]
mov edi, eax
or esi, ebx
lea ebx, [edx + esi + 1]
mov edx, eax
and edx, ebx
or edi, ebx
imul edi, edx
mov edx, eax
not edx
and edx, ebx
not ebx
and eax, ebx
imul eax, edx
lea esi, [edi + eax]
mov edi, esi
xor esi, ecx
and edi, ecx
lea ecx, [esi + edi*2]
mov dword [esp + 0x15d8], ecx
mov ecx, dword [esp + 0x26c]
mov edx, ecx
mov esi, ecx
xor edx, 0x31060000
and esi, 0x31060000
lea ebx, [edx + esi]
imul eax, ebx, 0xcef9ffff
not ebx
imul edi, ebx, 0x31060000
not eax
not edi
sub eax, edi
mov ebx, dword [esp + 0x15d4]
lea edx, [ecx + eax]
lea esi, [eax + eax]
mov eax, dword [esp + 0x1614]
add ecx, ecx
and ecx, esi
mov esi, dword [esp + 0x1618]
lea edi, [eax + ebx]
or esi, ebx
sub edx, ecx
sub edi, esi
mov ecx, dword [esp + 0x1610]
mov esi, ecx
lea eax, [edi - 1]
xor esi, eax
and ecx, eax
mov eax, edx
lea edi, [esi + ecx*2]
mov esi, edx
bswap edi
mov ebx, edi
neg ebx
lea ecx, [ebx - 1]
mov ebx, edi
xor esi, ecx
or eax, ecx
mov ecx, edx
not ebx
neg ecx
xor esi, eax
mov eax, esi
lea ecx, [ecx - 1]
or ebx, ecx
mov ecx, esi
lea ebx, [edi + ebx + 1]
and eax, ebx
or ecx, ebx
imul ecx, eax
mov eax, ebx
mov dword [esp + 0x15dc], ecx
not eax
mov ecx, esi
not esi
and ecx, eax
and esi, ebx
lea ebx, [esp + 0x15e0]
mov dword [ebx], ecx
mov eax, edx
imul esi, dword [ebx]
or eax, edi
mov ecx, dword [esp + 0x15dc]
sub eax, edx
xor eax, edi
lea ebx, [ecx + esi]
mov ecx, edx
not ecx
mov esi, eax
and ecx, edi
not esi
mov edi, eax
add ecx, edx
mov edx, ecx
and esi, ecx
not edx
and edi, ecx
and edx, eax
or eax, ecx
imul edx, esi
imul eax, edi
lea edi, [edx + eax]
mov esi, edi
xor edi, ebx
or esi, ebx
lea ecx, [esi + esi]
mov esi, dword [esp + 0x15d8]
sub ecx, edi
mov edx, ecx
or edx, esi
lea ebx, [ecx + esi]
sub ebx, edx
lea eax, [ecx + esi]
and ecx, esi
lea edx, [ebx + ebx]
lea esi, [ecx + ecx]
sub eax, esi
lea esi, [edx + edx]
lea ecx, [eax + eax]
xor eax, edx
and esi, ecx
mov edx, dword [esp]
mov ecx, edx
mov dword [esp + 0x15e4], esi
mov dword [esp + 0x15e8], eax
lea edi, [esi + eax]
mov esi, edx
mov eax, edx
and esi, edi
xor eax, edi
or ecx, edi
mov ebx, ecx
sub ebx, esi
mov dword [esp + 0x15ec], edi
add eax, esi
mov esi, ebx
and esi, eax
or ebx, eax
not esi
not ebx
mov eax, edi
sub esi, ebx
not eax
mov ebx, edx
or ebx, eax
add ecx, ecx
sub ebx, eax
sub ecx, edx
sub ecx, edi
mov edx, ebx
and edx, ecx
or ebx, ecx
mov ecx, esi
mov edi, esi
not ecx
add ebx, edx
mov edx, esi
and ecx, ebx
or edx, ebx
xor edi, ebx
xor edx, edi
mov edi, edx
not edi
lea eax, [esi + ecx]
mov ecx, eax
and edi, eax
not ecx
and ecx, edx
imul edi, ecx
mov ecx, edx
or ecx, eax
and edx, eax
mov eax, ebx
imul edx, ecx
neg eax
lea ecx, [edi + edx]
mov edx, esi
lea eax, [eax - 1]
or edx, eax
sub edx, esi
neg esi
xor edx, eax
mov eax, edx
lea edi, [esi - 1]
mov esi, ebx
or esi, edi
sub esi, ebx
mov ebx, edx
xor esi, edi
not ebx
mov edi, esi
and ebx, esi
not edi
and eax, edi
mov edi, edx
and edi, esi
or edx, esi
imul eax, ebx
imul edx, edi
lea esi, [eax + edx]
mov edx, ecx
mov eax, dword [esp + 0x120c]
and edx, esi
xor ecx, esi
neg eax
lea ebx, [ecx + edx*2]
mov edx, dword [esp + 0x15ec]
mov edi, edx
lea ecx, [eax - 2]
and edi, ecx
xor edx, ecx
mov dword [esp + 0x15f0], ebx
mov ebx, dword [esp + 0x15e4]
lea esi, [edi + edx]
mov edx, esi
not esi
xor edx, ecx
lea ecx, [eax + eax - 4]
lea eax, [esi + esi]
mov esi, dword [esp + 0x15e8]
and ecx, eax
sub edx, ecx
lea ecx, [ebx + esi - 1]
mov ebx, dword [esp]
not ecx
mov esi, ecx
not ecx
shrd ebx, ebx, 0xd
and ecx, 1
neg ebx
xor esi, 1
lea eax, [ecx + ecx]
sub esi, eax
lea ebx, [ebx - 1]
shrd esi, esi, 0xd
mov edi, ebx
mov ecx, ebx
xor edi, esi
and ecx, esi
mov eax, ebx
lea esi, [edi + ecx]
mov ecx, edx
xor eax, esi
not esi
and esi, ebx
lea ebx, [esi + esi]
mov esi, edx
sub eax, ebx
mov ebx, edx
shrd eax, eax, 0x13
xor ecx, eax
or esi, eax
and ecx, eax
sub esi, eax
xor ebx, esi
mov edi, ebx
lea esi, [ecx + edx]
mov ecx, ebx
or edi, esi
and ecx, esi
imul ecx, edi
mov edi, ebx
not edi
mov dword [esp + 0x864], esi
and edi, esi
not esi
and ebx, esi
mov esi, edx
neg esi
imul ebx, edi
lea esi, [esi - 1]
lea edi, [ecx + ebx]
mov ebx, esi
or ebx, eax
xor esi, eax
neg eax
sub ebx, esi
mov esi, edx
lea ecx, [eax - 1]
xor esi, ecx
or edx, ecx
xor esi, edx
mov edx, ebx
mov eax, esi
not edx
not eax
mov ecx, ebx
and edx, esi
and ecx, eax
imul ecx, edx
mov edx, esi
and edx, ebx
or esi, ebx
imul esi, edx
mov eax, dword [esp + 0x15f0]
lea edx, [ecx + esi]
lea esi, [edi + edi]
lea ebx, [edx + edx]
xor edx, edi
or esi, ebx
sub esi, dword [esp + 0x864]
sub esi, edx
mov ecx, esi
mov edx, esi
or ecx, eax
and edx, eax
sub ecx, esi
mov ebx, dword [esp + 4]
lea edi, [esi + eax]
xor ecx, eax
mov eax, ebx
mov esi, ebx
sub edi, edx
mov edx, dword [esp + 0x150]
or eax, 0xf24395c1
and esi, 0xf24395c1
and edx, 0xf24395c1
and ebx, 0xdbc6a3e
imul esi, eax
imul ebx, edx
mov dword [esp + 0x12ec], ecx
lea ecx, [esi + ebx]
mov edx, ecx
not ecx
xor edx, 0x7a6f9f49
mov dword [esp + 0x12e8], edi
lea eax, [ecx + ecx]
and eax, 0xf4df3e92
sub edx, eax
mov ebx, edx
mov esi, edx
mov edi, edx
not ebx
and esi, 0xcfb97a41
or edi, 0xcfb97a41
and ebx, 0xcfb97a41
and edx, 0x304685be
imul edi, esi
imul edx, ebx
lea ecx, [edi + edx]
mov eax, ecx
not ecx
and ecx, 0x14fec477
xor eax, 0x94fec477
lea edi, [ecx + ecx]
sub eax, edi
mov edi, dword [esp + 0x17c]
mov edx, eax
not edx
mov ebx, edi
mov ecx, edi
mov esi, edi
and ebx, edx
or ecx, eax
xor esi, eax
xor ecx, esi
mov edx, ecx
not edx
lea esi, [ebx + eax]
and edx, esi
mov ebx, ecx
mov dword [esp + 0x15f4], edx
mov edx, esi
not edx
and ebx, edx
mov edx, ecx
and edx, esi
or ecx, esi
imul ebx, dword [esp + 0x15f4]
imul ecx, edx
lea edx, [ebx + ecx]
mov ebx, edi
neg ebx
mov ecx, eax
lea esi, [ebx - 1]
or ecx, esi
lea ebx, [eax + ebx - 1]
neg eax
sub ebx, ecx
mov ecx, dword [esp + 0x1228]
lea esi, [eax - 1]
or ecx, esi
mov esi, ebx
lea eax, [edi + ecx + 1]
mov edi, ebx
mov ecx, eax
or edi, eax
not ecx
and esi, eax
and ecx, ebx
not ebx
and ebx, eax
imul esi, edi
imul ebx, ecx
lea eax, [esi + ebx]
mov esi, edx
and esi, eax
xor edx, eax
lea edi, [edx + esi*2]
mov dword [esp + 0x6bc], edi
test byte [esp + 0x6bc], 1
je 0x10034896
mov ebx, dword [esp + 0x484]
mov edx, ebx
mov eax, dword [esp + 0x3fc]
lea ecx, [ebx + ebx]
xor edx, ecx
not ecx
and ebx, ecx
lea esi, [eax + edx]
lea edi, [ebx + ebx]
sub esi, edi
mov dword [esp + 0x484], esi
shr dword [esp + 0x6bc], 1
lea edx, [esp + 0x3fc]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10034864
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov dword [esp + 0x6c0], eax
mov dword [esp + 0x228], edx
mov dword [esp + 0x178], 0
test edx, edx
je 0x100352e1
test byte [esp + 0x6c0], 1
je 0x100352c7
mov edi, dword [esp + 0x228]
mov ebx, edi
shrd ebx, edi, 7
not ebx
mov dword [esp + 0xdb8], ebx
lea ecx, [ebx + 1]
mov esi, ecx
not ecx
and ecx, 1
xor esi, 1
lea edx, [ecx + ecx]
sub esi, edx
shld esi, esi, 7
mov eax, esi
mov ebx, esi
or esi, 0x7e71a0c5
xor eax, 0x7e71a0c5
and ebx, 0xfe71a0c5
mov edx, esi
not edx
lea ecx, [eax + ebx*2]
xor esi, ecx
lea ebx, [edx + edx]
lea eax, [ecx + ecx]
mov ecx, edi
and ebx, eax
mov eax, edi
sub ebx, esi
mov esi, edi
not esi
and ecx, 0x6b572f0f
mov dword [esp + 0xdc0], esi
or eax, 0x6b572f0f
and esi, 0x6b572f0f
and edi, 0x94a8d0f0
imul eax, ecx
imul edi, esi
mov dword [esp + 0xdbc], ebx
lea ecx, [eax + edi]
mov edx, ecx
or ecx, 0xbb2da3c7
and edx, 0xbb2da3c7
lea esi, [edx + ecx]
mov eax, esi
mov edx, esi
mov ecx, esi
not esi
or eax, 0xe93dfef
and edx, 0xe93dfef
and ecx, 0xf16c2010
and esi, 0xe93dfef
imul edx, eax
imul esi, ecx
mov eax, dword [esp + 0xe78]
lea ecx, [edx + esi]
mov edi, ecx
xor ecx, 0x9174c037
and edi, 0x1174c037
lea esi, [ecx + edi*2]
mov edi, dword [esp + 0xe74]
mov edx, edi
mov ecx, edi
xor edx, esi
and ecx, esi
add edx, ecx
mov ecx, esi
imul eax, edx
not edx
imul edi, edx
not eax
not edi
sub eax, edi
not ecx
and ecx, eax
lea edi, [esi + ecx*2]
mov esi, ebx
sub edi, eax
neg esi
mov edx, edi
mov eax, edi
neg edx
mov ecx, edi
lea esi, [esi - 1]
xor eax, esi
or ecx, esi
xor eax, ecx
lea ecx, [edx - 1]
mov esi, ebx
or ebx, ecx
xor esi, ecx
mov ecx, eax
sub ebx, esi
mov esi, eax
mov edx, ebx
not esi
not edx
and esi, ebx
or ecx, ebx
and edx, eax
and eax, ebx
imul edx, esi
imul eax, ecx
mov dword [esp + 0xdc4], esi
lea ebx, [edx + eax]
mov edx, edi
mov esi, dword [esp + 0xdbc]
and edx, esi
mov dword [esp + 0x794], ecx
mov ecx, edi
mov dword [esp + 0xdc8], ebx
mov ebx, edi
xor edi, esi
or ebx, esi
sub ebx, esi
mov dword [esp + 0xdcc], ebx
xor ecx, ebx
mov eax, ecx
mov esi, ecx
not eax
lea ebx, [edx + edi]
mov edx, ebx
and eax, ebx
not edx
and esi, edx
imul eax, esi
mov esi, ecx
or esi, ebx
and ecx, ebx
imul ecx, esi
mov esi, dword [esp + 0x228]
lea ebx, [eax + ecx]
mov edi, esi
and edi, 0x7e71a0c5
xor edi, 0x7e71a0c5
mov edx, dword [esp + 0xdc0]
mov dword [esp + 0xdd0], ebx
mov ebx, esi
lea eax, [esi + edi]
bswap esi
imul edx, eax
not eax
imul ebx, eax
not edx
not ebx
sub edx, ebx
mov ecx, edx
and ecx, 0x18e5f3a
lea edi, [ecx + ecx]
sub edi, edx
mov edx, dword [esp + 0xe7c]
mov ecx, edx
xor ecx, esi
or edx, esi
mov esi, dword [esp + 0x7a8]
xor ecx, edx
mov eax, esi
or esi, ecx
and eax, ecx
lea ebx, [edi + 0x7e71a0c5]
mov dword [esp + 0xdd4], ecx
mov ecx, ebx
mov dword [esp + 0xdd8], eax
add esi, eax
bswap esi
or ecx, esi
lea edx, [esi + edi + 0x7e71a0c5]
mov edi, esi
not edi
sub edx, ecx
and edi, ebx
lea ecx, [edi + esi]
mov edi, edx
mov eax, ecx
not edi
not eax
and edi, ecx
and eax, edx
imul eax, edi
mov edi, edx
or edi, ecx
and edx, ecx
imul edx, edi
mov edi, ebx
neg edi
lea ecx, [eax + edx]
lea eax, [edi - 1]
mov edi, eax
or eax, esi
xor edi, esi
neg esi
xor edi, eax
mov eax, edi
lea esi, [esi - 1]
not esi
mov edx, esi
or edx, ebx
mov ebx, edi
sub edx, esi
mov esi, edi
not esi
or eax, edx
and ebx, edx
and esi, edx
not edx
and edx, edi
imul ebx, eax
imul edx, esi
mov eax, dword [esp + 0xdc8]
add ebx, edx
mov edx, dword [esp + 0xdd0]
mov esi, ecx
xor esi, ebx
lea edi, [ebx + ebx]
add ecx, ecx
and edi, ecx
lea ecx, [eax + eax]
lea ebx, [edx + edx]
xor edx, eax
or ecx, ebx
mov ebx, dword [esp + 0xdb8]
sub ecx, ebx
add esi, edi
sub ecx, edx
mov eax, esi
not eax
lea edi, [ecx - 1]
and eax, edi
lea ecx, [esi + eax*2]
mov eax, edi
sub ecx, edi
xor eax, esi
or edi, esi
mov esi, ecx
sub edi, eax
lea edx, [edi + edi]
xor esi, edx
lea edi, [ebx + esi]
lea ebx, [ecx + ecx]
mov ecx, dword [esp + 0xe80]
neg ecx
lea esi, [edx + edx]
mov dword [esp + 0xddc], ecx
and ebx, esi
shld ecx, ecx, 0x15
not ecx
lea eax, [edi + ebx + 1]
lea esi, [ecx + ecx + 2]
and esi, 0xfffffffc
lea edx, [ecx + 1]
xor edx, 1
sub esi, edx
mov edx, eax
shld esi, esi, 0xb
mov ecx, dword [esp + 0xdd4]
rol edx, cl
rol esi, cl
mov edi, edx
mov ebx, edx
xor edi, esi
and ebx, esi
add ebx, edi
mov edi, ebx
not edi
and edi, edx
add edi, edi
sub edi, edx
mov edx, eax
not edx
add ebx, edi
lea edi, [ebx + esi]
and ebx, esi
lea esi, [ebx + ebx]
sub edi, esi
mov esi, dword [esp + 0xddc]
mov ebx, esi
ror edi, cl
and ebx, edx
lea ecx, [edi + edi]
lea edi, [ebx + eax]
mov ebx, esi
xor ebx, eax
or esi, eax
sub esi, ebx
mov edx, esi
xor edx, edi
not edi
and edi, esi
lea esi, [ecx + ecx]
lea eax, [edi + edi]
sub edx, eax
mov ebx, edx
sub edx, ecx
not ebx
neg ecx
lea edi, [ebx + ebx]
and esi, edi
lea eax, [ecx - 1]
mov edi, ebx
or edi, eax
mov eax, 0xec90de0d
sub edi, ebx
add esi, edx
mov edx, dword [esp + 0xe84]
mov ebx, esi
not ebx
lea ecx, [edi + edi]
imul ebx, ecx
not ecx
imul ecx, esi
sub ebx, ecx
mov esi, dword [esp + 0x7a8]
xor esi, ebx
not ebx
lea edi, [ebx + ebx]
mov ebx, dword [esp + 0xdcc]
and edx, edi
sub esi, edx
mov edi, dword [esp + 0xdc4]
mov ecx, edi
mov edx, esi
neg edi
ror edx, cl
mov ecx, ebx
ror eax, cl
mov ecx, edx
or ecx, 1
xor edx, 1
mov dword [esp + 0xde0], esi
add ecx, ecx
sub ecx, edx
lea edx, [ecx - 1]
mov ecx, edi
not edx
ror edx, cl
mov ecx, ebx
ror edx, cl
neg ebx
mov edi, edx
mov ecx, edx
and edi, eax
xor ecx, eax
add ecx, edi
lea edi, [edx + eax]
add edx, edx
add eax, eax
and edx, eax
sub edi, edx
mov eax, edi
xor eax, ecx
not ecx
add edi, edi
lea edx, [ecx + ecx]
mov ecx, ebx
and edx, edi
sub eax, edx
ror eax, cl
mov ecx, esi
and ecx, 0xec90de0d
xor esi, 0xec90de0d
add esi, ecx
mov ebx, esi
and esi, 0x136f21f3
xor ebx, 0x136f21f3
lea edi, [ebx + esi*2]
mov ebx, eax
mov ecx, edi
neg ebx
neg ecx
lea edx, [ecx - 1]
mov esi, edx
lea ecx, [ebx - 1]
mov ebx, ecx
xor ecx, edi
or ebx, edi
or esi, eax
xor edx, eax
sub ebx, ecx
xor esi, edx
mov ecx, ebx
mov edx, ebx
or ecx, esi
and edx, esi
imul edx, ecx
mov ecx, esi
not ecx
and ecx, ebx
not ebx
and esi, ebx
mov ebx, edi
imul esi, ecx
or ebx, eax
sub ebx, edi
add esi, edx
mov edx, edi
xor edi, eax
and edx, eax
xor ebx, eax
mov ecx, ebx
not ecx
lea eax, [edx + edi]
mov edi, ebx
mov edx, eax
and ecx, eax
not edx
or edi, eax
and edx, ebx
and ebx, eax
imul edx, ecx
imul ebx, edi
lea eax, [edx + ebx]
mov ebx, esi
and ebx, eax
xor esi, eax
lea ecx, [esi + ebx*2]
mov dword [esp + 0xde4], ecx
mov ecx, dword [esp + 0xde0]
mov edx, ecx
mov ebx, ecx
neg edx
xor ebx, 1
lea esi, [ecx + ecx]
and esi, 2
lea edi, [edx - 1]
not edi
and edi, 0xec90de0d
lea eax, [edi + edx - 1]
mov edi, eax
lea edx, [ebx + esi]
xor edi, edx
add eax, eax
lea esi, [edx + edx]
and eax, esi
lea ebx, [edi + eax]
mov edi, ecx
or edi, 0xec90de0d
mov eax, ecx
sub edi, ecx
xor edi, 0xec90de0d
mov esi, edi
and esi, 0xec90de0d
mov dword [esp + 0xde8], edi
lea edx, [esi + esi]
sub edi, edx
lea edx, [edi - 0x136f21f3]
or eax, edx
xor ecx, edx
mov edx, ebx
neg edx
lea esi, [eax + eax]
sub esi, ecx
mov edi, esi
lea eax, [edx - 1]
neg edi
lea ecx, [edi - 1]
not ecx
or ecx, ebx
add edi, ecx
mov ecx, esi
or ecx, eax
mov edx, edi
sub ecx, eax
mov eax, esi
xor eax, ecx
not edx
mov ecx, eax
and ecx, edx
mov edx, eax
not edx
and edx, edi
imul edx, ecx
mov ecx, eax
and ecx, edi
or eax, edi
imul eax, ecx
mov ecx, esi
or ecx, ebx
lea edi, [edx + eax]
mov edx, esi
mov eax, esi
and edx, ebx
xor esi, ebx
sub ecx, ebx
xor eax, ecx
mov ebx, eax
not ebx
lea ecx, [edx + esi]
mov esi, ecx
mov edx, eax
not esi
and ebx, ecx
and esi, eax
and edx, ecx
or eax, ecx
mov ecx, edi
imul esi, ebx
imul eax, edx
lea ebx, [esi + eax]
mov esi, dword [esp + 0xde4]
or ecx, ebx
and edi, ebx
mov edx, esi
not edx
add ecx, edi
and edx, ecx
lea eax, [ecx + ecx]
not eax
lea ebx, [esi + edx*2]
mov edx, dword [esp + 0x794]
sub ebx, ecx
add esi, esi
mov ecx, eax
or ecx, esi
sub ecx, eax
mov eax, edx
not eax
lea edi, [ebx + ebx]
xor ebx, ecx
lea esi, [ecx + ecx]
imul ecx, edx, 0x3dbc7a
or esi, edi
not ecx
sub esi, ebx
imul ebx, eax, 0xffc24385
mov eax, esi
neg eax
not ebx
sub ebx, ecx
mov edx, ebx
mov dword [esp + 0xdf0], ebx
mov dword [esp + 0xdec], esi
lea edi, [eax - 1]
mov eax, ebx
xor edx, edi
or eax, edi
xor eax, edx
lea ecx, [eax + eax]
mov eax, ebx
not ebx
xor eax, esi
and ebx, esi
mov dword [esp + 0xdf4], ecx
lea esi, [ebx + ebx]
mov dword [esp + 0xdf8], esi
mov ecx, eax
sub ecx, dword [esp + 0xdf8]
mov eax, ecx
not eax
mov esi, dword [esp + 0xdf4]
mov edx, dword [esp + 0xdec]
shld edx, edx, 0x14
mov ebx, dword [esp + 0xdf0]
add eax, eax
shld ebx, ebx, 0x14
lea edi, [esi + esi]
xor esi, ecx
and eax, edi
mov edi, edx
mov ecx, edx
and edi, ebx
xor ecx, ebx
sub eax, esi
add ecx, edi
mov esi, ecx
not ecx
xor esi, ebx
lea edi, [ebx + ebx]
lea ebx, [ecx + ecx]
mov ecx, dword [esp + 0xdd8]
and edi, ebx
sub esi, edi
mov edi, eax
not edi
lea ebx, [esi + edx]
and esi, edx
lea edx, [esi + esi]
sub ebx, edx
shld ebx, ebx, 0xc
lea esi, [ecx + ebx*2]
mov ebx, eax
sub ebx, esi
and edi, esi
lea edx, [ebx + edi*2]
lea edi, [eax + eax]
not edi
lea ebx, [esi + esi]
or edi, ebx
lea esi, [edi + eax*2 + 1]
mov eax, esi
xor esi, edx
and eax, edx
mov edx, dword [esp + 0x794]
lea ebx, [eax + eax]
sub ebx, ecx
lea ecx, [edx + edx]
lea eax, [ebx + esi]
mov ebx, edx
xor ebx, eax
lea esi, [eax + eax]
and ecx, esi
mov esi, dword [esp + 0x178]
mov edx, esi
mov eax, esi
add ebx, ecx
or edx, ebx
and eax, ebx
lea ecx, [edx + eax]
lea eax, [ebx + ebx]
not eax
lea edx, [esi + esi]
mov dword [esp + 0xdfc], eax
or eax, edx
sub eax, dword [esp + 0xdfc]
mov edx, eax
xor eax, ecx
not edx
and edx, ecx
bswap esi
add edx, edx
sub edx, eax
bswap edx
neg edx
lea eax, [edx - 1]
mov ecx, eax
xor ecx, esi
and ecx, esi
mov esi, eax
not esi
lea ecx, [ecx + edx - 1]
add esi, esi
lea edx, [ecx + ecx]
xor ecx, eax
and esi, edx
sub esi, ecx
bswap esi
sub esi, edi
mov eax, esi
xor eax, ebx
mov edx, eax
and edx, ebx
lea ecx, [esi + edx]
or esi, ebx
sub esi, eax
lea eax, [ecx + ecx]
lea edx, [esi + esi]
xor esi, ecx
and eax, edx
add edi, eax
mov eax, dword [esp + 0xde8]
add esi, edi
mov dword [esp + 0xe00], esi
lea edx, [esi + esi]
mov dword [esp + 0x798], edx
mov edx, dword [esp + 0x178]
lea ecx, [eax + 0xd]
ror edx, cl
mov eax, edx
bswap eax
not eax
ror ebx, cl
bswap eax
mov dword [esp + 0xe04], ecx
mov ecx, ebx
shld eax, eax, 0x19
shld ecx, ebx, 0x19
mov esi, eax
mov edi, eax
and esi, ecx
or edi, ecx
add eax, ecx
sub eax, esi
mov ecx, eax
add edi, esi
xor ecx, edi
not edi
add eax, eax
lea esi, [edi + edi]
mov edi, edx
not edi
and esi, eax
sub ecx, esi
mov esi, edx
sub esi, ebx
lea eax, [ebx + ebx]
neg ebx
shrd ecx, ecx, 0x19
mov dword [esp + 0xe08], ecx
add edi, edi
and edi, eax
lea ebx, [ebx - 1]
add ecx, ecx
neg ecx
lea eax, [esi + edi]
mov esi, ebx
xor esi, edx
or ebx, edx
sub ebx, esi
lea edx, [ecx - 1]
mov edi, dword [esp + 0xe08]
add ebx, ebx
mov esi, ebx
not esi
imul esi, eax
not eax
imul eax, ebx
not esi
not eax
sub esi, eax
lea ebx, [edi + edi - 1]
not ebx
mov edi, ebx
lea ecx, [esi - 1]
neg esi
not ecx
lea eax, [esi - 1]
mov esi, ebx
or esi, eax
and edi, eax
imul edi, esi
mov esi, ebx
not esi
neg edi
and esi, eax
not eax
and eax, ebx
mov ebx, ecx
imul eax, esi
mov esi, ecx
or ebx, edx
and esi, edx
imul esi, ebx
lea edi, [edi - 1]
mov ebx, edx
sub edi, eax
not ebx
mov eax, ecx
not ecx
and eax, ebx
and ecx, edx
imul ecx, eax
mov eax, edi
not eax
lea edx, [esi + ecx]
neg edx
mov ebx, dword [esp + 0x798]
shrd ebx, ebx, 7
mov ecx, dword [esp + 0xe04]
lea esi, [edx - 1]
imul eax, esi
not esi
imul esi, edi
not eax
not esi
sub eax, esi
lea edi, [ebx - 1]
rol eax, cl
mov ecx, edi
not ecx
mov edi, ecx
not edi
neg edi
not edi
lea esi, [ecx + ecx]
not esi
sub edi, esi
mov esi, eax
shrd edi, edi, 0x19
mov ebx, edi
neg esi
neg ebx
lea edx, [ebx - 1]
mov ecx, edx
lea ebx, [esi - 1]
or ecx, eax
xor ecx, edx
mov edx, ebx
or edx, edi
xor ebx, edi
sub edx, ebx
xor ecx, eax
mov esi, edx
mov ebx, ecx
not esi
not ebx
and esi, ecx
mov dword [esp + 0xe0c], esi
mov esi, edx
and esi, ebx
mov ebx, ecx
and ebx, edx
or ecx, edx
imul esi, dword [esp + 0xe0c]
mov edx, eax
imul ecx, ebx
and edx, edi
lea ebx, [esi + ecx]
mov ecx, eax
lea esi, [eax + edi]
or ecx, edi
sub esi, edx
xor ecx, eax
mov edx, esi
xor ecx, edi
mov edi, ecx
not edi
and edx, edi
mov edi, esi
not edi
and edi, ecx
imul edi, edx
mov edx, ecx
or edx, esi
and ecx, esi
imul ecx, edx
lea edx, [edi + ecx]
mov esi, edx
xor edx, ebx
or esi, ebx
lea ebx, [eax + eax]
and ebx, 2
xor eax, 1
add esi, esi
sub esi, edx
lea edi, [ebx + eax - 1]
mov ebx, dword [esp + 0x798]
mov ecx, ebx
neg ecx
not edi
mov dword [esp + 0xe10], esi
mov edx, edi
mov eax, edi
lea esi, [ecx - 1]
or edx, esi
sub edx, ecx
lea esi, [edx + 1]
mov edx, edi
neg edx
xor eax, esi
lea esi, [edx - 1]
mov edx, esi
or edx, ebx
sub edx, ebx
xor edx, esi
mov esi, eax
mov ecx, edx
not ecx
and esi, ecx
mov ecx, edx
mov dword [esp + 0xe14], esi
mov esi, eax
not esi
and ecx, esi
mov esi, edx
and esi, eax
or edx, eax
imul ecx, dword [esp + 0xe14]
mov eax, edi
imul edx, esi
lea esi, [ecx + edx]
mov ecx, edi
mov edx, edi
xor ecx, ebx
or edx, ebx
and ecx, edi
xor edx, ebx
mov ebx, dword [esp + 0xe00]
xor eax, edx
lea edx, [ecx + ebx*2]
mov ebx, eax
mov edi, edx
mov ecx, eax
not edi
not ecx
and ebx, edi
mov edi, eax
and ecx, edx
and edi, edx
or eax, edx
imul ecx, ebx
imul eax, edi
mov edi, dword [esp + 0xe10]
lea ebx, [ecx + eax]
mov eax, esi
add esi, esi
xor eax, ebx
lea edx, [ebx + ebx]
and esi, edx
lea ecx, [eax + esi]
mov esi, edi
mov ebx, ecx
neg esi
neg ebx
lea esi, [esi - 1]
mov edx, esi
lea eax, [ebx - 1]
mov ebx, ecx
not edx
not ebx
and edx, ecx
and ebx, esi
imul ebx, edx
mov edx, ecx
neg ebx
and edx, esi
or ecx, esi
imul ecx, edx
mov edx, edi
lea ebx, [ebx - 1]
mov esi, ebx
mov ebx, edi
sub esi, ecx
mov ecx, eax
not ebx
not ecx
and ebx, eax
and edx, ecx
imul edx, ebx
mov ebx, edi
or ebx, eax
and edi, eax
imul edi, ebx
mov ecx, esi
lea eax, [edx + edi]
neg eax
lea edx, [eax - 1]
xor ecx, edx
not edx
and edx, esi
lea ebx, [edx + edx]
sub ecx, ebx
mov dword [esp + 0x178], ecx
shr dword [esp + 0x6c0], 1
lea edx, [esp + 0x228]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100348d4
mov dword [esp + 0x488], 0
mov dword [esp + 0x400], 0x85300000
test byte [esp + 0x178], 1
je 0x1003556f
mov eax, dword [esp + 0x488]
mov esi, eax
xor esi, 0xce8cfd7
mov ecx, eax
mov edx, eax
and ecx, esi
or edx, 0xf3173028
lea ecx, [ecx + 0xce8cfd7]
mov edi, ecx
lea ebx, [edx + 0xce8cfd8]
mov esi, ecx
or edi, ebx
and esi, ebx
xor edx, 0xf3173028
imul esi, edi
mov edi, ebx
not edi
and edi, ecx
not ecx
and ecx, ebx
mov ebx, eax
neg ebx
xor eax, edx
imul ecx, edi
lea ebx, [ebx - 1]
or ebx, 0xf3173028
add esi, ecx
mov ecx, dword [esp + 0x178]
lea edi, [ebx + 0xce8cfd8]
mov ebx, eax
mov edx, edi
not ebx
not edx
and ebx, edi
and edx, eax
imul edx, ebx
mov ebx, eax
and ebx, edi
or eax, edi
imul eax, ebx
lea ebx, [edx + eax]
mov edi, ebx
xor ebx, esi
and edi, esi
lea edx, [ecx + edi*2]
add edx, ebx
mov eax, edx
mov esi, edx
or eax, 0xc5d0dfbe
mov ebx, edx
not esi
and ebx, 0xba2f2041
and esi, 0x45d0dfbe
lea edi, [eax + 0x3a2f2042]
xor edi, edx
add ebx, esi
lea edx, [edi + edi]
mov edi, ebx
xor edi, edx
add ebx, ebx
sub edi, ecx
lea ecx, [edx + edx]
and ecx, ebx
add edi, ecx
mov edx, edi
mov esi, edi
mov eax, edi
xor edx, 0xe78c93e7
and esi, 0xe78c93e7
or eax, 0xe78c93e7
xor eax, 0xe78c93e7
xor eax, edi
mov ebx, eax
lea ecx, [edx + esi]
mov edx, eax
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ebx, eax
not ebx
and ebx, ecx
not ecx
and ecx, eax
imul ecx, ebx
mov ebx, edi
neg ebx
lea eax, [edx + ecx]
mov ecx, edi
or ecx, 0x18736c18
sub ecx, edi
xor ecx, 0x18736c18
lea edx, [ebx - 1]
mov esi, edx
mov edi, ecx
or esi, 0xe78c93e7
xor esi, 0xe78c93e7
xor esi, edx
mov edx, ecx
mov ebx, esi
or edi, esi
not ebx
and edx, esi
and ebx, ecx
not ecx
and esi, ecx
imul edx, edi
imul esi, ebx
add edx, esi
mov ebx, edx
lea edi, [edx + edx]
xor ebx, eax
add eax, eax
and eax, edi
lea edi, [ebx + eax]
mov edx, edi
mov esi, edi
or edx, 0x4224018e
xor esi, 0xc224018e
and esi, 0x4224018e
mov eax, edi
lea ecx, [edx - 0x4224018e]
xor eax, ecx
lea ebx, [esi + edi]
mov edx, eax
xor eax, ebx
and edx, ebx
lea edi, [eax + edx*2]
mov eax, dword [esp + 0x400]
mov dword [esp + 0xe18], edi
mov esi, eax
shrd edi, edi, 1
shrd esi, eax, 1
mov ebx, edi
mov ecx, edi
xor ebx, esi
and ecx, esi
lea edx, [esi + esi]
add ebx, ecx
lea ecx, [ebx + ebx]
or edx, ecx
sub edx, esi
mov esi, eax
neg esi
sub edx, ebx
mov ebx, edx
and edx, edi
or ebx, edi
mov edi, eax
sub ebx, edx
mov edx, dword [esp + 0xe18]
lea esi, [esi - 1]
mov ecx, esi
or ecx, edx
xor ecx, esi
xor ecx, edx
or edi, ecx
and eax, ecx
shrd ebx, ebx, 0x1f
mov ecx, ebx
mov esi, ebx
or ecx, 0x5bb60159
lea edx, [edi + eax]
mov edi, ebx
not ebx
and esi, 0x5bb60159
and edi, 0xa449fea6
and ebx, 0x5bb60159
imul esi, ecx
imul ebx, edi
lea ecx, [esi + ebx]
mov eax, ecx
not ecx
xor eax, 0xad4ea2cf
lea esi, [ecx + ecx]
and esi, 0x5a9d459e
sub eax, esi
mov edi, eax
mov ebx, eax
not edi
mov ecx, eax
and edi, 0x499036e9
and ebx, 0xb66fc916
and ecx, 0x499036e9
or eax, 0x499036e9
imul ebx, edi
imul eax, ecx
add ebx, eax
mov esi, ebx
not esi
imul ecx, esi, 0xee59d867
imul eax, ebx, 0x11a6279a
not ecx
not eax
sub ecx, eax
mov eax, ecx
mov ebx, ecx
and eax, edx
mov edi, ecx
xor eax, ecx
or ebx, edx
xor edi, edx
xor ebx, edi
add edx, eax
mov eax, ebx
xor eax, edx
and ebx, edx
lea edx, [eax + ebx*2]
mov dword [esp + 0x488], edx
shr dword [esp + 0x178], 1
lea edx, [esp + 0x400]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100352f7
mov ecx, dword [esp + 0x240]
mov eax, ecx
mov edx, dword [esp + 0x488]
mov edi, edx
xor eax, edx
or ecx, edx
neg edi
sub ecx, eax
mov eax, dword [esp + 4]
mov esi, eax
mov dword [esp + 0x48c], 0
lea ebx, [eax + edi]
lea edi, [edi - 1]
or esi, edi
sub ebx, esi
mov esi, ecx
not esi
lea ebx, [ebx - 1]
mov edi, ebx
and esi, ebx
not edi
and edi, ecx
imul esi, edi
mov edi, ecx
and edi, ebx
or ecx, ebx
imul ecx, edi
mov ebx, eax
mov edi, eax
add esi, ecx
mov ecx, eax
xor ebx, edx
and ecx, edx
or edi, edx
xor edx, ecx
sub edi, ebx
mov ebx, edi
not ebx
lea ecx, [eax + edx]
mov edx, edi
mov eax, ecx
and ebx, ecx
not eax
and edx, eax
mov eax, edi
or eax, ecx
and edi, ecx
imul edx, ebx
mov ecx, esi
imul edi, eax
lea eax, [edx + edi]
or ecx, eax
xor esi, eax
mov eax, dword [esp]
mov dword [esp + 0x404], eax
lea edx, [ecx + ecx]
sub edx, esi
mov dword [esp + 0x6c4], edx
test eax, eax
je 0x10035686
test byte [esp + 0x6c4], 1
je 0x10035670
mov esi, dword [esp + 0x404]
mov ebx, dword [esp + 0x48c]
mov ecx, ebx
mov edi, ebx
lea eax, [ebx + esi]
and ecx, eax
xor edi, ecx
add ecx, ecx
lea edx, [edi + eax]
add edx, edx
mov esi, edx
add eax, ebx
sub eax, ecx
not esi
imul esi, eax
not eax
imul eax, edx
sub esi, ebx
sub esi, eax
mov dword [esp + 0x48c], esi
shr dword [esp + 0x6c4], 1
lea edx, [esp + 0x404]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1003562b
mov edx, dword [esp + 0x12a4]
mov eax, dword [esp + 0x12e4]
mov ebx, edx
xor ebx, eax
mov edi, dword [esp + 0x864]
lea ecx, [edx + edx]
mov dword [esp + 0x270], 0
lea esi, [eax + eax]
and ecx, esi
mov eax, dword [esp + 0x12ec]
lea esi, [ebx + ecx]
mov ecx, dword [esp + 0x12e8]
mov edx, ecx
xor edx, eax
add eax, eax
add ecx, ecx
and eax, ecx
lea ebx, [edi + edx]
mov edx, dword [esp + 0x484]
lea edi, [esi + ebx]
mov ebx, dword [esp + 4]
imul ebx, dword [esp + 0x48c]
add eax, edi
lea ecx, [edx + eax]
mov dword [esp + 0x12f0], ecx
mov edx, ebx
add ecx, ecx
ror edx, cl
mov esi, ecx
ror esi, cl
mov edi, edx
mov eax, edx
and edi, esi
or eax, esi
add eax, edi
xor edi, edx
lea edx, [ebx + ebx]
neg edx
add esi, edi
mov dword [esp + 0x12f4], esi
lea edi, [ecx + ecx]
lea esi, [edx - 2]
mov edx, esi
or esi, edi
xor edx, edi
xor edx, esi
mov esi, ebx
not esi
add esi, esi
and edi, esi
mov esi, ecx
xor esi, ebx
lea ebx, [edx + edx]
sub edi, esi
mov esi, edi
xor edi, edx
not esi
add esi, esi
and ebx, esi
sub ebx, edi
mov edi, eax
not edi
mov esi, dword [esp + 0x12f4]
imul edi, esi
not esi
imul esi, eax
sub edi, esi
mov esi, ebx
rol edi, cl
lea eax, [edi + edi]
sub eax, edx
and esi, eax
lea edi, [ebx + eax]
add esi, esi
sub edi, esi
mov esi, ebx
xor esi, eax
or ebx, eax
xor esi, ebx
lea eax, [edi + edi]
add esi, esi
xor edi, esi
lea ebx, [esi + esi]
or ebx, eax
add edx, ebx
mov ebx, dword [esp + 0x2c4]
sub edx, edi
mov esi, edx
not edx
xor esi, dword [esp + 0x12f0]
lea eax, [edx + edx]
mov edx, ebx
and ecx, eax
mov eax, ebx
and eax, 0x9287ffff
or edx, 0x9287ffff
sub esi, ecx
mov dword [esp + 0x12f8], esi
mov esi, ebx
xor esi, eax
lea ebx, [ebx - 1]
not ebx
add edx, eax
mov ecx, edx
not edx
lea edi, [esi - 0x6d780001]
xor ecx, edi
lea esi, [esi + esi + 0x250ffffe]
lea eax, [edx + edx]
and eax, esi
sub ecx, eax
lea eax, [ebx + ebx]
neg eax
not eax
sub eax, ebx
mov ebx, ecx
mov edi, eax
mov esi, eax
and edi, 0x6d780000
not ebx
xor edi, eax
and ebx, 0x3feebd63
lea edx, [eax + eax]
and edx, 0xdaf00000
sub esi, edx
lea edx, [esi + 0x6d780000]
lea esi, [edi + 0x6d780000]
mov eax, esi
or esi, edx
and eax, edx
not esi
not eax
mov edx, ecx
sub eax, esi
mov esi, ecx
and edx, 0xc011429c
and esi, 0x3feebd63
or ecx, 0x3feebd63
imul ebx, edx
imul ecx, esi
add ebx, ecx
mov edx, ebx
xor ebx, 0xba2eacdc
and edx, 0xc5d15323
lea esi, [edx + edx]
sub esi, ebx
mov edi, esi
mov ecx, esi
not edi
mov edx, esi
and edi, 0xbbf0ac4b
and ecx, 0x440f53b4
and edx, 0xbbf0ac4b
or esi, 0xbbf0ac4b
imul ecx, edi
imul esi, edx
mov edx, eax
lea ebx, [ecx + esi]
neg edx
lea esi, [ebx + ebx]
or esi, 0x5420e8e8
xor ebx, 0xaa107474
sub esi, ebx
mov ebx, esi
mov edi, esi
lea ecx, [edx - 1]
mov edx, esi
neg edx
or ebx, ecx
xor edi, ecx
mov ecx, eax
sub ebx, edi
mov edi, eax
lea edx, [edx - 1]
or edi, edx
xor ecx, edi
xor ecx, edx
mov edi, ecx
mov edx, ecx
and edi, ebx
or edx, ebx
imul edx, edi
mov edi, ebx
not edi
and edi, ecx
not ecx
and ecx, ebx
imul ecx, edi
lea ebx, [edx + ecx]
mov ecx, eax
or ecx, esi
mov edx, eax
sub ecx, eax
and edx, esi
xor eax, esi
xor ecx, esi
mov esi, ecx
mov edi, ecx
add eax, edx
mov edx, ecx
not edx
or esi, eax
and edi, eax
and edx, eax
not eax
and ecx, eax
imul edi, esi
imul ecx, edx
lea edx, [edi + ecx]
mov eax, edx
and edx, ebx
or eax, ebx
lea ebx, [eax + edx]
mov eax, dword [esp + 0x2c4]
mov edx, eax
and edx, 0x6d780000
xor edx, 0x6d780000
mov dword [esp + 0x12fc], ebx
lea ebx, [eax + edx]
mov ecx, ebx
not ecx
imul esi, ecx, 0x92880000
imul edi, ebx, 0x6d780001
not esi
not edi
sub esi, edi
mov ebx, dword [esp + 0x117c]
mov edi, ebx
not edi
lea edx, [eax + esi]
add eax, eax
lea ecx, [esi + esi]
and eax, ecx
mov ecx, dword [esp + 0x14f0]
mov esi, ecx
or esi, edi
sub edx, eax
sub esi, edi
mov edi, ecx
or edi, esi
and ecx, esi
sub edi, ecx
mov eax, ebx
mov esi, edx
add ebx, ebx
xor eax, edi
neg esi
lea ecx, [edi + edi]
and ebx, ecx
lea ecx, [eax + ebx]
bswap ecx
lea eax, [esi - 1]
not eax
mov edi, ecx
or eax, ecx
neg edi
mov dword [esp + 0x1300], edi
add eax, esi
mov esi, edx
not esi
lea ebx, [edi - 1]
mov dword [esp + 0x1308], esi
or esi, ebx
mov dword [esp + 0x1304], ebx
lea ebx, [edx + esi + 1]
mov esi, eax
mov edi, ebx
not esi
not edi
and esi, ebx
and edi, eax
imul esi, edi
mov edi, ebx
or edi, eax
and ebx, eax
imul ebx, edi
lea eax, [esi + ebx]
mov esi, ecx
mov ebx, dword [esp + 0x1308]
not esi
and ebx, ecx
mov edi, esi
or edi, edx
sub edi, esi
mov esi, edi
lea ecx, [ebx + edx]
mov edx, edi
mov ebx, ecx
not edx
not ebx
and edx, ecx
and ebx, edi
or esi, ecx
and edi, ecx
imul ebx, edx
imul edi, esi
mov edx, dword [esp + 0x1300]
lea esi, [ebx + edi]
mov ecx, esi
and esi, eax
or ecx, eax
lea edx, [ecx + edx - 1]
mov ecx, dword [esp + 0x12fc]
lea eax, [esi + edx]
mov edi, eax
lea esi, [eax + eax]
or edi, ecx
lea ebx, [ecx + eax]
sub ebx, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x408], edi
lea edx, [ebx + ebx]
lea ebx, [ecx + ecx]
or esi, ebx
sub esi, ecx
sub esi, eax
mov eax, esi
xor eax, edx
add edx, edx
sub eax, dword [esp + 0x1304]
lea ecx, [esi + esi]
and edx, ecx
lea ebx, [eax + edx]
mov dword [esp + 0x6c8], ebx
test edi, edi
je 0x10035b1e
test byte [esp + 0x6c8], 1
je 0x10035b04
mov ebx, dword [esp + 0x408]
mov ecx, ebx
mov eax, ebx
mov edx, ebx
not ebx
or ecx, 0xddbe7b35
and eax, 0xddbe7b35
and edx, 0x224184ca
and ebx, 0xddbe7b35
imul eax, ecx
imul ebx, edx
lea esi, [eax + ebx]
lea edi, [esi + esi]
xor esi, 0x6127c573
and edi, 0x3db07518
sub edi, esi
mov eax, edi
mov ecx, edi
not eax
mov ebx, edi
and ecx, 0x7a0dc0e2
and eax, 0x85f23f1d
or ebx, 0x85f23f1d
and edi, 0x85f23f1d
imul eax, ecx
imul edi, ebx
lea edx, [eax + edi]
mov eax, edx
and edx, 0x30ceab07
or eax, 0x30ceab07
lea esi, [eax + edx]
mov edx, dword [esp + 0x270]
lea ecx, [esi + esi]
lea ebx, [edx + edx + 0xbe47e3c]
mov edi, ebx
lea esi, [esi + edx - 0x7a0dc0e2]
not edi
or edi, ecx
lea eax, [ebx + edi + 1]
and ebx, ecx
sub esi, ebx
mov ecx, esi
and esi, eax
or ecx, eax
lea eax, [ecx + esi + 0x7a0dc0e2]
mov dword [esp + 0x270], eax
shr dword [esp + 0x6c8], 1
lea edx, [esp + 0x408]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10035a44
mov ecx, dword [esp + 0x270]
mov ebx, ecx
and ebx, dword [esp + 0x150]
mov edi, dword [esp + 4]
mov edx, edi
lea esi, [edi + ebx]
xor edx, esi
not esi
lea eax, [edi + edi]
mov dword [esp + 0x130c], eax
shrd edi, edi, 7
lea ebx, [esi + esi]
and eax, ebx
lea esi, [ecx + ecx]
sub edx, eax
mov ebx, edx
not ebx
lea eax, [ebx + ebx]
and eax, esi
sub eax, ecx
shrd ecx, ecx, 7
lea ebx, [eax + edx]
mov edx, edi
neg edx
lea edx, [edx - 1]
mov eax, edx
or eax, ecx
xor eax, edx
mov edx, ebx
xor eax, ecx
or edx, 0xcadc093f
mov ecx, eax
and eax, edi
or ecx, edi
mov edi, ebx
and edi, 0xcadc093f
imul edi, edx
lea esi, [ecx + eax]
mov eax, ebx
not eax
and ebx, 0x3523f6c0
and eax, 0xcadc093f
imul ebx, eax
shrd esi, esi, 0x19
add edi, ebx
mov ecx, edi
or edi, 0xa58054e4
and ecx, 0xa58054e4
add edi, ecx
mov eax, edi
mov ebx, edi
mov edx, edi
not eax
and ebx, 0xc65a66bf
or edx, 0xc65a66bf
and eax, 0xc65a66bf
and edi, 0x39a59940
imul edx, ebx
imul edi, eax
lea ecx, [edx + edi]
mov edx, ecx
xor ecx, 0x3345d1e4
and edx, 0x3345d1e4
lea edi, [ecx + edx*2]
mov edx, esi
neg edx
mov eax, edi
mov ecx, edi
neg ecx
lea ebx, [edx - 1]
mov dword [esp + 0x1310], ebx
or eax, ebx
sub eax, edx
mov edx, esi
not edx
lea ebx, [eax + 1]
mov eax, edi
xor eax, ebx
lea ebx, [ecx - 1]
or edx, ebx
mov ebx, eax
lea ecx, [esi + edx + 1]
mov edx, eax
or ebx, ecx
and edx, ecx
imul edx, ebx
mov ebx, ecx
not ebx
and ebx, eax
not eax
and eax, ecx
imul eax, ebx
mov ebx, edi
and ebx, esi
lea ecx, [edx + eax]
xor ebx, edi
mov edx, edi
mov eax, edi
or edx, esi
xor eax, esi
xor eax, edx
mov dword [esp + 0x1314], ecx
add ebx, esi
mov ecx, dword [esp + 4]
mov edi, eax
shrd ecx, ecx, 0x1e
mov esi, ebx
not edi
not esi
and edi, ebx
and esi, eax
imul esi, edi
lea edi, [ecx + ecx]
and edi, 2
xor ecx, 1
mov dword [esp + 0x1318], edx
mov edx, eax
or edx, ebx
and eax, ebx
imul eax, edx
lea edx, [edi + ecx]
not edx
lea ebx, [esi + eax]
mov eax, dword [esp + 0x270]
mov dword [esp + 0x131c], ebx
lea ecx, [edx + 1]
mov edx, eax
shrd ecx, ecx, 2
bswap ecx
bswap edx
mov edi, edx
xor edi, ecx
lea ebx, [ecx + ecx]
lea esi, [edx + edx]
and esi, ebx
lea ebx, [edx + ecx]
and edx, ecx
mov ecx, dword [esp + 0x1310]
rol eax, cl
neg ecx
not eax
add edi, esi
mov esi, ebx
mov ebx, edi
sub esi, edx
not ebx
mov edx, dword [esp + 4]
imul ebx, esi
not esi
imul esi, edi
rol eax, cl
mov ecx, edx
and ecx, eax
sub ebx, esi
bswap ebx
lea edi, [edx + eax]
lea esi, [ecx + ecx]
mov ecx, edx
xor ecx, eax
sub edi, esi
and ecx, eax
add edx, ecx
lea esi, [edi + edx]
add edx, edx
add edi, edi
and edx, edi
sub esi, edx
mov eax, esi
mov edi, esi
and eax, ebx
xor edi, ebx
mov ecx, esi
or ecx, ebx
sub ecx, esi
xor ecx, ebx
lea edx, [eax + edi]
mov eax, edx
mov edi, ecx
not eax
and edi, eax
mov eax, ecx
not eax
and eax, edx
imul eax, edi
mov edi, ecx
and edi, edx
or ecx, edx
imul ecx, edi
mov edi, ebx
neg edi
add eax, ecx
mov ecx, esi
lea edx, [edi - 1]
or ecx, edx
lea edi, [esi + edi - 1]
neg esi
sub edi, ecx
mov ecx, edi
not ecx
lea edx, [esi - 1]
mov esi, edx
xor edx, ebx
or esi, ebx
sub esi, edx
mov ebx, esi
mov edx, esi
not ebx
and ecx, esi
and ebx, edi
or edx, edi
and esi, edi
imul ebx, ecx
imul esi, edx
lea edi, [ebx + esi]
mov edx, edi
and edi, eax
xor edx, eax
lea edi, [edx + edi*2]
mov eax, edi
mov ecx, edi
not eax
mov edx, edi
and eax, 0xc88531a3
and ecx, 0x377ace5c
and edx, 0xc88531a3
or edi, 0xc88531a3
imul ecx, eax
imul edi, edx
lea ebx, [ecx + edi]
imul edi, ebx, 0xac6ed3b
not ebx
imul esi, ebx, 0xf53912c4
not edi
not esi
sub edi, esi
mov eax, edi
mov edx, edi
mov esi, edi
not eax
and edx, 0x1eb78a0b
or esi, 0x1eb78a0b
and eax, 0x1eb78a0b
and edi, 0xe14875f4
imul esi, edx
imul edi, eax
mov edx, dword [esp + 0x131c]
lea ecx, [esi + edi]
mov esi, dword [esp + 0x1314]
lea ebx, [ecx + ecx]
mov edi, esi
and ebx, 0x5f5aecd8
xor ecx, 0xafad766c
and edi, edx
mov eax, dword [esp + 0x1318]
xor esi, edx
add ebx, ecx
mov edx, ebx
lea edi, [eax + edi*2]
add edi, esi
mov esi, ebx
and edx, edi
or esi, edi
xor esi, ebx
lea ecx, [ebx + edi]
xor esi, edi
add edx, edx
sub ecx, edx
mov edi, ecx
lea ebx, [esi + esi]
or edi, ebx
and ecx, ebx
sub edi, eax
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x12f8]
mov eax, ebx
mov edi, ecx
not eax
mov esi, ecx
or edi, eax
and esi, ebx
mov dword [esp + 0x1320], eax
mov dword [esp + 0x868], ebx
lea edx, [edi + ebx]
lea eax, [edx + edx + 2]
lea edi, [ecx + ebx]
mov dword [esp + 0x1324], edi
rol ebx, cl
lea edx, [esi + esi]
sub edi, edx
mov edx, ecx
mov esi, edi
and edi, eax
or esi, eax
rol edx, cl
lea eax, [esi + edi]
mov esi, ebx
xor esi, edx
and esi, ebx
add esi, edx
mov edi, esi
not esi
xor edi, edx
add edx, edx
add esi, esi
and esi, edx
sub edi, esi
lea edx, [edi + ebx]
add ebx, ebx
add edi, edi
and ebx, edi
lea edi, [eax + eax]
sub edx, ebx
ror edx, cl
lea esi, [edx*4 + 0x42124e7a]
mov ebx, esi
lea edx, [eax + edx*2]
and ebx, edi
neg eax
sub edx, ebx
lea edi, [eax + eax - 2]
lea ebx, [edx + 0x2109273d]
mov edx, edi
xor edx, esi
or edi, esi
sub edi, edx
mov esi, ecx
mov eax, edi
mov edx, ecx
not eax
imul eax, ebx
not ebx
imul ebx, edi
mov edi, dword [esp + 0x1324]
xor esi, edi
or edx, edi
not eax
sub edx, esi
and esi, edi
not ebx
mov edi, edx
sub eax, ebx
mov ebx, dword [esp + 0x868]
mov dword [esp + 0x1328], eax
add ecx, esi
mov dword [esp + 0x132c], ecx
lea eax, [ecx + ecx]
xor edi, ecx
add edx, edx
and eax, edx
mov edx, ebx
neg edx
sub edi, ebx
mov esi, dword [esp + 0x1320]
or esi, 0x4615a574
lea ecx, [edx - 1]
not ecx
add edi, eax
or ecx, 0xb9ea5a8b
lea esi, [esi + ebx + 1]
mov dword [esp + 0x86c], edi
mov edi, esi
mov eax, esi
add ecx, edx
mov edx, esi
not edx
and edi, ecx
or eax, ecx
and edx, ecx
not ecx
and ecx, esi
mov esi, ebx
imul eax, edi
mov edi, ebx
imul ecx, edx
and edi, 0xb9ea5a8b
lea edx, [eax + ecx]
mov eax, ebx
xor edi, 0xb9ea5a8b
or eax, 0xb9ea5a8b
sub esi, eax
lea eax, [edi + ebx]
mov ebx, eax
mov edi, eax
not ebx
lea esi, [esi - 0x4615a575]
mov ecx, eax
and edi, esi
mov dword [esp + 0x1330], ebx
or ecx, esi
and ebx, esi
not esi
and esi, eax
lea eax, [edx + edx]
imul ecx, edi
imul esi, ebx
lea edi, [ecx + esi]
xor edx, edi
lea ebx, [edi + edi]
or eax, ebx
mov ebx, dword [esp + 0x132c]
add eax, ebx
sub eax, edx
mov edi, eax
mov ecx, eax
not edi
and ecx, 0x1ec1de54
and edi, 0xe13e21ab
mov edx, eax
imul ecx, edi
mov esi, eax
neg ecx
neg eax
and edx, 0xe13e21ab
or esi, 0xe13e21ab
imul esi, edx
lea edi, [ecx - 1]
sub edi, esi
lea ecx, [eax - 1]
mov edx, ecx
mov eax, ecx
not edx
mov esi, ecx
and eax, 0xe13e21ab
and edx, 0x1ec1de54
and esi, 0x1ec1de54
or ecx, 0x1ec1de54
imul edx, eax
imul ecx, esi
lea eax, [edx + ecx]
neg eax
lea edx, [eax - 1]
mov eax, edi
mov esi, edx
not edi
not esi
imul eax, esi
imul edi, edx
not eax
not edi
sub eax, ebx
sub eax, edi
mov edx, eax
mov ebx, eax
neg edx
or ebx, 0xe30842dc
mov edi, eax
sub edi, ebx
lea ecx, [edx - 1]
mov ebx, ecx
xor ecx, 0x1cf7bd23
or ebx, 0x1cf7bd23
lea edi, [edi - 0x1cf7bd24]
mov edx, ebx
xor edx, ecx
mov ecx, edx
mov esi, edx
or ecx, edi
and esi, edi
imul esi, ecx
mov ecx, edx
not ecx
and ecx, edi
not edi
and edx, edi
mov edi, eax
imul edx, ecx
mov ecx, eax
xor edi, 0x1cf7bd23
add edx, esi
mov esi, eax
or ecx, 0x1cf7bd23
and esi, 0x1cf7bd23
sub ecx, edi
xor esi, eax
mov edi, ecx
lea eax, [esi + 0x1cf7bd23]
mov esi, eax
not esi
and edi, esi
mov esi, ecx
not esi
and esi, eax
imul esi, edi
mov edi, ecx
and edi, eax
or ecx, eax
imul ecx, edi
lea edi, [esi + ecx]
mov esi, ebx
neg esi
lea ecx, [edx + edx]
lea eax, [edi + edi]
xor edi, edx
or ecx, eax
sub ecx, edi
mov eax, ecx
lea edx, [esi - 0x8b1697c]
mov dword [esp + 0x1334], edx
neg edx
lea esi, [esi + esi - 0x1162d2f8]
lea edi, [edx - 1]
mov edx, ecx
or eax, edi
xor edx, eax
mov dword [esp + 0x1338], edx
xor edx, edi
mov edi, ecx
not edi
lea eax, [edx + edx]
add edi, edi
and esi, edi
lea edx, [ecx + esi]
sub edx, dword [esp + 0x1334]
mov edi, edx
xor edi, eax
not eax
sub edi, ebx
lea ebx, [eax + eax]
lea eax, [edx + edx]
and ebx, eax
sub edi, ebx
mov eax, dword [esp + 0x86c]
mov ecx, eax
mov esi, eax
xor ecx, 0x7479822f
or esi, 0x7479822f
xor ecx, esi
lea edx, [edi + edi]
mov dword [esp + 0x133c], edx
mov edx, eax
and edx, 0x7479822f
sub eax, edx
mov dword [esp + 0x1340], ecx
not ecx
lea ebx, [eax + 0x7479822f]
and ecx, ebx
mov dword [esp + 0x1344], ecx
mov ecx, ebx
mov ebx, ecx
mov eax, dword [esp + 0x1340]
mov edx, ecx
and ebx, eax
or ecx, eax
imul ecx, ebx
mov esi, eax
mov ebx, dword [esp + 0x86c]
mov eax, ebx
neg eax
not edx
and esi, edx
mov edx, ebx
mov edi, dword [esp + 0x1344]
xor edx, 0x8b867dd0
imul edi, esi
or ebx, 0x8b867dd0
sub ebx, edx
lea esi, [eax - 1]
mov eax, esi
add edi, ecx
or eax, 0x7479822f
mov edx, ebx
xor eax, esi
mov esi, ebx
xor eax, 0x7479822f
mov ecx, eax
and edx, eax
not ecx
and esi, ecx
mov ecx, ebx
not ecx
or ebx, eax
and ecx, eax
imul ecx, esi
imul ebx, edx
mov dword [esp + 0x22c], 0
lea eax, [ecx + ebx]
mov ebx, dword [esp + 0x868]
lea esi, [eax + eax]
lea edx, [edi + edi]
xor edi, eax
and esi, edx
lea edx, [ebx + esi]
lea edi, [edx + edi + 1]
mov edx, edi
lea eax, [edi + edi]
and eax, 0xae4a77e0
or edx, 0x57253bf0
neg eax
lea esi, [edi + eax + 0x57253bf0]
xor edi, 0x57253bf0
sub edx, edi
lea eax, [edx + edx]
mov ecx, eax
xor eax, esi
or ecx, esi
lea edi, [ecx + ecx]
sub edi, ebx
sub edi, eax
lea esi, [edi - 1]
mov edi, esi
mov ebx, esi
neg edi
not ebx
mov ecx, ebx
or ecx, 0x8b06fb30
sub ecx, ebx
lea eax, [edi - 1]
mov edi, ecx
mov edx, eax
or edx, 0x74f904cf
sub eax, edx
lea ebx, [eax + 0x74f904cf]
mov eax, ecx
mov edx, ebx
or eax, ebx
not edx
and edi, edx
mov edx, ecx
and ecx, ebx
not edx
imul ecx, eax
mov eax, esi
and edx, ebx
or eax, 0x74f904cf
mov ebx, esi
sub ebx, eax
mov eax, esi
imul edx, edi
xor eax, 0x74f904cf
and esi, 0x74f904cf
lea edi, [edx + ecx]
lea ecx, [ebx + 0x74f904cf]
mov edx, ecx
lea ebx, [eax + esi]
mov esi, ecx
mov eax, ebx
or edx, ebx
not eax
and esi, ebx
and eax, ecx
not ecx
and ecx, ebx
imul esi, edx
imul ecx, eax
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x1330]
mov eax, ebx
or ebx, edi
and eax, edi
not ecx
neg ecx
mov dword [esp + 0x1348], ecx
lea edx, [eax + ebx]
mov eax, dword [esp + 0x133c]
mov edi, edx
mov esi, edx
or edi, 0x987b3710
not esi
and esi, 0x187b3710
lea ecx, [ecx - 1]
rol eax, cl
mov ebx, eax
bswap ebx
lea edi, [edi + edi - 0x30f66e20]
mov dword [esp + 0x870], ebx
lea edx, [edx + esi*2 - 0x187b3710]
mov esi, edi
not edi
xor esi, edx
lea ebx, [edx + edx]
mov dword [esp + 0x134c], ecx
add edi, edi
and edi, ebx
sub esi, edi
rol esi, cl
bswap esi
mov ebx, dword [esp + 0x870]
not ebx
mov edx, ebx
or edx, esi
lea ecx, [esi + esi]
sub edx, ebx
mov dword [esp + 0x1350], esi
lea edi, [ebx + ebx]
mov ebx, ecx
neg ecx
and ebx, edi
mov edi, dword [esp + 0x870]
add ebx, edi
sub ebx, esi
lea esi, [edx + edx]
xor edx, ebx
lea edi, [ebx + ebx]
and esi, edi
mov edi, eax
neg edi
lea ebx, [esi + edx]
bswap ebx
lea esi, [edi - 1]
mov edi, esi
mov edx, ebx
not edi
not edx
and edi, ebx
and edx, esi
imul edx, edi
neg edx
lea edi, [edx - 1]
mov edx, esi
or edx, ebx
and esi, ebx
neg ebx
imul esi, edx
mov edx, eax
sub edi, esi
lea ebx, [ebx - 1]
mov esi, ebx
not edx
not esi
and edx, ebx
and esi, eax
imul edx, esi
mov esi, ebx
and esi, eax
or ebx, eax
neg edx
imul ebx, esi
lea edx, [edx - 1]
sub edx, ebx
mov ebx, edi
mov eax, edx
not edi
not eax
imul ebx, eax
imul edi, edx
not ebx
not edi
sub ebx, edi
lea edx, [ecx - 2]
bswap ebx
mov edi, dword [esp + 0x1350]
lea eax, [ebx + ebx]
mov esi, eax
or eax, edx
xor esi, edx
xor esi, eax
mov eax, ebx
not ebx
xor eax, edi
and ebx, edi
lea edi, [esi + esi]
lea ecx, [ebx + ebx]
sub eax, ecx
mov edx, eax
xor esi, eax
not edx
mov eax, dword [esp + 0x1348]
mov ecx, dword [esp + 0x134c]
xor ecx, 0x20
lea ebx, [edx + edx]
mov edx, dword [esp + 0x1328]
and edi, ebx
sub edi, esi
lea esi, [eax + eax - 2]
and esi, 0x1e
bswap edi
sub ecx, esi
rol edi, cl
lea esi, [edx + 0x2109273d]
mov ebx, esi
lea edx, [edx + edx + 0x42124e7a]
xor ebx, edi
lea eax, [edi + edi]
mov dword [esp + 0x1354], eax
and eax, edx
mov edx, esi
or edx, edi
sub edx, edi
xor edx, esi
lea ecx, [ebx + eax]
mov eax, edx
not eax
and ebx, esi
and eax, ecx
xor edx, ecx
add eax, eax
sub eax, edx
lea edx, [ebx + edi]
mov ebx, esi
and esi, edx
or ebx, edx
mov edx, eax
sub ebx, esi
mov esi, dword [esp + 0x1338]
sub edi, esi
lea ecx, [ebx + ebx]
and ecx, dword [esp + 0x1354]
sub ebx, ecx
mov ecx, dword [esp + 0x1170]
xor ecx, 0xffbacf45
add ebx, edi
and edx, ebx
mov edi, edx
xor edi, ebx
add edi, eax
or eax, ebx
sub eax, edx
add edi, edi
mov edx, edi
lea ebx, [ecx - 0x4af09a]
not edx
xor ebx, 0xff593539
imul edx, eax
not eax
imul eax, edi
and ebx, 0x214c000
add esi, edx
mov edi, dword [esp + 4]
sub esi, eax
mov eax, dword [esp + 0x1174]
or eax, ebx
mov dword [esp + 0x1358], esi
mov dword [esp + 0x6cc], eax
mov dword [esp + 0x40c], edi
test edi, edi
je 0x1003678c
test byte [esp + 0x6cc], 1
je 0x10036772
mov ebx, dword [esp + 0x40c]
mov edi, ebx
neg edi
mov eax, ebx
mov edx, ebx
or eax, 0x486e62c2
xor edx, 0x486e62c2
xor eax, edx
lea edx, [edi - 1]
mov edi, eax
mov ecx, edx
not edi
or ecx, 0xb7919d3d
xor ecx, edx
xor ecx, 0xb7919d3d
mov esi, ecx
mov edx, ecx
and esi, edi
not edx
mov edi, eax
and edi, edx
mov edx, ecx
or edx, eax
and ecx, eax
imul edi, esi
mov esi, ebx
imul ecx, edx
xor esi, 0xb7919d3d
lea eax, [edi + ecx]
mov ecx, ebx
and ebx, 0xb7919d3d
or ecx, 0xb7919d3d
xor ecx, esi
mov dword [esp + 0xe1c], esi
mov edi, ecx
mov dword [esp + 0xe20], ebx
lea edx, [ebx + esi]
mov esi, edx
mov ebx, ecx
not esi
not ebx
and esi, ecx
and ebx, edx
or edi, edx
and ecx, edx
imul ebx, esi
imul ecx, edi
lea edi, [ebx + ecx]
mov ebx, edi
and edi, eax
xor ebx, eax
lea esi, [ebx + edi*2]
mov eax, esi
mov edi, esi
and eax, 0xe5477d28
lea ecx, [esi + esi]
lea ebx, [eax + eax]
sub edi, ebx
lea ebx, [edi + 0x65477d28]
mov edi, ecx
xor edi, 0xca8efa50
or ecx, 0xca8efa50
sub ecx, edi
mov esi, ecx
xor ecx, ebx
or esi, ebx
lea edi, [esi + esi]
sub edi, ecx
mov ebx, edi
mov esi, edi
neg ebx
mov ecx, edi
or esi, 0x8263ddea
xor ecx, 0x8263ddea
sub esi, ecx
mov ecx, esi
lea ebx, [ebx - 1]
mov eax, ebx
or ebx, 0x7d9c2215
xor eax, 0x7d9c2215
sub ebx, eax
mov eax, esi
and eax, ebx
or ecx, ebx
imul ecx, eax
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
imul ebx, eax
mov eax, edi
and eax, 0x7d9c2215
lea esi, [ecx + ebx]
xor eax, 0x7d9c2215
mov ecx, edi
mov ebx, edi
xor ecx, 0x7d9c2215
or ebx, 0x7d9c2215
sub ebx, ecx
mov ecx, ebx
add edi, eax
mov eax, edi
not ecx
not eax
and ecx, edi
and eax, ebx
imul eax, ecx
mov ecx, ebx
or ecx, edi
and ebx, edi
imul ebx, ecx
lea edi, [eax + ebx]
mov ebx, esi
and ebx, edi
xor esi, edi
lea ecx, [esi + ebx*2]
lea edi, [ecx + ecx]
mov eax, edi
or eax, 0xbc84a632
lea esi, [eax + 0x437b59ce]
mov eax, dword [esp + 0x22c]
xor esi, edi
and edi, 0xbc84a632
sub ecx, edi
mov ebx, esi
lea edi, [ecx + 0x5e425319]
or ebx, edi
xor esi, edi
mov edi, eax
and eax, edx
xor edi, edx
add ebx, ebx
sub ebx, esi
lea esi, [edi + eax*2]
lea edi, [ebx + ebx + 0xfc2313e]
mov edx, edi
lea ecx, [ebx + 0x7e1189f]
lea ebx, [esi + esi]
or edx, ebx
sub edx, edi
xor edx, ebx
not ebx
lea eax, [ebx + ebx]
lea ebx, [edi + edi]
and eax, ebx
sub eax, edi
lea edi, [eax + esi*2]
lea ebx, [edi + edi]
lea eax, [edx + edx]
xor edx, edi
and ebx, eax
mov eax, ecx
mov edi, ecx
and eax, 0xee9015d7
or edi, 0xee9015d7
imul edi, eax
add ebx, edx
mov edx, ecx
not ecx
and edx, 0x116fea28
and ecx, 0xee9015d7
imul ecx, edx
add edi, ecx
mov edx, edi
not edx
imul eax, edx, 0xddc0a9df
imul edx, edi, 0xddc0a9e0
add eax, edx
mov edi, eax
mov ecx, eax
not edi
mov edx, eax
and ecx, 0xaea95218
and edi, 0x5156ade7
or edx, 0x5156ade7
and eax, 0x5156ade7
imul edi, ecx
imul eax, edx
lea edx, [edi + eax]
mov ecx, edx
xor edx, 0x147104c7
and ecx, 0xeb8efb38
lea eax, [ecx + ecx]
sub eax, edx
mov edx, dword [esp + 0xe1c]
mov ecx, edx
rol esi, cl
mov edi, esi
rol eax, cl
neg edi
lea ecx, [edi + eax]
lea edi, [edi - 1]
or edi, eax
neg eax
sub ecx, edi
lea edi, [ecx - 1]
lea ecx, [eax + esi]
lea eax, [eax - 1]
or eax, esi
sub ecx, eax
lea esi, [ecx - 1]
mov ecx, edx
mov eax, esi
or esi, edi
and eax, edi
neg ecx
lea edi, [eax + esi]
rol edi, cl
lea ecx, [ebx + ebx]
lea esi, [edi + edi]
neg esi
lea eax, [esi - 2]
mov esi, eax
xor eax, ecx
or esi, ecx
sub esi, eax
mov eax, ebx
and eax, edi
add eax, eax
sub edi, eax
add edi, ebx
mov ebx, esi
mov eax, edi
not esi
not eax
imul ebx, eax
imul esi, edi
mov eax, dword [esp + 0xe20]
not ebx
not esi
sub ebx, esi
lea edx, [eax + edx - 1]
not edx
lea ecx, [ebx + ebx]
xor ebx, edx
lea eax, [edx + edx]
and eax, ecx
lea esi, [eax + ebx]
mov dword [esp + 0x22c], esi
shr dword [esp + 0x6cc], 1
lea edx, [esp + 0x40c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100364a1
mov eax, dword [esp + 4]
mov dword [esp + 0x410], eax
mov dword [esp + 0x230], 0
test eax, eax
je 0x1003688c
test byte [esp + 0x22c], 1
je 0x10036872
mov ebx, dword [esp + 0x410]
mov edi, ebx
not edi
mov eax, ebx
mov edx, ebx
and edi, 0x6eed72d1
and eax, 0x91128d2e
and edx, 0x6eed72d1
or ebx, 0x6eed72d1
imul eax, edi
imul ebx, edx
lea esi, [eax + ebx]
mov ecx, esi
not ecx
imul eax, ecx, 0xbac089e5
imul ebx, esi, 0xbac089e6
lea ecx, [eax + ebx]
mov edx, ecx
mov esi, ecx
mov edi, ecx
not ecx
or edx, 0xd9e22631
and esi, 0xd9e22631
and edi, 0x261dd9ce
and ecx, 0xd9e22631
imul esi, edx
imul ecx, edi
lea edx, [esi + ecx]
mov ecx, dword [esp + 0x230]
mov eax, edx
not eax
imul ebx, eax, 0x2c7c62d5
lea edi, [ecx + ecx]
imul esi, edx, 0xd3839d2c
not ebx
not esi
sub ebx, esi
lea edx, [ebx + ebx]
mov eax, edx
mov esi, edx
xor eax, edi
and esi, edi
mov edi, ecx
not edi
add eax, esi
lea esi, [edi + edi]
and esi, edx
lea edx, [ecx + esi]
sub edx, ebx
mov ecx, edx
xor edx, eax
not ecx
and ecx, eax
lea ebx, [ecx + ecx]
sub ebx, edx
mov dword [esp + 0x230], ebx
shr dword [esp + 0x22c], 1
lea edx, [esp + 0x410]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100367aa
mov eax, dword [esp + 4]
mov dword [esp + 0x414], eax
mov dword [esp + 0x79c], 0
test eax, eax
je 0x100368ee
test byte [esp + 0x230], 1
je 0x100368d8
mov ebx, dword [esp + 0x414]
mov ecx, ebx
neg ecx
lea edx, [ebx + ebx]
lea edi, [edx + edx]
lea eax, [ecx + ebx*2]
mov esi, eax
xor edx, eax
not esi
lea ecx, [esi + esi]
and edi, ecx
sub edi, edx
add dword [esp + 0x79c], edi
shr dword [esp + 0x230], 1
lea edx, [esp + 0x414]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100368a6
mov edx, dword [esp + 0x79c]
mov ecx, edx
mov edi, edx
neg ecx
mov dword [esp + 0x490], 0
mov dword [esp + 0x418], 0xb8e60000
lea eax, [ecx - 1]
mov ecx, edx
or ecx, 0x6ca1241c
mov esi, eax
sub edi, ecx
or esi, 0x935edbe3
xor esi, eax
xor esi, 0x935edbe3
mov eax, esi
mov ecx, esi
not eax
lea edi, [edi + 0x6ca1241c]
mov ebx, edi
and ecx, edi
not ebx
and eax, edi
and ebx, esi
or esi, edi
imul esi, ecx
mov ecx, edx
imul eax, ebx
not ecx
lea ebx, [eax + esi]
or ecx, 0x935edbe3
mov eax, edx
xor eax, 0x935edbe3
lea ecx, [edx + ecx + 1]
and edx, 0x935edbe3
mov edi, ecx
not edi
lea esi, [eax + edx]
mov edx, ecx
mov eax, esi
or edx, esi
not eax
and edi, esi
and eax, ecx
and esi, ecx
imul eax, edi
imul esi, edx
mov dword [esp + 0x8b4], edx
lea ecx, [eax + esi]
mov edx, ebx
and ebx, ecx
xor edx, ecx
lea edx, [edx + ebx*2]
lea edi, [edx + 0x135edbe4]
not edi
lea ecx, [edx + edx + 0x26bdb7c8]
mov eax, ecx
and ecx, 0x88776d12
xor eax, 0x88776d12
lea esi, [edi + edi]
and esi, 0x88776d12
add ecx, eax
lea ebx, [ecx + ecx]
lea esi, [esi + edx + 0x4f23255b]
mov edx, esi
xor ecx, esi
not edx
add edx, edx
and ebx, edx
sub ebx, ecx
lea esi, [ebx + 0x6ca1241c]
mov eax, esi
mov edi, esi
not eax
mov ecx, esi
and eax, 0xf9f90db9
and edi, 0x606f246
or ecx, 0xf9f90db9
and esi, 0xf9f90db9
imul edi, eax
imul esi, ecx
lea eax, [edi + esi]
mov edx, eax
not edx
imul ebx, edx, 0xbdf85651
imul ecx, eax, 0xbdf85652
lea edx, [ebx + ecx]
mov esi, edx
mov edi, edx
mov ebx, edx
not esi
or edi, 0x9388e889
and ebx, 0x9388e889
and esi, 0x9388e889
and edx, 0x6c771776
imul ebx, edi
imul edx, esi
lea eax, [ebx + edx]
mov ecx, eax
xor eax, 0x16279959
and ecx, 0x16279959
lea esi, [eax + ecx*2]
mov edx, esi
mov edi, esi
or edx, 0xc2b141cb
xor edi, 0xc2b141cb
mov ecx, edx
mov ebx, edx
sub ecx, edi
mov edi, edx
neg esi
or ebx, ecx
and edi, ecx
mov eax, ecx
imul edi, ebx
mov ebx, edx
not ebx
not eax
and ebx, ecx
lea ecx, [esi - 1]
and eax, edx
or ecx, 0xc2b141cb
imul ebx, eax
sub esi, ecx
lea eax, [edi + ebx]
lea edi, [edx + 0x3d4ebe35]
mov ecx, edi
lea esi, [esi - 0x3d4ebe36]
mov edx, esi
not ecx
not edx
mov ebx, edi
and edx, edi
and ecx, esi
or ebx, esi
and edi, esi
imul ecx, edx
imul edi, ebx
add ecx, edi
mov edx, ecx
or ecx, eax
and edx, eax
lea ebx, [edx + ecx]
mov eax, ebx
mov ecx, ebx
not eax
or ecx, 0xb494785d
lea esi, [eax + eax]
and esi, 0x6928f0ba
lea edi, [esi + ebx + 0x4b6b87a3]
xor ebx, 0xb494785d
sub ecx, ebx
mov esi, dword [esp + 0x1358]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x8b4]
mov eax, edx
and edx, edi
xor eax, edi
lea edi, [eax + edx*2]
mov edx, esi
xor edx, ecx
and esi, ecx
mov ebx, edi
bswap ebx
mov eax, ebx
lea esi, [edx + esi*2]
mov dword [esp + 0x15f8], esi
bswap esi
or eax, esi
mov ecx, esi
sub eax, ebx
not ecx
xor eax, esi
neg esi
add eax, eax
mov edx, eax
not eax
neg edx
imul ecx, edx
imul esi, eax
not ecx
not esi
sub ecx, esi
mov edx, ecx
xor ecx, ebx
and edx, ebx
lea eax, [ecx + edx*2]
mov edx, dword [esp + 0x15f8]
bswap eax
lea ecx, [edi + edi]
mov ebx, ecx
lea edi, [edx + edx]
and ebx, edi
not edi
and edi, ecx
lea esi, [ecx + edx*2]
add ebx, ebx
sub esi, ebx
lea ecx, [edi + edx*2]
mov edi, esi
not esi
and esi, ecx
xor edi, ecx
lea edx, [esi + esi]
sub edi, edx
lea ebx, [edi - 1]
not ebx
mov ecx, ebx
or ecx, eax
lea edx, [ebx + eax]
and ebx, eax
mov esi, edx
sub esi, ecx
lea eax, [ebx + ebx]
sub edx, eax
mov ebx, edx
lea ecx, [esi + esi]
or ebx, ecx
xor edx, ecx
mov esi, dword [esp + 0x8b4]
mov ecx, esi
not ecx
lea eax, [ebx + ebx]
sub eax, edx
imul ecx, eax
not eax
imul esi, eax
not ecx
not esi
sub ecx, esi
mov dword [esp + 0x135c], ecx
test byte [esp + 0x3ec], 1
je 0x10036bef
mov edx, dword [esp + 0x490]
mov esi, dword [esp + 0x418]
mov ecx, edx
and ecx, esi
lea edi, [esi + esi]
lea eax, [edx + esi]
lea ebx, [ecx + ecx]
mov ecx, edi
sub eax, ebx
add edx, edx
or ecx, edx
xor edi, edx
sub ecx, edi
mov ebx, eax
and ebx, ecx
or eax, ecx
lea esi, [ebx + eax]
mov dword [esp + 0x490], esi
shr dword [esp + 0x3ec], 1
lea edx, [esp + 0x418]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10036bae
mov edx, dword [esp + 4]
mov eax, edx
imul eax, dword [esp + 0x490]
mov dword [esp + 0x6d0], eax
mov dword [esp + 0x41c], edx
mov dword [esp + 0x494], 0
test edx, edx
je 0x10036f71
test byte [esp + 0x6d0], 1
je 0x10036f57
mov edi, dword [esp + 0x494]
mov eax, edi
mov edx, edi
neg eax
mov ebx, edi
xor edx, 0xe3fc0192
or ebx, 0xe3fc0192
xor edx, ebx
lea ecx, [eax - 1]
or ecx, 0x1c03fe6d
sub eax, ecx
mov ecx, edx
not ecx
lea esi, [eax + 0x1c03fe6c]
mov eax, esi
and ecx, esi
not eax
and eax, edx
imul ecx, eax
mov eax, edx
or eax, esi
and edx, esi
imul edx, eax
mov esi, edi
not esi
lea eax, [ecx + edx]
and esi, 0x1c03fe6d
mov ecx, edi
or ecx, 0x1c03fe6d
sub ecx, edi
xor ecx, 0x1c03fe6d
mov edx, ecx
add edi, esi
mov ebx, edi
mov esi, ecx
not ebx
not edx
and esi, ebx
mov ebx, ecx
and edx, edi
or ebx, edi
and ecx, edi
imul esi, edx
imul ecx, ebx
mov ebx, eax
lea edi, [esi + ecx]
xor ebx, edi
lea edx, [edi + edi]
add eax, eax
and edx, eax
lea ecx, [ebx + edx]
neg ecx
lea esi, [ecx - 0x7bf8fa3c]
mov edi, esi
mov eax, esi
not edi
and eax, 0x4ab9bd1f
and edi, 0xb54642e0
imul edi, eax
lea eax, [ebx + edx + 0x7bf8fa3a]
neg edi
not eax
mov ebx, eax
mov edx, eax
not ebx
or edx, 0xb54642df
and ebx, 0xb54642df
lea ecx, [edi - 1]
mov edi, esi
or edi, 0xb54642e0
and esi, 0xb54642e0
imul esi, edi
sub ecx, esi
mov esi, eax
and esi, 0x4ab9bd20
and eax, 0xb54642df
imul esi, ebx
imul eax, edx
neg esi
mov edx, ecx
not ecx
lea edi, [esi - 1]
sub edi, eax
lea eax, [ecx + ecx]
xor edx, edi
lea esi, [edi + edi]
and esi, eax
sub edx, esi
lea eax, [edx - 0x7bf8fa3b]
mov edi, eax
mov ebx, eax
or edi, 0x5dffbb65
not ebx
sub edi, edx
and ebx, 0x5dffbb65
mov dword [esp + 0xe24], edi
lea esi, [edi + 0x7bf8fa3b]
mov dword [esp + 0xe28], esi
xor esi, 0x5dffbb65
lea edi, [ebx + edx - 0x7bf8fa3b]
mov ebx, esi
mov ecx, esi
and ebx, edi
or ecx, edi
imul ecx, ebx
mov ebx, esi
not ebx
neg edx
and ebx, edi
not edi
and edi, esi
mov esi, eax
imul edi, ebx
or esi, 0xa200449a
xor esi, eax
lea eax, [edx + 0x7bf8fa3a]
xor esi, 0xa200449a
lea ebx, [ecx + edi]
mov ecx, eax
mov edi, esi
or ecx, 0x5dffbb65
xor ecx, eax
mov eax, esi
xor ecx, 0x5dffbb65
and edi, ecx
or eax, ecx
imul eax, edi
mov edi, esi
not edi
and edi, ecx
not ecx
and ecx, esi
mov esi, ebx
imul ecx, edi
lea edx, [eax + ecx]
or esi, edx
and ebx, edx
lea eax, [esi + ebx]
sub eax, edx
mov ecx, eax
and ecx, 0xd4b20260
lea esi, [eax + eax]
or esi, 0xa96404c1
lea edi, [ecx + ecx]
neg edi
lea ebx, [esi + 0x569bfb3f]
neg esi
not ebx
lea ecx, [eax + edi - 0x2b4dfda0]
mov eax, ecx
not ecx
neg eax
imul ebx, eax
lea eax, [esi - 0x569bfb3f]
imul ecx, eax
not ebx
not ecx
add edx, ebx
mov ebx, dword [esp + 0x41c]
sub edx, ecx
lea esi, [ebx + ebx]
shld esi, esi, 0xe
lea edi, [edx + edx]
shld edi, edi, 0xe
mov eax, edi
not eax
and eax, esi
lea ecx, [eax + eax]
sub ecx, esi
lea eax, [esi + edi]
and esi, edi
sub eax, esi
mov esi, ebx
not esi
and esi, edx
add ecx, edi
lea edi, [ebx + esi]
mov esi, ebx
or esi, edx
xor ebx, edx
add edi, edi
add esi, esi
sub esi, ebx
mov edx, esi
xor edx, edi
not edi
lea ebx, [esi + esi]
lea esi, [edi + edi]
and ebx, esi
sub edx, ebx
mov edi, edx
mov esi, edx
not edi
and esi, 0x96e5927e
and edi, 0x691a6d81
imul esi, edi
mov edi, edx
and edi, 0x691a6d81
or edx, 0x691a6d81
imul edx, edi
add esi, edx
mov edi, esi
xor esi, 0xf8907503
and edi, 0xf8907503
lea edx, [esi + edi*2]
mov ebx, edx
mov esi, edx
not ebx
and esi, 0x10a42d7e
and ebx, 0xef5bd281
imul esi, ebx
mov ebx, edx
or ebx, 0xef5bd281
and edx, 0xef5bd281
imul edx, ebx
lea edi, [esi + edx]
mov edx, eax
mov esi, edi
or edi, 0xda27937d
and esi, 0xda27937d
neg edx
not eax
add esi, edi
mov edi, ecx
not edi
neg ecx
imul edi, edx
imul ecx, eax
not edi
not ecx
sub edi, ecx
not edi
lea edx, [edi + 1]
shrd edx, edx, 0xe
sub edx, dword [esp + 0xe28]
lea edi, [esi + esi]
mov ecx, edx
mov eax, edx
not ecx
mov ebx, edx
xor eax, esi
or ebx, esi
sub ebx, eax
add ecx, ecx
and edi, ecx
sub edi, esi
lea eax, [ebx + ebx]
mov ebx, dword [esp + 0xe24]
lea esi, [eax + eax]
lea ecx, [edi + edx]
lea edx, [ecx + ecx]
xor ecx, eax
and edx, esi
lea esi, [edx + ebx + 0x7bf8fa3b]
lea eax, [ecx + esi]
mov dword [esp + 0x494], eax
shr dword [esp + 0x6d0], 1
lea edx, [esp + 0x41c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10036c34
mov edx, dword [esp + 0x494]
mov eax, dword [esp + 0x135c]
mov esi, edx
not esi
mov ecx, eax
mov edi, eax
and ecx, esi
not edi
mov dword [esp + 0x1b0], 0
lea ebx, [edx + ecx]
lea esi, [edi + edi]
lea ecx, [edx + edx]
and esi, ecx
add ebx, ebx
add eax, esi
sub eax, edx
mov edx, ebx
not edx
imul edx, eax
not eax
imul eax, ebx
mov ebx, dword [esp + 4]
sub edx, eax
mov ecx, ebx
mov esi, ebx
mov edi, ebx
or ecx, 0xae60ca69
mov dword [esp + 0x1360], edx
and esi, 0xae60ca69
mov edx, dword [esp + 0x150]
and edi, 0x519f3596
and edx, 0xae60ca69
imul esi, ecx
imul edi, edx
lea eax, [esi + edi]
mov ecx, eax
not ecx
imul edx, ecx, 0x8b45242d
imul esi, eax, 0x8b45242e
lea eax, [edx + esi]
mov edi, eax
mov ecx, eax
mov edx, eax
not eax
or edi, 0xf23165d9
and ecx, 0xf23165d9
and edx, 0xdce9a26
and eax, 0xf23165d9
imul ecx, edi
imul eax, edx
add ecx, eax
mov esi, ecx
mov edx, ecx
and esi, 0xcb7e6b25
xor edx, 0xcb7e6b25
lea edi, [edx + esi*2]
mov edx, edi
and edi, 1
or edx, 1
lea esi, [edx + edi]
mov edx, dword [esp]
not esi
ror edx, cl
mov edi, edx
not edi
lea eax, [esi + 1]
ror eax, cl
add edi, edi
lea esi, [eax + eax]
and edi, esi
sub edi, eax
lea esi, [edi + edx]
lea edi, [eax + edx]
and eax, edx
mov edx, esi
sub edi, eax
not edx
and edx, edi
mov eax, dword [esp + 0x44c]
lea esi, [esi + edx*2]
mov edx, ebx
sub esi, edi
mov edi, dword [esp + 0x560]
bswap edi
rol esi, cl
mov ecx, ebx
and ecx, edi
xor edx, ecx
lea ecx, [edi + edi]
and eax, ecx
add edx, edi
add ebx, eax
sub ebx, edi
mov eax, ebx
xor eax, edx
not edx
and edx, ebx
lea ecx, [edx + edx]
sub eax, ecx
mov edi, eax
mov edx, eax
mov ecx, eax
not edi
and edx, esi
xor ecx, esi
mov ebx, edi
or ebx, esi
sub ebx, edi
lea edi, [edx + ecx]
mov ecx, ebx
mov edx, ebx
and ecx, edi
or edx, edi
imul edx, ecx
mov ecx, ebx
not ecx
and ecx, edi
not edi
and edi, ebx
imul edi, ecx
mov ecx, eax
lea ebx, [edx + edi]
mov edx, esi
neg edx
mov edi, eax
neg eax
lea edx, [edx - 1]
xor ecx, edx
or edi, edx
xor ecx, edi
lea eax, [eax - 1]
mov edi, eax
mov edx, ecx
or edi, esi
not edx
sub edi, esi
xor edi, eax
mov esi, edi
mov eax, edi
and esi, edx
mov edx, edi
not edx
and eax, ecx
and edx, ecx
or edi, ecx
imul edx, esi
imul edi, eax
mov ecx, dword [esp + 4]
lea esi, [edx + edi]
mov edx, ebx
or ebx, esi
and edx, esi
mov edi, dword [esp]
lea esi, [edx + ebx]
mov ebx, ecx
mov edx, ecx
xor ebx, edi
and edx, edi
lea eax, [ecx + edi]
mov dword [esp + 0x1370], eax
sub eax, edx
or ecx, edi
mov dword [esp + 0x1364], esi
mov edi, ecx
mov dword [esp + 0x136c], edx
lea esi, [ebx + edx*2]
mov edx, eax
sub edi, ebx
xor edx, esi
not esi
mov dword [esp + 0x1368], ebx
and esi, eax
mov ebx, dword [esp + 0x136c]
mov dword [esp + 0x1374], ecx
not ebx
not ecx
sub ebx, ecx
lea eax, [esi + esi]
mov esi, ebx
sub edx, eax
xor esi, edi
add edi, edi
lea eax, [ebx + ebx]
mov ebx, edx
and edi, eax
lea eax, [esi + edi]
mov esi, eax
mov edi, eax
neg esi
lea ecx, [esi - 1]
or ebx, ecx
mov ecx, edx
neg ecx
lea esi, [edx + esi - 1]
sub esi, ebx
mov ebx, esi
not ebx
lea ecx, [ecx - 1]
or edi, ecx
sub edi, eax
xor edi, ecx
mov ecx, edi
and ebx, edi
mov dword [esp + 0x1378], ebx
not ecx
mov ebx, esi
and ebx, ecx
mov ecx, esi
and ecx, edi
or esi, edi
mov edi, edx
and edi, eax
imul esi, ecx
mov ecx, edx
imul ebx, dword [esp + 0x1378]
xor edi, eax
or ecx, eax
xor ecx, edx
add esi, ebx
xor ecx, eax
mov ebx, ecx
mov eax, ecx
add edx, edi
mov edi, ecx
not edi
and ebx, edx
or eax, edx
and edi, edx
not edx
and ecx, edx
imul eax, ebx
mov ebx, esi
imul ecx, edi
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x1364]
or ebx, edx
xor esi, edx
add ebx, ebx
sub ebx, esi
mov esi, ecx
not esi
mov eax, ebx
mov edi, ebx
and esi, ebx
xor eax, ecx
or edi, ecx
sub edi, eax
lea ecx, [ecx + esi*2]
sub ecx, ebx
mov ebx, ecx
lea edx, [edi + edi]
and ebx, edx
or ecx, edx
lea edx, [ebx + ecx]
mov dword [esp + 0x137c], edx
mov esi, edx
mov edi, edx
not esi
mov ecx, edx
mov eax, edx
and edi, 0x59b760de
and esi, 0xa6489f21
or ecx, 0xa6489f21
and eax, 0xa6489f21
imul esi, edi
imul eax, ecx
lea ebx, [esi + eax]
mov esi, ebx
not ebx
xor esi, 0x4a5be2d1
lea edi, [ebx + ebx]
and edi, 0x94b7c5a2
sub esi, edi
mov eax, esi
mov ebx, esi
mov ecx, esi
not eax
and ebx, 0xd3dba4e1
or ecx, 0xd3dba4e1
and eax, 0xd3dba4e1
and esi, 0x2c245b1e
imul ecx, ebx
imul esi, eax
rol edx, cl
lea edi, [esi + ecx]
mov esi, dword [esp]
lea ebx, [edi + edi]
and ebx, 0x7b67b60
xor edi, 0x7c24c24f
sub ebx, edi
mov edi, esi
mov eax, esi
and edi, ebx
xor eax, ebx
mov dword [esp + 0x1380], edi
add edi, eax
mov dword [esp + 0x1384], edi
not edi
mov eax, ebx
not ebx
imul eax, edi
mov edi, esi
imul ebx, dword [esp + 0x1384]
sub eax, ebx
and edi, eax
lea ebx, [esi + eax]
rol esi, cl
neg ecx
lea eax, [edi + edi]
sub ebx, eax
mov edi, edx
mov dword [esp + 0x1388], ebx
lea eax, [edx + edx]
xor edi, esi
lea ebx, [esi + esi]
and eax, ebx
add eax, edi
mov edi, edx
not edi
or edi, esi
mov esi, dword [esp + 0x1388]
lea edi, [edx + edi + 1]
mov ebx, edi
not ebx
imul ebx, eax
not eax
imul eax, edi
not ebx
not eax
sub ebx, eax
mov eax, esi
neg eax
mov edi, esi
rol ebx, cl
mov edx, ebx
neg edx
lea ecx, [eax - 1]
not ecx
or ecx, ebx
lea edx, [edx - 1]
or edi, edx
mov dword [esp + 0x138c], edi
xor edi, edx
xor edi, esi
add eax, ecx
mov ecx, eax
mov edx, edi
not ecx
and edx, ecx
mov ecx, edi
not ecx
and ecx, eax
imul ecx, edx
mov edx, edi
or edx, eax
and edi, eax
imul edi, edx
mov edx, esi
not edx
lea eax, [ecx + edi]
mov ecx, esi
mov edi, edx
and ecx, ebx
or edi, ebx
xor ecx, ebx
sub edi, edx
mov ebx, edi
not ebx
add ecx, esi
mov esi, edi
mov edx, ecx
and ebx, ecx
not edx
or esi, ecx
and edx, edi
and edi, ecx
imul ebx, edx
mov ecx, eax
imul edi, esi
lea esi, [ebx + edi]
xor ecx, esi
add eax, eax
lea edx, [esi + esi]
and eax, edx
mov edx, dword [esp]
lea esi, [ecx + eax]
mov dword [esp + 0x1390], esi
mov esi, dword [esp + 0x137c]
bswap esi
mov ebx, esi
neg esi
not ebx
bswap ebx
mov ecx, dword [esp + 0x1380]
rol ebx, cl
rol edx, cl
mov edi, ebx
mov eax, ebx
and edi, edx
xor eax, edx
add edi, eax
mov eax, edi
not edi
and edi, edx
xor eax, edx
lea edx, [edi + edi]
sub eax, edx
lea edi, [eax + ebx]
and eax, ebx
lea edx, [eax + eax]
sub edi, edx
ror edi, cl
mov ecx, dword [esp + 0x148]
mov eax, edi
neg ecx
not eax
not ecx
lea edx, [ecx + 1]
bswap edx
lea ecx, [esi - 1]
mov ebx, edx
mov esi, ecx
not ebx
not esi
and ebx, ecx
add edx, ebx
mov ebx, edi
imul esi, edx
not edx
imul edx, ecx
not esi
not edx
sub esi, edx
mov ecx, eax
bswap esi
or ecx, esi
and ebx, esi
sub ecx, eax
mov edx, ecx
not edx
lea eax, [edi + esi]
sub eax, ebx
mov ebx, eax
and edx, eax
not ebx
and ebx, ecx
imul edx, ebx
mov ebx, eax
and ebx, ecx
or eax, ecx
mov ecx, esi
imul eax, ebx
neg ecx
lea ebx, [edx + eax]
lea edx, [ecx - 1]
not edx
mov ecx, edx
or ecx, edi
neg edi
sub ecx, edx
lea eax, [edi - 1]
or eax, esi
lea edx, [esi + edi - 1]
sub edx, eax
mov esi, ecx
mov edi, ecx
or esi, edx
and edi, edx
mov eax, ecx
imul edi, esi
not eax
mov esi, edx
not edx
and esi, eax
and ecx, edx
imul ecx, esi
mov esi, dword [esp + 0x138c]
lea eax, [edi + ecx]
mov edx, eax
or eax, ebx
and edx, ebx
lea edi, [esi + edx]
lea ebx, [eax + edi]
mov edi, dword [esp + 0x1390]
lea eax, [ebx + ebx]
lea edx, [edi + edi]
mov ecx, edx
or ecx, eax
sub ecx, eax
xor ecx, edx
lea edx, [edi + ebx]
and edi, ebx
mov eax, ecx
lea ebx, [edi + edi]
sub edx, ebx
and eax, edx
or ecx, edx
sub eax, esi
mov ebx, dword [esp]
mov dword [esp + 0x420], ebx
lea edx, [eax + ecx]
mov dword [esp + 0x6d4], edx
test ebx, ebx
je 0x10037610
test byte [esp + 0x6d4], 1
je 0x100375f6
mov edx, dword [esp + 0x1b0]
lea eax, [edx + edx]
mov edx, dword [esp + 0x420]
lea esi, [eax + eax]
bswap esi
lea edi, [edx + edx]
bswap edi
mov ebx, edi
not ebx
lea ecx, [esi + esi]
add ebx, ebx
and ebx, ecx
mov ecx, esi
and ecx, edi
xor ecx, esi
add ebx, edi
sub ebx, esi
lea esi, [ecx + edi]
lea ecx, [ebx + esi]
and ebx, esi
mov esi, eax
or esi, 0x63c64f4d
lea edi, [ebx + ebx]
mov ebx, eax
and ebx, 0x63c64f4d
sub ecx, edi
imul esi, ebx
mov ebx, eax
not eax
and ebx, 0x9c39b0b2
and eax, 0x63c64f4d
imul eax, ebx
bswap ecx
add esi, eax
mov ebx, esi
not ebx
imul edi, ebx, 0xa65807a1
imul ebx, esi, 0xa65807a2
add edi, ebx
mov eax, edi
mov ebx, edi
not eax
mov esi, edi
and ebx, 0x4f707e7a
and eax, 0xb08f8185
or esi, 0xb08f8185
and edi, 0xb08f8185
imul eax, ebx
imul edi, esi
lea esi, [eax + edi]
mov edi, edx
mov ebx, esi
and esi, 0x3a8317a5
xor ebx, 0xba8317a5
mov eax, edx
lea ebx, [ebx + esi*2]
mov esi, edx
xor esi, ebx
or edi, ebx
and esi, ebx
xor eax, edi
xor eax, ebx
neg eax
add edx, esi
neg edx
lea edi, [eax - 1]
lea ebx, [edx - 1]
mov esi, ebx
xor esi, edi
not edi
and edi, ebx
lea eax, [edi + edi]
sub esi, eax
mov ebx, esi
mov eax, esi
or ebx, ecx
and eax, ecx
sub ebx, eax
add ecx, ecx
mov edx, ecx
lea eax, [esi + esi]
or edx, eax
xor ecx, eax
sub edx, ecx
mov esi, ebx
and esi, edx
or ebx, edx
mov eax, dword [esp + 0x1b0]
mov ecx, eax
not eax
lea edx, [esi + ebx]
mov edi, edx
not edi
imul ecx, edi
imul eax, edx
sub ecx, eax
mov dword [esp + 0x1b0], ecx
shr dword [esp + 0x6d4], 1
lea edx, [esp + 0x420]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100374d0
mov edi, dword [esp + 0x1b0]
mov edx, edi
shld edx, edi, 0xc
mov ebx, edx
mov eax, edx
xor ebx, 0x8000071b
and eax, 0x8000071b
mov ecx, edx
not ecx
lea esi, [ebx + eax]
mov ebx, edi
imul ecx, esi
not esi
imul esi, edx
not ecx
not esi
sub ecx, esi
mov eax, edi
mov edx, ecx
or ebx, 0x71b80000
or edx, 0x8000071b
xor eax, 0x71b80000
xor ebx, eax
lea esi, [edx + edx + 0x7ffff8e5]
mov edx, ebx
not edx
sub esi, ecx
shld esi, esi, 0x14
lea ecx, [edi + edi]
lea eax, [edx + edx]
and eax, ecx
sub eax, edi
lea edx, [eax + ebx]
mov edi, edx
xor edx, 0x71b80000
or edi, 0xf1b80000
lea eax, [edi + edi]
sub eax, edx
mov edx, eax
mov edi, eax
and edx, esi
xor edi, esi
mov ecx, eax
mov ebx, eax
or ecx, esi
sub ecx, esi
xor ebx, ecx
add edx, edi
mov edi, edx
mov ecx, ebx
not edi
not ecx
and edi, ebx
and ecx, edx
imul ecx, edi
mov edi, ebx
or edi, edx
and ebx, edx
imul ebx, edi
mov edi, esi
neg edi
lea edx, [ebx + ecx]
mov ebx, eax
mov dword [esp + 0x1394], edx
lea edi, [edi - 1]
or ebx, edi
sub ebx, eax
neg eax
xor ebx, edi
lea edx, [eax - 1]
mov edi, edx
or edx, esi
xor edi, esi
mov esi, edi
mov edi, ebx
xor esi, edx
mov edx, ebx
not edx
mov eax, esi
and eax, edx
mov edx, esi
not edx
and edi, esi
and edx, ebx
or ebx, esi
imul edx, eax
imul ebx, edi
mov edi, dword [esp + 0x1b0]
lea esi, [edx + ebx]
mov edx, edi
mov ebx, edi
xor edx, 1
and ebx, 1
mov dword [esp + 0x1398], esi
lea eax, [edx + ebx*2 - 1]
not eax
neg eax
lea esi, [eax - 1]
mov eax, edi
mov edx, esi
and edx, 0x8e47ffff
mov dword [esp + 0x139c], edx
lea ebx, [edx + 0x71b80000]
mov edx, ebx
not ebx
and ebx, esi
xor edx, esi
lea esi, [ebx + ebx]
mov ebx, 0x71b80000
rol ebx, cl
neg ecx
not ebx
sub edx, esi
rol ebx, cl
xor eax, ebx
and eax, ebx
lea ecx, [edi + eax]
mov eax, ecx
not ecx
and ecx, ebx
xor eax, ebx
mov ebx, edi
not edi
lea esi, [ecx + ecx]
sub eax, esi
add edi, edi
sub ebx, eax
mov esi, edx
not esi
and esi, 0x6dd29365
add eax, eax
and edi, eax
mov eax, edx
and eax, 0x6dd29365
add edi, ebx
mov ebx, edx
and ebx, 0x922d6c9a
or edx, 0x6dd29365
imul esi, ebx
imul edx, eax
lea ebx, [esi + edx]
mov esi, ebx
lea ecx, [ebx + ebx]
xor esi, 0x72d48f3
and ecx, 0xe5a91e6
add ecx, esi
mov ebx, ecx
mov edx, ecx
not ebx
mov eax, ecx
and edx, 0x91269992
and ebx, 0x6ed9666d
or eax, 0x6ed9666d
and ecx, 0x6ed9666d
imul ebx, edx
imul ecx, eax
lea esi, [ebx + ecx]
mov ebx, edi
mov edx, esi
and esi, 0x26ac1e89
xor edx, 0xa6ac1e89
neg ebx
lea esi, [edx + esi*2]
mov ecx, esi
lea eax, [ebx - 1]
neg ecx
mov ebx, esi
or ebx, eax
sub ebx, eax
xor ebx, esi
lea eax, [ecx - 1]
mov ecx, eax
or ecx, edi
sub ecx, edi
xor ecx, eax
mov edx, ecx
mov eax, ecx
or edx, ebx
and eax, ebx
imul eax, edx
mov edx, ebx
not edx
and edx, ecx
not ecx
and ebx, ecx
imul ebx, edx
lea edx, [esi + edi]
lea ecx, [eax + ebx]
mov ebx, esi
or ebx, edi
sub ebx, esi
and esi, edi
sub edx, esi
xor ebx, edi
mov edi, edx
mov esi, edx
or edi, ebx
and esi, ebx
imul esi, edi
mov edi, edx
not edi
and edi, ebx
not ebx
and ebx, edx
imul ebx, edi
lea edx, [esi + ebx]
mov eax, edx
and edx, ecx
xor eax, ecx
mov ecx, dword [esp + 0x1394]
mov ebx, ecx
lea edi, [eax + edx*2]
mov edx, dword [esp + 0x1398]
xor ebx, edx
lea eax, [ecx + ecx]
lea ecx, [edx + edx]
mov edx, edi
and eax, ecx
not edx
mov ecx, dword [esp + 0x139c]
add ebx, eax
mov eax, edx
lea esi, [ebx + ecx + 0x71b80000]
and eax, esi
add edx, edx
lea ebx, [eax + edi]
lea eax, [esi + esi]
and edx, eax
add ebx, ebx
mov eax, dword [esp + 0x1360]
add edi, edx
mov edx, ebx
sub edi, esi
not edx
mov esi, edi
not edi
neg esi
neg ebx
imul edx, esi
mov esi, eax
imul ebx, edi
not edx
not ebx
sub edx, ecx
sub edx, ebx
mov ebx, eax
lea edx, [edx - 0x71b80000]
mov edi, edx
neg edi
lea ecx, [edi - 1]
xor ebx, ecx
mov ecx, edx
and esi, ebx
mov ebx, edx
and ecx, 1
xor ebx, 1
lea esi, [edi + esi - 1]
lea edi, [ebx + ecx*2]
mov ecx, eax
not ecx
mov ebx, esi
or ecx, edx
and ebx, edi
xor esi, edi
lea ecx, [eax + ecx + 1]
lea esi, [esi + ebx*2]
mov ebx, ecx
not ebx
and ebx, edx
not edx
and edx, ecx
mov ecx, eax
add edx, ebx
and ecx, edx
xor eax, edx
lea ebx, [edi + ecx*2]
add eax, ebx
mov ebx, dword [esp + 0x23c]
mov edx, eax
or edx, esi
lea ecx, [edx + edx]
sub ecx, esi
lea edx, [eax + eax]
sub ecx, eax
lea eax, [esi + esi]
mov esi, eax
xor eax, edx
or esi, edx
sub esi, eax
mov edx, esi
and esi, ecx
xor edx, ecx
sub edx, edi
lea edi, [edx + esi*2]
mov dword [esp + 0x874], edi
imul edi, dword [esp + 4], 0x4cf00000
mov edx, dword [esp + 0x11bc]
lea eax, [edi + ebx - 1]
mov ebx, dword [esp + 0x164]
mov ecx, ebx
and ecx, edi
not ebx
sub eax, ecx
mov ecx, dword [esp + 0x444]
mov dword [esp + 0x13a0], edi
lea esi, [edx + ecx]
mov edx, eax
or edx, esi
and eax, esi
add edx, eax
mov eax, ebx
or eax, edi
mov esi, edx
mov edi, dword [esp]
sub eax, ebx
mov ecx, edi
and edi, eax
or ecx, eax
mov ebx, edx
or esi, 0xd7e5cc5d
and ebx, 0xd7e5cc5d
imul ebx, esi
lea eax, [ecx + edi]
mov ecx, edx
not edx
and ecx, 0x281a33a2
and edx, 0xd7e5cc5d
imul edx, ecx
mov dword [esp + 0x878], ecx
lea edi, [ebx + edx]
lea ebx, [edi + edi]
xor edi, 0x5acd4966
and ebx, 0xb59a92cc
add edi, ebx
mov ebx, edi
mov ecx, edi
mov edx, edi
not ebx
or ecx, 0x6da267f5
and edx, 0x6da267f5
and ebx, 0x6da267f5
and edi, 0x925d980a
imul edx, ecx
imul edi, ebx
mov ebx, eax
add edx, edi
neg ebx
lea esi, [edx + edx]
and esi, 0x40e96ec4
xor edx, 0xa074b762
lea ecx, [ebx - 1]
not ecx
lea edi, [esi + edx]
mov edx, edi
mov ebx, ecx
neg edx
or ebx, edi
sub ebx, ecx
mov ecx, eax
lea esi, [edx - 1]
mov edx, eax
xor edx, esi
or ecx, esi
sub ecx, edx
mov esi, ebx
mov edx, ecx
not edx
and esi, edx
mov edx, ebx
not edx
and edx, ecx
imul edx, esi
mov esi, ecx
and esi, ebx
or ecx, ebx
imul ecx, esi
mov esi, eax
or esi, edi
lea ebx, [edx + ecx]
mov ecx, eax
mov edx, eax
and ecx, edi
xor edx, edi
xor ecx, edi
sub esi, edx
mov dword [esp + 0x13a4], ebx
mov edx, esi
lea ebx, [ecx + eax]
mov eax, esi
mov edi, ebx
not eax
not edi
mov ecx, esi
and eax, ebx
and edx, edi
and ecx, ebx
or esi, ebx
imul edx, eax
imul esi, ecx
mov edi, dword [esp]
lea ebx, [edx + esi]
not edi
mov edx, edi
mov ecx, edi
mov eax, edi
not edi
or edx, 0xa71d7cb
and ecx, 0xa71d7cb
and eax, 0xf58e2834
and edi, 0xa71d7cb
imul ecx, edx
imul edi, eax
mov dword [esp + 0x13a8], ebx
lea ebx, [ecx + edi]
mov esi, ebx
and ebx, 0x6ff067f0
or esi, 0x6ff067f0
lea eax, [esi + ebx]
mov edx, eax
mov edi, eax
not edx
mov ecx, eax
and edx, 0x23ce15e3
and edi, 0xdc31ea1c
or ecx, 0x23ce15e3
and eax, 0x23ce15e3
imul edi, edx
imul eax, ecx
lea esi, [edi + eax]
mov ecx, esi
not esi
xor ecx, 0x6dd2d9d0
mov ebx, ecx
lea edx, [esi + esi]
and edx, 0xdba5b3a0
sub ebx, edx
mov edx, dword [esp + 0x13a0]
mov edi, edx
bswap edi
bswap ebx
mov eax, edi
mov esi, edi
and eax, ebx
xor esi, ebx
lea esi, [esi + eax*2]
xor eax, ebx
add edi, eax
mov ebx, edi
not ebx
and ebx, esi
xor esi, edi
lea edi, [edx + edx + 2]
xor edx, 1
sub edi, edx
mov edx, dword [esp]
rol edx, cl
add ebx, ebx
sub ebx, esi
bswap ebx
lea eax, [edi - 1]
not eax
rol eax, cl
neg ecx
mov edi, eax
not edi
mov esi, edi
and esi, edx
add esi, eax
and edi, esi
xor esi, eax
add edi, edi
sub edi, esi
lea eax, [edi + edx]
lea esi, [edi + edi]
add edx, edx
and esi, edx
sub eax, esi
rol eax, cl
mov edx, eax
neg edx
mov dword [esp + 0x13ac], eax
not eax
mov esi, eax
lea edi, [edx - 1]
mov edx, ebx
neg edx
mov ecx, edi
xor ecx, ebx
or edi, ebx
xor ecx, edi
lea edx, [edx - 1]
or esi, edx
mov edx, ecx
sub esi, eax
mov edi, esi
not edi
and edx, edi
mov edi, esi
mov dword [esp + 0x13b0], edx
mov edx, ecx
not edx
and edi, edx
mov edx, esi
or edx, ecx
and esi, ecx
imul edi, dword [esp + 0x13b0]
mov ecx, eax
imul esi, edx
or ecx, ebx
lea edx, [edi + esi]
mov esi, dword [esp + 0x13ac]
and eax, ebx
lea ecx, [esi + ecx + 1]
lea ebx, [eax + esi]
mov eax, ecx
not eax
mov esi, ebx
mov edi, ebx
and eax, ebx
not ebx
and esi, ecx
or edi, ecx
and ebx, ecx
imul edi, esi
imul ebx, eax
lea eax, [edi + ebx]
mov edi, dword [esp + 0x13a4]
mov ecx, eax
and eax, edx
xor ecx, edx
mov esi, edi
mov ebx, dword [esp + 0x13a8]
and esi, ebx
or edi, ebx
lea edx, [ecx + eax*2]
mov ecx, dword [esp + 0x878]
mov dword [esp + 0x13b4], edx
not edx
lea eax, [ecx + esi]
lea ecx, [edi + eax]
mov dword [esp + 0x13b8], ecx
add ecx, ecx
lea eax, [edx + edx]
mov dword [esp + 0x13bc], eax
mov edi, edx
mov edx, edi
and ecx, dword [esp + 0x13bc]
mov esi, dword [esp + 0x13b4]
mov ebx, dword [esp + 0x13b8]
or edx, ebx
sub edx, edi
mov dword [esp + 0x498], 0
lea eax, [esi + ecx]
sub eax, ebx
mov esi, eax
lea ecx, [edx + edx]
and esi, ecx
or eax, ecx
sub esi, dword [esp + 0x878]
add eax, esi
mov dword [esp + 0x13c0], eax
mov ebx, eax
shrd ebx, eax, 4
mov esi, ebx
and ebx, 1
or esi, 1
lea ecx, [esi + ebx - 1]
not ecx
shld ecx, ecx, 4
mov esi, ecx
mov edx, ecx
not esi
mov edi, ecx
and edx, 0xe154a71c
and esi, 0x1eab58e3
or edi, 0x1eab58e3
and ecx, 0x1eab58e3
imul esi, edx
imul ecx, edi
lea ebx, [esi + ecx]
mov esi, ebx
not esi
imul edi, esi, 0x3056e4b8
imul edx, ebx, 0xcfa91b49
not edi
not edx
sub edi, edx
mov ebx, edi
mov esi, edi
mov ecx, edi
not ebx
or esi, 0xcc78accb
and ecx, 0xcc78accb
and ebx, 0xcc78accb
and edi, 0x33875334
imul ecx, esi
imul edi, ebx
lea edx, [ecx + edi]
mov esi, edx
not esi
imul ecx, esi, 0x732d0218
imul esi, edx, 0x8cd2fde9
mov edx, dword [esp]
not ecx
not esi
sub ecx, esi
mov esi, edx
and esi, ecx
lea edi, [edx + ecx]
lea ebx, [esi + esi]
sub edi, ebx
mov ebx, edx
xor ebx, esi
ror edx, cl
add ebx, ecx
neg ecx
mov esi, ebx
not ebx
sub esi, edi
add edi, edi
add ebx, ebx
and edi, ebx
mov ebx, edx
or ebx, 1
xor edx, 1
add esi, edi
lea edi, [ebx + ebx]
sub edi, edx
mov edx, eax
not edi
lea ebx, [edi + 1]
mov edi, eax
ror ebx, cl
mov ecx, ebx
or edx, ebx
not ecx
and edi, ebx
and ecx, eax
add edx, edi
lea eax, [ecx + ebx]
mov edi, eax
lea ecx, [eax + eax]
xor edi, edx
not edx
lea eax, [edx + edx]
mov edx, esi
and ecx, eax
neg edx
sub edi, ecx
mov eax, esi
mov ebx, edi
neg ebx
lea ecx, [ebx - 1]
mov ebx, edi
or eax, ecx
sub eax, ecx
lea ecx, [edx - 1]
mov edx, edi
xor eax, esi
or edx, ecx
xor ebx, ecx
xor edx, ebx
mov ecx, eax
mov ebx, eax
and ecx, edx
or ebx, edx
imul ebx, ecx
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
imul eax, ecx
mov ecx, edi
not ecx
lea edx, [ebx + eax]
and ecx, esi
mov eax, edi
mov ebx, edi
or eax, esi
xor ebx, esi
sub eax, ebx
mov esi, eax
add ecx, edi
mov edi, eax
or esi, ecx
and edi, ecx
imul esi, edi
mov edi, eax
not edi
and edi, ecx
not ecx
and eax, ecx
imul eax, edi
mov edi, dword [esp + 0x13c0]
add esi, eax
mov ebx, esi
and esi, edx
xor ebx, edx
lea edx, [ebx + esi*2]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x13c4], edx
mov edx, edi
bswap edx
mov ecx, ebx
xor ecx, edx
mov esi, ebx
and esi, ecx
mov ecx, edx
not ecx
shld edi, edi, 0x19
lea eax, [esi + edx]
lea esi, [ecx + ecx]
lea ecx, [eax + eax]
xor eax, edx
and esi, ecx
sub esi, eax
mov ecx, dword [esp + 0x1a8]
lea edx, [ebx + esi]
lea ebx, [esi + esi]
and ecx, ebx
mov ebx, dword [esp]
sub edx, ecx
mov eax, ebx
mov ecx, ebx
and eax, 0x100c77df
or ecx, 0x100c77df
imul ecx, eax
and ebx, 0xeff38820
mov eax, dword [esp + 0x148]
mov esi, edx
and eax, 0x100c77df
imul eax, ebx
bswap esi
add eax, ecx
mov ecx, eax
not ecx
imul ecx, ecx, 0x6e6f611d
imul eax, eax, 0x6e6f611e
lea ebx, [ecx + eax]
mov ecx, ebx
mov eax, ebx
not ecx
mov edx, ebx
and eax, 0xd0ddfbe0
and ecx, 0x2f22041f
and edx, 0x2f22041f
or ebx, 0x2f22041f
imul ecx, eax
imul ebx, edx
mov edx, esi
add ecx, ebx
neg edx
lea eax, [ecx + ecx]
or eax, 0xabb66d06
xor ecx, 0x55db3683
sub eax, ecx
mov ecx, edi
shld eax, eax, 0x19
mov ebx, eax
not ecx
not ebx
and ecx, eax
and ebx, edi
add ebx, ecx
mov ecx, ebx
or ecx, eax
xor ecx, eax
lea eax, [edi + edi]
xor ecx, ebx
lea ebx, [ecx + ecx]
xor ecx, edi
and eax, ebx
lea ebx, [eax + ecx]
shrd ebx, ebx, 0x19
mov edi, ebx
neg edi
lea eax, [edi - 1]
mov ecx, eax
lea edi, [edx - 1]
not edi
or ecx, esi
or edi, ebx
sub ecx, esi
xor ecx, eax
mov eax, ecx
add edi, edx
mov edx, edi
not edx
and eax, edx
mov edx, ecx
not edx
and edx, edi
imul edx, eax
mov eax, ecx
and eax, edi
or ecx, edi
mov edi, esi
xor edi, ebx
and edi, esi
imul ecx, eax
mov eax, esi
or eax, ebx
add ecx, edx
sub eax, esi
lea esi, [edi + ebx]
xor eax, ebx
mov ebx, esi
mov edi, eax
not ebx
mov edx, eax
not edi
and edx, ebx
mov ebx, eax
and edi, esi
or ebx, esi
and eax, esi
imul edx, edi
imul eax, ebx
lea esi, [edx + eax]
mov eax, esi
xor esi, ecx
and eax, ecx
mov ecx, dword [esp + 0x13c4]
lea edx, [esi + eax*2]
lea eax, [ecx + ecx]
mov edi, eax
lea esi, [ecx + edx]
lea ecx, [edx + edx]
mov edx, eax
xor edx, ecx
or eax, ecx
and edi, ecx
sub eax, edx
sub esi, edi
mov ecx, eax
xor ecx, esi
and eax, esi
lea ebx, [ecx + eax*2]
mov eax, dword [esp + 4]
mov dword [esp + 0x6d8], ebx
mov dword [esp + 0x424], eax
test eax, eax
je 0x1003810d
test byte [esp + 0x6d8], 1
je 0x100380f3
mov esi, dword [esp + 0x498]
mov edx, esi
not edx
mov edi, esi
mov dword [esp + 0xe2c], edx
and edx, 0x6f5b7f5
and edi, 0xf90a480a
mov eax, esi
imul edi, edx
mov edx, esi
or eax, 0x6f5b7f5
and edx, 0x6f5b7f5
imul edx, eax
mov ebx, dword [esp + 0x424]
lea eax, [edi + edx]
mov edi, eax
xor eax, 0x9a789284
and edi, 0x1a789284
lea ecx, [ebx + ebx]
lea eax, [eax + edi*2]
mov edx, eax
mov edi, eax
not edx
and edi, 0x45403a2
and edx, 0xfbabfc5d
imul edx, edi
mov edi, eax
or edi, 0xfbabfc5d
and eax, 0xfbabfc5d
imul eax, edi
add edx, eax
imul edi, edx, 0xe7ccd60b
not edx
imul eax, edx, 0x183329f4
not edi
not eax
sub edi, eax
mov eax, ecx
neg eax
xor ecx, 1
lea edx, [edi + edi]
lea edi, [eax - 1]
mov eax, edx
xor eax, edi
and edx, edi
lea edi, [eax + edx]
mov eax, ecx
xor eax, edi
and ecx, edi
mov edx, ebx
and edx, 0x4030aa17
lea edi, [eax + ecx*2]
mov ecx, ebx
or ecx, 0x4030aa17
imul ecx, edx
mov edx, ebx
not ebx
and edx, 0xbfcf55e8
and ebx, 0x4030aa17
imul ebx, edx
add ecx, ebx
mov eax, ecx
xor ecx, 0xb6ac3bfa
and eax, 0x36ac3bfa
lea eax, [ecx + eax*2]
mov edx, eax
mov ecx, eax
not edx
mov ebx, eax
and edx, 0x785d2da7
and ecx, 0x87a2d258
or ebx, 0x785d2da7
and eax, 0x785d2da7
imul ecx, edx
mov edx, esi
imul eax, ebx
add ecx, eax
mov ebx, ecx
xor ecx, 0x9547edea
or ebx, 0x9547edea
lea eax, [ebx + ebx]
mov ebx, esi
sub eax, ecx
or edx, eax
xor ebx, eax
sub edx, ebx
mov ebx, dword [esp + 0xe2c]
add edx, edx
mov ecx, edx
not ecx
imul esi, ecx
imul ebx, edx
not esi
not ebx
sub esi, ebx
mov edx, eax
or edx, esi
xor eax, esi
lea ecx, [edx + edx]
sub ecx, eax
lea eax, [edi + edi]
mov ebx, eax
lea esi, [ecx + ecx]
and ebx, esi
mov esi, ecx
xor ebx, eax
and esi, edi
not esi
lea ebx, [ebx + ecx*2]
or ecx, edi
not ecx
sub esi, ecx
mov edi, esi
not edi
imul edi, ebx
not ebx
imul ebx, esi
not edi
not ebx
sub edi, ebx
mov dword [esp + 0x498], edi
shr dword [esp + 0x6d8], 1
lea edx, [esp + 0x424]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10037f65
mov ebx, dword [esp]
mov esi, ebx
mov ecx, ebx
or esi, 0x257e275d
mov edx, dword [esp + 0x148]
and ecx, 0x257e275d
and edx, 0x257e275d
and ebx, 0xda81d8a2
imul ecx, esi
imul ebx, edx
mov dword [esp + 0x49c], 0
lea esi, [ecx + ebx]
mov eax, esi
xor esi, 0x7bdfb7f9
or eax, 0xfbdfb7f9
lea edi, [eax + eax]
sub edi, esi
mov ecx, edi
mov edx, edi
mov eax, edi
not edi
and ecx, 0xb83464f5
or edx, 0xb83464f5
and eax, 0x47cb9b0a
and edi, 0xb83464f5
imul edx, ecx
imul edi, eax
mov esi, dword [esp + 0x498]
add edx, edi
imul ebx, edx, 0xb873aab2
not edx
imul ecx, edx, 0x478c554d
mov edx, esi
not ebx
not ecx
neg edx
sub ebx, ecx
mov edi, esi
mov ecx, ebx
not edi
neg ecx
mov dword [esp + 0x13c8], edi
lea eax, [edx - 1]
mov edx, ebx
or edx, eax
sub edx, ebx
xor edx, eax
lea eax, [ecx - 1]
mov ecx, edi
or ecx, eax
mov eax, edx
sub ecx, edi
mov edi, ecx
not edi
and eax, edi
mov edi, edx
mov dword [esp + 0x13cc], eax
not edi
mov eax, ecx
and eax, edi
mov edi, ecx
and edi, edx
or ecx, edx
mov edx, esi
imul eax, dword [esp + 0x13cc]
or edx, ebx
imul ecx, edi
sub edx, ebx
mov edi, esi
and ebx, dword [esp + 0x13c8]
xor edi, edx
mov edx, edi
add eax, ecx
lea ecx, [esi + ebx]
mov esi, edi
and esi, ecx
or edx, ecx
mov ebx, ecx
imul edx, esi
not ebx
mov esi, edi
not edi
and esi, ebx
and edi, ecx
imul edi, esi
lea ecx, [eax + eax]
lea esi, [edx + edi]
mov edi, dword [esp + 0x874]
mov ebx, edi
lea edx, [esi + esi]
or edx, ecx
xor esi, eax
sub edx, esi
mov ecx, edi
mov eax, edx
mov esi, edi
not eax
not ecx
imul esi, eax
imul ecx, edx
shld edi, edi, 0x13
sub esi, ecx
mov eax, esi
bswap ebx
bswap eax
mov dword [esp + 0x13d0], eax
shld esi, esi, 0x13
lea edx, [ebx + eax]
add eax, eax
lea ecx, [ebx + ebx]
and eax, ecx
lea ecx, [edi + edi]
sub edx, eax
mov eax, edx
xor edx, ebx
or eax, ebx
mov ebx, esi
neg ebx
xor eax, edx
lea edx, [ebx + ebx - 2]
mov ebx, edx
or ebx, ecx
sub ebx, ecx
xor ebx, edx
mov edx, edi
not edi
xor edx, esi
and edi, esi
lea ecx, [edi + edi]
mov edi, ebx
not ebx
sub edx, ecx
mov ecx, dword [esp + 0x13d0]
xor edi, edx
mov dword [esp + 0x13d4], edi
lea esi, [ebx + ebx]
mov ebx, eax
and ebx, ecx
or eax, ecx
add edx, edx
and esi, edx
mov edx, edi
sub edx, esi
shrd edx, edx, 0x13
lea ecx, [ebx + eax]
bswap ecx
add ecx, ecx
sub ecx, edi
mov esi, ecx
neg esi
lea ebx, [esi - 1]
mov edi, ebx
mov esi, ebx
and edi, edx
or esi, edx
imul esi, edi
mov eax, ebx
mov edi, edx
not eax
not edi
and eax, edx
and edi, ebx
neg edx
imul edi, eax
mov ebx, ecx
lea eax, [esi + edi]
mov esi, ecx
lea edi, [edx - 1]
or ebx, edi
and esi, edi
imul esi, ebx
mov ebx, ecx
not ebx
and ebx, edi
not edi
and edi, ecx
imul edi, ebx
mov ebx, dword [esp + 0x13d4]
lea ecx, [esi + edi]
mov edx, ecx
not edx
lea esi, [edx + edx]
lea edx, [eax + eax]
xor eax, ecx
and esi, edx
lea edx, [ebx + esi]
mov ebx, dword [esp + 0x874]
sub edx, eax
mov esi, dword [esp + 4]
mov dword [esp + 0x428], esi
lea eax, [ebx + ebx]
xor ebx, edx
lea ecx, [edx + edx]
and ecx, eax
lea edx, [ecx + ebx]
mov dword [esp + 0x13d8], edx
test esi, esi
je 0x10038431
mov dword [esp + 0x6dc], 0x97aeaff1
test byte [esp + 0x6dc], 1
je 0x10038417
mov ebx, dword [esp + 0x428]
mov ecx, ebx
mov eax, ebx
mov edi, ebx
not ecx
or eax, 0x51f5aaa1
and edi, 0x51f5aaa1
and ecx, 0x51f5aaa1
and ebx, 0xae0a555e
imul edi, eax
imul ebx, ecx
lea edx, [edi + ebx]
imul esi, edx, 0x3cc914ba
not edx
imul eax, edx, 0xc336eb45
not esi
not eax
sub esi, eax
mov ecx, esi
mov ebx, esi
not ecx
mov edi, esi
and ebx, 0x3fe3469e
and ecx, 0xc01cb961
and edi, 0xc01cb961
or esi, 0xc01cb961
imul ecx, ebx
imul esi, edi
lea ebx, [ecx + esi]
mov eax, ebx
not eax
imul edx, eax, 0xdc9ffddb
imul edi, ebx, 0xdc9ffddc
mov ebx, dword [esp + 0x49c]
lea ecx, [edx + edi]
lea edx, [ecx + ecx]
mov eax, edx
lea esi, [ebx + ebx]
or eax, esi
sub eax, esi
xor eax, edx
mov edx, ebx
not edx
and edx, ecx
lea edi, [eax + eax]
lea ebx, [ebx + edx*2]
sub ebx, ecx
lea ecx, [ebx + ebx]
xor ebx, eax
and ecx, edi
lea eax, [ecx + ebx]
mov dword [esp + 0x49c], eax
shr dword [esp + 0x6dc], 1
lea edx, [esp + 0x428]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x10038356
mov ebx, dword [esp + 0x13d8]
mov esi, ebx
mov edi, ebx
not esi
mov ecx, ebx
and edi, 0xb71a5228
and esi, 0x48e5add7
or ecx, 0x48e5add7
and ebx, 0x48e5add7
imul esi, edi
imul ebx, ecx
lea edx, [esi + ebx]
mov eax, edx
not eax
imul eax, eax, 0xb7e31e22
imul edi, edx, 0x481ce1df
not eax
not edi
sub eax, edi
mov ecx, eax
mov edx, eax
not ecx
mov ebx, eax
and edx, 0x3be95e7
and ecx, 0x3be95e7
and ebx, 0xfc416a18
or eax, 0x3be95e7
imul ebx, ecx
imul eax, edx
mov dword [esp + 0x13dc], edx
add ebx, eax
lea esi, [ebx + ebx]
xor ebx, 0x1e4a0552
and esi, 0x3c940aa4
sub esi, edx
add ebx, esi
mov esi, dword [esp + 0x49c]
mov ecx, esi
mov edx, esi
or ecx, ebx
and esi, ebx
mov eax, ecx
sub ecx, esi
mov esi, dword [esp + 4]
sub eax, ebx
mov ebx, dword [esp]
xor edx, eax
imul ebx, esi
mov edi, ebx
lea eax, [edx + edx]
not edi
mov dword [esp + 0x13e4], ecx
mov dword [esp + 0x13ec], edi
mov dword [esp + 0x13e0], eax
mov eax, esi
mov dword [esp + 0x13e8], ebx
lea edx, [edi + 1]
mov ecx, edx
xor edx, 1
and ecx, 0xfffffffe
lea edi, [ecx + ecx]
sub edi, edx
mov edx, esi
and eax, edi
or edx, edi
mov ecx, eax
not edx
not ecx
xor esi, edi
sub ecx, edx
mov edx, dword [esp + 0x158]
mov edi, edx
xor edi, 1
and edx, 1
add eax, esi
mov esi, ecx
not ecx
xor esi, eax
add eax, eax
lea edi, [edi + edx*2 - 1]
not edi
bswap edi
add ecx, ecx
and eax, ecx
mov edx, edi
sub esi, eax
mov ecx, edi
not edx
mov eax, edi
and ecx, 0x90110bf6
and edx, 0x6feef409
and eax, 0x6feef409
or edi, 0x6feef409
imul edx, ecx
not esi
imul edi, eax
mov dword [esp + 0x13f0], esi
lea ecx, [edx + edi]
mov eax, ecx
xor ecx, 0xbdc67827
not eax
mov dword [esp + 0x13f4], eax
add eax, eax
mov dword [esp + 0x13f8], eax
and eax, 0x7b8cf04e
sub ecx, eax
mov edx, ecx
mov edi, ecx
not edx
and edi, 0x90e325c6
and edx, 0x6f1cda39
imul edi, edx
mov edx, ecx
and edx, 0x6f1cda39
or ecx, 0x6f1cda39
imul ecx, edx
add edi, ecx
mov eax, edi
not eax
imul ecx, eax, 0xaf3a0951
imul eax, edi, 0xaf3a0952
add eax, ecx
mov edx, eax
not edx
and edx, ebx
lea edi, [edx + eax]
mov ecx, edi
not edi
and edi, eax
xor ecx, eax
lea edx, [esi + 1]
lea eax, [edi + edi]
sub ecx, eax
mov eax, ecx
not ecx
sub eax, ebx
and ecx, ebx
lea ecx, [eax + ecx*2]
mov ebx, ecx
neg ebx
lea edi, [esi + ebx]
neg esi
lea eax, [ebx - 1]
mov ebx, edx
or ebx, eax
mov eax, ecx
sub edi, ebx
mov ebx, ecx
lea esi, [esi - 2]
xor ebx, esi
or eax, esi
xor ebx, eax
mov eax, edi
mov esi, ebx
not eax
not esi
and eax, ebx
and esi, edi
imul eax, esi
mov esi, edi
or esi, ebx
and edi, ebx
mov ebx, ecx
not ebx
imul edi, esi
mov esi, ebx
or esi, edx
add eax, edi
sub esi, ebx
mov ebx, dword [esp + 0x13f0]
lea edi, [ebx + ecx]
and ecx, edx
sub edi, ecx
mov ecx, esi
mov ebx, esi
lea edx, [edi + 1]
mov edi, esi
not edi
and ecx, edx
or ebx, edx
and edi, edx
not edx
and edx, esi
imul ebx, ecx
imul edx, edi
add ebx, edx
mov edx, dword [esp + 0x13e8]
mov esi, ebx
lea ecx, [ebx + ebx]
xor esi, eax
add eax, eax
and ecx, eax
lea edi, [esi + ecx]
mov esi, dword [esp + 0x158]
mov ecx, edx
mov ebx, esi
bswap ecx
and ebx, ecx
mov eax, ecx
xor ebx, ecx
not eax
mov dword [esp + 0x13fc], edi
add ebx, esi
and eax, ebx
xor ebx, ecx
mov ecx, dword [esp + 0x244]
add eax, eax
sub eax, ebx
and ecx, eax
mov ebx, dword [esp + 0x13ec]
and ebx, 0xa146e383
lea edi, [ecx + ecx]
mov ecx, edx
sub edi, eax
or ecx, 0xa146e383
lea eax, [esi + edi]
mov esi, edx
and esi, 0xa146e383
and edx, 0x5eb91c7c
imul ecx, esi
imul edx, ebx
bswap eax
add ecx, edx
imul ebx, ecx, 0x5289b570
not ecx
imul esi, ecx, 0xad764a8f
not ebx
not esi
sub ebx, esi
mov edi, ebx
mov esi, ebx
not edi
mov ecx, ebx
and edi, 0xe619c32b
and esi, 0x19e63cd4
or ecx, 0xe619c32b
and ebx, 0xe619c32b
imul esi, edi
imul ebx, ecx
mov ecx, dword [esp + 4]
lea edx, [esi + ebx]
shld ecx, ecx, 0xe
mov ebx, edx
mov esi, ecx
and ebx, 0xffa07305
or edx, 0xffa07305
neg esi
add edx, ebx
shld edx, edx, 0xe
lea edi, [esi - 1]
mov ebx, edi
or edi, edx
xor ebx, edx
xor ebx, edi
mov edi, eax
mov edx, ebx
or ebx, ecx
and edx, ecx
neg edi
lea esi, [edx + ebx]
shrd esi, esi, 0xe
mov ecx, esi
lea edi, [edi - 1]
neg ecx
lea edx, [ecx - 1]
mov ecx, edx
or ecx, eax
xor ecx, eax
xor ecx, edx
mov edx, edi
or edx, esi
mov ebx, ecx
xor edx, esi
not ebx
xor edx, edi
mov edi, edx
and ebx, edx
mov dword [esp + 0x1400], ebx
not edi
mov ebx, ecx
and ebx, edi
mov edi, ecx
and edi, edx
or ecx, edx
imul ebx, dword [esp + 0x1400]
imul ecx, edi
lea edi, [ebx + ecx]
mov ecx, eax
xor ecx, esi
mov ebx, eax
and eax, esi
or ebx, esi
sub ebx, ecx
mov esi, ebx
lea edx, [ecx + eax]
mov ecx, ebx
mov eax, ebx
not ecx
and esi, edx
or eax, edx
and ecx, edx
not edx
and edx, ebx
mov ebx, edi
imul eax, esi
imul edx, ecx
lea ecx, [eax + edx]
mov edx, dword [esp + 0x13fc]
or ebx, ecx
and edi, ecx
sub ebx, dword [esp + 0x13f8]
lea eax, [ebx + edi]
mov edi, dword [esp + 0x13f4]
mov ecx, eax
and ecx, edx
mov ebx, ecx
not ecx
xor ebx, edx
lea esi, [ebx + eax]
or eax, edx
not eax
add esi, esi
sub ecx, eax
mov edx, esi
mov ebx, ecx
not edx
neg ebx
not ecx
imul edx, ebx
neg esi
imul esi, ecx
not edx
not esi
mov eax, dword [esp + 4]
lea ebx, [edx + edi*2]
sub ebx, esi
imul eax, ebx
mov edi, eax
mov edx, eax
neg edi
mov ebx, eax
xor edx, 0x2487ffff
or ebx, 0x2487ffff
sub ebx, edx
mov edx, ebx
mov esi, ebx
lea ecx, [edi - 1]
mov edi, ecx
or edi, 0xdb780000
sub edi, ecx
xor edi, 0xdb780000
and edx, edi
or esi, edi
mov ecx, edi
imul esi, edx
not ecx
mov edx, ebx
not ebx
and edx, ecx
and ebx, edi
imul ebx, edx
mov edx, eax
not edx
lea ecx, [esi + ebx]
or edx, 0xdb780000
mov esi, eax
mov dword [esp + 0x1404], ecx
xor esi, 0xdb780000
lea ecx, [edx + eax + 1]
and eax, 0xdb780000
mov edx, ecx
mov edi, ecx
not edx
lea ebx, [esi + eax]
mov esi, dword [esp + 0x168]
mov eax, ebx
and edx, ebx
not eax
and edi, ebx
and eax, ecx
or ecx, ebx
imul eax, edx
imul ecx, edi
or esi, dword [esp + 0x130c]
lea ebx, [eax + ecx]
mov dword [esp + 0x1408], ebx
mov ebx, dword [esp + 0x1370]
sub ebx, dword [esp + 0x1374]
sub esi, dword [esp + 0x1368]
mov ecx, ebx
not ecx
mov eax, esi
not esi
imul eax, ecx
imul esi, ebx
not eax
not esi
mov edi, dword [esp + 0x14c]
sub eax, esi
mov esi, dword [esp + 0x158]
lea ebx, [edi + edi]
lea edx, [esi + esi]
and ebx, edx
xor ebx, edx
mov edx, edi
and edx, esi
lea ecx, [ebx + edi*2]
or edi, esi
lea ebx, [edx + edi]
mov edi, ecx
mov esi, ebx
not edi
neg esi
not ebx
neg ecx
mov edx, eax
imul edi, esi
mov esi, eax
imul ecx, ebx
not edi
not ecx
sub edi, ecx
mov ecx, eax
not esi
and edx, 0x3e7cc3b7
or ecx, 0x3e7cc3b7
and esi, 0x3e7cc3b7
and eax, 0xc1833c48
imul ecx, edx
imul eax, esi
bswap edi
add ecx, eax
mov ebx, ecx
and ebx, 0x1ed8b39e
mov dword [esp + 0x87c], ecx
xor ecx, 0xe1274c61
add ebx, ebx
sub ebx, ecx
mov eax, ebx
mov edx, ebx
mov ecx, ebx
not eax
or edx, 0x1b9a8a07
and ecx, 0x1b9a8a07
and eax, 0x1b9a8a07
and ebx, 0xe46575f8
imul ecx, edx
imul ebx, eax
lea edx, [ebx + ecx]
mov esi, edx
not edx
xor esi, 0x7b669f59
lea ebx, [edx + edx]
mov edx, edi
neg edx
and ebx, 0xf6cd3eb2
sub esi, ebx
mov ebx, esi
lea eax, [edx - 1]
mov dword [esp + 0x140c], eax
or ebx, eax
sub ebx, edx
mov edx, esi
lea eax, [ebx + 1]
mov ebx, esi
or ebx, edi
xor edx, eax
add ebx, ebx
sub ebx, edi
lea eax, [edx + edx]
sub ebx, esi
mov esi, ebx
xor esi, eax
not eax
add ebx, ebx
lea edi, [eax + eax]
mov eax, dword [esp + 4]
shld eax, eax, 1
and edi, ebx
sub esi, edi
mov edi, dword [esp]
lea edx, [ecx + eax]
shld edi, edi, 1
mov ebx, edx
or ebx, edi
mov dword [esp + 0x880], esi
mov dword [esp + 0x1410], eax
lea esi, [ebx + ebx]
sub esi, edi
lea ebx, [edi + edi]
sub esi, edx
add edx, edx
mov eax, edx
or edx, ebx
xor eax, ebx
xor eax, edx
mov ebx, eax
xor eax, esi
or ebx, esi
shrd edi, edi, 0x12
lea edx, [ebx + ebx]
mov ebx, dword [esp + 0x1410]
shrd ebx, ebx, 0x12
sub edx, ecx
mov ecx, edi
and ecx, ebx
sub edx, eax
lea esi, [edi + ebx]
lea eax, [ecx + ecx]
xor ecx, ebx
sub esi, eax
add ecx, edi
mov edi, esi
not edi
and edi, ecx
lea ebx, [esi + edi*2]
sub ebx, ecx
shrd ebx, ebx, 0xe
mov eax, ebx
neg eax
mov dword [esp + 0x1418], eax
mov dword [esp + 0x1414], ebx
lea ecx, [eax - 1]
lea esi, [edx + eax - 1]
mov eax, edx
or eax, ecx
sub esi, eax
lea eax, [edx + ebx]
and edx, ebx
lea ecx, [esi + esi]
lea ebx, [edx + edx]
sub eax, ebx
mov ebx, ecx
mov esi, eax
not ebx
neg esi
not eax
neg ecx
imul ebx, esi
imul ecx, eax
not ebx
not ecx
sub ebx, ecx
shrd ebx, ebx, 1
mov dword [esp + 0x884], ebx
shrd ebx, ebx, 4
not ebx
mov dword [esp + 0x141c], ebx
mov edx, dword [esp + 0x880]
mov esi, edx
mov ebx, edx
not esi
mov edi, edx
mov ecx, edx
and esi, 0x6c90a1f
and ebx, 0xf936f5e0
or edi, 0x6c90a1f
and ecx, 0x6c90a1f
lea edx, [edx - 1]
imul ebx, esi
not edx
imul ecx, edi
mov eax, dword [esp + 0x141c]
add ebx, ecx
mov esi, ebx
xor ebx, 0x22218f56
and esi, 0x22218f56
shrd eax, eax, 0x1c
mov dword [esp + 0x4a0], 0
lea edi, [ebx + esi*2]
mov ebx, edi
mov ecx, edi
or ebx, 0xc287f1df
and ecx, 0xc287f1df
imul ecx, ebx
mov ebx, edi
not edi
and ebx, 0x3d780e20
and edi, 0xc287f1df
imul edi, ebx
add ecx, edi
mov ebx, ecx
xor ecx, 0x1585d1ea
and ebx, 0xea7a2e15
lea esi, [ebx + ebx]
sub esi, ecx
mov ebx, esi
mov edi, esi
and ebx, eax
or edi, eax
mov dword [esp + 0x1420], esi
xor esi, ebx
sub edi, ebx
mov ebx, edi
lea ecx, [esi + eax]
mov esi, edx
mov eax, ecx
and esi, 0xfffffffe
not eax
xor edi, ecx
and ebx, eax
xor edx, 1
mov ecx, dword [esp + 0x1414]
add ebx, ebx
sub ebx, edi
lea edi, [esi + esi]
sub edi, edx
not ebx
mov edx, edi
rol edx, cl
mov eax, edx
neg eax
mov esi, dword [esp + 0x884]
rol esi, cl
mov dword [esp + 0x1424], ebx
lea eax, [eax - 1]
mov ecx, eax
and ecx, esi
xor ecx, eax
add ecx, esi
mov esi, edx
and esi, 1
or edx, 1
lea edi, [esi + edx]
mov esi, ecx
and esi, edi
xor ecx, edi
lea edi, [ecx + esi*2]
mov ecx, dword [esp + 0x1418]
rol edi, cl
lea esi, [ebx + 1]
mov ebx, esi
mov edx, esi
mov ecx, esi
and ebx, edi
xor edx, edi
or ecx, edi
xor ecx, edi
xor ecx, esi
lea eax, [ebx + edx]
mov ebx, ecx
mov edx, ecx
and ebx, eax
or edx, eax
mov dword [esp + 0x1428], ebx
imul edx, ebx
mov ebx, ecx
not ebx
and ebx, eax
not eax
and eax, ecx
mov ecx, edi
imul eax, ebx
neg ecx
mov dword [esp + 0x142c], edx
lea ebx, [eax + edx]
lea edx, [ecx - 1]
mov ecx, esi
or ecx, edx
sub ecx, edx
xor ecx, esi
mov esi, dword [esp + 0x1424]
mov edx, ecx
neg esi
not edx
mov dword [esp + 0x1430], esi
lea esi, [esi - 2]
mov dword [esp + 0x888], esi
not esi
mov eax, esi
or eax, edi
sub eax, esi
mov esi, ecx
mov edi, eax
and edi, edx
mov edx, eax
not edx
and esi, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul esi, edi
imul eax, edx
mov ecx, dword [esp + 0x880]
lea edi, [esi + eax]
bswap ecx
mov esi, edi
mov edx, ecx
or esi, ebx
mov eax, dword [esp + 0x884]
not edx
bswap eax
and edi, ebx
and edx, eax
lea ebx, [esi + edi]
mov dword [esp + 0x1434], ebx
mov esi, ecx
lea ebx, [edx + edx]
sub ebx, eax
and esi, eax
xor esi, ecx
lea edi, [ebx + ecx]
lea ebx, [esi + eax]
mov esi, edi
not esi
imul esi, ebx
not ebx
imul ebx, edi
sub esi, ebx
mov edi, ecx
xor edi, eax
lea ebx, [esi - 1]
mov esi, ecx
sub ecx, eax
or esi, eax
xor esi, edi
not ebx
bswap ebx
mov edi, ebx
not edi
lea eax, [ecx + edx*2]
mov ecx, esi
xor esi, eax
and ecx, eax
lea edx, [esi + ecx*2]
mov ecx, edi
bswap edx
or ecx, edx
sub ecx, edi
and edi, edx
mov eax, ecx
mov esi, ecx
add edi, ebx
and eax, edi
or esi, edi
imul esi, eax
mov eax, ecx
not eax
and eax, edi
not edi
and ecx, edi
imul ecx, eax
lea eax, [esi + ecx]
mov esi, edx
neg esi
lea esi, [esi - 1]
mov ecx, esi
or ecx, ebx
sub ecx, ebx
neg ebx
xor ecx, esi
mov esi, ecx
lea ebx, [ebx - 1]
not ebx
mov edi, ebx
or edi, edx
mov edx, ecx
mov dword [esp + 0x1438], edi
sub edi, ebx
and edx, edi
or esi, edi
imul esi, edx
mov edx, ecx
not edx
mov ebx, edi
not edi
and ebx, edx
and ecx, edi
imul ecx, ebx
mov edx, dword [esp + 0x1434]
lea ebx, [esi + ecx]
mov esi, eax
and eax, ebx
or esi, ebx
mov ebx, edx
not ebx
add esi, eax
lea ecx, [esi + esi]
lea edi, [ebx + ebx]
and edi, ecx
lea ebx, [edi + edx]
sub ebx, esi
lea esi, [edx + edx]
lea edx, [ecx + edx*2]
or ecx, esi
sub edx, ecx
mov esi, edx
and edx, ebx
xor esi, ebx
mov ecx, dword [esp + 0x888]
lea eax, [esi + edx*2]
mov dword [esp + 0x143c], eax
mov eax, dword [esp + 0x87c]
neg eax
mov edx, dword [esp + 4]
rol edx, cl
mov edi, edx
neg edx
not edi
lea ebx, [eax - 1]
neg ebx
lea ecx, [edi + 1]
lea ebx, [ebx - 1]
mov edi, ebx
mov esi, ebx
and edi, ecx
or esi, ecx
imul esi, edi
mov edi, ebx
not edi
neg esi
and edi, ecx
not ecx
and ecx, ebx
imul ecx, edi
lea esi, [esi - 1]
sub esi, ecx
lea ecx, [eax - 2]
not ecx
lea eax, [edx - 1]
mov edi, ecx
mov ebx, ecx
or edi, eax
and ebx, eax
mov edx, eax
mov dword [esp + 0x1440], ecx
not edx
imul ebx, edi
mov edi, ecx
not ecx
and edi, edx
and ecx, eax
mov edx, esi
imul ecx, edi
not esi
mov edi, dword [esp + 0x87c]
lea eax, [ebx + ecx]
neg eax
lea ecx, [eax - 1]
mov ebx, ecx
not ebx
imul edx, ebx
imul esi, ecx
not edx
not esi
mov ecx, dword [esp + 0x1430]
add edx, edi
sub edx, esi
lea ebx, [ecx + ecx - 4]
mov esi, dword [esp + 0x888]
and ebx, 0x1e
xor esi, 0x20
sub esi, ebx
mov ecx, esi
rol edx, cl
mov ecx, dword [esp]
mov ebx, ecx
mov edi, ecx
or ebx, edx
xor edi, edx
xor ebx, edi
lea esi, [edx + edx]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x168]
and ecx, esi
sub eax, ecx
lea esi, [ebx + ebx]
xor ebx, eax
lea edi, [eax + eax]
mov eax, dword [esp + 4]
or edi, esi
sub edi, ebx
add edx, eax
lea ebx, [edx + edx]
neg ebx
lea esi, [ebx - 2]
not esi
lea ebx, [edi + edi]
mov ecx, esi
or ecx, ebx
sub ecx, esi
mov esi, edx
not esi
add esi, esi
and esi, ebx
sub esi, edi
lea ebx, [esi + edx]
mov edx, ecx
not ecx
xor edx, ebx
add ebx, ebx
lea esi, [ecx + ecx]
mov ecx, dword [esp]
and esi, ebx
lea edi, [eax + edx]
sub edi, esi
mov edx, ecx
mov ebx, ecx
xor edx, edi
and ebx, edi
mov esi, ecx
or esi, edi
shrd ecx, ecx, 0x1f
add ebx, edx
xor edx, esi
mov edi, edx
mov esi, ebx
neg edi
not esi
not edx
neg ebx
imul esi, edi
imul ebx, edx
mov edx, dword [esp + 0x1428]
not esi
not ebx
sub esi, ebx
mov dword [esp + 0x88c], esi
lea ebx, [edx + ecx]
mov edi, ebx
not ebx
xor edi, 1
and ebx, 1
sub edx, edi
lea ebx, [edx + ebx*2 - 1]
mov esi, ebx
neg esi
lea edi, [esi - 1]
mov esi, edi
mov ecx, edi
not esi
mov edx, edi
and ecx, 0xfffffffe
and esi, 1
or edx, 1
and edi, 1
imul esi, ecx
mov ecx, ebx
imul edi, edx
and ecx, 1
lea edx, [esi + edi]
mov esi, ebx
mov edi, ebx
not esi
and edi, 0xfffffffe
and esi, 0xfffffffe
or ebx, 0xfffffffe
imul esi, ecx
imul ebx, edi
mov ecx, dword [esp + 0x1438]
add esi, ebx
mov edi, esi
xor ecx, 0x1f
not edi
not ecx
imul edi, edx
not edx
imul edx, esi
not edi
not edx
ror eax, cl
sub edi, edx
mov edx, eax
mov ebx, eax
shrd edi, edi, 1
not edx
mov esi, eax
mov dword [esp + 0x1444], ecx
ror edi, cl
mov ecx, edx
or ecx, edi
xor ebx, edi
and esi, edi
sub ecx, edx
shld edi, edi, 0xa
shld eax, eax, 0xa
lea esi, [ebx + esi*2]
lea ebx, [ecx + ecx]
mov ecx, esi
mov edx, ebx
not ecx
neg edx
not ebx
neg esi
imul ecx, edx
imul esi, ebx
not ecx
not esi
sub ecx, esi
mov ebx, edi
mov esi, edi
or ebx, eax
and esi, eax
sub ebx, esi
mov edx, ebx
or ebx, eax
xor edx, eax
xor edx, ebx
mov eax, edx
xor edx, edi
or eax, edi
lea ebx, [eax + eax]
sub ebx, edx
mov edx, ecx
mov edi, ebx
shrd edi, ebx, 0xa
mov esi, edi
neg esi
lea eax, [esi - 1]
mov esi, ecx
or edx, eax
xor esi, eax
xor edx, esi
lea eax, [edi + edi]
lea esi, [ecx + ecx]
and eax, esi
sub edi, eax
add edx, edx
add ecx, edi
mov edi, dword [esp + 0x1444]
mov ebx, ecx
mov eax, edi
xor ebx, edx
not edx
and edx, ecx
shl eax, 5
lea esi, [edx + edx]
sub ebx, esi
lea ecx, [ebx + ebx]
neg ecx
not ecx
neg ecx
lea esi, [ebx + ecx - 1]
lea ebx, [edi + eax]
neg ebx
not ebx
neg ebx
lea ecx, [ebx - 1]
mov ebx, dword [esp + 0x88c]
ror esi, cl
mov edx, ebx
mov dword [esp + 0x564], esi
shrd esi, esi, 9
shrd edx, ebx, 9
mov edi, esi
mov eax, esi
and edi, edx
not eax
xor edi, esi
add eax, eax
add edi, edx
lea ecx, [edi + edi]
xor edi, esi
and ecx, eax
sub ecx, edi
mov edi, ebx
mov esi, ecx
or esi, edx
add esi, esi
sub esi, edx
mov edx, ebx
neg edx
sub esi, ecx
shld esi, esi, 9
mov dword [esp + 0x1448], esi
lea eax, [edx - 1]
mov edx, dword [esp + 0x564]
mov ecx, eax
xor eax, edx
or ecx, edx
xor ecx, eax
or edi, ecx
and ebx, ecx
add ebx, edi
mov dword [esp + 0x144c], ebx
mov eax, ebx
neg eax
lea edx, [eax - 1]
mov ecx, edx
xor edx, esi
or ecx, esi
neg esi
xor ecx, edx
lea eax, [esi - 1]
mov edx, eax
or eax, ebx
xor edx, ebx
xor edx, eax
mov eax, ecx
mov ebx, eax
not ebx
mov esi, edx
mov edi, edx
and esi, ebx
not edi
mov ebx, eax
mov ecx, edx
and ebx, edi
and ecx, eax
or edx, eax
imul ebx, esi
imul edx, ecx
mov eax, dword [esp + 0x1448]
add ebx, edx
mov edx, dword [esp + 0x144c]
mov edi, eax
mov ecx, edx
or edi, edx
not ecx
sub edi, eax
and eax, ecx
mov esi, edx
xor esi, edi
mov ecx, esi
lea edi, [edx + eax]
mov eax, esi
mov edx, esi
not eax
or ecx, edi
and edx, edi
and eax, edi
not edi
and esi, edi
imul edx, ecx
imul esi, eax
mov eax, ebx
add edx, esi
or eax, edx
xor ebx, edx
mov edx, dword [esp + 0x564]
mov esi, dword [esp + 0x88c]
lea edi, [eax + eax]
mov eax, esi
sub edi, ebx
mov dword [esp + 0x1450], edi
mov edi, dword [esp + 0x1420]
mov ecx, edi
mov ebx, dword [esp + 0x140c]
neg edi
rol edx, cl
mov ecx, ebx
rol eax, cl
mov ecx, edx
not ecx
lea edx, [ecx + ecx]
sub edx, ecx
mov ecx, edi
rol edx, cl
mov ecx, ebx
rol edx, cl
mov edi, edx
and edi, eax
xor edi, eax
lea ecx, [edi + edx]
lea edi, [edx + eax]
add edx, edx
add eax, eax
and edx, eax
sub edi, edx
mov edx, ecx
not edx
imul edx, edi
not edi
imul edi, ecx
sub edx, edi
mov ecx, ebx
ror edx, cl
mov ecx, dword [esp + 0x142c]
ror esi, cl
mov ebx, dword [esp + 0x564]
shrd ebx, ebx, 0x17
lea eax, [esi - 1]
not eax
lea edi, [eax + eax]
xor eax, 1
and edi, 0xfffffffc
sub edi, eax
mov eax, ebx
rol edi, cl
shrd edi, edi, 0x17
and eax, edi
lea ecx, [ebx + edi]
lea esi, [eax + eax]
mov eax, edi
not eax
sub ecx, esi
and eax, ebx
mov ebx, ecx
not ebx
neg ecx
lea esi, [eax + edi]
mov eax, esi
not esi
neg eax
imul ebx, eax
imul ecx, esi
not ebx
not ecx
sub ebx, ecx
mov esi, edx
neg esi
lea edi, [ebx - 1]
not edi
shld edi, edi, 0x17
mov eax, edi
neg eax
lea eax, [eax - 1]
not eax
mov ebx, eax
or ebx, edx
sub ebx, eax
lea eax, [esi - 1]
mov ecx, eax
or ecx, edi
sub ecx, edi
xor ecx, eax
mov esi, ecx
mov eax, ecx
and esi, ebx
or eax, ebx
imul eax, esi
mov esi, ebx
not esi
and esi, ecx
not ecx
and ebx, ecx
mov ecx, edx
imul ebx, esi
or ecx, edi
lea esi, [eax + ebx]
mov eax, edx
xor eax, edi
lea ebx, [edx + edi]
and edx, edi
sub ebx, ecx
mov edi, ebx
lea ecx, [eax + edx]
mov eax, ebx
or eax, ecx
and edi, ecx
imul edi, eax
mov eax, ecx
not eax
mov edx, ebx
not ebx
and edx, eax
and ebx, ecx
imul ebx, edx
lea edx, [edi + ebx]
mov ecx, edx
and edx, esi
or ecx, esi
lea ebx, [ecx + edx]
mov ecx, dword [esp + 0x1450]
mov edi, ebx
lea edx, [ebx + ebx]
not edi
lea eax, [ecx + ecx]
mov esi, eax
or esi, edx
sub esi, edx
lea edx, [edi + edi]
and edx, eax
xor esi, eax
sub edx, ecx
lea eax, [edx + ebx]
mov ebx, esi
or ebx, eax
and esi, eax
add esi, ebx
mov ebx, dword [esp + 0x143c]
mov edx, ebx
mov edi, ebx
neg edx
xor edi, esi
lea eax, [edx + edx - 2]
not eax
lea edx, [esi + esi]
mov ecx, eax
or ecx, edx
lea edx, [ebx + ebx]
sub ecx, eax
mov eax, esi
not eax
add eax, eax
and edx, eax
mov eax, ecx
sub edi, edx
not eax
imul eax, edi
not edi
imul ecx, edi
sub eax, ecx
mov ecx, dword [esp + 0x1440]
ror esi, cl
ror ebx, cl
mov edx, esi
mov edi, esi
xor edx, ebx
and edi, ebx
neg ecx
add edx, edi
mov edi, ebx
not edi
and edi, esi
add edi, edi
sub edi, esi
lea esi, [edi + ebx]
mov ebx, edx
not ebx
imul ebx, esi
not esi
imul esi, edx
sub ebx, esi
lea esi, [eax + eax]
ror ebx, cl
mov ecx, esi
lea edx, [ebx + ebx]
lea edi, [edx + edx]
and ecx, edi
mov edx, ecx
sub eax, ecx
xor edx, esi
lea edi, [edx + ebx*4]
lea edx, [eax + ebx*2]
mov esi, edx
not esi
imul esi, edi
not edi
imul edi, edx
not esi
not edi
sub esi, edi
mov ebx, esi
bswap ebx
not ebx
mov dword [esp + 0x1454], esi
lea eax, [ebx + ebx]
neg eax
lea edx, [eax - 2]
not edx
sub edx, ebx
lea eax, [edx - 1]
bswap eax
mov ebx, eax
mov ecx, eax
and ebx, 0xe9440000
xor ecx, 0xe9440000
mov edx, eax
not edx
lea edi, [ecx + ebx]
mov ebx, esi
imul edx, edi
not edi
imul edi, eax
not edx
not edi
sub edx, edi
mov edi, esi
mov eax, edx
and edi, 0xa837c441
and eax, 0x16bbffff
or ebx, 0xa837c441
imul ebx, edi
lea ecx, [eax + eax]
mov eax, esi
not eax
and esi, 0x57c83bbe
mov dword [esp + 0x145c], eax
and eax, 0xa837c441
imul esi, eax
sub ecx, edx
mov dword [esp + 0x1458], ecx
add ebx, esi
mov eax, ebx
not ebx
xor eax, 0xe37f145d
lea edx, [ecx - 0x16bc0000]
lea edi, [ebx + ebx]
and edi, 0xc6fe28ba
sub eax, edi
mov ecx, eax
mov edi, eax
not ecx
mov ebx, eax
and ecx, 0x1f64bc1
and edi, 0xfe09b43e
and ebx, 0x1f64bc1
or eax, 0x1f64bc1
imul edi, ecx
imul eax, ebx
lea esi, [edi + eax]
mov eax, esi
xor esi, 0xac23991d
and eax, 0x2c23991d
lea edi, [esi + eax*2]
neg edi
lea ebx, [edi - 1]
mov eax, ebx
lea ecx, [edi + 0x16bbfffe]
and eax, 0x16bbffff
sub ecx, eax
mov esi, ecx
not ecx
and ecx, ebx
xor esi, ebx
lea ebx, [ecx + ecx]
sub esi, ebx
mov ebx, edx
neg ebx
mov edi, esi
mov ecx, esi
neg ecx
lea eax, [ebx - 1]
or edi, eax
sub edi, ebx
mov ebx, esi
lea eax, [edi + 1]
mov edi, edx
xor ebx, eax
lea eax, [ecx - 1]
mov ecx, edx
or edi, eax
xor ecx, eax
sub edi, ecx
mov ecx, ebx
not ecx
mov eax, edi
and eax, ecx
mov ecx, edi
mov dword [esp + 0x1460], eax
not ecx
mov eax, ebx
and eax, ecx
mov ecx, ebx
and ecx, edi
or ebx, edi
imul eax, dword [esp + 0x1460]
mov edi, edx
imul ebx, ecx
not edi
mov ecx, esi
or ecx, edi
add eax, ebx
mov ebx, esi
xor esi, edx
mov dword [esp + 0x1464], eax
and ebx, edx
mov eax, dword [esp + 0x1458]
lea eax, [ecx + eax - 0x16bbffff]
mov edx, eax
lea ecx, [ebx + esi]
mov edi, ecx
not edx
mov ebx, ecx
not edi
and edx, ecx
or ebx, eax
and ecx, eax
and edi, eax
imul ecx, ebx
imul edi, edx
mov ebx, dword [esp + 0x1454]
mov esi, ebx
xor esi, 0xe9440000
lea eax, [edi + ecx]
and esi, ebx
mov ecx, ebx
shrd ebx, ebx, 0x12
mov dword [esp + 0x1468], eax
mov eax, dword [esp + 0x145c]
lea edx, [esi - 0x16bc0000]
and eax, edx
mov esi, ebx
neg esi
xor ecx, edx
lea edi, [eax + eax]
sub edi, ecx
lea edx, [esi - 1]
mov eax, edi
mov esi, edx
neg eax
and edi, 0x16bbffff
or esi, 0x3a51
xor edx, 0x3a51
sub esi, edx
lea edi, [eax + edi*2 - 0x16bc0000]
mov eax, esi
xor eax, ebx
add ebx, ebx
mov edx, edi
add esi, esi
and ebx, esi
neg edx
add eax, ebx
shld eax, eax, 0x12
mov esi, eax
lea ebx, [edx - 1]
neg esi
mov ecx, ebx
or ecx, eax
xor ecx, eax
xor ecx, ebx
mov ebx, edi
mov edx, ecx
lea esi, [esi - 1]
or ebx, esi
xor ebx, edi
xor ebx, esi
mov esi, ebx
not esi
and edx, esi
mov esi, ecx
not esi
and esi, ebx
imul esi, edx
mov edx, ebx
and edx, ecx
or ebx, ecx
imul ebx, edx
mov ecx, edi
not ecx
add ebx, esi
mov edx, ecx
lea esi, [edi + eax]
or edx, eax
and edi, eax
sub edx, ecx
sub esi, edi
mov ecx, edx
mov eax, esi
not ecx
mov edi, edx
and eax, ecx
mov ecx, esi
not ecx
and edi, ecx
imul edi, eax
mov eax, esi
and eax, edx
or esi, edx
imul esi, eax
lea eax, [ebx + ebx]
mov ecx, dword [esp + 0x1468]
add esi, edi
mov edx, esi
lea edi, [esi + esi]
xor edx, ebx
and eax, edi
add eax, edx
mov edx, dword [esp + 0x1464]
mov ebx, edx
or edx, ecx
and ebx, ecx
add ebx, edx
lea esi, [ebx + esi*2]
mov edx, esi
mov ecx, esi
or edx, eax
xor ecx, eax
sub edx, esi
and esi, eax
xor edx, eax
mov eax, edx
lea ebx, [ecx + esi]
mov esi, dword [esp + 4]
xor eax, ebx
and edx, ebx
sub eax, edi
mov ecx, esi
lea ebx, [eax + edx*2]
mov edx, esi
mov edi, ebx
neg edi
lea eax, [edi - 1]
mov edi, ebx
xor ecx, eax
or edx, eax
not edi
sub edx, ecx
mov ecx, dword [esp + 0x240]
or ecx, edi
sub ecx, edi
mov edi, edx
mov eax, ecx
not edi
not eax
and edi, ecx
and eax, edx
imul edi, eax
mov eax, edx
and eax, ecx
or edx, ecx
imul edx, eax
mov ecx, esi
xor ecx, ebx
lea eax, [edi + edx]
mov edx, esi
lea edi, [esi + ebx]
or edx, ebx
and esi, ebx
sub edx, ecx
sub edi, esi
mov ebx, edi
mov ecx, edx
not ebx
not ecx
mov esi, edi
and ebx, edx
and esi, ecx
imul esi, ebx
mov ebx, edi
and ebx, edx
or edi, edx
imul edi, ebx
lea edx, [esi + edi]
mov ecx, edx
lea ebx, [edx + edx]
xor ecx, eax
add eax, eax
and eax, ebx
mov ebx, dword [esp]
mov dword [esp + 0x42c], ebx
lea edx, [ecx + eax]
mov dword [esp + 0x6e0], edx
cmp dword [esp], 0
je 0x1003963b
test byte [esp + 0x6e0], 1
je 0x10039625
mov ebx, dword [esp + 0x42c]
mov esi, dword [esp + 0x4a0]
mov edi, ebx
lea ecx, [esi + ebx]
or edi, ecx
lea eax, [ebx + ecx]
sub edi, ebx
lea esi, [ebx + ebx]
xor edi, ecx
add ecx, ecx
and ecx, esi
sub eax, ecx
lea edx, [edi + edi]
lea esi, [edx + edx]
lea edi, [eax + eax]
xor eax, edx
and esi, edi
sub esi, ebx
lea edx, [esi + eax]
mov dword [esp + 0x4a0], edx
shr dword [esp + 0x6e0], 1
lea edx, [esp + 0x42c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100395dd
mov edx, dword [esp + 0x13e0]
mov ebx, dword [esp + 0x13e4]
mov eax, dword [esp + 0x13dc]
mov dword [esp + 0x4a4], 0
lea edi, [edx + edx]
xor edx, ebx
lea esi, [ebx + ebx]
and edi, esi
mov dword [esp + 0x234], 0x87580000
lea ecx, [eax + edi]
mov eax, dword [esp + 0x1408]
add ecx, edx
mov edx, dword [esp + 0x1404]
lea ebx, [eax + eax]
lea esi, [edx + edx]
xor edx, eax
and ebx, esi
lea eax, [ebx + edx]
lea esi, [ecx + eax]
mov ecx, esi
not esi
neg esi
neg ecx
not ecx
lea ebx, [esi - 1]
mov edx, ebx
lea edi, [ecx + ecx + 2]
neg edx
lea eax, [edx - 1]
mov ecx, eax
xor eax, edi
or ecx, edi
lea edx, [edi + esi - 1]
and edi, ebx
sub ecx, eax
mov esi, dword [esp]
mov dword [esp + 0x6e4], esi
lea eax, [edi + edi]
sub edx, eax
add ecx, ecx
mov ebx, edx
mov eax, ecx
neg ebx
not eax
not edx
neg ecx
imul eax, ebx
imul ecx, edx
not eax
not ecx
sub eax, ecx
mov dword [esp + 0x146c], eax
test byte [esp + 0x6e4], 1
je 0x10039b3a
mov ebx, dword [esp + 0x4a4]
mov eax, ebx
neg eax
lea edx, [eax - 1]
mov ecx, edx
mov edi, edx
not ecx
and edi, 0x507047ad
and ecx, 0xaf8fb852
mov esi, edx
imul ecx, edi
or esi, 0xaf8fb852
neg ecx
and edx, 0xaf8fb852
imul edx, esi
lea esi, [ebx - 1]
not esi
lea eax, [ecx - 1]
mov edi, esi
mov ecx, esi
or edi, 0xaf8fb851
and ecx, 0xaf8fb851
imul ecx, edi
mov edi, esi
not esi
and edi, 0x507047ae
and esi, 0xaf8fb851
neg ecx
imul esi, edi
sub eax, edx
mov edx, eax
lea ecx, [ecx - 1]
sub ecx, esi
not eax
mov edi, ecx
not edi
imul edx, edi
imul eax, ecx
not edx
not eax
sub edx, eax
mov esi, edx
mov ecx, edx
sub esi, ebx
mov eax, edx
lea edi, [esi + 1]
and ecx, edi
lea esi, [edx + esi + 1]
xor ecx, edi
or eax, edi
sub esi, eax
add ecx, edx
lea eax, [esi + esi]
xor esi, ecx
lea edi, [ecx + ecx]
or eax, edi
mov edi, dword [esp + 0x234]
sub eax, esi
mov dword [esp + 0xe30], eax
add edi, edi
bswap edi
lea eax, [ebx + eax - 1]
mov ebx, edi
bswap ebx
bswap eax
lea ecx, [ebx - 1]
not ecx
lea esi, [ecx + ecx]
neg esi
not esi
sub esi, ecx
bswap esi
mov ebx, esi
mov ecx, esi
and ebx, eax
or ecx, eax
add ecx, ebx
xor ebx, eax
add ebx, esi
mov esi, edi
mov eax, ebx
xor eax, ecx
not ecx
and ecx, ebx
lea ebx, [ecx + ecx]
sub eax, ebx
mov ebx, edi
not ebx
lea ecx, [eax + eax]
sub esi, ecx
and ebx, ecx
add ecx, ecx
not ecx
lea esi, [esi + ebx*2]
lea ebx, [edi + edi]
mov edi, esi
or ecx, ebx
lea ebx, [ecx + eax*4 + 1]
and edi, ebx
or esi, ebx
sub edi, eax
lea eax, [edi + esi]
mov edi, dword [esp + 0x234]
mov ecx, edi
mov ebx, edi
and ecx, edx
or ebx, edx
sub ebx, edx
mov esi, edi
bswap eax
xor esi, ebx
mov dword [esp + 0xe34], eax
lea ebx, [edi + edx]
lea eax, [ecx + ecx]
mov ecx, edi
sub ebx, eax
mov eax, edi
and ecx, 0x96769273
or eax, 0x96769273
imul eax, ecx
mov ecx, edi
not edi
and ecx, 0x69896d8c
and edi, 0x96769273
imul edi, ecx
add eax, edi
mov ecx, eax
xor eax, 0x8787a8f8
and ecx, 0x787a8f8
lea ecx, [eax + ecx*2]
mov edi, ecx
mov eax, ecx
or edi, 0xc3a162bb
and eax, 0xc3a162bb
imul eax, edi
mov edi, ecx
not ecx
and edi, 0x3c5e9d44
and ecx, 0xc3a162bb
imul ecx, edi
lea edi, [eax + ecx]
mov ecx, edi
not edi
and edi, 0x1abf5d28
xor ecx, 0x1abf5d28
lea eax, [edi + edi]
mov edi, edx
sub ecx, eax
or edi, ecx
mov eax, ecx
sub edi, edx
xor eax, edi
mov edi, edx
and edi, ecx
xor edx, ecx
lea ecx, [edi + edx]
mov edi, eax
or edi, ecx
and eax, ecx
lea edx, [ebx + ebx]
xor ebx, esi
lea ecx, [esi + esi]
or edx, ecx
sub edx, ebx
add eax, edi
mov esi, eax
neg esi
mov ecx, dword [esp + 0xe30]
lea ebx, [edx + edx]
sub ebx, ecx
mov edx, ebx
lea edi, [esi - 1]
or edx, edi
mov esi, ebx
sub edx, edi
mov edi, eax
not edi
xor esi, edx
and edi, ebx
lea edx, [esi + esi]
lea eax, [eax + edi*2]
sub eax, ebx
mov ebx, eax
not ebx
imul ebx, edx
not edx
imul edx, eax
not ebx
not edx
add ecx, ebx
sub ecx, edx
mov dword [esp + 0xe38], ecx
bswap ecx
not ecx
lea eax, [ecx + ecx]
neg eax
lea ebx, [eax - 2]
mov eax, dword [esp + 0xe34]
not ebx
sub ebx, ecx
lea ecx, [ebx - 1]
bswap ecx
mov esi, ecx
mov edx, ecx
not esi
mov edi, ecx
and esi, eax
or edx, eax
xor edi, eax
sub edx, edi
mov edi, edx
add esi, ecx
mov ebx, esi
not ebx
and edi, ebx
mov ebx, edx
not ebx
and ebx, esi
imul ebx, edi
mov edi, edx
and edi, esi
or edx, esi
imul edx, edi
mov edi, eax
neg edi
add edx, ebx
lea esi, [edi - 1]
mov edi, esi
or edi, ecx
sub edi, ecx
neg ecx
xor edi, esi
lea ecx, [ecx - 1]
mov ebx, ecx
xor ecx, eax
or ebx, eax
not eax
xor ebx, ecx
mov esi, ebx
mov ecx, ebx
or esi, edi
and ecx, edi
imul ecx, esi
mov esi, ebx
mov dword [esp + 0xe3c], ecx
not esi
mov ecx, edi
not edi
and ecx, esi
and ebx, edi
lea edi, [esp + 0xe40]
mov dword [edi], ecx
lea esi, [edx + edx]
imul ebx, dword [edi]
mov ecx, dword [esp + 0xe3c]
add ecx, ebx
xor edx, ecx
lea ebx, [ecx + ecx]
and esi, ebx
lea ebx, [esi + edx]
mov edx, ebx
mov ecx, ebx
not edx
mov edi, ebx
and ecx, 0xd854121c
and edx, 0x27abede3
or edi, 0x27abede3
and ebx, 0x27abede3
imul edx, ecx
imul ebx, edi
lea esi, [edx + ebx]
mov ecx, esi
not esi
xor ecx, 0x18f7cd6e
lea ebx, [esi + esi]
and ebx, 0x31ef9adc
sub ecx, ebx
mov edi, ecx
mov edx, ecx
mov ebx, ecx
not edi
and edx, 0x627abfcb
or ebx, 0x627abfcb
and edi, 0x627abfcb
and ecx, 0x9d854034
imul ebx, edx
imul ecx, edi
lea edx, [ebx + ecx]
mov ebx, edx
xor edx, 0xb130f83a
or ebx, 0xb130f83a
lea esi, [ebx + ebx]
sub esi, edx
bswap esi
mov ebx, esi
and esi, 1
xor ebx, 1
mov edx, dword [esp + 0xe38]
mov edi, edx
or edi, eax
lea ecx, [ebx + esi*2 - 1]
mov ebx, eax
not ebx
mov esi, edx
and esi, ebx
not ecx
bswap ecx
mov dword [esp + 0xe44], ecx
lea ecx, [edx + eax]
sub ecx, edi
mov ebx, ecx
lea edi, [eax + esi]
mov esi, ecx
or ebx, edi
and esi, edi
imul ebx, esi
mov esi, ecx
not esi
and esi, edi
not edi
and ecx, edi
mov edi, edx
imul ecx, esi
neg edi
add ebx, ecx
mov ecx, eax
lea edi, [edi - 1]
or ecx, edi
sub ecx, eax
neg eax
xor ecx, edi
lea edi, [eax - 1]
mov eax, edx
or eax, edi
xor edx, edi
xor eax, edx
mov edx, ecx
mov esi, eax
mov edi, eax
or esi, ecx
and edi, ecx
imul edi, esi
not edx
mov esi, eax
not eax
and esi, edx
and eax, ecx
imul eax, esi
mov ecx, ebx
add eax, edi
or ecx, eax
xor ebx, eax
lea edx, [ecx + ecx]
sub edx, ebx
mov ebx, dword [esp + 0xe44]
not edx
mov eax, ebx
mov ecx, edx
not eax
mov edi, edx
and ecx, eax
lea ecx, [ebx + ecx*2]
neg ebx
sub ecx, edx
lea esi, [ebx - 1]
or edi, esi
xor edx, esi
sub edi, edx
mov esi, ecx
not ecx
lea eax, [edi + edi]
mov ebx, eax
not ebx
imul esi, ebx
imul ecx, eax
not esi
not ecx
sub esi, ecx
mov ebx, esi
mov eax, esi
mov edx, esi
or ebx, 0x507047ae
xor eax, 0x507047ae
and edx, 0x507047ae
xor ebx, eax
sub esi, edx
mov eax, ebx
lea edi, [esi + 0x507047ae]
xor eax, edi
lea edx, [ebx + ebx]
lea ecx, [esi + esi - 0x5f1f70a4]
and edx, ecx
add eax, edx
mov dword [esp + 0x4a4], eax
shr dword [esp + 0x6e4], 1
lea edx, [esp + 0x234]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x100396e9
mov eax, dword [esp + 0x4a4]
mov esi, eax
or esi, 0xb8c8f0a3
mov ecx, eax
xor ecx, 0xb8c8f0a3
mov edx, esi
sub edx, ecx
mov ebx, esi
mov edi, edx
not ebx
not edi
mov ecx, edx
and edi, esi
and ebx, edx
or ecx, esi
and edx, esi
imul ebx, edi
mov esi, eax
imul edx, ecx
neg esi
add edx, ebx
mov ebx, eax
or ebx, 0x47370f5c
lea ecx, [esi - 1]
mov edi, ecx
or ecx, 0xb8c8f0a3
xor edi, 0xb8c8f0a3
lea esi, [ebx - 0x47370f5c]
xor edi, ecx
xor eax, esi
mov ecx, edi
mov esi, edi
or ecx, eax
and esi, eax
imul esi, ecx
mov ecx, eax
not ecx
mov ebx, edi
not edi
and ebx, ecx
and eax, edi
imul eax, ebx
lea edi, [esi + eax]
mov ecx, edi
xor edi, edx
and ecx, edx
lea ecx, [edi + ecx*2]
mov esi, ecx
mov ebx, ecx
not esi
or ebx, 0x30504e89
and esi, 0xcfafb176
xor ebx, 0x30504e89
xor ebx, ecx
lea edx, [ecx + esi*2 + 0x30504e8a]
mov ecx, edx
lea edi, [ebx + ebx]
not ecx
lea eax, [edi + edi]
xor edi, edx
mov dword [esp + 0x1470], eax
lea ebx, [ecx + ecx]
and ebx, eax
sub ebx, edi
mov ecx, ebx
lea edi, [ebx + 0x34592bd8]
mov edx, edi
or edi, 0xeabebcf4
or edx, 0x1541430b
sub ecx, edx
mov eax, edx
lea esi, [ecx + 0x499a6ee3]
mov ecx, esi
not ecx
and eax, ecx
mov ecx, edx
not ecx
and ecx, esi
imul ecx, eax
mov eax, edx
and eax, esi
or edx, esi
mov esi, ebx
sub ebx, edi
neg esi
imul edx, eax
lea eax, [esi - 0x34592bd9]
mov esi, eax
lea ebx, [ebx + 0x1f17e8cc]
xor esi, 0x1541430b
or eax, 0x1541430b
mov edi, ebx
sub eax, esi
not edi
add edx, ecx
mov esi, eax
mov ecx, eax
and edi, eax
not eax
and esi, ebx
or ecx, ebx
and eax, ebx
imul ecx, esi
imul eax, edi
lea ebx, [ecx + eax]
mov edi, ebx
or ebx, edx
and edi, edx
lea ecx, [edi + ebx]
mov edx, ecx
mov edi, ecx
not edx
mov ebx, ecx
and edx, 0x273751b3
and edi, 0xd8c8ae4c
or ebx, 0x273751b3
and ecx, 0x273751b3
imul edi, edx
imul ecx, ebx
lea eax, [edi + ecx]
mov esi, eax
or eax, 0xc0284a9e
and esi, 0xc0284a9e
lea edx, [esi + eax]
mov edi, edx
mov esi, edx
mov ecx, edx
not edx
or edi, 0xd6bfc57b
and esi, 0xd6bfc57b
and ecx, 0x29403a84
and edx, 0xd6bfc57b
imul esi, edi
imul edx, ecx
mov ecx, dword [esp + 0x1470]
lea edi, [esi + edx]
mov edx, edi
not edi
and edi, 0x14a96fea
xor edx, 0x14a96fea
lea ebx, [edi + edi]
sub edx, ebx
mov edi, edx
neg edi
lea edx, [edx - 1]
not edx
lea eax, [edi - 1]
mov ebx, eax
mov edi, eax
or ebx, 0x34ce17ca
and edi, 0x34ce17ca
imul edi, ebx
mov esi, eax
not esi
and eax, 0xcb31e835
mov ebx, esi
neg edi
and ebx, 0x34ce17ca
imul eax, ebx
mov ebx, edx
or ebx, 0x34ce17c9
lea edi, [edi - 1]
sub edi, eax
mov eax, edx
and eax, 0x34ce17c9
imul ebx, eax
mov eax, edx
not edx
and eax, 0xcb31e836
and edx, 0x34ce17c9
imul edx, eax
add ebx, edx
neg ebx
lea eax, [ebx - 1]
mov ebx, edi
not edi
xor ebx, eax
and edi, eax
add edi, edi
sub ebx, edi
mov edi, dword [esp]
mov edx, edi
ror edx, cl
not edx
mov dword [esp + 0x890], ebx
shld ebx, ebx, 0x11
lea eax, [edx + 1]
not eax
lea edx, [eax + edx*2 + 2]
mov eax, ebx
rol edx, cl
shld edx, edx, 0x11
and eax, edx
lea ecx, [ebx + edx]
sub ecx, eax
mov eax, ecx
not ecx
xor eax, edx
add edx, edx
add ecx, ecx
and edx, ecx
sub eax, edx
mov edx, ebx
not edx
mov ecx, eax
and ecx, edx
lea ebx, [ebx + ecx*2]
mov ecx, esi
sub ebx, eax
shld ebx, ebx, 0xf
mov eax, dword [esp + 0x890]
mov dword [esp + 0x1474], ebx
mov ebx, eax
or ebx, 1
and eax, 1
ror edi, cl
lea ebx, [ebx + eax - 1]
not ebx
lea eax, [edi + edi]
ror ebx, cl
mov edx, ebx
and edx, edi
xor edx, ebx
lea ecx, [ebx + ebx]
and eax, ecx
mov ecx, esi
mov esi, dword [esp + 0x1474]
add edx, edi
sub edi, eax
mov dword [esp + 0x1478], edx
add ebx, edi
mov edi, ebx
not edi
imul edi, edx
not edx
imul edx, ebx
not edi
not edx
sub edi, edx
mov edx, esi
rol edi, cl
neg edx
mov ecx, edi
neg ecx
lea ebx, [ecx + esi]
lea ecx, [ecx - 1]
or ecx, esi
sub ebx, ecx
lea eax, [ebx - 1]
lea ebx, [edx - 1]
mov ecx, ebx
or ecx, edi
xor ecx, edi
xor ecx, ebx
mov ebx, ecx
mov edx, ecx
and ebx, eax
or edx, eax
imul edx, ebx
mov ebx, eax
mov dword [esp + 0x147c], edx
not ebx
mov edx, ecx
not ecx
and edx, ebx
and ecx, eax
lea eax, [esp + 0x1480]
mov dword [eax], edx
mov edx, edi
imul ecx, dword [eax]
or edx, esi
mov eax, dword [esp + 0x147c]
lea ebx, [eax + ecx]
mov eax, edi
xor eax, esi
and edi, esi
mov ecx, eax
xor ecx, edx
mov edx, ecx
lea esi, [edi + eax]
mov edi, ecx
mov eax, esi
not edi
not eax
and edi, esi
and edx, eax
mov eax, ecx
or eax, esi
and ecx, esi
imul edx, edi
mov edi, ebx
imul ecx, eax
mov eax, dword [esp]
lea esi, [edx + ecx]
and edi, esi
xor ebx, esi
mov edx, eax
lea ecx, [ebx + edi*2]
mov ebx, dword [esp + 0x890]
mov edi, dword [esp + 0x168]
xor edx, ebx
mov dword [esp + 0x1484], ecx
lea esi, [ebx + ebx]
and edi, esi
mov esi, eax
and esi, ebx
lea ecx, [eax + ebx]
sub ecx, esi
add edi, edx
mov esi, edi
not esi
imul esi, ecx
not ecx
imul ecx, edi
sub esi, ecx
mov ecx, dword [esp + 0x1478]
ror ebx, cl
mov edi, ebx
neg edi
ror eax, cl
mov edx, eax
not edx
lea edi, [edi - 1]
or edx, edi
lea eax, [eax + edx + 1]
mov edx, esi
mov edi, eax
or eax, ebx
and edi, ebx
add edi, eax
mov eax, esi
rol edi, cl
mov ecx, esi
or ecx, edi
and edx, edi
xor eax, ecx
xor eax, edi
mov ecx, eax
lea ebx, [esi + edi]
sub ebx, edx
not ecx
and ecx, ebx
mov edx, eax
mov dword [esp + 0x1488], ecx
mov ecx, ebx
not ecx
and edx, ecx
mov ecx, eax
and ecx, ebx
or eax, ebx
imul edx, dword [esp + 0x1488]
mov ebx, edi
imul eax, ecx
neg ebx
lea ecx, [edx + eax]
mov edx, esi
mov eax, esi
neg esi
lea ebx, [ebx - 1]
or edx, ebx
xor eax, ebx
sub edx, eax
lea ebx, [esi - 1]
mov eax, ebx
mov esi, edx
or eax, edi
not esi
sub eax, edi
xor eax, ebx
mov edi, eax
mov ebx, eax
or edi, edx
and ebx, edx
imul ebx, edi
mov edi, eax
not eax
and edi, esi
and eax, edx
imul eax, edi
lea edx, [ebx + eax]
mov edi, edx
or edx, ecx
and edi, ecx
lea ebx, [edi + edx]
mov edi, dword [esp + 0x1484]
mov eax, ebx
mov ecx, ebx
xor eax, edi
and ebx, edi
or ecx, edi
mov esi, eax
xor esi, ecx
mov edx, esi
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x14c]
xor edx, ecx
and esi, ecx
lea esi, [edx + esi*2]
mov edx, eax
mov ebx, esi
bswap ebx
mov edi, ebx
mov ecx, ebx
not edi
sub ecx, eax
and edx, edi
mov edi, eax
and edi, ebx
xor eax, edi
mov dword [esp + 0x894], esi
shld esi, esi, 0x1d
lea edi, [eax + ebx]
mov ebx, dword [esp]
shld ebx, ebx, 0x1d
lea ecx, [ecx + edx*2]
mov edx, edi
not edx
lea eax, [esi + esi]
imul edx, ecx
not ecx
imul ecx, edi
mov edi, ebx
not edx
not edi
not ecx
sub edx, ecx
mov ecx, esi
not ecx
not edx
or ecx, ebx
add edi, edi
and eax, edi
lea edx, [edx + 1]
bswap edx
lea ecx, [ecx + esi + 1]
lea edi, [eax + ebx]
mov eax, edx
sub edi, esi
lea esi, [ecx + ecx]
neg eax
lea ebx, [edi + edi]
xor edi, ecx
and esi, ebx
lea ecx, [esi + edi]
shld ecx, ecx, 3
mov ebx, ecx
lea edi, [eax - 1]
neg ebx
or edi, ecx
lea esi, [ecx + eax - 1]
sub esi, edi
lea edi, [ebx - 1]
mov eax, edi
xor edi, edx
or eax, edx
sub eax, edi
mov edi, esi
mov ebx, eax
not ebx
and edi, ebx
mov ebx, esi
mov dword [esp + 0x148c], edi
not ebx
mov edi, eax
and edi, ebx
mov ebx, eax
and ebx, esi
or eax, esi
imul edi, dword [esp + 0x148c]
imul eax, ebx
mov ebx, edx
lea esi, [edi + eax]
mov eax, ecx
mov edi, edx
not eax
xor edi, ecx
and eax, edx
or ebx, ecx
mov dword [esp + 0x1490], esi
xor edi, ebx
lea esi, [eax + ecx]
mov eax, edi
mov edx, esi
not eax
not edx
mov ecx, edi
and edx, edi
and eax, esi
and ecx, esi
or edi, esi
imul eax, edx
imul edi, ecx
mov ecx, dword [esp + 0x894]
mov esi, ecx
not esi
lea ebx, [eax + edi]
mov dword [esp + 0x1494], ebx
mov edi, ecx
mov ebx, ecx
and edi, 0x9faaa976
and esi, 0x60555689
and ebx, 0x60555689
or ecx, 0x60555689
imul esi, edi
imul ecx, ebx
lea edx, [esi + ecx]
mov eax, edx
xor edx, 0xb38ef371
or eax, 0xb38ef371
lea ebx, [eax + eax]
sub ebx, edx
mov edi, ebx
mov ecx, ebx
not edi
mov eax, ebx
and ecx, 0xf06d0046
and edi, 0xf92ffb9
and eax, 0xf92ffb9
or ebx, 0xf92ffb9
imul edi, ecx
imul ebx, eax
add edi, ebx
lea esi, [edi + edi]
xor edi, 0x63c28457
or esi, 0xc78508ae
sub esi, edi
mov eax, esi
xor eax, 1
mov edi, dword [esp]
lea ecx, [esi + esi]
and ecx, 2
lea edx, [eax + ecx - 1]
mov ecx, dword [esp + 0x14c]
not edx
rol edx, cl
rol edi, cl
mov dword [esp + 0x1498], edx
lea ebx, [edx + edi]
and edx, edi
sub ebx, edx
mov eax, ebx
and ebx, edi
or eax, edi
mov dword [esp + 0x149c], ebx
mov ecx, eax
sub ecx, dword [esp + 0x149c]
mov edx, dword [esp + 0x1498]
mov eax, dword [esp + 0x11b8]
mov esi, eax
mov edi, eax
or esi, 0x27ec52bf
and edi, 0x27ec52bf
lea ebx, [edx + ecx]
imul edi, esi
add edx, edx
mov dword [esp + 0x4a8], 0
add ecx, ecx
and edx, ecx
sub ebx, edx
mov edx, eax
not edx
and eax, 0xd813ad40
and edx, 0x27ec52bf
imul eax, edx
mov ecx, dword [esp + 0x14c]
add edi, eax
neg ecx
rol ebx, cl
lea ecx, [edi + edi]
and ecx, 0xcfedbd5a
xor edi, 0x18092152
sub ecx, edi
mov esi, ecx
mov edx, ecx
and esi, 0xe881d3f
or edx, 0xe881d3f
imul edx, esi
mov esi, ecx
not ecx
and esi, 0xf177e2c0
and ecx, 0xe881d3f
imul ecx, esi
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x894]
mov edx, eax
xor eax, 0x22957d2e
or edx, 0xa2957d2e
shrd ecx, ecx, 0x12
lea edi, [edx + edx]
sub edi, eax
shrd edi, edi, 0x12
mov esi, edi
neg esi
lea edx, [esi - 1]
and edx, ecx
lea eax, [esi + ecx]
sub eax, edx
lea ecx, [edi + edi]
and ecx, 2
xor edi, 1
lea edx, [eax - 1]
lea esi, [ecx + edi]
mov ecx, edx
xor ecx, esi
and edx, esi
lea edx, [ecx + edx*2]
mov ecx, ebx
shld edx, edx, 0x12
mov eax, edx
neg ecx
neg eax
lea ecx, [ecx - 1]
lea edi, [eax - 1]
mov esi, edi
xor edi, ebx
or esi, ebx
sub esi, edi
mov edi, ecx
xor edi, edx
or ecx, edx
sub ecx, edi
mov eax, esi
mov edi, esi
and eax, ecx
or edi, ecx
imul edi, eax
mov eax, esi
mov dword [esp + 0x14a0], edi
not eax
mov edi, ecx
not ecx
and edi, eax
and esi, ecx
lea ecx, [esp + 0x14a4]
mov dword [ecx], edi
mov eax, ebx
imul esi, dword [ecx]
or eax, edx
mov ecx, dword [esp + 0x14a0]
lea edi, [ecx + esi]
mov esi, ebx
xor esi, edx
and ebx, edx
sub eax, esi
mov edx, eax
not edx
add ebx, esi
mov esi, eax
mov ecx, ebx
and edx, ebx
not ecx
and esi, ebx
and ecx, eax
or eax, ebx
imul edx, ecx
imul eax, esi
mov ecx, dword [esp + 0x1494]
lea ebx, [edx + eax]
mov esi, ebx
xor ebx, edi
and esi, edi
mov eax, dword [esp + 0x1490]
lea edx, [ecx + ecx]
lea edi, [ebx + esi*2]
lea ebx, [eax + eax]
xor eax, ecx
and edx, ebx
lea ecx, [edx + eax]
mov edx, edi
mov eax, edi
lea ebx, [ecx + edi]
mov ecx, edi
and edx, ebx
or ecx, ebx
xor eax, ebx
sub ecx, edi
xor ecx, ebx
add edx, eax
lea ebx, [edx + edx]
lea esi, [ecx + ecx]
xor ecx, edx
or esi, ebx
mov ebx, dword [esp + 0x1a4]
mov eax, ebx
mov edx, dword [esp]
sub esi, edi
or eax, 0xe4f9b5cb
sub esi, ecx
mov ecx, edx
mov edi, edx
xor ecx, 0x1b064a34
or edi, 0x1b064a34
sub ecx, edi
mov dword [esp + 0x898], esi
mov esi, ecx
neg esi
lea edi, [eax + 0x1b064a35]
xor ebx, edi
mov eax, esi
mov edi, ebx
not eax
not edi
and eax, ebx
and edi, esi
imul eax, edi
mov edi, ebx
or edi, esi
and ebx, esi
imul ebx, edi
mov edi, edx
mov dword [esp + 0x14a8], esi
mov esi, edx
or esi, 0xe4f9b5cb
add ebx, eax
mov eax, dword [esp + 0x148]
sub edi, esi
and eax, 0xe4f9b5cb
lea esi, [edi - 0x1b064a35]
mov edi, esi
add edx, eax
mov eax, edx
not edi
not eax
and edi, edx
and eax, esi
imul edi, eax
mov eax, esi
or eax, edx
and esi, edx
imul esi, eax
lea edx, [edi + esi]
mov edi, edx
and edx, ebx
xor edi, ebx
lea eax, [edi + edx*2]
lea esi, [eax + eax + 0xe8d632a]
and esi, 0x14c451c8
lea ebx, [eax + eax - 0x51729cd6]
not ebx
sub eax, esi
mov edi, ebx
or edi, 0x14c451c8
sub edi, ebx
mov ebx, edi
lea edx, [eax - 0x1e572587]
and ebx, edx
xor edi, edx
lea ebx, [edi + ebx*2]
lea edx, [ebx + 0x28b94e6b]
neg ebx
mov edi, edx
mov eax, edx
xor edi, 0x6196381c
or eax, 0x6196381c
sub eax, edi
lea esi, [ebx - 0x28b94e6c]
mov ebx, eax
or esi, 0x6196381c
lea edi, [esi - 0x6196381c]
mov esi, eax
and esi, edi
or ebx, edi
imul ebx, esi
mov esi, edi
not esi
and esi, eax
not eax
and eax, edi
imul eax, esi
lea edi, [ebx + eax]
mov ebx, edx
not ebx
or edx, 0x9e69c7e3
mov esi, ebx
or esi, 0x9e69c7e3
sub esi, ebx
mov ebx, esi
mov eax, esi
and ebx, edx
or eax, edx
imul eax, ebx
mov ebx, esi
not ebx
and ebx, edx
not edx
and esi, edx
imul esi, ebx
lea edx, [esi + eax]
lea ebx, [edx + edx]
xor edx, edi
lea esi, [edi + edi]
and ebx, esi
lea esi, [ebx + eax]
add edx, esi
mov ebx, edx
lea edi, [edx + edx]
or ebx, 0xffa881d4
mov esi, edi
and esi, 0xff5103a8
xor esi, edi
lea edi, [ebx + ebx]
sub edi, edx
lea ebx, [edi + 0x577e2c]
mov edx, ebx
not edx
lea edi, [edx + edx]
lea edx, [esi + esi - 0x15df8b0]
and edi, edx
sub edi, eax
lea eax, [esi - 0xaefc58]
mov edx, dword [esp + 0x898]
xor eax, ebx
mov ebx, edx
sub edi, eax
ror ebx, cl
mov ecx, dword [esp + 0x14a8]
mov dword [esp + 0x14ac], edi
lea ebx, [ebx - 1]
not ebx
mov eax, ebx
not eax
lea esi, [eax + ebx*2]
ror esi, cl
mov ebx, esi
mov eax, esi
and ebx, 0xbabbee25
or eax, 0xbabbee25
imul eax, ebx
mov ebx, esi
not ebx
and esi, 0x454411da
and ebx, 0xbabbee25
imul esi, ebx
add eax, esi
mov ebx, eax
xor eax, 0x411e6759
or ebx, 0xc11e6759
lea esi, [ebx + ebx]
sub esi, eax
mov ebx, esi
mov eax, esi
not ebx
and eax, 0x3ca78252
and ebx, 0xc3587dad
imul eax, ebx
mov ebx, esi
and ebx, 0xc3587dad
or esi, 0xc3587dad
imul esi, ebx
lea ebx, [eax + esi]
mov eax, ebx
and ebx, 0xd465b3db
xor eax, 0xd465b3db
lea esi, [eax + ebx*2]
mov ebx, edi
mov eax, edi
xor ebx, esi
and eax, esi
add ebx, eax
mov eax, ebx
not eax
lea ecx, [eax + eax]
lea eax, [edi + edi]
and ecx, eax
mov eax, esi
sub ecx, edi
shld edi, edi, 0xf
not edi
shld edi, edi, 0x11
add ebx, ecx
mov ecx, edx
or eax, ebx
and esi, ebx
mov ebx, edx
sub eax, esi
rol ebx, cl
rol edi, cl
mov esi, ebx
and esi, edi
mov ecx, ebx
xor esi, edi
not ecx
add esi, ebx
and ecx, esi
xor esi, ebx
lea ebx, [edi + edi]
add ecx, ecx
sub ecx, esi
lea esi, [ecx + ecx]
and esi, ebx
sub edi, esi
mov esi, eax
neg esi
lea ebx, [edi + ecx]
mov ecx, edx
ror ebx, cl
mov edi, eax
mov edx, ebx
mov ecx, eax
neg edx
lea edx, [edx - 1]
or edi, edx
xor ecx, edx
sub edi, ecx
lea ecx, [esi - 1]
mov edx, ecx
or ecx, ebx
xor edx, ebx
mov esi, edi
xor edx, ecx
not esi
mov ecx, edx
and ecx, esi
mov esi, edx
not esi
and esi, edi
imul esi, ecx
mov ecx, edi
or ecx, edx
and edi, edx
imul edi, ecx
mov edx, eax
mov ecx, ebx
add esi, edi
mov edi, eax
not ecx
xor edi, ebx
or edx, ecx
and eax, edi
sub edx, ecx
lea edi, [eax + ebx]
mov ebx, edx
mov ecx, edi
mov eax, edx
not ecx
and eax, edi
and ebx, ecx
mov ecx, edx
not ecx
or edx, edi
and ecx, edi
imul ecx, ebx
imul edx, eax
mov eax, dword [esp + 0x898]
lea ebx, [ecx + edx]
mov edx, esi
xor esi, ebx
and edx, ebx
mov edi, eax
mov ebx, dword [esp + 0x14ac]
bswap edi
lea ecx, [esi + edx*2]
mov esi, ebx
bswap esi
mov dword [esp + 0x14b0], ecx
mov ecx, edi
mov edx, esi
not ecx
not edx
and ecx, esi
and edx, edi
add edx, ecx
mov ecx, esi
and ecx, edi
xor ecx, edi
add esi, ecx
mov edi, esi
not edi
and edi, edx
lea ecx, [edi + edi]
mov edi, ebx
sub ecx, edx
lea edx, [ecx + esi]
mov esi, eax
neg esi
bswap edx
lea ecx, [esi - 1]
xor edi, ecx
or ebx, ecx
xor edi, ebx
mov ebx, eax
xor ebx, edi
add eax, eax
lea ecx, [edi + edi]
mov edi, edx
and eax, ecx
neg edi
add eax, ebx
mov esi, eax
neg esi
lea ebx, [esi - 1]
mov ecx, ebx
or ebx, edx
xor ecx, edx
lea esi, [edi - 1]
sub ebx, ecx
mov ecx, esi
xor ecx, eax
or esi, eax
sub esi, ecx
mov ecx, ebx
not ecx
mov edi, ebx
and ecx, esi
mov dword [esp + 0x14b4], ecx
mov ecx, esi
not ecx
and edi, ecx
mov ecx, esi
or ecx, ebx
and esi, ebx
imul edi, dword [esp + 0x14b4]
mov ebx, edx
imul esi, ecx
not ebx
lea ecx, [edi + esi]
mov edi, ebx
or edi, eax
sub edi, ebx
and ebx, eax
mov esi, edi
lea eax, [ebx + edx]
mov ebx, edi
mov edx, eax
and esi, eax
not edx
and ebx, edx
mov edx, edi
not edx
or edi, eax
and edx, eax
imul edx, ebx
imul edi, esi
lea ebx, [edx + edi]
mov edi, dword [esp + 0x14b0]
mov esi, ebx
lea eax, [ebx + ebx]
xor esi, ecx
add ecx, ecx
and ecx, eax
lea ebx, [esi + ecx]
lea edx, [ebx + ebx]
mov ecx, edx
lea esi, [edi + edi]
mov eax, edx
or ecx, esi
xor eax, esi
xor ecx, eax
mov eax, edi
not eax
add eax, eax
and eax, edx
lea edx, [eax + edi]
sub edx, ebx
lea ebx, [ecx + ecx]
xor ecx, edx
lea edi, [edx + edx]
mov edx, dword [esp]
and ebx, edi
mov dword [esp + 0x430], edx
lea eax, [ebx + ecx]
mov dword [esp + 0x6e8], eax
test edx, edx
je 0x1003a7c0
test byte [esp + 0x6e8], 1
je 0x1003a7a6
mov esi, dword [esp + 0x430]
mov ebx, esi
not ebx
mov ecx, esi
imul ecx, ebx
xor edx, edx
neg ecx
not ecx
ror esi, cl
ror edx, cl
lea ebx, [esi + esi]
mov edi, ebx
lea eax, [edx + edx]
or edi, eax
mov dword [esp + 0xe48], edi
mov edi, ebx
xor edi, eax
lea eax, [esp + 0xe4c]
mov dword [eax], edi
mov edi, dword [esp + 0xe48]
sub edi, dword [eax]
mov eax, edi
xor edi, edx
not eax
and eax, edx
add eax, eax
sub eax, edi
mov edx, eax
xor edx, esi
lea esi, [eax + eax]
and ebx, esi
lea edi, [edx + ebx]
lea ebx, [esp + 0x4a8]
mov edx, dword [ebx]
not edx
rol edi, cl
lea eax, [edx + 1]
mov ecx, eax
xor eax, edi
not ecx
and ecx, edi
lea edx, [ecx + ecx]
sub edx, eax
mov dword [ebx], edx
shr dword [esp + 0x6e8], 1
lea edx, [esp + 0x430]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1003a724
mov edx, dword [esp]
imul eax, edx, 0xdd4e1e00
mov dword [esp + 0x6ec], eax
mov dword [esp + 0x434], edx
mov dword [esp + 0x4ac], 0
test edx, edx
je 0x1003a8b3
test byte [esp + 0x6ec], 1
je 0x1003a899
mov ebx, dword [esp + 0x4ac]
mov esi, ebx
shrd esi, ebx, 5
mov edi, esi
mov eax, dword [esp + 0x434]
mov edx, eax
neg edi
shrd edx, eax, 5
mov ecx, edx
not ecx
lea edi, [edi - 1]
and ecx, edi
mov edi, esi
xor edi, 1
add esi, esi
and esi, 2
bswap ebx
add edx, ecx
mov ecx, eax
bswap ecx
add edi, esi
mov esi, edi
add edi, edi
xor esi, edx
add edx, edx
and edi, edx
mov edx, ecx
or edx, ebx
sub edx, ecx
xor edx, ebx
add esi, edi
shld esi, esi, 5
lea eax, [edx + edx]
mov edx, eax
add eax, eax
xor edx, ecx
not ecx
lea edi, [esi + esi]
add ecx, ecx
and ecx, eax
sub edx, ecx
mov eax, edx
xor edx, ebx
or eax, ebx
lea ecx, [eax + eax]
mov eax, edi
sub ecx, edx
not eax
bswap ecx
add edi, edi
lea edx, [eax + eax]
lea ebx, [ecx + ecx]
mov eax, ebx
and eax, edx
sub eax, ecx
lea edx, [eax + esi*2]
mov esi, edi
or esi, ebx
sub esi, ebx
xor esi, edi
mov ebx, esi
and esi, edx
xor ebx, edx
lea eax, [ebx + esi*2]
mov dword [esp + 0x4ac], eax
shr dword [esp + 0x6ec], 1
lea edx, [esp + 0x434]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1003a7ea
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov dword [esp + 0x6f0], eax
mov dword [esp + 0x438], edx
mov dword [esp + 0x274], 0
test edx, edx
je 0x1003ae00
test byte [esp + 0x6f0], 1
je 0x1003ade6
mov edx, dword [esp + 0x274]
lea edi, [edx + edx]
mov edx, dword [esp + 0x438]
mov esi, edi
mov eax, edx
neg esi
not eax
mov dword [esp + 0x7a0], eax
mov eax, edx
mov dword [esp + 0xe50], edi
lea ebx, [esi - 1]
mov esi, edx
mov ecx, ebx
or esi, ebx
not ecx
and eax, ecx
mov dword [esp + 0xe58], eax
mov eax, edx
and eax, ebx
mov dword [esp + 0xe54], esi
mov ecx, dword [esp + 0x7a0]
imul eax, esi
mov esi, edx
and ecx, ebx
neg esi
imul ecx, dword [esp + 0xe58]
mov dword [esp + 0xe5c], esi
lea esi, [esi - 1]
mov ebx, esi
add ecx, eax
mov eax, esi
and ebx, edi
or eax, edi
imul ebx, eax
mov eax, edi
not eax
and eax, esi
not esi
mov dword [esp + 0xe60], esi
and esi, edi
imul esi, eax
add ebx, esi
mov esi, dword [esp + 0x274]
mov eax, ebx
not eax
imul eax, ecx
not ecx
imul ecx, ebx
not eax
not ecx
sub eax, esi
shld esi, esi, 5
mov edi, esi
and esi, 1
or edi, 1
sub eax, ecx
add edi, esi
not edi
lea ecx, [edi + 1]
shrd ecx, ecx, 5
lea edi, [edx + edx]
bswap edi
add ecx, ecx
bswap ecx
mov ebx, ecx
xor ebx, edi
and ebx, ecx
add ebx, edi
mov esi, ebx
or esi, edi
add esi, esi
sub esi, edi
mov edi, ecx
sub esi, ebx
not edi
mov ebx, esi
and ebx, edi
mov edi, eax
or edi, 0x363b1c9
lea ebx, [ecx + ebx*2]
mov ecx, eax
sub ebx, esi
mov esi, eax
not esi
and ecx, 0xfc9c4e36
and esi, 0x363b1c9
and eax, 0x363b1c9
imul ecx, esi
imul eax, edi
bswap ebx
lea edi, [ecx + eax]
mov esi, edi
not esi
imul ecx, esi, 0xf59b0b54
imul esi, edi, 0xf59b0b55
add esi, ecx
mov eax, esi
mov ecx, esi
mov edi, esi
not esi
or eax, 0xb5953879
and ecx, 0xb5953879
and edi, 0x4a6ac786
and esi, 0xb5953879
imul ecx, eax
imul esi, edi
lea edi, [ecx + esi]
mov esi, edi
xor edi, 0xfca6bab4
and esi, 0xfca6bab4
lea eax, [edi + esi*2]
lea edi, [ebx + ebx]
mov esi, edi
lea ecx, [eax + eax]
xor esi, ecx
and edi, ecx
mov ecx, eax
and ecx, ebx
add edi, esi
lea esi, [ecx + ecx]
sub ebx, esi
mov esi, edi
not esi
neg edi
add eax, ebx
mov ebx, dword [esp + 0x7a0]
mov ecx, eax
not eax
neg ecx
and ebx, 0x3011902d
imul esi, ecx
mov ecx, edx
imul edi, eax
not esi
not edi
sub esi, edi
mov edi, edx
xor edi, 0x3011902d
or ecx, 0x3011902d
xor edi, ecx
add ebx, edx
mov ecx, ebx
mov eax, edi
mov dword [esp + 0xe64], esi
not ecx
not eax
mov esi, edi
and ecx, edi
and eax, ebx
and esi, ebx
or edi, ebx
imul eax, ecx
imul edi, esi
mov esi, edx
add edi, eax
or esi, 0xcfee6fd2
mov eax, dword [esp + 0xe60]
xor edx, esi
or eax, 0x3011902d
xor edx, 0xcfee6fd2
mov ebx, dword [esp + 0xe5c]
mov esi, edx
mov ecx, edx
not esi
add ebx, eax
mov eax, edx
or ecx, ebx
and eax, ebx
and esi, ebx
not ebx
and edx, ebx
imul eax, ecx
imul edx, esi
lea esi, [eax + edx]
mov eax, esi
and esi, edi
or eax, edi
lea edi, [eax + esi + 0x38e65c9e]
mov ebx, edi
lea edx, [eax + esi]
mov esi, edi
mov ecx, edi
not esi
or ebx, 0x844e9431
and ecx, 0x844e9431
and esi, 0x844e9431
and edi, 0x7bb16bce
neg edx
imul ecx, ebx
imul edi, esi
lea eax, [ecx + edi]
neg eax
lea edi, [edx - 0x38e65c9f]
mov ecx, edi
mov esi, edi
mov ebx, edi
not edi
or ecx, 0x7bb16bce
and esi, 0x7bb16bce
and ebx, 0x844e9431
and edi, 0x7bb16bce
imul esi, ecx
imul edi, ebx
mov dword [esp + 0xe68], eax
lea ebx, [esi + edi]
neg ebx
lea edi, [eax - 1]
mov eax, edi
not edi
lea esi, [ebx - 1]
xor eax, esi
lea ecx, [ebx + ebx - 2]
lea edx, [edi + edi]
and ecx, edx
sub eax, ecx
lea edi, [eax - 0x38e65c9e]
mov esi, edi
not esi
mov edx, esi
or edx, 0x67df3fa5
sub edx, esi
and esi, 0x67df3fa5
mov ecx, edx
mov ebx, edx
lea esi, [eax + esi - 0x38e65c9e]
neg eax
and ecx, esi
or ebx, esi
imul ebx, ecx
mov ecx, edx
not ecx
and ecx, esi
not esi
and esi, edx
imul esi, ecx
mov ecx, edi
or ecx, 0x9820c05a
add ebx, esi
xor edi, 0x9820c05a
lea esi, [eax + 0x38e65c9d]
xor ecx, edi
mov edi, esi
or edi, 0x67df3fa5
xor esi, 0x67df3fa5
xor edi, esi
mov edx, ecx
mov eax, edi
not edx
not eax
mov esi, edi
and edx, edi
and eax, ecx
and esi, ecx
or edi, ecx
imul eax, edx
imul edi, esi
mov esi, ebx
lea ecx, [eax + edi]
or esi, ecx
and ebx, ecx
lea edi, [esi + ebx]
mov eax, edi
not eax
mov esi, eax
or esi, 0xed542dc5
sub esi, eax
lea eax, [esi + esi]
mov edx, eax
lea esi, [edi + edi]
or esi, 0xa557a474
not eax
sub esi, edi
lea ecx, [eax + eax]
mov eax, dword [esp + 0xe50]
lea edi, [esi + 0x2d542dc6]
xor edx, edi
lea ebx, [esi + esi + 0x5aa85b8c]
and ecx, ebx
mov esi, eax
sub edx, ecx
shrd esi, eax, 0x1d
mov ebx, esi
mov ecx, esi
add edx, edx
mov edi, edx
shrd edi, edx, 0x1d
xor ebx, edi
or ecx, edi
sub ebx, ecx
mov dword [esp + 0x7a4], ebx
lea ecx, [esi + edi]
neg ebx
add esi, esi
mov dword [esp + 0xe6c], ebx
add edi, edi
and esi, edi
sub ecx, esi
mov esi, ecx
and ecx, ebx
xor esi, ebx
lea ebx, [esi + ecx*2]
mov ecx, dword [esp + 0xe54]
ror eax, cl
ror edx, cl
mov esi, eax
xor esi, edx
mov edi, eax
or eax, edx
and edi, edx
sub eax, esi
neg ecx
shrd ebx, ebx, 3
lea edi, [esi + edi*2]
add eax, eax
mov edx, eax
not edx
and edx, edi
xor edi, eax
lea esi, [edx + edx]
sub esi, edi
mov edi, ebx
ror esi, cl
neg edi
mov eax, esi
neg eax
lea edx, [edi - 1]
lea edi, [esi + 0x6033ce7f]
mov esi, ebx
not esi
lea eax, [eax - 0x6033ce80]
mov ecx, eax
and esi, eax
not ecx
and ecx, ebx
imul ecx, esi
mov esi, eax
and esi, ebx
or eax, ebx
imul eax, esi
mov esi, edx
or esi, edi
lea ebx, [ecx + eax]
neg ebx
mov ecx, edx
not ecx
and ecx, edi
lea eax, [ebx - 1]
mov ebx, edx
and ebx, edi
not edi
and edi, edx
imul ebx, esi
imul edi, ecx
mov ecx, dword [esp + 0x7a4]
lea edx, [ebx + edi]
mov edi, dword [esp + 0xe64]
mov esi, edi
not esi
not ecx
neg edi
neg edx
imul esi, dword [esp + 0xe6c]
imul edi, ecx
not esi
lea ebx, [edx - 1]
not edi
sub esi, edi
mov edi, ebx
not edi
mov ecx, esi
imul edi, eax
not eax
imul eax, ebx
not edi
not eax
sub edi, eax
not ecx
lea ebx, [edi + 0x6033ce7f]
mov edi, esi
mov eax, ebx
and ecx, ebx
not eax
and edi, eax
mov eax, esi
xor eax, ebx
and eax, ebx
shrd ebx, ebx, 0xe
lea edx, [ecx + edi]
mov ecx, ebx
lea edi, [esi + eax]
shrd esi, esi, 0xe
and ecx, esi
lea eax, [ebx + esi]
xor ebx, esi
sub eax, ecx
lea esi, [ebx + ecx*2]
add eax, eax
mov ecx, eax
not ecx
imul ecx, esi
not esi
imul esi, eax
mov eax, edi
sub ecx, esi
and eax, edx
shld ecx, ecx, 0xe
lea ebx, [eax + eax]
mov eax, dword [esp + 0xe68]
sub edx, ebx
lea esi, [ecx + ecx]
not esi
add edi, edx
lea edx, [eax + edi*2]
lea edi, [edx + edx]
and esi, edi
mov edi, edx
and edi, ecx
or edx, ecx
not edi
not edx
sub edi, edx
lea esi, [esi + ecx*2]
mov ecx, edi
not ecx
lea ebx, [esi + esi]
xor edi, esi
lea edx, [ecx + ecx]
and ebx, edx
sub ebx, eax
sub ebx, edi
mov edx, ebx
mov eax, dword [esp + 0x7a4]
and edx, eax
or ebx, eax
lea eax, [edx + ebx]
mov dword [esp + 0x274], eax
shr dword [esp + 0x6f0], 1
lea edx, [esp + 0x438]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1003a8db
mov eax, dword [esp + 4]
imul eax, dword [esp + 0x274]
mov dword [esp + 0x238], eax
mov dword [esp + 0x4b0], 0
mov dword [esp + 0x43c], 0xb61b2000
test byte [esp + 0x238], 1
je 0x1003af76
mov eax, dword [esp + 0x238]
mov ebx, dword [esp + 0x43c]
lea esi, [eax + eax]
xor eax, ebx
lea ecx, [ebx + ebx]
and esi, ecx
lea ecx, [esi + eax]
mov edx, ecx
mov edi, ecx
not edx
mov esi, ecx
mov ebx, ecx
and edx, 0xca270ae3
and edi, 0x35d8f51c
and esi, 0xca270ae3
or ebx, 0xca270ae3
imul edi, edx
imul ebx, esi
bswap ecx
add ebx, edi
mov eax, ebx
xor ebx, 0xef4237e0
or eax, 0xef4237e0
lea edi, [eax + eax]
sub edi, ebx
mov edx, edi
mov esi, edi
mov ebx, edi
not edx
or esi, 0x47e48acb
and ebx, 0x47e48acb
and edx, 0x47e48acb
and edi, 0xb81b7534
imul ebx, esi
imul edi, edx
lea eax, [ebx + edi]
mov edi, dword [esp + 0x4b0]
mov ebx, eax
and eax, 0xb0def160
or ebx, 0xb0def160
add ebx, eax
mov esi, ebx
neg esi
lea edx, [edi + esi]
lea eax, [esi - 1]
mov esi, edi
or esi, eax
mov eax, edi
sub edx, esi
not eax
lea esi, [edx + edx - 2]
lea edx, [ebx + ebx]
add eax, eax
and edx, eax
mov eax, edi
xor eax, ebx
sub edx, eax
mov ebx, edx
xor edx, esi
or ebx, esi
bswap edi
add ebx, ebx
sub ebx, edx
mov dword [esp + 0xe70], ebx
mov ebx, ecx
not ebx
mov eax, ebx
and eax, edi
add eax, ecx
mov edx, eax
not eax
xor edx, edi
add edi, edi
add eax, eax
and edi, eax
sub edx, edi
and ebx, edx
lea ecx, [ecx + ebx*2]
sub ecx, edx
bswap ecx
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0xe70]
sub edx, esi
mov edi, ecx
or edi, edx
lea ebx, [edi + edi]
sub edi, edx
xor edi, ecx
sub ebx, ecx
sub ebx, edx
mov eax, ebx
lea edx, [edi + edi]
mov edi, dword [esp + 0x238]
xor eax, edx
add edx, edx
mov ecx, edi
not ecx
add eax, esi
lea esi, [ebx + ebx]
and esi, edx
lea ebx, [esi + eax]
imul ecx, ebx
not ebx
imul edi, ebx
not ecx
not edi
sub ecx, edi
mov dword [esp + 0x4b0], ecx
shr dword [esp + 0x238], 1
lea edx, [esp + 0x43c]
mov eax, dword [edx]
add eax, eax
mov dword [edx], eax
jne 0x1003ae29
mov esi, dword [esp + 0x4a0]
mov edx, esi
mov ecx, dword [esp + 0x146c]
and edx, ecx
or esi, ecx
mov edi, dword [esp + 0x4a8]
mov ebx, dword [esp + 0x4ac]
lea ecx, [edx + esi]
mov esi, dword [esp + 0x4b0]
mov eax, esi
lea edx, [edi + ecx]
lea edi, [ebx + edx]
xor eax, edi
lea edx, [esi + esi]
mov dword [esp + 0x14b8], eax
lea ecx, [edi + edi]
or edx, ecx
mov ecx, esi
sub edx, eax
mov eax, edi
not eax
and ecx, eax
lea ebx, [edx + edx]
lea eax, [ecx + edi]
mov ecx, eax
not ecx
add ecx, ecx
and ebx, ecx
mov ecx, edx
xor ecx, eax
mov edx, ebx
sub edx, ecx
mov ebx, dword [esp + 0x14b8]
mov ecx, ebx
lea eax, [edx + edx]
mov dword [esp + 0x14bc], eax
mov eax, esi
and esi, edi
neg esi
or eax, edi
sub ecx, eax
lea edi, [esi - 1]
mov esi, dword [esp + 0x14bc]
sub edi, ebx
lea eax, [ecx - 1]
mov ebx, edi
not ebx
imul ebx, eax
not eax
imul eax, edi
not ebx
not eax
sub ebx, ecx
sub ebx, eax
lea edi, [ebx + edx*2]
mov edx, ebx
and edx, esi
lea eax, [edx + edx]
mov edx, ebx
or edx, esi
sub edi, eax
xor edx, esi
mov esi, edi
xor edx, ebx
xor eax, eax
lea ebx, [edx + edx]
and esi, ebx
or edi, ebx
add ecx, esi
lea esi, [edi + ecx]
cmp esi, 0xc0297447
setne al
mov dword [esp + 0x764], eax
xor eax, eax
cmp dword [esp + 0x764], 0
mov edx, dword [esp + 8]
sete al
sub edx, dword [esp + 0xc0]
mov dword [esp + 0xa8c], eax
mov dword [esp + 8], edx
jmp 0x1000b5ca
mov eax, dword [esp + 8]
xor eax, dword [esp + 0xd4]
cmp eax, dword [esp + 0x34]
jne 0x1003b12c
inc eax
neg edx
mov ah, dl
xchg dl, cl
rcr al, 5
mov ax, cs
sbb edx, dword [esp + 4]
rcl ch, 2
inc dl
mov dh, byte [esp + 0xc]
adc ch, ch
not dl
xor dl, byte [esp + 8]
and edx, dword [esp + 4]
movzx eax, ax
and ch, cl
setns dh
add dl, dl
xchg ecx, edx
mov edx, dword [esp]
mov ecx, dword [esp + 4]
imul ebx, edx, 0x77f089b2
imul esi, ecx, 0xb2c4796a
imul edx, edx, 0x4d3b8697
imul ecx, ecx, 0xbc6cecfb
lea edi, [ebx + esi]
imul ebx, eax, 0x7a7076bf
imul eax, eax, 0x745f517d
lea esi, [edi + ebx]
mov dword [esp + 0x7e4], esi
lea edi, [edx + ecx]
mov edx, dword [esp + 8]
sub edx, dword [esp + 0xf4]
add eax, edi
mov dword [esp], eax
mov dword [esp + 8], edx
jmp 0x1000b5ca
mov eax, dword [esp + 8]
xor eax, dword [esp + 0xdc]
cmp eax, dword [esp + 0x1c]
jne 0x1000b5ca
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xe88], 0
jmp 0x1000b5ca
add esp, 0x1e84
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4