403095:	89 45 fc             	mov    %eax,-0x4(%ebp)
403098:	01 3d d0 8e 41 00    	add    %edi,0x418ed0
40309e:	2b f7                	sub    %edi,%esi
4030a0:	3b f3                	cmp    %ebx,%esi
4030a2:	0f 8f 16 ff ff ff    	jg     0x402fbe
4030a8:	6a 01                	push   $0x1
4030aa:	e8 df fd ff ff       	call   0x402e8e
4030af:	39 1d 58 a2 42 00    	cmp    %ebx,0x42a258
4030b5:	59                   	pop    %ecx
4030b6:	0f 84 cb 00 00 00    	je     0x403187
4030bc:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4030bf:	74 2a                	je     0x4030eb
4030c1:	ff 35 d0 8e 41 00    	push   0x418ed0
4030c7:	e8 91 03 00 00       	call   0x40345d
4030cc:	8d 45 08             	lea    0x8(%ebp),%eax
4030cf:	6a 04                	push   $0x4
4030d1:	50                   	push   %eax
4030d2:	e8 70 03 00 00       	call   0x403447
4030d7:	85 c0                	test   %eax,%eax
4030d9:	0f 84 a8 00 00 00    	je     0x403187
4030df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4030e2:	3b 45 08             	cmp    0x8(%ebp),%eax
4030e5:	0f 85 9c 00 00 00    	jne    0x403187
4030eb:	ff 75 f0             	push   -0x10(%ebp)
4030ee:	6a 40                	push   $0x40
4030f0:	ff 15 34 81 40 00    	call   *0x408134
4030f6:	b9 48 ce 40 00       	mov    $0x40ce48,%ecx
4030fb:	8b f0                	mov    %eax,%esi
4030fd:	e8 21 38 00 00       	call   0x406923
403102:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
403108:	68 00 78 43 00       	push   $0x437800
40310d:	50                   	push   %eax
40310e:	e8 fa 2d 00 00       	call   0x405f0d
403113:	53                   	push   %ebx
403114:	68 00 01 00 04       	push   $0x4000100
403119:	6a 02                	push   $0x2
40311b:	53                   	push   %ebx
40311c:	53                   	push   %ebx
40311d:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
403123:	68 00 00 00 c0       	push   $0xc0000000
403128:	50                   	push   %eax
403129:	ff 15 80 80 40 00    	call   *0x408080
40312f:	83 f8 ff             	cmp    $0xffffffff,%eax
403132:	a3 1c a0 40 00       	mov    %eax,0x40a01c
403137:	75 14                	jne    0x40314d
403139:	b8 30 a2 40 00       	mov    $0x40a230,%eax
40313e:	e9 8c 00 00 00       	jmp    0x4031cf
403143:	6a 01                	push   $0x1
403145:	e8 44 fd ff ff       	call   0x402e8e
40314a:	59                   	pop    %ecx
40314b:	eb 3a                	jmp    0x403187
40314d:	a1 58 a2 42 00       	mov    0x42a258,%eax
403152:	83 c0 1c             	add    $0x1c,%eax
403155:	50                   	push   %eax
403156:	e8 02 03 00 00       	call   0x40345d
40315b:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40315e:	ff 75 f0             	push   -0x10(%ebp)
403161:	f7 d1                	not    %ecx
403163:	83 e1 04             	and    $0x4,%ecx
403166:	a3 e4 8e 41 00       	mov    %eax,0x418ee4
40316b:	2b c1                	sub    %ecx,%eax
40316d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403170:	56                   	push   %esi
403171:	53                   	push   %ebx
403172:	8d 44 08 e4          	lea    -0x1c(%eax,%ecx,1),%eax
403176:	6a ff                	push   $0xffffffff
403178:	a3 d8 8e 41 00       	mov    %eax,0x418ed8
40317d:	e8 54 00 00 00       	call   0x4031d6
403182:	3b 45 f0             	cmp    -0x10(%ebp),%eax
403185:	74 07                	je     0x40318e
403187:	b8 98 a0 40 00       	mov    $0x40a098,%eax
40318c:	eb 41                	jmp    0x4031cf
40318e:	f6 45 dc 01          	testb  $0x1,-0x24(%ebp)
403192:	89 35 54 a2 42 00    	mov    %esi,0x42a254
403198:	8b 06                	mov    (%esi),%eax
40319a:	a3 5c a2 42 00       	mov    %eax,0x42a25c
40319f:	74 06                	je     0x4031a7
4031a1:	ff 05 60 a2 42 00    	incl   0x42a260
4031a7:	6a 08                	push   $0x8
4031a9:	8d 46 44             	lea    0x44(%esi),%eax
4031ac:	59                   	pop    %ecx
4031ad:	83 e8 08             	sub    $0x8,%eax
4031b0:	01 30                	add    %esi,(%eax)
4031b2:	49                   	dec    %ecx
4031b3:	75 f8                	jne    0x4031ad
4031b5:	a1 d4 8e 41 00       	mov    0x418ed4,%eax
4031ba:	6a 40                	push   $0x40
4031bc:	89 46 3c             	mov    %eax,0x3c(%esi)
4031bf:	83 c6 04             	add    $0x4,%esi
4031c2:	56                   	push   %esi
4031c3:	68 80 a2 42 00       	push   $0x42a280
4031c8:	e8 cc 2c 00 00       	call   0x405e99
4031cd:	33 c0                	xor    %eax,%eax
4031cf:	5f                   	pop    %edi
4031d0:	5e                   	pop    %esi
4031d1:	5b                   	pop    %ebx
4031d2:	c9                   	leave
4031d3:	c2 04 00             	ret    $0x4
4031d6:	55                   	push   %ebp
4031d7:	8b ec                	mov    %esp,%ebp
4031d9:	51                   	push   %ecx
4031da:	8b 45 08             	mov    0x8(%ebp),%eax
4031dd:	53                   	push   %ebx
4031de:	56                   	push   %esi
4031df:	33 f6                	xor    %esi,%esi
4031e1:	3b c6                	cmp    %esi,%eax
4031e3:	7c 1c                	jl     0x403201
4031e5:	8b 0d b8 a2 42 00    	mov    0x42a2b8,%ecx
4031eb:	56                   	push   %esi
4031ec:	03 c1                	add    %ecx,%eax
4031ee:	56                   	push   %esi
4031ef:	50                   	push   %eax
4031f0:	a3 d4 8e 41 00       	mov    %eax,0x418ed4
4031f5:	ff 35 1c a0 40 00    	push   0x40a01c
4031fb:	ff 15 44 81 40 00    	call   *0x408144
403201:	6a 04                	push   $0x4
403203:	e8 d6 00 00 00       	call   0x4032de
403208:	3b c6                	cmp    %esi,%eax
40320a:	0f 8c c8 00 00 00    	jl     0x4032d8
403210:	8d 45 08             	lea    0x8(%ebp),%eax
403213:	6a 04                	push   $0x4
403215:	50                   	push   %eax
403216:	ff 35 1c a0 40 00    	push   0x40a01c
40321c:	e8 40 2d 00 00       	call   0x405f61
403221:	85 c0                	test   %eax,%eax
403223:	0f 84 9f 00 00 00    	je     0x4032c8
403229:	ff 75 08             	push   0x8(%ebp)
40322c:	83 05 d4 8e 41 00 04 	addl   $0x4,0x418ed4
403233:	e8 a6 00 00 00       	call   0x4032de
403238:	8b d8                	mov    %eax,%ebx
40323a:	3b de                	cmp    %esi,%ebx
40323c:	0f 8c 94 00 00 00    	jl     0x4032d6
403242:	39 75 10             	cmp    %esi,0x10(%ebp)
403245:	75 5d                	jne    0x4032a4
403247:	39 75 08             	cmp    %esi,0x8(%ebp)
40324a:	0f 8e 86 00 00 00    	jle    0x4032d6
403250:	be d0 4e 41 00       	mov    $0x414ed0,%esi
403255:	81 7d 08 00 40 00 00 	cmpl   $0x4000,0x8(%ebp)
40325c:	8b 45 08             	mov    0x8(%ebp),%eax
40325f:	7c 05                	jl     0x403266
403261:	b8 00 40 00 00       	mov    $0x4000,%eax
403266:	50                   	push   %eax
403267:	56                   	push   %esi
403268:	ff 35 1c a0 40 00    	push   0x40a01c
40326e:	89 45 fc             	mov    %eax,-0x4(%ebp)
403271:	e8 eb 2c 00 00       	call   0x405f61
403276:	85 c0                	test   %eax,%eax
403278:	74 4e                	je     0x4032c8
40327a:	ff 75 fc             	push   -0x4(%ebp)
40327d:	56                   	push   %esi
40327e:	ff 75 0c             	push   0xc(%ebp)
403281:	e8 0a 2d 00 00       	call   0x405f90
403286:	85 c0                	test   %eax,%eax
403288:	74 16                	je     0x4032a0
40328a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40328d:	29 45 08             	sub    %eax,0x8(%ebp)
403290:	01 05 d4 8e 41 00    	add    %eax,0x418ed4
403296:	03 d8                	add    %eax,%ebx
403298:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40329c:	7f b7                	jg     0x403255
40329e:	eb 36                	jmp    0x4032d6
4032a0:	6a fe                	push   $0xfffffffe
4032a2:	eb 26                	jmp    0x4032ca
4032a4:	8b 45 08             	mov    0x8(%ebp),%eax
4032a7:	3b 45 14             	cmp    0x14(%ebp),%eax
4032aa:	7c 03                	jl     0x4032af
4032ac:	8b 45 14             	mov    0x14(%ebp),%eax
4032af:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4032b2:	56                   	push   %esi
4032b3:	51                   	push   %ecx
4032b4:	50                   	push   %eax
4032b5:	ff 75 10             	push   0x10(%ebp)
4032b8:	ff 35 1c a0 40 00    	push   0x40a01c
4032be:	ff 15 48 81 40 00    	call   *0x408148
4032c4:	85 c0                	test   %eax,%eax
4032c6:	75 05                	jne    0x4032cd
4032c8:	6a fd                	push   $0xfffffffd
4032ca:	58                   	pop    %eax
4032cb:	eb 0b                	jmp    0x4032d8
4032cd:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4032d0:	01 1d d4 8e 41 00    	add    %ebx,0x418ed4
4032d6:	8b c3                	mov    %ebx,%eax
4032d8:	5e                   	pop    %esi
4032d9:	5b                   	pop    %ebx
4032da:	c9                   	leave
4032db:	c2 10 00             	ret    $0x10
4032de:	53                   	push   %ebx
4032df:	55                   	push   %ebp
4032e0:	56                   	push   %esi
4032e1:	8b 35 d4 8e 41 00    	mov    0x418ed4,%esi
4032e7:	2b 35 40 ce 40 00    	sub    0x40ce40,%esi
4032ed:	57                   	push   %edi
4032ee:	03 74 24 14          	add    0x14(%esp),%esi
4032f2:	ff 15 7c 80 40 00    	call   *0x40807c
4032f8:	33 db                	xor    %ebx,%ebx
4032fa:	05 f4 01 00 00       	add    $0x1f4,%eax
4032ff:	3b f3                	cmp    %ebx,%esi
403301:	a3 50 a2 42 00       	mov    %eax,0x42a250
403306:	0f 8e 2a 01 00 00    	jle    0x403436
40330c:	ff 35 e4 8e 41 00    	push   0x418ee4
403312:	e8 46 01 00 00       	call   0x40345d
403317:	53                   	push   %ebx
403318:	53                   	push   %ebx
403319:	ff 35 40 ce 40 00    	push   0x40ce40
40331f:	ff 35 1c a0 40 00    	push   0x40a01c
403325:	ff 15 44 81 40 00    	call   *0x408144
40332b:	89 35 e0 8e 41 00    	mov    %esi,0x418ee0
403331:	89 1d d0 8e 41 00    	mov    %ebx,0x418ed0
403337:	bd d0 ce 40 00       	mov    $0x40ced0,%ebp
40333c:	a1 d8 8e 41 00       	mov    0x418ed8,%eax
403341:	bf 00 40 00 00       	mov    $0x4000,%edi
403346:	2b 05 e4 8e 41 00    	sub    0x418ee4,%eax
40334c:	3b c7                	cmp    %edi,%eax
40334e:	7f 02                	jg     0x403352
403350:	8b f8                	mov    %eax,%edi
403352:	be d0 4e 41 00       	mov    $0x414ed0,%esi
403357:	57                   	push   %edi
403358:	56                   	push   %esi
403359:	e8 e9 00 00 00       	call   0x403447
40335e:	85 c0                	test   %eax,%eax
403360:	0f 84 c2 00 00 00    	je     0x403428
403366:	01 3d e4 8e 41 00    	add    %edi,0x418ee4
40336c:	89 35 60 ce 40 00    	mov    %esi,0x40ce60
403372:	89 3d 64 ce 40 00    	mov    %edi,0x40ce64
403378:	39 1d 54 a2 42 00    	cmp    %ebx,0x42a254
40337e:	74 29                	je     0x4033a9
403380:	39 1d 00 a3 42 00    	cmp    %ebx,0x42a300
403386:	75 21                	jne    0x4033a9
403388:	a1 e0 8e 41 00       	mov    0x418ee0,%eax
40338d:	53                   	push   %ebx
40338e:	2b 05 d4 8e 41 00    	sub    0x418ed4,%eax
403394:	2b 44 24 18          	sub    0x18(%esp),%eax
403398:	03 05 40 ce 40 00    	add    0x40ce40,%eax
40339e:	a3 d0 8e 41 00       	mov    %eax,0x418ed0
4033a3:	e8 e6 fa ff ff       	call   0x402e8e
4033a8:	59                   	pop    %ecx
4033a9:	b9 48 ce 40 00       	mov    $0x40ce48,%ecx
4033ae:	89 2d 68 ce 40 00    	mov    %ebp,0x40ce68
4033b4:	c7 05 6c ce 40 00 00 	movl   $0x8000,0x40ce6c
4033bb:	80 00 00
4033be:	e8 80 35 00 00       	call   0x406943
4033c3:	85 c0                	test   %eax,%eax
4033c5:	7c 6a                	jl     0x403431
4033c7:	8b 35 68 ce 40 00    	mov    0x40ce68,%esi
4033cd:	2b f5                	sub    %ebp,%esi
4033cf:	74 21                	je     0x4033f2
4033d1:	56                   	push   %esi
4033d2:	55                   	push   %ebp
4033d3:	ff 35 1c a0 40 00    	push   0x40a01c
4033d9:	e8 b2 2b 00 00       	call   0x405f90
4033de:	85 c0                	test   %eax,%eax
4033e0:	74 4b                	je     0x40342d
4033e2:	01 35 40 ce 40 00    	add    %esi,0x40ce40
4033e8:	39 1d 64 ce 40 00    	cmp    %ebx,0x40ce64
4033ee:	75 88                	jne    0x403378
4033f0:	eb 0c                	jmp    0x4033fe
4033f2:	39 1d 64 ce 40 00    	cmp    %ebx,0x40ce64
4033f8:	75 37                	jne    0x403431
4033fa:	3b fb                	cmp    %ebx,%edi
4033fc:	74 33                	je     0x403431
4033fe:	a1 d4 8e 41 00       	mov    0x418ed4,%eax
403403:	8b c8                	mov    %eax,%ecx
403405:	2b 0d 40 ce 40 00    	sub    0x40ce40,%ecx
40340b:	03 4c 24 14          	add    0x14(%esp),%ecx
40340f:	85 c9                	test   %ecx,%ecx
403411:	0f 8f 25 ff ff ff    	jg     0x40333c
403417:	53                   	push   %ebx
403418:	53                   	push   %ebx
403419:	50                   	push   %eax
40341a:	ff 35 1c a0 40 00    	push   0x40a01c
403420:	ff 15 44 81 40 00    	call   *0x408144
403426:	eb 0e                	jmp    0x403436
403428:	83 c8 ff             	or     $0xffffffff,%eax
40342b:	eb 13                	jmp    0x403440
40342d:	6a fe                	push   $0xfffffffe
40342f:	eb 02                	jmp    0x403433
403431:	6a fd                	push   $0xfffffffd
403433:	58                   	pop    %eax
403434:	eb 0a                	jmp    0x403440
403436:	6a 01                	push   $0x1
403438:	e8 51 fa ff ff       	call   0x402e8e
40343d:	59                   	pop    %ecx
40343e:	33 c0                	xor    %eax,%eax
403440:	5f                   	pop    %edi
403441:	5e                   	pop    %esi
403442:	5d                   	pop    %ebp
403443:	5b                   	pop    %ebx
403444:	c2 04 00             	ret    $0x4
403447:	ff 74 24 08          	push   0x8(%esp)
40344b:	ff 74 24 08          	push   0x8(%esp)
40344f:	ff 35 18 a0 40 00    	push   0x40a018
403455:	e8 07 2b 00 00       	call   0x405f61
40345a:	c2 08 00             	ret    $0x8
40345d:	6a 00                	push   $0x0
40345f:	6a 00                	push   $0x0
403461:	ff 74 24 0c          	push   0xc(%esp)
403465:	ff 35 18 a0 40 00    	push   0x40a018
40346b:	ff 15 44 81 40 00    	call   *0x408144
403471:	c2 04 00             	ret    $0x4
403474:	56                   	push   %esi
403475:	be 00 78 43 00       	mov    $0x437800,%esi
40347a:	56                   	push   %esi
40347b:	e8 fc 31 00 00       	call   0x40667c
403480:	56                   	push   %esi
403481:	e8 ae 28 00 00       	call   0x405d34
403486:	85 c0                	test   %eax,%eax
403488:	75 02                	jne    0x40348c
40348a:	5e                   	pop    %esi
40348b:	c3                   	ret
40348c:	56                   	push   %esi
40348d:	e8 2b 28 00 00       	call   0x405cbd
403492:	56                   	push   %esi
403493:	e8 04 25 00 00       	call   0x40599c
403498:	56                   	push   %esi
403499:	68 00 70 43 00       	push   $0x437000
40349e:	e8 6a 2a 00 00       	call   0x405f0d
4034a3:	5e                   	pop    %esi
4034a4:	c3                   	ret
4034a5:	81 ec d4 02 00 00    	sub    $0x2d4,%esp
4034ab:	53                   	push   %ebx
4034ac:	56                   	push   %esi
4034ad:	57                   	push   %edi
4034ae:	6a 20                	push   $0x20
4034b0:	5f                   	pop    %edi
4034b1:	33 db                	xor    %ebx,%ebx
4034b3:	68 01 80 00 00       	push   $0x8001
4034b8:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4034bc:	c7 44 24 10 30 a2 40 	movl   $0x40a230,0x10(%esp)
4034c3:	00
4034c4:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4034c8:	ff 15 ac 80 40 00    	call   *0x4080ac
4034ce:	ff 15 a8 80 40 00    	call   *0x4080a8
4034d4:	25 ff ff ff bf       	and    $0xbfffffff,%eax
4034d9:	66 3d 06 00          	cmp    $0x6,%ax
4034dd:	a3 4c a2 42 00       	mov    %eax,0x42a24c
4034e2:	74 11                	je     0x4034f5
4034e4:	53                   	push   %ebx
4034e5:	e8 d8 32 00 00       	call   0x4067c2
4034ea:	3b c3                	cmp    %ebx,%eax
4034ec:	74 07                	je     0x4034f5
4034ee:	68 00 0c 00 00       	push   $0xc00
4034f3:	ff d0                	call   *%eax
4034f5:	be b0 82 40 00       	mov    $0x4082b0,%esi
4034fa:	56                   	push   %esi
4034fb:	e8 52 32 00 00       	call   0x406752
403500:	56                   	push   %esi
403501:	ff 15 50 81 40 00    	call   *0x408150
403507:	8d 74 06 01          	lea    0x1(%esi,%eax,1),%esi
40350b:	80 3e 00             	cmpb   $0x0,(%esi)
40350e:	75 ea                	jne    0x4034fa