415080:	56                   	push   %esi
415081:	56                   	push   %esi
415082:	56                   	push   %esi
415083:	56                   	push   %esi
415084:	57                   	push   %edi
415085:	ff 15 24 c4 42 00    	call   *0x42c424
41508b:	85 c0                	test   %eax,%eax
41508d:	78 01                	js     0x415090
41508f:	43                   	inc    %ebx
415090:	33 c0                	xor    %eax,%eax
415092:	8d 7d e0             	lea    -0x20(%ebp),%edi
415095:	ab                   	stos   %eax,%es:(%edi)
415096:	56                   	push   %esi
415097:	56                   	push   %esi
415098:	ab                   	stos   %eax,%es:(%edi)
415099:	ab                   	stos   %eax,%es:(%edi)
41509a:	ab                   	stos   %eax,%es:(%edi)
41509b:	8d 45 e0             	lea    -0x20(%ebp),%eax
41509e:	50                   	push   %eax
41509f:	68 b4 2a 40 00       	push   $0x402ab4
4150a4:	ff 15 28 c4 42 00    	call   *0x42c428
4150aa:	85 c0                	test   %eax,%eax
4150ac:	75 01                	jne    0x4150af
4150ae:	43                   	inc    %ebx
4150af:	33 c0                	xor    %eax,%eax
4150b1:	3b c3                	cmp    %ebx,%eax
4150b3:	1b f6                	sbb    %esi,%esi
4150b5:	81 e6 80 ff ff 3f    	and    $0x3fffff80,%esi
4150bb:	81 c6 80 00 00 c0    	add    $0xc0000080,%esi
4150c1:	85 db                	test   %ebx,%ebx
4150c3:	0f 84 66 01 00 00    	je     0x41522f
4150c9:	33 db                	xor    %ebx,%ebx
4150cb:	8d 45 90             	lea    -0x70(%ebp),%eax
4150ce:	53                   	push   %ebx
4150cf:	6a 08                	push   $0x8
4150d1:	50                   	push   %eax
4150d2:	6a 73                	push   $0x73
4150d4:	ff 15 44 c4 42 00    	call   *0x42c444
4150da:	8b f0                	mov    %eax,%esi
4150dc:	85 f6                	test   %esi,%esi
4150de:	0f 88 4b 01 00 00    	js     0x41522f
4150e4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4150e7:	e8 ae fe ff ff       	call   0x414f9a
4150ec:	8b f0                	mov    %eax,%esi
4150ee:	85 f6                	test   %esi,%esi
4150f0:	0f 88 39 01 00 00    	js     0x41522f
4150f6:	81 fe 02 01 00 00    	cmp    $0x102,%esi
4150fc:	75 0a                	jne    0x415108
4150fe:	be 53 03 00 c0       	mov    $0xc0000353,%esi
415103:	e9 27 01 00 00       	jmp    0x41522f
415108:	8d 45 b0             	lea    -0x50(%ebp),%eax
41510b:	50                   	push   %eax
41510c:	53                   	push   %ebx
41510d:	53                   	push   %ebx
41510e:	53                   	push   %ebx
41510f:	53                   	push   %ebx
415110:	53                   	push   %ebx
415111:	53                   	push   %ebx
415112:	53                   	push   %ebx
415113:	6a 12                	push   $0x12
415115:	6a 01                	push   $0x1
415117:	8d 45 f4             	lea    -0xc(%ebp),%eax
41511a:	50                   	push   %eax
41511b:	ff 15 30 c4 42 00    	call   *0x42c430
415121:	8b f0                	mov    %eax,%esi
415123:	85 f6                	test   %esi,%esi
415125:	0f 88 04 01 00 00    	js     0x41522f
41512b:	8b 7d 94             	mov    -0x6c(%ebp),%edi
41512e:	83 ff ff             	cmp    $0xffffffff,%edi
415131:	74 0f                	je     0x415142
415133:	8b c7                	mov    %edi,%eax
415135:	b9 f0 d8 ff ff       	mov    $0xffffd8f0,%ecx
41513a:	f7 e9                	imul   %ecx
41513c:	89 45 88             	mov    %eax,-0x78(%ebp)
41513f:	89 55 8c             	mov    %edx,-0x74(%ebp)
415142:	ff 75 a0             	push   -0x60(%ebp)
415145:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
41514b:	50                   	push   %eax
41514c:	ff 15 58 c4 42 00    	call   *0x42c458
415152:	6a 2c                	push   $0x2c
415154:	8d 45 b4             	lea    -0x4c(%ebp),%eax
415157:	c7 85 70 ff ff ff 18 	movl   $0x18,-0x90(%ebp)
41515e:	00 00 00
415161:	53                   	push   %ebx
415162:	50                   	push   %eax
415163:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
415169:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
41516f:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
415175:	89 5d 80             	mov    %ebx,-0x80(%ebp)
415178:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
41517b:	e8 2d 32 01 00       	call   0x4283ad
415180:	83 c4 0c             	add    $0xc,%esp
415183:	b8 68 05 00 00       	mov    $0x568,%eax
415188:	47                   	inc    %edi
415189:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41518c:	f7 df                	neg    %edi
41518e:	8d 45 88             	lea    -0x78(%ebp),%eax
415191:	1b ff                	sbb    %edi,%edi
415193:	23 f8                	and    %eax,%edi
415195:	8d 45 b4             	lea    -0x4c(%ebp),%eax
415198:	57                   	push   %edi
415199:	53                   	push   %ebx
41519a:	53                   	push   %ebx
41519b:	53                   	push   %ebx
41519c:	53                   	push   %ebx
41519d:	ff 75 b0             	push   -0x50(%ebp)
4151a0:	68 00 00 02 00       	push   $0x20000
4151a5:	50                   	push   %eax
4151a6:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4151ac:	50                   	push   %eax
4151ad:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
4151b3:	50                   	push   %eax
4151b4:	8d 45 ac             	lea    -0x54(%ebp),%eax
4151b7:	50                   	push   %eax
4151b8:	ff 15 34 c4 42 00    	call   *0x42c434
4151be:	8b f0                	mov    %eax,%esi
4151c0:	85 f6                	test   %esi,%esi
4151c2:	78 6b                	js     0x41522f
4151c4:	81 fe 02 01 00 00    	cmp    $0x102,%esi
4151ca:	0f 84 2e ff ff ff    	je     0x4150fe
4151d0:	68 64 05 00 00       	push   $0x564
4151d5:	53                   	push   %ebx
4151d6:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
4151d9:	8d 43 04             	lea    0x4(%ebx),%eax
4151dc:	50                   	push   %eax
4151dd:	e8 cb 31 01 00       	call   0x4283ad
4151e2:	83 c4 0c             	add    $0xc,%esp
4151e5:	c7 03 50 05 68 05    	movl   $0x5680550,(%ebx)
4151eb:	b8 68 05 00 00       	mov    $0x568,%eax
4151f0:	33 f6                	xor    %esi,%esi
4151f2:	89 45 a8             	mov    %eax,-0x58(%ebp)
4151f5:	8d 45 a8             	lea    -0x58(%ebp),%eax
4151f8:	57                   	push   %edi
4151f9:	56                   	push   %esi
4151fa:	50                   	push   %eax
4151fb:	53                   	push   %ebx
4151fc:	56                   	push   %esi
4151fd:	ff 75 98             	push   -0x68(%ebp)
415200:	68 00 00 02 00       	push   $0x20000
415205:	ff 75 ac             	push   -0x54(%ebp)
415208:	ff 15 38 c4 42 00    	call   *0x42c438
41520e:	8b f0                	mov    %eax,%esi
415210:	85 f6                	test   %esi,%esi
415212:	78 1b                	js     0x41522f
415214:	81 fe 02 01 00 00    	cmp    $0x102,%esi
41521a:	74 13                	je     0x41522f
41521c:	8b 75 a8             	mov    -0x58(%ebp),%esi
41521f:	81 ee 68 05 00 00    	sub    $0x568,%esi
415225:	f7 de                	neg    %esi
415227:	1b f6                	sbb    %esi,%esi
415229:	81 e6 1f 02 00 c0    	and    $0xc000021f,%esi
41522f:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
415233:	74 09                	je     0x41523e
415235:	ff 75 b0             	push   -0x50(%ebp)
415238:	ff 15 3c c4 42 00    	call   *0x42c43c
41523e:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
415242:	74 09                	je     0x41524d
415244:	ff 75 ac             	push   -0x54(%ebp)
415247:	ff 15 48 c4 42 00    	call   *0x42c448
41524d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415250:	8b c6                	mov    %esi,%eax
415252:	5f                   	pop    %edi
415253:	5e                   	pop    %esi
415254:	33 cd                	xor    %ebp,%ecx
415256:	5b                   	pop    %ebx
415257:	e8 84 28 01 00       	call   0x427ae0
41525c:	c9                   	leave
41525d:	c2 08 00             	ret    $0x8
415260:	8b ff                	mov    %edi,%edi
415262:	56                   	push   %esi
415263:	8b f1                	mov    %ecx,%esi
415265:	57                   	push   %edi
415266:	8b fa                	mov    %edx,%edi
415268:	85 f6                	test   %esi,%esi
41526a:	75 20                	jne    0x41528c
41526c:	68 cd 00 00 00       	push   $0xcd
415271:	68 70 2e 40 00       	push   $0x402e70
415276:	51                   	push   %ecx
415277:	68 96 00 00 00       	push   $0x96
41527c:	ff 15 14 c4 42 00    	call   *0x42c414
415282:	83 c4 10             	add    $0x10,%esp
415285:	b8 57 00 07 80       	mov    $0x80070057,%eax
41528a:	eb 3a                	jmp    0x4152c6
41528c:	a1 74 bb 42 00       	mov    0x42bb74,%eax
415291:	85 c0                	test   %eax,%eax
415293:	75 21                	jne    0x4152b6
415295:	68 48 24 40 00       	push   $0x402448
41529a:	e8 5b 2a 01 00       	call   0x427cfa
41529f:	a3 74 bb 42 00       	mov    %eax,0x42bb74
4152a4:	85 c0                	test   %eax,%eax
4152a6:	75 0e                	jne    0x4152b6
4152a8:	e8 03 2d 01 00       	call   0x427fb0
4152ad:	5f                   	pop    %edi
4152ae:	8b c8                	mov    %eax,%ecx
4152b0:	5e                   	pop    %esi
4152b1:	e9 f4 62 ff ff       	jmp    0x40b5aa
4152b6:	56                   	push   %esi
4152b7:	50                   	push   %eax
4152b8:	ff 15 84 c1 42 00    	call   *0x42c184
4152be:	85 c0                	test   %eax,%eax
4152c0:	74 e6                	je     0x4152a8
4152c2:	89 07                	mov    %eax,(%edi)
4152c4:	33 c0                	xor    %eax,%eax
4152c6:	5f                   	pop    %edi
4152c7:	5e                   	pop    %esi
4152c8:	c3                   	ret
4152c9:	8b d1                	mov    %ecx,%edx
4152cb:	85 d2                	test   %edx,%edx
4152cd:	75 03                	jne    0x4152d2
4152cf:	33 c0                	xor    %eax,%eax
4152d1:	c3                   	ret
4152d2:	56                   	push   %esi
4152d3:	8d 71 02             	lea    0x2(%ecx),%esi
4152d6:	66 8b 01             	mov    (%ecx),%ax
4152d9:	83 c1 02             	add    $0x2,%ecx
4152dc:	66 85 c0             	test   %ax,%ax
4152df:	75 f5                	jne    0x4152d6
4152e1:	2b ce                	sub    %esi,%ecx
4152e3:	d1 f9                	sar    $1,%ecx
4152e5:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
4152e8:	eb 15                	jmp    0x4152ff
4152ea:	83 e8 02             	sub    $0x2,%eax
4152ed:	0f b7 08             	movzwl (%eax),%ecx
4152f0:	83 f9 5c             	cmp    $0x5c,%ecx
4152f3:	74 10                	je     0x415305
4152f5:	83 f9 2f             	cmp    $0x2f,%ecx
4152f8:	74 0b                	je     0x415305
4152fa:	83 f9 3a             	cmp    $0x3a,%ecx
4152fd:	74 06                	je     0x415305
4152ff:	8b f0                	mov    %eax,%esi
415301:	3b c2                	cmp    %edx,%eax
415303:	77 e5                	ja     0x4152ea
415305:	8b c6                	mov    %esi,%eax
415307:	5e                   	pop    %esi
415308:	c3                   	ret
415309:	8b ff                	mov    %edi,%edi
41530b:	55                   	push   %ebp
41530c:	8b ec                	mov    %esp,%ebp
41530e:	51                   	push   %ecx
41530f:	53                   	push   %ebx
415310:	56                   	push   %esi
415311:	57                   	push   %edi
415312:	8b f9                	mov    %ecx,%edi
415314:	8d 55 fc             	lea    -0x4(%ebp),%edx
415317:	33 db                	xor    %ebx,%ebx
415319:	b9 98 2e 40 00       	mov    $0x402e98,%ecx
41531e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415321:	e8 3a ff ff ff       	call   0x415260
415326:	8b f0                	mov    %eax,%esi
415328:	85 f6                	test   %esi,%esi
41532a:	79 1b                	jns    0x415347
41532c:	68 2f 01 00 00       	push   $0x12f
415331:	68 c0 2e 40 00       	push   $0x402ec0
415336:	53                   	push   %ebx
415337:	68 96 00 00 00       	push   $0x96
41533c:	ff 15 14 c4 42 00    	call   *0x42c414
415342:	83 c4 10             	add    $0x10,%esp
415345:	eb 43                	jmp    0x41538a
415347:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41534a:	53                   	push   %ebx
41534b:	6a 30                	push   $0x30
41534d:	ff 75 08             	push   0x8(%ebp)
415350:	53                   	push   %ebx
415351:	57                   	push   %edi
415352:	ff 15 d4 c4 42 00    	call   *0x42c4d4
415358:	ff 55 fc             	call   *-0x4(%ebp)
41535b:	8b f0                	mov    %eax,%esi
41535d:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
415362:	8b ce                	mov    %esi,%ecx
415364:	23 c8                	and    %eax,%ecx
415366:	3b c8                	cmp    %eax,%ecx
415368:	75 1a                	jne    0x415384
41536a:	56                   	push   %esi
41536b:	68 3c 01 00 00       	push   $0x13c
415370:	68 08 2f 40 00       	push   $0x402f08
415375:	53                   	push   %ebx
415376:	68 96 00 00 00       	push   $0x96
41537b:	ff 15 14 c4 42 00    	call   *0x42c414
415381:	83 c4 14             	add    $0x14,%esp
415384:	81 ce 00 00 00 10    	or     $0x10000000,%esi
41538a:	5f                   	pop    %edi
41538b:	8b c6                	mov    %esi,%eax
41538d:	5e                   	pop    %esi
41538e:	5b                   	pop    %ebx
41538f:	c9                   	leave
415390:	c2 0c 00             	ret    $0xc
415393:	8b ff                	mov    %edi,%edi
415395:	55                   	push   %ebp
415396:	8b ec                	mov    %esp,%ebp
415398:	51                   	push   %ecx
415399:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41539d:	53                   	push   %ebx
41539e:	56                   	push   %esi
41539f:	57                   	push   %edi
4153a0:	8b fa                	mov    %edx,%edi
4153a2:	8b d9                	mov    %ecx,%ebx
4153a4:	8d 55 fc             	lea    -0x4(%ebp),%edx
4153a7:	b9 54 2f 40 00       	mov    $0x402f54,%ecx
4153ac:	e8 af fe ff ff       	call   0x415260
4153b1:	8b f0                	mov    %eax,%esi
4153b3:	85 f6                	test   %esi,%esi
4153b5:	79 1c                	jns    0x4153d3
4153b7:	68 60 01 00 00       	push   $0x160
4153bc:	68 70 2f 40 00       	push   $0x402f70
4153c1:	6a 00                	push   $0x0
4153c3:	68 96 00 00 00       	push   $0x96
4153c8:	ff 15 14 c4 42 00    	call   *0x42c414
4153ce:	83 c4 10             	add    $0x10,%esp
4153d1:	eb 4c                	jmp    0x41541f
4153d3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4153d6:	6a 00                	push   $0x0
4153d8:	ff 75 14             	push   0x14(%ebp)
4153db:	ff 75 10             	push   0x10(%ebp)
4153de:	57                   	push   %edi
4153df:	ff 75 0c             	push   0xc(%ebp)
4153e2:	ff 75 08             	push   0x8(%ebp)
4153e5:	53                   	push   %ebx
4153e6:	ff 15 d4 c4 42 00    	call   *0x42c4d4
4153ec:	ff 55 fc             	call   *-0x4(%ebp)
4153ef:	8b f0                	mov    %eax,%esi
4153f1:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
4153f6:	8b ce                	mov    %esi,%ecx
4153f8:	23 c8                	and    %eax,%ecx
4153fa:	3b c8                	cmp    %eax,%ecx
4153fc:	75 1b                	jne    0x415419
4153fe:	56                   	push   %esi
4153ff:	68 6c 01 00 00       	push   $0x16c
415404:	68 b8 2f 40 00       	push   $0x402fb8
415409:	6a 00                	push   $0x0
41540b:	68 96 00 00 00       	push   $0x96
415410:	ff 15 14 c4 42 00    	call   *0x42c414
415416:	83 c4 14             	add    $0x14,%esp
415419:	81 ce 00 00 00 10    	or     $0x10000000,%esi
41541f:	5f                   	pop    %edi
415420:	8b c6                	mov    %esi,%eax
415422:	5e                   	pop    %esi
415423:	5b                   	pop    %ebx
415424:	c9                   	leave
415425:	c2 14 00             	ret    $0x14
415428:	6a 0c                	push   $0xc
41542a:	68 e0 98 42 00       	push   $0x4298e0
41542f:	e8 64 25 01 00       	call   0x427998
415434:	85 c9                	test   %ecx,%ecx
415436:	75 20                	jne    0x415458
415438:	68 f4 01 00 00       	push   $0x1f4
41543d:	68 fc 2f 40 00       	push   $0x402ffc
415442:	51                   	push   %ecx
415443:	68 96 00 00 00       	push   $0x96
415448:	ff 15 14 c4 42 00    	call   *0x42c414
41544e:	83 c4 10             	add    $0x10,%esp