417178:	8d 8d dc cd ff ff    	lea    -0x3224(%ebp),%ecx
41717e:	e8 f9 db 00 00       	call   0x424d7c
417183:	68 10 6c 43 00       	push   $0x436c10
417188:	8d 85 dc cd ff ff    	lea    -0x3224(%ebp),%eax
41718e:	50                   	push   %eax
41718f:	e8 42 3c 00 00       	call   0x41add6
417194:	51                   	push   %ecx
417195:	ba 1c 09 00 00       	mov    $0x91c,%edx
41719a:	e8 58 6e 01 00       	call   0x42dff7
41719f:	cc                   	int3
4171a0:	8b ff                	mov    %edi,%edi
4171a2:	55                   	push   %ebp
4171a3:	8b ec                	mov    %esp,%ebp
4171a5:	8d 41 10             	lea    0x10(%ecx),%eax
4171a8:	50                   	push   %eax
4171a9:	68 00 01 00 00       	push   $0x100
4171ae:	6a 20                	push   $0x20
4171b0:	ff 75 08             	push   0x8(%ebp)
4171b3:	e8 b4 d7 ff ff       	call   0x41496c
4171b8:	5d                   	pop    %ebp
4171b9:	c2 04 00             	ret    $0x4
4171bc:	6a 04                	push   $0x4
4171be:	b8 fc e2 41 00       	mov    $0x41e2fc,%eax
4171c3:	e8 46 3c 00 00       	call   0x41ae0e
4171c8:	8b f9                	mov    %ecx,%edi
4171ca:	8b 8f 18 04 00 00    	mov    0x418(%edi),%ecx
4171d0:	85 c9                	test   %ecx,%ecx
4171d2:	74 5f                	je     0x417233
4171d4:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4171d8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4171db:	6a 04                	push   $0x4
4171dd:	50                   	push   %eax
4171de:	e8 57 00 00 00       	call   0x41723a
4171e3:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4171e6:	8b c8                	mov    %eax,%ecx
4171e8:	85 c9                	test   %ecx,%ecx
4171ea:	78 20                	js     0x41720c
4171ec:	3b 9f 0c 04 00 00    	cmp    0x40c(%edi),%ebx
4171f2:	0f 87 7d b7 00 00    	ja     0x422975
4171f8:	8b 8f 18 04 00 00    	mov    0x418(%edi),%ecx
4171fe:	53                   	push   %ebx
4171ff:	ff b7 04 04 00 00    	push   0x404(%edi)
417205:	e8 30 00 00 00       	call   0x41723a
41720a:	8b c8                	mov    %eax,%ecx
41720c:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
417212:	83 a7 d8 09 00 00 00 	andl   $0x0,0x9d8(%edi)
417219:	89 87 d4 09 00 00    	mov    %eax,0x9d4(%edi)
41721f:	8b c1                	mov    %ecx,%eax
417221:	89 9f 10 04 00 00    	mov    %ebx,0x410(%edi)
417227:	89 9f dc 09 00 00    	mov    %ebx,0x9dc(%edi)
41722d:	e8 aa 3b 00 00       	call   0x41addc
417232:	c3                   	ret
417233:	b8 05 40 00 80       	mov    $0x80004005,%eax
417238:	eb f3                	jmp    0x41722d
41723a:	8b ff                	mov    %edi,%edi
41723c:	55                   	push   %ebp
41723d:	8b ec                	mov    %esp,%ebp
41723f:	83 e4 f8             	and    $0xfffffff8,%esp
417242:	51                   	push   %ecx
417243:	53                   	push   %ebx
417244:	56                   	push   %esi
417245:	8b 75 0c             	mov    0xc(%ebp),%esi
417248:	8b d9                	mov    %ecx,%ebx
41724a:	57                   	push   %edi
41724b:	85 f6                	test   %esi,%esi
41724d:	74 2a                	je     0x417279
41724f:	8b 7d 08             	mov    0x8(%ebp),%edi
417252:	33 c0                	xor    %eax,%eax
417254:	85 c0                	test   %eax,%eax
417256:	78 18                	js     0x417270
417258:	8d 44 24 0c          	lea    0xc(%esp),%eax
41725c:	8b cb                	mov    %ebx,%ecx
41725e:	50                   	push   %eax
41725f:	56                   	push   %esi
417260:	57                   	push   %edi
417261:	e8 1a 00 00 00       	call   0x417280
417266:	03 7c 24 0c          	add    0xc(%esp),%edi
41726a:	2b 74 24 0c          	sub    0xc(%esp),%esi
41726e:	75 e4                	jne    0x417254
417270:	5f                   	pop    %edi
417271:	5e                   	pop    %esi
417272:	5b                   	pop    %ebx
417273:	8b e5                	mov    %ebp,%esp
417275:	5d                   	pop    %ebp
417276:	c2 08 00             	ret    $0x8
417279:	b8 57 00 07 80       	mov    $0x80070057,%eax
41727e:	eb f0                	jmp    0x417270
417280:	8b ff                	mov    %edi,%edi
417282:	55                   	push   %ebp
417283:	8b ec                	mov    %esp,%ebp
417285:	83 ec 20             	sub    $0x20,%esp
417288:	8b 45 10             	mov    0x10(%ebp),%eax
41728b:	53                   	push   %ebx
41728c:	56                   	push   %esi
41728d:	57                   	push   %edi
41728e:	33 ff                	xor    %edi,%edi
417290:	8b f1                	mov    %ecx,%esi
417292:	8b cf                	mov    %edi,%ecx
417294:	89 4d ec             	mov    %ecx,-0x14(%ebp)
417297:	85 c0                	test   %eax,%eax
417299:	74 02                	je     0x41729d
41729b:	89 38                	mov    %edi,(%eax)
41729d:	8b 46 28             	mov    0x28(%esi),%eax
4172a0:	39 b8 80 00 00 00    	cmp    %edi,0x80(%eax)
4172a6:	0f 8d 1a 01 00 00    	jge    0x4173c6
4172ac:	66 39 7e 06          	cmp    %di,0x6(%esi)
4172b0:	0f 84 23 b7 00 00    	je     0x4229d9
4172b6:	8b 46 28             	mov    0x28(%esi),%eax
4172b9:	8b 55 0c             	mov    0xc(%ebp),%edx
4172bc:	8b da                	mov    %edx,%ebx
4172be:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4172c1:	89 7d f8             	mov    %edi,-0x8(%ebp)
4172c4:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
4172ca:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
4172cf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4172d2:	85 d2                	test   %edx,%edx
4172d4:	0f 84 c6 00 00 00    	je     0x4173a0
4172da:	8b 46 28             	mov    0x28(%esi),%eax
4172dd:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
4172e3:	8b 46 28             	mov    0x28(%esi),%eax
4172e6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4172e9:	8b 98 90 00 00 00    	mov    0x90(%eax),%ebx
4172ef:	8b 46 28             	mov    0x28(%esi),%eax
4172f2:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
4172f8:	85 c0                	test   %eax,%eax
4172fa:	0f 89 c6 00 00 00    	jns    0x4173c6
417300:	8b 55 f4             	mov    -0xc(%ebp),%edx
417303:	8b f9                	mov    %ecx,%edi
417305:	2b fb                	sub    %ebx,%edi
417307:	3b cb                	cmp    %ebx,%ecx
417309:	0f 82 e3 b6 00 00    	jb     0x4229f2
41730f:	85 ff                	test   %edi,%edi
417311:	75 20                	jne    0x417333
417313:	a9 00 00 00 40       	test   $0x40000000,%eax
417318:	0f 85 db b6 00 00    	jne    0x4229f9
41731e:	8b ce                	mov    %esi,%ecx
417320:	e8 05 d7 ff ff       	call   0x414a2a
417325:	8b c8                	mov    %eax,%ecx
417327:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41732a:	85 c9                	test   %ecx,%ecx
41732c:	74 5f                	je     0x41738d
41732e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
417331:	eb 68                	jmp    0x41739b
417333:	8b 45 fc             	mov    -0x4(%ebp),%eax
417336:	3b c7                	cmp    %edi,%eax
417338:	0f 82 81 00 00 00    	jb     0x4173bf
41733e:	3b cb                	cmp    %ebx,%ecx
417340:	0f 86 d5 b6 00 00    	jbe    0x422a1b
417346:	8b 46 28             	mov    0x28(%esi),%eax
417349:	05 98 00 00 00       	add    $0x98,%eax
41734e:	03 c3                	add    %ebx,%eax
417350:	57                   	push   %edi
417351:	50                   	push   %eax
417352:	8b 45 f8             	mov    -0x8(%ebp),%eax
417355:	03 45 08             	add    0x8(%ebp),%eax
417358:	50                   	push   %eax
417359:	e8 88 3b 00 00       	call   0x41aee6
41735e:	83 c4 0c             	add    $0xc,%esp
417361:	03 df                	add    %edi,%ebx
417363:	8b 46 28             	mov    0x28(%esi),%eax
417366:	29 7d fc             	sub    %edi,-0x4(%ebp)
417369:	01 7d f8             	add    %edi,-0x8(%ebp)
41736c:	89 98 90 00 00 00    	mov    %ebx,0x90(%eax)
417372:	8b c3                	mov    %ebx,%eax
417374:	2b 45 e0             	sub    -0x20(%ebp),%eax
417377:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
41737a:	72 03                	jb     0x41737f
41737c:	03 45 f4             	add    -0xc(%ebp),%eax
41737f:	3b 46 44             	cmp    0x44(%esi),%eax
417382:	72 09                	jb     0x41738d
417384:	ff 76 30             	push   0x30(%esi)
417387:	ff 15 b0 a2 43 00    	call   *0x43a2b0
41738d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
417390:	85 db                	test   %ebx,%ebx
417392:	0f 85 42 ff ff ff    	jne    0x4172da
417398:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41739b:	8b 55 0c             	mov    0xc(%ebp),%edx
41739e:	33 ff                	xor    %edi,%edi
4173a0:	8b 45 10             	mov    0x10(%ebp),%eax
4173a3:	85 c0                	test   %eax,%eax
4173a5:	74 04                	je     0x4173ab
4173a7:	2b d3                	sub    %ebx,%edx
4173a9:	89 10                	mov    %edx,(%eax)
4173ab:	8b 46 28             	mov    0x28(%esi),%eax
4173ae:	39 b8 80 00 00 00    	cmp    %edi,0x80(%eax)
4173b4:	8b c1                	mov    %ecx,%eax
4173b6:	7d 0e                	jge    0x4173c6
4173b8:	5f                   	pop    %edi
4173b9:	5e                   	pop    %esi
4173ba:	5b                   	pop    %ebx
4173bb:	c9                   	leave
4173bc:	c2 0c 00             	ret    $0xc
4173bf:	8b f8                	mov    %eax,%edi
4173c1:	e9 78 ff ff ff       	jmp    0x41733e
4173c6:	b8 b4 0d 04 80       	mov    $0x80040db4,%eax
4173cb:	eb eb                	jmp    0x4173b8
4173cd:	68 48 01 00 00       	push   $0x148
4173d2:	b8 7f ec 41 00       	mov    $0x41ec7f,%eax
4173d7:	e8 65 3a 00 00       	call   0x41ae41
4173dc:	51                   	push   %ecx
4173dd:	51                   	push   %ecx
4173de:	51                   	push   %ecx
4173df:	ff 35 10 8a 43 00    	push   0x438a10
4173e5:	8d 8d b0 fe ff ff    	lea    -0x150(%ebp),%ecx
4173eb:	be 05 40 00 80       	mov    $0x80004005,%esi
4173f0:	e8 18 71 ff ff       	call   0x40e50d
4173f5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4173f9:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4173ff:	68 19 00 02 00       	push   $0x20019
417404:	68 e0 41 40 00       	push   $0x4041e0
417409:	50                   	push   %eax
41740a:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
417410:	e8 49 79 ff ff       	call   0x40ed5e
417415:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
41741b:	50                   	push   %eax
41741c:	68 b0 41 40 00       	push   $0x4041b0
417421:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
417427:	e8 24 06 00 00       	call   0x417a50
41742c:	85 c0                	test   %eax,%eax
41742e:	74 0e                	je     0x41743e
417430:	8b 8d ac fe ff ff    	mov    -0x154(%ebp),%ecx
417436:	33 f6                	xor    %esi,%esi
417438:	89 0d 0c 8a 43 00    	mov    %ecx,0x438a0c
41743e:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
417444:	e8 8c c0 ff ff       	call   0x4134d5
417449:	8d 8d b0 fe ff ff    	lea    -0x150(%ebp),%ecx
41744f:	e8 81 c0 ff ff       	call   0x4134d5
417454:	8b c6                	mov    %esi,%eax
417456:	e8 95 39 00 00       	call   0x41adf0
41745b:	c3                   	ret
41745c:	68 44 01 00 00       	push   $0x144
417461:	b8 b2 ec 41 00       	mov    $0x41ecb2,%eax
417466:	e8 d6 39 00 00       	call   0x41ae41
41746b:	51                   	push   %ecx
41746c:	51                   	push   %ecx
41746d:	51                   	push   %ecx
41746e:	ff 35 10 8a 43 00    	push   0x438a10
417474:	8d 8d b0 fe ff ff    	lea    -0x150(%ebp),%ecx
41747a:	e8 8e 70 ff ff       	call   0x40e50d
41747f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
417483:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
417489:	68 19 00 02 00       	push   $0x20019
41748e:	68 e0 41 40 00       	push   $0x4041e0
417493:	50                   	push   %eax
417494:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41749a:	e8 bf 78 ff ff       	call   0x40ed5e
41749f:	68 08 8a 43 00       	push   $0x438a08
4174a4:	68 04 42 40 00       	push   $0x404204
4174a9:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
4174af:	e8 9c 05 00 00       	call   0x417a50
4174b4:	f7 d8                	neg    %eax
4174b6:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
4174bc:	1b f6                	sbb    %esi,%esi
4174be:	f7 d6                	not    %esi
4174c0:	81 e6 05 40 00 80    	and    $0x80004005,%esi
4174c6:	e8 0a c0 ff ff       	call   0x4134d5
4174cb:	8d 8d b0 fe ff ff    	lea    -0x150(%ebp),%ecx
4174d1:	e8 ff bf ff ff       	call   0x4134d5
4174d6:	8b c6                	mov    %esi,%eax
4174d8:	e8 13 39 00 00       	call   0x41adf0
4174dd:	c3                   	ret
4174de:	68 58 01 00 00       	push   $0x158
4174e3:	b8 f0 ec 41 00       	mov    $0x41ecf0,%eax
4174e8:	e8 54 39 00 00       	call   0x41ae41
4174ed:	51                   	push   %ecx
4174ee:	51                   	push   %ecx
4174ef:	51                   	push   %ecx
4174f0:	ff 35 10 8a 43 00    	push   0x438a10
4174f6:	8d 8d b0 fe ff ff    	lea    -0x150(%ebp),%ecx
4174fc:	e8 0c 70 ff ff       	call   0x40e50d
417501:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
417505:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
41750b:	68 19 00 02 00       	push   $0x20019
417510:	68 e0 41 40 00       	push   $0x4041e0
417515:	50                   	push   %eax
417516:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41751c:	e8 3d 78 ff ff       	call   0x40ed5e
417521:	68 f0 85 43 00       	push   $0x4385f0
417526:	68 20 42 40 00       	push   $0x404220
41752b:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
417531:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
417535:	e8 16 05 00 00       	call   0x417a50
41753a:	85 c0                	test   %eax,%eax
41753c:	75 0c                	jne    0x41754a
41753e:	39 05 bc 8e 43 00    	cmp    %eax,0x438ebc
417544:	0f 85 4d b5 00 00    	jne    0x422a97
41754a:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
417550:	e8 80 bf ff ff       	call   0x4134d5
417555:	8d 8d b0 fe ff ff    	lea    -0x150(%ebp),%ecx
41755b:	e8 75 bf ff ff       	call   0x4134d5
417560:	e8 8b 38 00 00       	call   0x41adf0
417565:	c3                   	ret
417566:	8b ff                	mov    %edi,%edi
417568:	55                   	push   %ebp
417569:	8b ec                	mov    %esp,%ebp
41756b:	83 ec 34             	sub    $0x34,%esp
41756e:	a1 08 85 43 00       	mov    0x438508,%eax
417573:	33 c5                	xor    %ebp,%eax
417575:	89 45 fc             	mov    %eax,-0x4(%ebp)
417578:	53                   	push   %ebx
417579:	8b 5d 08             	mov    0x8(%ebp),%ebx
41757c:	8b c1                	mov    %ecx,%eax
41757e:	56                   	push   %esi
41757f:	57                   	push   %edi
417580:	8b 7d 0c             	mov    0xc(%ebp),%edi
417583:	89 55 ec             	mov    %edx,-0x14(%ebp)
417586:	8b 55 10             	mov    0x10(%ebp),%edx
417589:	89 45 e8             	mov    %eax,-0x18(%ebp)
41758c:	85 ff                	test   %edi,%edi
41758e:	75 43                	jne    0x4175d3
417590:	ff 75 ec             	push   -0x14(%ebp)
417593:	8b 32                	mov    (%edx),%esi
417595:	b8 cc 3f 40 00       	mov    $0x403fcc,%eax
41759a:	50                   	push   %eax
41759b:	50                   	push   %eax
41759c:	33 c0                	xor    %eax,%eax
41759e:	50                   	push   %eax
41759f:	50                   	push   %eax
4175a0:	6a 14                	push   $0x14
4175a2:	59                   	pop    %ecx
4175a3:	51                   	push   %ecx
4175a4:	51                   	push   %ecx
4175a5:	8b 4e 0c             	mov    0xc(%esi),%ecx
4175a8:	50                   	push   %eax
4175a9:	ff 75 e8             	push   -0x18(%ebp)
4175ac:	52                   	push   %edx
4175ad:	ff 15 20 a5 43 00    	call   *0x43a520
4175b3:	ff 56 0c             	call   *0xc(%esi)
4175b6:	8b f0                	mov    %eax,%esi
4175b8:	85 f6                	test   %esi,%esi
4175ba:	0f 88 77 b5 00 00    	js     0x422b37
4175c0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4175c3:	8b c6                	mov    %esi,%eax
4175c5:	5f                   	pop    %edi
4175c6:	5e                   	pop    %esi
4175c7:	33 cd                	xor    %ebp,%ecx
4175c9:	5b                   	pop    %ebx
4175ca:	e8 f1 31 00 00       	call   0x41a7c0
4175cf:	c9                   	leave
4175d0:	c2 0c 00             	ret    $0xc
4175d3:	8b 37                	mov    (%edi),%esi
4175d5:	89 45 d0             	mov    %eax,-0x30(%ebp)
4175d8:	33 c0                	xor    %eax,%eax
4175da:	6a 14                	push   $0x14
4175dc:	59                   	pop    %ecx
4175dd:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4175e0:	89 45 d8             	mov    %eax,-0x28(%ebp)
4175e3:	89 45 dc             	mov    %eax,-0x24(%ebp)
4175e6:	b8 cc 3f 40 00       	mov    $0x403fcc,%eax
4175eb:	89 45 e0             	mov    %eax,-0x20(%ebp)