538f87:	cc                   	int3
538f88:	cc                   	int3
538f89:	cc                   	int3
538f8a:	cc                   	int3
538f8b:	cc                   	int3
538f8c:	cc                   	int3
538f8d:	cc                   	int3
538f8e:	cc                   	int3
538f8f:	cc                   	int3
538f90:	51                   	push   %ecx
538f91:	57                   	push   %edi
538f92:	8b f9                	mov    %ecx,%edi
538f94:	8b 07                	mov    (%edi),%eax
538f96:	85 c0                	test   %eax,%eax
538f98:	74 45                	je     0x538fdf
538f9a:	ff 74 24 04          	push   0x4(%esp)
538f9e:	57                   	push   %edi
538f9f:	ff 77 04             	push   0x4(%edi)
538fa2:	50                   	push   %eax
538fa3:	e8 57 23 f0 ff       	call   0x43b2ff
538fa8:	8b 4f 08             	mov    0x8(%edi),%ecx
538fab:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
538fb0:	2b 0f                	sub    (%edi),%ecx
538fb2:	83 c4 10             	add    $0x10,%esp
538fb5:	f7 e9                	imul   %ecx
538fb7:	8b cf                	mov    %edi,%ecx
538fb9:	c1 fa 04             	sar    $0x4,%edx
538fbc:	8b c2                	mov    %edx,%eax
538fbe:	c1 e8 1f             	shr    $0x1f,%eax
538fc1:	03 c2                	add    %edx,%eax
538fc3:	50                   	push   %eax
538fc4:	ff 37                	push   (%edi)
538fc6:	e8 c6 75 ed ff       	call   0x410591
538fcb:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
538fd1:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
538fd8:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
538fdf:	5f                   	pop    %edi
538fe0:	59                   	pop    %ecx
538fe1:	c3                   	ret
538fe2:	cc                   	int3
538fe3:	cc                   	int3
538fe4:	cc                   	int3
538fe5:	cc                   	int3
538fe6:	cc                   	int3
538fe7:	cc                   	int3
538fe8:	cc                   	int3
538fe9:	cc                   	int3
538fea:	cc                   	int3
538feb:	cc                   	int3
538fec:	cc                   	int3
538fed:	cc                   	int3
538fee:	cc                   	int3
538fef:	cc                   	int3
538ff0:	cc                   	int3
538ff1:	cc                   	int3
538ff2:	cc                   	int3
538ff3:	cc                   	int3
538ff4:	cc                   	int3
538ff5:	cc                   	int3
538ff6:	cc                   	int3
538ff7:	cc                   	int3
538ff8:	cc                   	int3
538ff9:	cc                   	int3
538ffa:	cc                   	int3
538ffb:	cc                   	int3
538ffc:	cc                   	int3
538ffd:	cc                   	int3
538ffe:	cc                   	int3
538fff:	cc                   	int3
539000:	51                   	push   %ecx
539001:	57                   	push   %edi
539002:	8b f9                	mov    %ecx,%edi
539004:	8b 07                	mov    (%edi),%eax
539006:	85 c0                	test   %eax,%eax
539008:	74 45                	je     0x53904f
53900a:	ff 74 24 04          	push   0x4(%esp)
53900e:	57                   	push   %edi
53900f:	ff 77 04             	push   0x4(%edi)
539012:	50                   	push   %eax
539013:	e8 a1 4f f0 ff       	call   0x43dfb9
539018:	8b 4f 08             	mov    0x8(%edi),%ecx
53901b:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
539020:	2b 0f                	sub    (%edi),%ecx
539022:	83 c4 10             	add    $0x10,%esp
539025:	f7 e9                	imul   %ecx
539027:	8b cf                	mov    %edi,%ecx
539029:	c1 fa 03             	sar    $0x3,%edx
53902c:	8b c2                	mov    %edx,%eax
53902e:	c1 e8 1f             	shr    $0x1f,%eax
539031:	03 c2                	add    %edx,%eax
539033:	50                   	push   %eax
539034:	ff 37                	push   (%edi)
539036:	e8 7d 28 f0 ff       	call   0x43b8b8
53903b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
539041:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
539048:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
53904f:	5f                   	pop    %edi
539050:	59                   	pop    %ecx
539051:	c3                   	ret
539052:	cc                   	int3
539053:	cc                   	int3
539054:	cc                   	int3
539055:	cc                   	int3
539056:	cc                   	int3
539057:	cc                   	int3
539058:	cc                   	int3
539059:	cc                   	int3
53905a:	cc                   	int3
53905b:	cc                   	int3
53905c:	cc                   	int3
53905d:	cc                   	int3
53905e:	cc                   	int3
53905f:	cc                   	int3
539060:	cc                   	int3
539061:	cc                   	int3
539062:	cc                   	int3
539063:	cc                   	int3
539064:	cc                   	int3
539065:	cc                   	int3
539066:	cc                   	int3
539067:	cc                   	int3
539068:	cc                   	int3
539069:	cc                   	int3
53906a:	cc                   	int3
53906b:	cc                   	int3
53906c:	cc                   	int3
53906d:	cc                   	int3
53906e:	cc                   	int3
53906f:	cc                   	int3
539070:	56                   	push   %esi
539071:	8b f1                	mov    %ecx,%esi
539073:	8b 0e                	mov    (%esi),%ecx
539075:	85 c9                	test   %ecx,%ecx
539077:	74 25                	je     0x53909e
539079:	8b 46 08             	mov    0x8(%esi),%eax
53907c:	2b c1                	sub    %ecx,%eax
53907e:	c1 f8 02             	sar    $0x2,%eax
539081:	50                   	push   %eax
539082:	51                   	push   %ecx
539083:	8b ce                	mov    %esi,%ecx
539085:	e8 d0 a9 ef ff       	call   0x433a5a
53908a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
539090:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
539097:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
53909e:	5e                   	pop    %esi
53909f:	c3                   	ret
5390a0:	cc                   	int3
5390a1:	cc                   	int3
5390a2:	cc                   	int3
5390a3:	cc                   	int3
5390a4:	cc                   	int3
5390a5:	cc                   	int3
5390a6:	cc                   	int3
5390a7:	cc                   	int3
5390a8:	cc                   	int3
5390a9:	cc                   	int3
5390aa:	cc                   	int3
5390ab:	cc                   	int3
5390ac:	cc                   	int3
5390ad:	cc                   	int3
5390ae:	cc                   	int3
5390af:	cc                   	int3
5390b0:	56                   	push   %esi
5390b1:	8b 74 24 08          	mov    0x8(%esp),%esi
5390b5:	57                   	push   %edi
5390b6:	ff 74 24 14          	push   0x14(%esp)
5390ba:	8b 7c 24 14          	mov    0x14(%esp),%edi
5390be:	51                   	push   %ecx
5390bf:	ff 74 24 1c          	push   0x1c(%esp)
5390c3:	57                   	push   %edi
5390c4:	56                   	push   %esi
5390c5:	e8 98 35 ed ff       	call   0x40c662
5390ca:	83 c4 14             	add    $0x14,%esp
5390cd:	8d 04 be             	lea    (%esi,%edi,4),%eax
5390d0:	5f                   	pop    %edi
5390d1:	5e                   	pop    %esi
5390d2:	c2 0c 00             	ret    $0xc
5390d5:	cc                   	int3
5390d6:	cc                   	int3
5390d7:	cc                   	int3
5390d8:	cc                   	int3
5390d9:	cc                   	int3
5390da:	cc                   	int3
5390db:	cc                   	int3
5390dc:	cc                   	int3
5390dd:	cc                   	int3
5390de:	cc                   	int3
5390df:	cc                   	int3
5390e0:	56                   	push   %esi
5390e1:	8b 74 24 08          	mov    0x8(%esp),%esi
5390e5:	57                   	push   %edi
5390e6:	ff 74 24 14          	push   0x14(%esp)
5390ea:	8b 7c 24 14          	mov    0x14(%esp),%edi
5390ee:	51                   	push   %ecx
5390ef:	ff 74 24 1c          	push   0x1c(%esp)
5390f3:	57                   	push   %edi
5390f4:	56                   	push   %esi
5390f5:	e8 f0 33 ee ff       	call   0x41c4ea
5390fa:	83 c4 14             	add    $0x14,%esp
5390fd:	8d 04 be             	lea    (%esi,%edi,4),%eax
539100:	5f                   	pop    %edi
539101:	5e                   	pop    %esi
539102:	c2 0c 00             	ret    $0xc
539105:	cc                   	int3
539106:	cc                   	int3
539107:	cc                   	int3
539108:	cc                   	int3
539109:	cc                   	int3
53910a:	cc                   	int3
53910b:	cc                   	int3
53910c:	cc                   	int3
53910d:	cc                   	int3
53910e:	cc                   	int3
53910f:	cc                   	int3
539110:	8b 44 24 04          	mov    0x4(%esp),%eax
539114:	8b 09                	mov    (%ecx),%ecx
539116:	89 08                	mov    %ecx,(%eax)
539118:	c2 04 00             	ret    $0x4
53911b:	cc                   	int3
53911c:	cc                   	int3
53911d:	cc                   	int3
53911e:	cc                   	int3
53911f:	cc                   	int3
539120:	8b 01                	mov    (%ecx),%eax
539122:	c3                   	ret
539123:	cc                   	int3
539124:	cc                   	int3
539125:	cc                   	int3
539126:	cc                   	int3
539127:	cc                   	int3
539128:	cc                   	int3
539129:	cc                   	int3
53912a:	cc                   	int3
53912b:	cc                   	int3
53912c:	cc                   	int3
53912d:	cc                   	int3
53912e:	cc                   	int3
53912f:	cc                   	int3
539130:	8b 01                	mov    (%ecx),%eax
539132:	c3                   	ret
539133:	cc                   	int3
539134:	cc                   	int3
539135:	cc                   	int3
539136:	cc                   	int3
539137:	cc                   	int3
539138:	cc                   	int3
539139:	cc                   	int3
53913a:	cc                   	int3
53913b:	cc                   	int3
53913c:	cc                   	int3
53913d:	cc                   	int3
53913e:	cc                   	int3
53913f:	cc                   	int3
539140:	8b 41 04             	mov    0x4(%ecx),%eax
539143:	8b 08                	mov    (%eax),%ecx
539145:	8b 44 24 04          	mov    0x4(%esp),%eax
539149:	89 08                	mov    %ecx,(%eax)
53914b:	c2 04 00             	ret    $0x4
53914e:	cc                   	int3
53914f:	cc                   	int3
539150:	cc                   	int3
539151:	cc                   	int3
539152:	cc                   	int3
539153:	cc                   	int3
539154:	cc                   	int3
539155:	cc                   	int3
539156:	cc                   	int3
539157:	cc                   	int3
539158:	cc                   	int3
539159:	cc                   	int3
53915a:	cc                   	int3
53915b:	cc                   	int3
53915c:	cc                   	int3
53915d:	cc                   	int3
53915e:	cc                   	int3
53915f:	cc                   	int3
539160:	8b 01                	mov    (%ecx),%eax
539162:	8b 08                	mov    (%eax),%ecx
539164:	8b 44 24 04          	mov    0x4(%esp),%eax
539168:	89 08                	mov    %ecx,(%eax)
53916a:	c2 04 00             	ret    $0x4
53916d:	cc                   	int3
53916e:	cc                   	int3
53916f:	cc                   	int3
539170:	8b 44 24 04          	mov    0x4(%esp),%eax
539174:	8b 49 04             	mov    0x4(%ecx),%ecx
539177:	89 08                	mov    %ecx,(%eax)
539179:	c2 04 00             	ret    $0x4
53917c:	cc                   	int3
53917d:	cc                   	int3
53917e:	cc                   	int3
53917f:	cc                   	int3
539180:	8b 44 24 04          	mov    0x4(%esp),%eax
539184:	8b 09                	mov    (%ecx),%ecx
539186:	89 08                	mov    %ecx,(%eax)
539188:	c2 04 00             	ret    $0x4
53918b:	cc                   	int3
53918c:	cc                   	int3
53918d:	cc                   	int3
53918e:	cc                   	int3
53918f:	cc                   	int3
539190:	8b 44 24 08          	mov    0x8(%esp),%eax
539194:	8b 48 04             	mov    0x4(%eax),%ecx
539197:	8b 44 24 0c          	mov    0xc(%esp),%eax
53919b:	89 01                	mov    %eax,(%ecx)
53919d:	8b 44 24 0c          	mov    0xc(%esp),%eax
5391a1:	8b 48 04             	mov    0x4(%eax),%ecx
5391a4:	8b 44 24 04          	mov    0x4(%esp),%eax
5391a8:	89 01                	mov    %eax,(%ecx)
5391aa:	8b 44 24 04          	mov    0x4(%esp),%eax
5391ae:	8b 48 04             	mov    0x4(%eax),%ecx
5391b1:	8b 44 24 08          	mov    0x8(%esp),%eax
5391b5:	89 01                	mov    %eax,(%ecx)
5391b7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5391bb:	8b 44 24 0c          	mov    0xc(%esp),%eax
5391bf:	8b 51 04             	mov    0x4(%ecx),%edx
5391c2:	8b 40 04             	mov    0x4(%eax),%eax
5391c5:	89 41 04             	mov    %eax,0x4(%ecx)
5391c8:	8b 44 24 08          	mov    0x8(%esp),%eax
5391cc:	8b 48 04             	mov    0x4(%eax),%ecx
5391cf:	8b 44 24 0c          	mov    0xc(%esp),%eax
5391d3:	89 48 04             	mov    %ecx,0x4(%eax)
5391d6:	8b 44 24 08          	mov    0x8(%esp),%eax
5391da:	89 50 04             	mov    %edx,0x4(%eax)
5391dd:	c2 0c 00             	ret    $0xc
5391e0:	cc                   	int3
5391e1:	cc                   	int3
5391e2:	cc                   	int3
5391e3:	cc                   	int3
5391e4:	cc                   	int3
5391e5:	cc                   	int3
5391e6:	cc                   	int3
5391e7:	cc                   	int3
5391e8:	cc                   	int3
5391e9:	cc                   	int3
5391ea:	cc                   	int3
5391eb:	cc                   	int3
5391ec:	cc                   	int3
5391ed:	cc                   	int3
5391ee:	cc                   	int3
5391ef:	cc                   	int3
5391f0:	cc                   	int3
5391f1:	cc                   	int3
5391f2:	cc                   	int3
5391f3:	cc                   	int3
5391f4:	cc                   	int3
5391f5:	cc                   	int3
5391f6:	cc                   	int3
5391f7:	cc                   	int3
5391f8:	cc                   	int3