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
416763:	83 7a 14 08          	cmpl   $0x8,0x14(%edx)
416767:	72 02                	jb     0x41676b
416769:	8b 12                	mov    (%edx),%edx
41676b:	57                   	push   %edi
41676c:	52                   	push   %edx
41676d:	56                   	push   %esi
41676e:	51                   	push   %ecx
41676f:	51                   	push   %ecx
416770:	ff 75 94             	push   -0x6c(%ebp)
416773:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
416776:	e8 f5 66 ff ff       	call   0x40ce70
41677b:	ff 75 20             	push   0x20(%ebp)
41677e:	8b 7d 08             	mov    0x8(%ebp),%edi
416781:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416784:	6a 00                	push   $0x0
416786:	6a 00                	push   $0x0
416788:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41678c:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
416790:	8b 33                	mov    (%ebx),%esi
416792:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
416796:	6a 00                	push   $0x0
416798:	50                   	push   %eax
416799:	8b 76 14             	mov    0x14(%esi),%esi
41679c:	8b ce                	mov    %esi,%ecx
41679e:	6a 00                	push   $0x0
4167a0:	6a 00                	push   $0x0
4167a2:	ff 75 8c             	push   -0x74(%ebp)
4167a5:	ff 75 88             	push   -0x78(%ebp)
4167a8:	ff 75 84             	push   -0x7c(%ebp)
4167ab:	ff 75 80             	push   -0x80(%ebp)
4167ae:	57                   	push   %edi
4167af:	ff 15 3c f2 43 00    	call   *0x43f23c
4167b5:	8b cb                	mov    %ebx,%ecx
4167b7:	ff d6                	call   *%esi
4167b9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4167bd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4167c0:	83 f9 08             	cmp    $0x8,%ecx
4167c3:	72 32                	jb     0x4167f7
4167c5:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4167c8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4167cf:	8b c2                	mov    %edx,%eax
4167d1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4167d7:	72 14                	jb     0x4167ed
4167d9:	8b 50 fc             	mov    -0x4(%eax),%edx
4167dc:	83 c1 23             	add    $0x23,%ecx
4167df:	2b c2                	sub    %edx,%eax
4167e1:	83 c0 fc             	add    $0xfffffffc,%eax
4167e4:	83 f8 1f             	cmp    $0x1f,%eax
4167e7:	0f 87 86 00 00 00    	ja     0x416873
4167ed:	51                   	push   %ecx
4167ee:	52                   	push   %edx
4167ef:	e8 1a 51 00 00       	call   0x41b90e
4167f4:	83 c4 08             	add    $0x8,%esp
4167f7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4167fa:	e8 e1 ca fe ff       	call   0x4032e0
4167ff:	8b 45 ec             	mov    -0x14(%ebp),%eax
416802:	3b 45 b0             	cmp    -0x50(%ebp),%eax
416805:	0f 85 35 ff ff ff    	jne    0x416740
41680b:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
41680f:	74 37                	je     0x416848
416811:	ff 75 20             	push   0x20(%ebp)
416814:	83 7d cc 08          	cmpl   $0x8,-0x34(%ebp)
416818:	8d 45 b8             	lea    -0x48(%ebp),%eax
41681b:	8b 33                	mov    (%ebx),%esi
41681d:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
416821:	6a 00                	push   $0x0
416823:	6a 00                	push   $0x0
416825:	8b 76 14             	mov    0x14(%esi),%esi
416828:	8b ce                	mov    %esi,%ecx
41682a:	6a 00                	push   $0x0
41682c:	50                   	push   %eax
41682d:	6a 00                	push   $0x0
41682f:	6a 00                	push   $0x0
416831:	ff 75 8c             	push   -0x74(%ebp)
416834:	ff 75 88             	push   -0x78(%ebp)
416837:	ff 75 84             	push   -0x7c(%ebp)
41683a:	ff 75 80             	push   -0x80(%ebp)
41683d:	57                   	push   %edi
41683e:	ff 15 3c f2 43 00    	call   *0x43f23c
416844:	8b cb                	mov    %ebx,%ecx
416846:	ff d6                	call   *%esi
416848:	8d 4d 98             	lea    -0x68(%ebp),%ecx
41684b:	e8 c0 e5 fe ff       	call   0x404e10
416850:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416853:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41685a:	59                   	pop    %ecx
41685b:	5f                   	pop    %edi
41685c:	5e                   	pop    %esi
41685d:	5b                   	pop    %ebx
41685e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416861:	33 cd                	xor    %ebp,%ecx
416863:	e8 68 50 00 00       	call   0x41b8d0
416868:	8b e5                	mov    %ebp,%esp
41686a:	5d                   	pop    %ebp
41686b:	c2 1c 00             	ret    $0x1c
41686e:	e8 2d aa fe ff       	call   0x4012a0
416873:	e8 07 a2 00 00       	call   0x420a7f
416878:	cc                   	int3
416879:	cc                   	int3
41687a:	cc                   	int3
41687b:	cc                   	int3
41687c:	cc                   	int3
41687d:	cc                   	int3
41687e:	cc                   	int3
41687f:	cc                   	int3
416880:	55                   	push   %ebp
416881:	8b ec                	mov    %esp,%ebp
416883:	51                   	push   %ecx
416884:	53                   	push   %ebx
416885:	8b 5d 08             	mov    0x8(%ebp),%ebx
416888:	56                   	push   %esi
416889:	57                   	push   %edi
41688a:	8b f9                	mov    %ecx,%edi
41688c:	3b fb                	cmp    %ebx,%edi
41688e:	74 4f                	je     0x4168df
416890:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
416894:	8b cb                	mov    %ebx,%ecx
416896:	72 02                	jb     0x41689a
416898:	8b 0b                	mov    (%ebx),%ecx
41689a:	8b 43 10             	mov    0x10(%ebx),%eax
41689d:	8b 77 14             	mov    0x14(%edi),%esi
4168a0:	3b c6                	cmp    %esi,%eax
4168a2:	77 2b                	ja     0x4168cf
4168a4:	89 7d fc             	mov    %edi,-0x4(%ebp)
4168a7:	8b d7                	mov    %edi,%edx
4168a9:	83 fe 08             	cmp    $0x8,%esi
4168ac:	72 05                	jb     0x4168b3
4168ae:	8b 17                	mov    (%edi),%edx
4168b0:	89 55 fc             	mov    %edx,-0x4(%ebp)
4168b3:	8d 34 00             	lea    (%eax,%eax,1),%esi
4168b6:	89 47 10             	mov    %eax,0x10(%edi)
4168b9:	56                   	push   %esi
4168ba:	51                   	push   %ecx
4168bb:	52                   	push   %edx
4168bc:	e8 8f 6b 00 00       	call   0x41d450
4168c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4168c4:	83 c4 0c             	add    $0xc,%esp
4168c7:	33 c9                	xor    %ecx,%ecx
4168c9:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
4168cd:	eb 10                	jmp    0x4168df
4168cf:	51                   	push   %ecx
4168d0:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4168d4:	8b cf                	mov    %edi,%ecx
4168d6:	ff 75 fc             	push   -0x4(%ebp)
4168d9:	50                   	push   %eax
4168da:	e8 31 bd fe ff       	call   0x402610
4168df:	8d 43 18             	lea    0x18(%ebx),%eax
4168e2:	50                   	push   %eax
4168e3:	8d 4f 18             	lea    0x18(%edi),%ecx
4168e6:	e8 b5 9d ff ff       	call   0x4106a0
4168eb:	8d 43 20             	lea    0x20(%ebx),%eax
4168ee:	8d 4f 20             	lea    0x20(%edi),%ecx
4168f1:	3b c8                	cmp    %eax,%ecx
4168f3:	74 5c                	je     0x416951
4168f5:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
4168f9:	8b d0                	mov    %eax,%edx
4168fb:	72 02                	jb     0x4168ff
4168fd:	8b 10                	mov    (%eax),%edx
4168ff:	8b 40 10             	mov    0x10(%eax),%eax
416902:	8b 71 14             	mov    0x14(%ecx),%esi
416905:	3b c6                	cmp    %esi,%eax
416907:	77 3a                	ja     0x416943
416909:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41690c:	83 fe 08             	cmp    $0x8,%esi
41690f:	72 05                	jb     0x416916
416911:	8b 31                	mov    (%ecx),%esi
416913:	89 75 fc             	mov    %esi,-0x4(%ebp)
416916:	8d 34 00             	lea    (%eax,%eax,1),%esi
416919:	89 41 10             	mov    %eax,0x10(%ecx)
41691c:	56                   	push   %esi
41691d:	52                   	push   %edx
41691e:	ff 75 fc             	push   -0x4(%ebp)
416921:	e8 2a 6b 00 00       	call   0x41d450
416926:	8b 45 fc             	mov    -0x4(%ebp),%eax
416929:	83 c4 0c             	add    $0xc,%esp