416344:	66 8b 04 01          	mov    (%ecx,%eax,1),%ax
416348:	66 3b 01             	cmp    (%ecx),%ax
41634b:	75 14                	jne    0x416361
41634d:	83 c1 02             	add    $0x2,%ecx
416350:	83 ad 78 ff ff ff 01 	subl   $0x1,-0x88(%ebp)
416357:	74 16                	je     0x41636f
416359:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
41635f:	eb e3                	jmp    0x416344
416361:	8b 4d 80             	mov    -0x80(%ebp),%ecx
416364:	83 c7 02             	add    $0x2,%edi
416367:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
41636d:	eb 91                	jmp    0x416300
41636f:	2b bd 74 ff ff ff    	sub    -0x8c(%ebp),%edi
416375:	d1 ff                	sar    $1,%edi
416377:	83 ff ff             	cmp    $0xffffffff,%edi
41637a:	74 72                	je     0x4163ee
41637c:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
416382:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416385:	3b c7                	cmp    %edi,%eax
416387:	74 65                	je     0x4163ee
416389:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
41638f:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
416395:	50                   	push   %eax
416396:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
41639c:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
4163a2:	50                   	push   %eax
4163a3:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4163a9:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
4163af:	50                   	push   %eax
4163b0:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
4163b6:	e8 25 f9 ff ff       	call   0x415ce0
4163bb:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4163c1:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
4163c7:	8b 45 88             	mov    -0x78(%ebp),%eax
4163ca:	89 45 88             	mov    %eax,-0x78(%ebp)
4163cd:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4163d3:	50                   	push   %eax
4163d4:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4163da:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
4163e0:	50                   	push   %eax
4163e1:	8d 45 88             	lea    -0x78(%ebp),%eax
4163e4:	50                   	push   %eax
4163e5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4163e8:	50                   	push   %eax
4163e9:	e8 f2 f8 ff ff       	call   0x415ce0
4163ee:	8b 45 8c             	mov    -0x74(%ebp),%eax
4163f1:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4163f5:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4163f8:	83 f9 08             	cmp    $0x8,%ecx
4163fb:	72 32                	jb     0x41642f
4163fd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
416404:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41640a:	72 16                	jb     0x416422
41640c:	8b 50 fc             	mov    -0x4(%eax),%edx
41640f:	83 c1 23             	add    $0x23,%ecx
416412:	2b c2                	sub    %edx,%eax
416414:	83 c0 fc             	add    $0xfffffffc,%eax
416417:	83 f8 1f             	cmp    $0x1f,%eax
41641a:	0f 87 f6 00 00 00    	ja     0x416516
416420:	eb 03                	jmp    0x416425
416422:	8b 55 8c             	mov    -0x74(%ebp),%edx
416425:	51                   	push   %ecx
416426:	52                   	push   %edx
416427:	e8 e2 54 00 00       	call   0x41b90e
41642c:	83 c4 08             	add    $0x8,%esp
41642f:	80 7d 86 00          	cmpb   $0x0,-0x7a(%ebp)
416433:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
416437:	74 3b                	je     0x416474
416439:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
41643f:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
416445:	8b c2                	mov    %edx,%eax
416447:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41644e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416454:	72 14                	jb     0x41646a
416456:	8b 50 fc             	mov    -0x4(%eax),%edx
416459:	83 c1 23             	add    $0x23,%ecx
41645c:	2b c2                	sub    %edx,%eax
41645e:	83 c0 fc             	add    $0xfffffffc,%eax
416461:	83 f8 1f             	cmp    $0x1f,%eax
416464:	0f 87 ac 00 00 00    	ja     0x416516
41646a:	51                   	push   %ecx
41646b:	52                   	push   %edx
41646c:	e8 9d 54 00 00       	call   0x41b90e
416471:	83 c4 08             	add    $0x8,%esp
416474:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
416478:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
41647b:	83 f9 08             	cmp    $0x8,%ecx
41647e:	72 2e                	jb     0x4164ae
416480:	8b 55 90             	mov    -0x70(%ebp),%edx
416483:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41648a:	8b c2                	mov    %edx,%eax
41648c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416492:	72 10                	jb     0x4164a4
416494:	8b 50 fc             	mov    -0x4(%eax),%edx
416497:	83 c1 23             	add    $0x23,%ecx
41649a:	2b c2                	sub    %edx,%eax
41649c:	83 c0 fc             	add    $0xfffffffc,%eax
41649f:	83 f8 1f             	cmp    $0x1f,%eax
4164a2:	77 72                	ja     0x416516
4164a4:	51                   	push   %ecx
4164a5:	52                   	push   %edx
4164a6:	e8 63 54 00 00       	call   0x41b90e
4164ab:	83 c4 08             	add    $0x8,%esp
4164ae:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
4164b4:	83 c6 18             	add    $0x18,%esi
4164b7:	3b b0 04 01 00 00    	cmp    0x104(%eax),%esi
4164bd:	0f 85 ed fb ff ff    	jne    0x4160b0
4164c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4164c6:	83 f8 08             	cmp    $0x8,%eax
4164c9:	72 2e                	jb     0x4164f9
4164cb:	8b 55 d8             	mov    -0x28(%ebp),%edx
4164ce:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4164d5:	8b c2                	mov    %edx,%eax
4164d7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4164dd:	72 10                	jb     0x4164ef
4164df:	8b 50 fc             	mov    -0x4(%eax),%edx
4164e2:	83 c1 23             	add    $0x23,%ecx
4164e5:	2b c2                	sub    %edx,%eax
4164e7:	83 c0 fc             	add    $0xfffffffc,%eax
4164ea:	83 f8 1f             	cmp    $0x1f,%eax
4164ed:	77 27                	ja     0x416516
4164ef:	51                   	push   %ecx
4164f0:	52                   	push   %edx
4164f1:	e8 18 54 00 00       	call   0x41b90e
4164f6:	83 c4 08             	add    $0x8,%esp
4164f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4164fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416503:	59                   	pop    %ecx
416504:	5f                   	pop    %edi
416505:	5e                   	pop    %esi
416506:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416509:	33 cd                	xor    %ebp,%ecx
41650b:	e8 c0 53 00 00       	call   0x41b8d0
416510:	8b e5                	mov    %ebp,%esp
416512:	5d                   	pop    %ebp
416513:	c2 08 00             	ret    $0x8
416516:	e8 64 a5 00 00       	call   0x420a7f
41651b:	e8 80 ad fe ff       	call   0x4012a0
416520:	cc                   	int3
416521:	cc                   	int3
416522:	cc                   	int3
416523:	cc                   	int3
416524:	cc                   	int3
416525:	cc                   	int3
416526:	cc                   	int3
416527:	cc                   	int3
416528:	cc                   	int3
416529:	cc                   	int3
41652a:	cc                   	int3
41652b:	cc                   	int3
41652c:	cc                   	int3
41652d:	cc                   	int3
41652e:	cc                   	int3
41652f:	cc                   	int3
416530:	55                   	push   %ebp
416531:	8b ec                	mov    %esp,%ebp
416533:	6a ff                	push   $0xffffffff
416535:	68 35 e4 43 00       	push   $0x43e435
41653a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
416540:	50                   	push   %eax
416541:	83 ec 78             	sub    $0x78,%esp
416544:	a1 14 40 45 00       	mov    0x454014,%eax
416549:	33 c5                	xor    %ebp,%eax
41654b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41654e:	53                   	push   %ebx
41654f:	56                   	push   %esi
416550:	57                   	push   %edi
416551:	50                   	push   %eax
416552:	8d 45 f4             	lea    -0xc(%ebp),%eax
416555:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41655b:	8b d9                	mov    %ecx,%ebx
41655d:	89 5d 90             	mov    %ebx,-0x70(%ebp)
416560:	8b 45 0c             	mov    0xc(%ebp),%eax
416563:	8d 4d 98             	lea    -0x68(%ebp),%ecx
416566:	8b 7d 1c             	mov    0x1c(%ebp),%edi
416569:	89 45 80             	mov    %eax,-0x80(%ebp)
41656c:	8b 45 10             	mov    0x10(%ebp),%eax
41656f:	89 45 84             	mov    %eax,-0x7c(%ebp)
416572:	8b 45 14             	mov    0x14(%ebp),%eax
416575:	89 45 88             	mov    %eax,-0x78(%ebp)
416578:	8b 45 18             	mov    0x18(%ebp),%eax
41657b:	89 45 8c             	mov    %eax,-0x74(%ebp)
41657e:	c6 83 d0 00 00 00 00 	movb   $0x0,0xd0(%ebx)
416585:	e8 a6 e7 fe ff       	call   0x404d30
41658a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
416591:	85 ff                	test   %edi,%edi
416593:	0f 84 40 01 00 00    	je     0x4166d9
416599:	80 7f 38 00          	cmpb   $0x0,0x38(%edi)
41659d:	0f 84 3c 01 00 00    	je     0x4166df
4165a3:	8b 47 10             	mov    0x10(%edi),%eax
4165a6:	85 c0                	test   %eax,%eax
4165a8:	74 4e                	je     0x4165f8
4165aa:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
4165b0:	3b cf                	cmp    %edi,%ecx
4165b2:	74 44                	je     0x4165f8
4165b4:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4165b8:	8b d7                	mov    %edi,%edx
4165ba:	72 02                	jb     0x4165be
4165bc:	8b 17                	mov    (%edi),%edx
4165be:	8b 71 14             	mov    0x14(%ecx),%esi
4165c1:	3b c6                	cmp    %esi,%eax
4165c3:	77 25                	ja     0x4165ea
4165c5:	8b d9                	mov    %ecx,%ebx
4165c7:	83 fe 08             	cmp    $0x8,%esi
4165ca:	72 02                	jb     0x4165ce
4165cc:	8b 19                	mov    (%ecx),%ebx
4165ce:	8d 34 00             	lea    (%eax,%eax,1),%esi
4165d1:	89 41 10             	mov    %eax,0x10(%ecx)
4165d4:	56                   	push   %esi
4165d5:	52                   	push   %edx
4165d6:	53                   	push   %ebx
4165d7:	e8 74 6e 00 00       	call   0x41d450
4165dc:	83 c4 0c             	add    $0xc,%esp
4165df:	33 c0                	xor    %eax,%eax
4165e1:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
4165e5:	8b 5d 90             	mov    -0x70(%ebp),%ebx
4165e8:	eb 0e                	jmp    0x4165f8
4165ea:	52                   	push   %edx
4165eb:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
4165ef:	ff 75 ec             	push   -0x14(%ebp)
4165f2:	50                   	push   %eax
4165f3:	e8 18 c0 fe ff       	call   0x402610
4165f8:	8b 4f 18             	mov    0x18(%edi),%ecx
4165fb:	8b 01                	mov    (%ecx),%eax
4165fd:	89 45 ec             	mov    %eax,-0x14(%ebp)
416600:	3b c1                	cmp    %ecx,%eax
416602:	74 7b                	je     0x41667f
416604:	8d 8b ac 00 00 00    	lea    0xac(%ebx),%ecx
41660a:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
41660d:	0f 1f 00             	nopl   (%eax)
416610:	83 c0 10             	add    $0x10,%eax
416613:	50                   	push   %eax
416614:	8d 70 18             	lea    0x18(%eax),%esi
416617:	e8 84 9f ff ff       	call   0x4105a0
41661c:	3b c6                	cmp    %esi,%eax
41661e:	74 4c                	je     0x41666c
416620:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
416624:	8b d6                	mov    %esi,%edx
416626:	72 02                	jb     0x41662a
416628:	8b 16                	mov    (%esi),%edx
41662a:	8b 4e 10             	mov    0x10(%esi),%ecx
41662d:	8b 70 14             	mov    0x14(%eax),%esi
416630:	3b ce                	cmp    %esi,%ecx
416632:	77 22                	ja     0x416656
416634:	8b d8                	mov    %eax,%ebx
416636:	83 fe 08             	cmp    $0x8,%esi
416639:	72 02                	jb     0x41663d
41663b:	8b 18                	mov    (%eax),%ebx
41663d:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
416640:	89 48 10             	mov    %ecx,0x10(%eax)
416643:	56                   	push   %esi
416644:	52                   	push   %edx
416645:	53                   	push   %ebx
416646:	e8 05 6e 00 00       	call   0x41d450
41664b:	83 c4 0c             	add    $0xc,%esp
41664e:	33 c0                	xor    %eax,%eax
416650:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
416654:	eb 16                	jmp    0x41666c
416656:	52                   	push   %edx
416657:	c6 85 7c ff ff ff 00 	movb   $0x0,-0x84(%ebp)
41665e:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
416664:	51                   	push   %ecx
416665:	8b c8                	mov    %eax,%ecx
416667:	e8 a4 bf fe ff       	call   0x402610
41666c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41666f:	e8 6c cc fe ff       	call   0x4032e0
416674:	8b 45 ec             	mov    -0x14(%ebp),%eax
416677:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
41667a:	3b 47 18             	cmp    0x18(%edi),%eax
41667d:	75 91                	jne    0x416610
41667f:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
416683:	8b 5d 90             	mov    -0x70(%ebp),%ebx
416686:	74 51                	je     0x4166d9
416688:	83 c7 20             	add    $0x20,%edi
41668b:	8d 8b b4 00 00 00    	lea    0xb4(%ebx),%ecx
416691:	3b cf                	cmp    %edi,%ecx
416693:	74 44                	je     0x4166d9
416695:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
416699:	8b d7                	mov    %edi,%edx
41669b:	72 02                	jb     0x41669f
41669d:	8b 17                	mov    (%edi),%edx
41669f:	8b 47 10             	mov    0x10(%edi),%eax
4166a2:	8b 71 14             	mov    0x14(%ecx),%esi
4166a5:	3b c6                	cmp    %esi,%eax
4166a7:	77 22                	ja     0x4166cb
4166a9:	8b f9                	mov    %ecx,%edi
4166ab:	83 fe 08             	cmp    $0x8,%esi
4166ae:	72 02                	jb     0x4166b2
4166b0:	8b 39                	mov    (%ecx),%edi
4166b2:	8d 34 00             	lea    (%eax,%eax,1),%esi
4166b5:	89 41 10             	mov    %eax,0x10(%ecx)
4166b8:	56                   	push   %esi
4166b9:	52                   	push   %edx
4166ba:	57                   	push   %edi
4166bb:	e8 90 6d 00 00       	call   0x41d450
4166c0:	83 c4 0c             	add    $0xc,%esp
4166c3:	33 c0                	xor    %eax,%eax
4166c5:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
4166c9:	eb 0e                	jmp    0x4166d9
4166cb:	52                   	push   %edx
4166cc:	c6 45 94 00          	movb   $0x0,-0x6c(%ebp)
4166d0:	ff 75 94             	push   -0x6c(%ebp)
4166d3:	50                   	push   %eax
4166d4:	e8 37 bf fe ff       	call   0x402610
4166d9:	8d bb 94 00 00 00    	lea    0x94(%ebx),%edi
4166df:	57                   	push   %edi
4166e0:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4166e3:	e8 98 01 00 00       	call   0x416880
4166e8:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
4166ec:	8b 7d 08             	mov    0x8(%ebp),%edi
4166ef:	74 37                	je     0x416728
4166f1:	ff 75 20             	push   0x20(%ebp)
4166f4:	83 7d ac 08          	cmpl   $0x8,-0x54(%ebp)
4166f8:	8d 45 98             	lea    -0x68(%ebp),%eax
4166fb:	8b 33                	mov    (%ebx),%esi
4166fd:	0f 43 45 98          	cmovae -0x68(%ebp),%eax
416701:	6a 00                	push   $0x0
416703:	6a 00                	push   $0x0
416705:	8b 76 14             	mov    0x14(%esi),%esi
416708:	8b ce                	mov    %esi,%ecx
41670a:	6a 00                	push   $0x0
41670c:	50                   	push   %eax
41670d:	6a 00                	push   $0x0
41670f:	6a 00                	push   $0x0
416711:	ff 75 8c             	push   -0x74(%ebp)
416714:	ff 75 88             	push   -0x78(%ebp)
416717:	ff 75 84             	push   -0x7c(%ebp)
41671a:	ff 75 80             	push   -0x80(%ebp)
41671d:	57                   	push   %edi
41671e:	ff 15 3c f2 43 00    	call   *0x43f23c
416724:	8b cb                	mov    %ebx,%ecx
416726:	ff d6                	call   *%esi
416728:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41672b:	8b 01                	mov    (%ecx),%eax
41672d:	89 45 ec             	mov    %eax,-0x14(%ebp)
416730:	3b c1                	cmp    %ecx,%eax
416732:	0f 84 d3 00 00 00    	je     0x41680b
416738:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
41673f:	00
416740:	8b 70 20             	mov    0x20(%eax),%esi
416743:	8d 48 10             	lea    0x10(%eax),%ecx
416746:	8b 79 28             	mov    0x28(%ecx),%edi
416749:	8d 51 18             	lea    0x18(%ecx),%edx
41674c:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
416751:	2b c6                	sub    %esi,%eax
416753:	3b c7                	cmp    %edi,%eax
416755:	0f 82 13 01 00 00    	jb     0x41686e
41675b:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
41675f:	72 02                	jb     0x416763
416761:	8b 09                	mov    (%ecx),%ecx