4571fd:	83 3c b9 00          	cmpl   $0x0,(%ecx,%edi,4)
457201:	74 19                	je     0x45721c
457203:	ff 34 b9             	push   (%ecx,%edi,4)
457206:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
457209:	e8 ce fe ff ff       	call   0x4570dc
45720e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
457211:	50                   	push   %eax
457212:	53                   	push   %ebx
457213:	ff 15 58 f4 48 00    	call   *0x48f458
457219:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45721c:	47                   	inc    %edi
45721d:	83 c3 10             	add    $0x10,%ebx
457220:	3b fe                	cmp    %esi,%edi
457222:	7c d9                	jl     0x4571fd
457224:	ff 75 08             	push   0x8(%ebp)
457227:	ff 15 24 f4 48 00    	call   *0x48f424
45722d:	8b 75 08             	mov    0x8(%ebp),%esi
457230:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
457233:	e8 e8 27 fb ff       	call   0x409a20
457238:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45723b:	50                   	push   %eax
45723c:	ff 15 5c f4 48 00    	call   *0x48f45c
457242:	8b c6                	mov    %esi,%eax
457244:	eb 31                	jmp    0x457277
457246:	ff 75 08             	push   0x8(%ebp)
457249:	ff 15 20 f4 48 00    	call   *0x48f420
45724f:	ff 75 08             	push   0x8(%ebp)
457252:	ff 15 1c f4 48 00    	call   *0x48f41c
457258:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45725b:	e8 c0 27 fb ff       	call   0x409a20
457260:	8d 45 d4             	lea    -0x2c(%ebp),%eax
457263:	50                   	push   %eax
457264:	ff 15 5c f4 48 00    	call   *0x48f45c
45726a:	eb 09                	jmp    0x457275
45726c:	ff 75 08             	push   0x8(%ebp)
45726f:	ff 15 1c f4 48 00    	call   *0x48f41c
457275:	33 c0                	xor    %eax,%eax
457277:	5f                   	pop    %edi
457278:	5e                   	pop    %esi
457279:	5b                   	pop    %ebx
45727a:	8b e5                	mov    %ebp,%esp
45727c:	5d                   	pop    %ebp
45727d:	c2 04 00             	ret    $0x4
457280:	55                   	push   %ebp
457281:	8b ec                	mov    %esp,%ebp
457283:	8b 4d 08             	mov    0x8(%ebp),%ecx
457286:	83 ec 18             	sub    $0x18,%esp
457289:	56                   	push   %esi
45728a:	e8 53 17 01 00       	call   0x4689e2
45728f:	50                   	push   %eax
457290:	6a 00                	push   $0x0
457292:	6a 11                	push   $0x11
457294:	ff 15 34 f4 48 00    	call   *0x48f434
45729a:	8b f0                	mov    %eax,%esi
45729c:	85 f6                	test   %esi,%esi
45729e:	74 3c                	je     0x4572dc
4572a0:	ff 75 08             	push   0x8(%ebp)
4572a3:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4572a7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4572aa:	83 c6 18             	add    $0x18,%esi
4572ad:	e8 0e 28 fb ff       	call   0x409ac0
4572b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4572b5:	e8 28 17 01 00       	call   0x4689e2
4572ba:	50                   	push   %eax
4572bb:	51                   	push   %ecx
4572bc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4572bf:	e8 db 16 01 00       	call   0x46899f
4572c4:	59                   	pop    %ecx
4572c5:	50                   	push   %eax
4572c6:	56                   	push   %esi
4572c7:	e8 b4 9d fc ff       	call   0x421080
4572cc:	83 c4 0c             	add    $0xc,%esp
4572cf:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4572d2:	e8 49 27 fb ff       	call   0x409a20
4572d7:	8d 46 e8             	lea    -0x18(%esi),%eax
4572da:	eb 02                	jmp    0x4572de
4572dc:	33 c0                	xor    %eax,%eax
4572de:	5e                   	pop    %esi
4572df:	8b e5                	mov    %ebp,%esp
4572e1:	5d                   	pop    %ebp
4572e2:	c2 04 00             	ret    $0x4
4572e5:	55                   	push   %ebp
4572e6:	8b ec                	mov    %esp,%ebp
4572e8:	56                   	push   %esi
4572e9:	57                   	push   %edi
4572ea:	8b f9                	mov    %ecx,%edi
4572ec:	83 67 0c 00          	andl   $0x0,0xc(%edi)
4572f0:	8d 4f 18             	lea    0x18(%edi),%ecx
4572f3:	83 67 10 00          	andl   $0x0,0x10(%edi)
4572f7:	c7 07 40 70 4b 00    	movl   $0x4b7040,(%edi)
4572fd:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
457304:	e8 be 04 fb ff       	call   0x4077c7
457309:	ff 75 08             	push   0x8(%ebp)
45730c:	8d 4f 18             	lea    0x18(%edi),%ecx
45730f:	e8 93 0e fb ff       	call   0x4081a7
457314:	c7 47 08 0e 00 00 00 	movl   $0xe,0x8(%edi)
45731b:	8b c7                	mov    %edi,%eax
45731d:	5f                   	pop    %edi
45731e:	5e                   	pop    %esi
45731f:	5d                   	pop    %ebp
457320:	c2 04 00             	ret    $0x4
457323:	55                   	push   %ebp
457324:	8b ec                	mov    %esp,%ebp
457326:	56                   	push   %esi
457327:	8b f1                	mov    %ecx,%esi
457329:	83 66 0c 00          	andl   $0x0,0xc(%esi)
45732d:	8d 4e 18             	lea    0x18(%esi),%ecx
457330:	83 66 10 00          	andl   $0x0,0x10(%esi)
457334:	c7 06 40 70 4b 00    	movl   $0x4b7040,(%esi)
45733a:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
457341:	e8 81 04 fb ff       	call   0x4077c7
457346:	8b 45 08             	mov    0x8(%ebp),%eax
457349:	89 46 14             	mov    %eax,0x14(%esi)
45734c:	8b c6                	mov    %esi,%eax
45734e:	c7 46 08 0d 00 00 00 	movl   $0xd,0x8(%esi)
457355:	5e                   	pop    %esi
457356:	5d                   	pop    %ebp
457357:	c2 04 00             	ret    $0x4
45735a:	55                   	push   %ebp
45735b:	8b ec                	mov    %esp,%ebp
45735d:	56                   	push   %esi
45735e:	8b f1                	mov    %ecx,%esi
457360:	57                   	push   %edi
457361:	33 ff                	xor    %edi,%edi
457363:	c7 06 40 70 4b 00    	movl   $0x4b7040,(%esi)
457369:	8d 4e 18             	lea    0x18(%esi),%ecx
45736c:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
457373:	89 7e 10             	mov    %edi,0x10(%esi)
457376:	e8 4c 04 fb ff       	call   0x4077c7
45737b:	6a 14                	push   $0x14
45737d:	e8 74 9c fc ff       	call   0x420ff6
457382:	59                   	pop    %ecx
457383:	85 c0                	test   %eax,%eax
457385:	74 0c                	je     0x457393
457387:	ff 75 08             	push   0x8(%ebp)
45738a:	8b c8                	mov    %eax,%ecx
45738c:	e8 e6 e8 00 00       	call   0x465c77
457391:	8b f8                	mov    %eax,%edi
457393:	89 7e 0c             	mov    %edi,0xc(%esi)
457396:	8b c6                	mov    %esi,%eax
457398:	5f                   	pop    %edi
457399:	c7 46 08 0c 00 00 00 	movl   $0xc,0x8(%esi)
4573a0:	5e                   	pop    %esi
4573a1:	5d                   	pop    %ebp
4573a2:	c2 04 00             	ret    $0x4
4573a5:	55                   	push   %ebp
4573a6:	8b ec                	mov    %esp,%ebp
4573a8:	56                   	push   %esi
4573a9:	8b f1                	mov    %ecx,%esi
4573ab:	57                   	push   %edi
4573ac:	33 ff                	xor    %edi,%edi
4573ae:	c7 06 40 70 4b 00    	movl   $0x4b7040,(%esi)
4573b4:	8d 4e 18             	lea    0x18(%esi),%ecx
4573b7:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
4573be:	89 7e 0c             	mov    %edi,0xc(%esi)
4573c1:	e8 01 04 fb ff       	call   0x4077c7
4573c6:	6a 18                	push   $0x18
4573c8:	e8 29 9c fc ff       	call   0x420ff6
4573cd:	59                   	pop    %ecx
4573ce:	85 c0                	test   %eax,%eax
4573d0:	74 0c                	je     0x4573de
4573d2:	ff 75 08             	push   0x8(%ebp)
4573d5:	8b c8                	mov    %eax,%ecx
4573d7:	e8 a8 a6 00 00       	call   0x461a84
4573dc:	8b f8                	mov    %eax,%edi
4573de:	89 7e 10             	mov    %edi,0x10(%esi)
4573e1:	8b c6                	mov    %esi,%eax
4573e3:	5f                   	pop    %edi
4573e4:	c7 46 08 0f 00 00 00 	movl   $0xf,0x8(%esi)
4573eb:	5e                   	pop    %esi
4573ec:	5d                   	pop    %ebp
4573ed:	c2 04 00             	ret    $0x4
4573f0:	56                   	push   %esi
4573f1:	8b f1                	mov    %ecx,%esi
4573f3:	e8 aa f0 00 00       	call   0x4664a2
4573f8:	56                   	push   %esi
4573f9:	e8 6e 9c fc ff       	call   0x42106c
4573fe:	59                   	pop    %ecx
4573ff:	8b c6                	mov    %esi,%eax
457401:	5e                   	pop    %esi
457402:	c2 04 00             	ret    $0x4
457405:	56                   	push   %esi
457406:	8b f1                	mov    %ecx,%esi
457408:	e8 cb a6 00 00       	call   0x461ad8
45740d:	56                   	push   %esi
45740e:	e8 59 9c fc ff       	call   0x42106c
457413:	59                   	pop    %ecx
457414:	8b c6                	mov    %esi,%eax
457416:	5e                   	pop    %esi
457417:	c2 04 00             	ret    $0x4
45741a:	56                   	push   %esi
45741b:	8b f1                	mov    %ecx,%esi
45741d:	8b 4e 0c             	mov    0xc(%esi),%ecx
457420:	c7 06 40 70 4b 00    	movl   $0x4b7040,(%esi)
457426:	85 c9                	test   %ecx,%ecx
457428:	74 06                	je     0x457430
45742a:	51                   	push   %ecx
45742b:	e8 c0 ff ff ff       	call   0x4573f0
457430:	8b 4e 10             	mov    0x10(%esi),%ecx
457433:	85 c9                	test   %ecx,%ecx
457435:	74 06                	je     0x45743d
457437:	51                   	push   %ecx
457438:	e8 c8 ff ff ff       	call   0x457405
45743d:	8d 4e 18             	lea    0x18(%esi),%ecx
457440:	e8 1f e6 fa ff       	call   0x405a64
457445:	56                   	push   %esi
457446:	e8 21 9c fc ff       	call   0x42106c
45744b:	59                   	pop    %ecx
45744c:	8b c6                	mov    %esi,%eax
45744e:	5e                   	pop    %esi
45744f:	c2 04 00             	ret    $0x4
457452:	55                   	push   %ebp
457453:	8b ec                	mov    %esp,%ebp
457455:	8b 4d 14             	mov    0x14(%ebp),%ecx
457458:	85 c9                	test   %ecx,%ecx
45745a:	74 2d                	je     0x457489
45745c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
457460:	75 27                	jne    0x457489
457462:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
457466:	75 21                	jne    0x457489
457468:	8b 45 08             	mov    0x8(%ebp),%eax
45746b:	83 78 08 0c          	cmpl   $0xc,0x8(%eax)
45746f:	75 18                	jne    0x457489
457471:	6a 16                	push   $0x16
457473:	5a                   	pop    %edx
457474:	66 89 11             	mov    %dx,(%ecx)
457477:	8b 40 0c             	mov    0xc(%eax),%eax
45747a:	8b 40 0c             	mov    0xc(%eax),%eax
45747d:	48                   	dec    %eax
45747e:	c1 e8 02             	shr    $0x2,%eax
457481:	40                   	inc    %eax
457482:	89 41 08             	mov    %eax,0x8(%ecx)
457485:	33 c0                	xor    %eax,%eax
457487:	eb 05                	jmp    0x45748e
457489:	b8 01 40 00 80       	mov    $0x80004001,%eax
45748e:	5d                   	pop    %ebp
45748f:	c2 10 00             	ret    $0x10
457492:	55                   	push   %ebp
457493:	8b ec                	mov    %esp,%ebp
457495:	56                   	push   %esi
457496:	8b 75 14             	mov    0x14(%ebp),%esi
457499:	85 f6                	test   %esi,%esi
45749b:	74 51                	je     0x4574ee
45749d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4574a1:	75 4b                	jne    0x4574ee
4574a3:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4574a7:	75 45                	jne    0x4574ee
4574a9:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4574ad:	75 3f                	jne    0x4574ee
4574af:	8b 4d 08             	mov    0x8(%ebp),%ecx
4574b2:	b8 00 80 00 00       	mov    $0x8000,%eax
4574b7:	66 89 06             	mov    %ax,(%esi)
4574ba:	66 0b 41 08          	or     0x8(%ecx),%ax
4574be:	66 89 06             	mov    %ax,(%esi)
4574c1:	8b 41 08             	mov    0x8(%ecx),%eax
4574c4:	83 e8 0c             	sub    $0xc,%eax
4574c7:	74 1b                	je     0x4574e4
4574c9:	48                   	dec    %eax
4574ca:	74 13                	je     0x4574df
4574cc:	48                   	dec    %eax
4574cd:	74 05                	je     0x4574d4
4574cf:	8b 41 10             	mov    0x10(%ecx),%eax
4574d2:	eb 13                	jmp    0x4574e7
4574d4:	ff 71 18             	push   0x18(%ecx)
4574d7:	ff 15 78 f4 48 00    	call   *0x48f478
4574dd:	eb 08                	jmp    0x4574e7
4574df:	8b 41 14             	mov    0x14(%ecx),%eax
4574e2:	eb 03                	jmp    0x4574e7
4574e4:	8b 41 0c             	mov    0xc(%ecx),%eax
4574e7:	89 46 08             	mov    %eax,0x8(%esi)
4574ea:	33 c0                	xor    %eax,%eax
4574ec:	eb 05                	jmp    0x4574f3
4574ee:	b8 57 00 07 80       	mov    $0x80070057,%eax
4574f3:	5e                   	pop    %esi
4574f4:	5d                   	pop    %ebp
4574f5:	c2 14 00             	ret    $0x14
4574f8:	55                   	push   %ebp
4574f9:	8b ec                	mov    %esp,%ebp
4574fb:	6a 10                	push   $0x10
4574fd:	68 ec 2b 49 00       	push   $0x492bec
457502:	ff 75 0c             	push   0xc(%ebp)
457505:	e8 ba a1 fc ff       	call   0x4216c4
45750a:	83 c4 0c             	add    $0xc,%esp
45750d:	85 c0                	test   %eax,%eax
45750f:	74 1d                	je     0x45752e
457511:	6a 10                	push   $0x10
457513:	68 1c 2c 49 00       	push   $0x492c1c
457518:	ff 75 0c             	push   0xc(%ebp)
45751b:	e8 a4 a1 fc ff       	call   0x4216c4
457520:	83 c4 0c             	add    $0xc,%esp
457523:	85 c0                	test   %eax,%eax
457525:	74 07                	je     0x45752e
457527:	b8 02 40 00 80       	mov    $0x80004002,%eax
45752c:	eb 12                	jmp    0x457540
45752e:	56                   	push   %esi
45752f:	8b 75 08             	mov    0x8(%ebp),%esi
457532:	56                   	push   %esi
457533:	8b 06                	mov    (%esi),%eax
457535:	ff 50 04             	call   *0x4(%eax)
457538:	8b 45 10             	mov    0x10(%ebp),%eax
45753b:	89 30                	mov    %esi,(%eax)
45753d:	33 c0                	xor    %eax,%eax
45753f:	5e                   	pop    %esi
457540:	5d                   	pop    %ebp
457541:	c2 0c 00             	ret    $0xc
457544:	55                   	push   %ebp
457545:	8b ec                	mov    %esp,%ebp
457547:	56                   	push   %esi
457548:	8b 75 08             	mov    0x8(%ebp),%esi
45754b:	8d 46 04             	lea    0x4(%esi),%eax
45754e:	50                   	push   %eax
45754f:	ff 15 50 f3 48 00    	call   *0x48f350
457555:	85 c0                	test   %eax,%eax
457557:	75 0e                	jne    0x457567
457559:	85 f6                	test   %esi,%esi
45755b:	74 08                	je     0x457565
45755d:	51                   	push   %ecx
45755e:	8b ce                	mov    %esi,%ecx
457560:	e8 b5 fe ff ff       	call   0x45741a
457565:	33 c0                	xor    %eax,%eax
457567:	5e                   	pop    %esi
457568:	5d                   	pop    %ebp
457569:	c2 04 00             	ret    $0x4
45756c:	8b 09                	mov    (%ecx),%ecx
45756e:	85 c9                	test   %ecx,%ecx
457570:	74 06                	je     0x457578
457572:	8b 01                	mov    (%ecx),%eax
457574:	51                   	push   %ecx
457575:	ff 50 08             	call   *0x8(%eax)
457578:	c3                   	ret
457579:	55                   	push   %ebp
45757a:	8b ec                	mov    %esp,%ebp
45757c:	51                   	push   %ecx
45757d:	51                   	push   %ecx
45757e:	85 c9                	test   %ecx,%ecx
457580:	75 0a                	jne    0x45758c
457582:	68 57 00 07 80       	push   $0x80070057
457587:	e8 a5 00 00 00       	call   0x457631
45758c:	8b 01                	mov    (%ecx),%eax
45758e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
457592:	56                   	push   %esi
457593:	57                   	push   %edi
457594:	6a 1d                	push   $0x1d
457596:	5e                   	pop    %esi
457597:	8d 7d fc             	lea    -0x4(%ebp),%edi
45759a:	57                   	push   %edi
45759b:	52                   	push   %edx
45759c:	51                   	push   %ecx
45759d:	ff 50 38             	call   *0x38(%eax)
4575a0:	85 c0                	test   %eax,%eax