4084ad:	0f 87 f0 00 00 00    	ja     0x4085a3
4084b3:	51                   	push   %ecx
4084b4:	52                   	push   %edx
4084b5:	e8 36 e5 ff ff       	call   0x4069f0
4084ba:	83 c4 08             	add    $0x8,%esp
4084bd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4084c0:	83 c3 20             	add    $0x20,%ebx
4084c3:	8d 43 f8             	lea    -0x8(%ebx),%eax
4084c6:	3b c1                	cmp    %ecx,%eax
4084c8:	0f 85 b2 fe ff ff    	jne    0x408380
4084ce:	8b 7d e8             	mov    -0x18(%ebp),%edi
4084d1:	8b d9                	mov    %ecx,%ebx
4084d3:	3b fb                	cmp    %ebx,%edi
4084d5:	74 16                	je     0x4084ed
4084d7:	8b cf                	mov    %edi,%ecx
4084d9:	e8 f2 f7 ff ff       	call   0x407cd0
4084de:	83 c7 20             	add    $0x20,%edi
4084e1:	3b fb                	cmp    %ebx,%edi
4084e3:	75 f2                	jne    0x4084d7
4084e5:	8b 7d e8             	mov    -0x18(%ebp),%edi
4084e8:	8b df                	mov    %edi,%ebx
4084ea:	89 7d ec             	mov    %edi,-0x14(%ebp)
4084ed:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4084f4:	85 ff                	test   %edi,%edi
4084f6:	74 5a                	je     0x408552
4084f8:	3b fb                	cmp    %ebx,%edi
4084fa:	74 15                	je     0x408511
4084fc:	8d 64 24 00          	lea    0x0(%esp),%esp
408500:	8b cf                	mov    %edi,%ecx
408502:	e8 c9 f7 ff ff       	call   0x407cd0
408507:	83 c7 20             	add    $0x20,%edi
40850a:	3b fb                	cmp    %ebx,%edi
40850c:	75 f2                	jne    0x408500
40850e:	8b 7d e8             	mov    -0x18(%ebp),%edi
408511:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408514:	8b c7                	mov    %edi,%eax
408516:	2b cf                	sub    %edi,%ecx
408518:	83 e1 e0             	and    $0xffffffe0,%ecx
40851b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408521:	72 10                	jb     0x408533
408523:	8b 78 fc             	mov    -0x4(%eax),%edi
408526:	83 c1 23             	add    $0x23,%ecx
408529:	2b c7                	sub    %edi,%eax
40852b:	83 c0 fc             	add    $0xfffffffc,%eax
40852e:	83 f8 1f             	cmp    $0x1f,%eax
408531:	77 70                	ja     0x4085a3
408533:	51                   	push   %ecx
408534:	57                   	push   %edi
408535:	e8 b6 e4 ff ff       	call   0x4069f0
40853a:	83 c4 08             	add    $0x8,%esp
40853d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
408544:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40854b:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
408552:	8b 7d e0             	mov    -0x20(%ebp),%edi
408555:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
408559:	77 0d                	ja     0x408568
40855b:	8b 45 c0             	mov    -0x40(%ebp),%eax
40855e:	2b 47 18             	sub    0x18(%edi),%eax
408561:	3d 10 27 00 00       	cmp    $0x2710,%eax
408566:	73 2a                	jae    0x408592
408568:	56                   	push   %esi
408569:	ff 15 14 10 43 00    	call   *0x431014
40856f:	8b 1f                	mov    (%edi),%ebx
408571:	8b 7f 04             	mov    0x4(%edi),%edi
408574:	56                   	push   %esi
408575:	ff 15 18 10 43 00    	call   *0x431018
40857b:	3b df                	cmp    %edi,%ebx
40857d:	75 0b                	jne    0x40858a
40857f:	68 96 00 00 00       	push   $0x96
408584:	ff 15 28 10 43 00    	call   *0x431028
40858a:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40858d:	e9 3e fd ff ff       	jmp    0x4082d0
408592:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408595:	5f                   	pop    %edi
408596:	5e                   	pop    %esi
408597:	5b                   	pop    %ebx
408598:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40859f:	8b e5                	mov    %ebp,%esp
4085a1:	5d                   	pop    %ebp
4085a2:	c3                   	ret
4085a3:	e8 56 4e 00 00       	call   0x40d3fe
4085a8:	cc                   	int3
4085a9:	cc                   	int3
4085aa:	cc                   	int3
4085ab:	cc                   	int3
4085ac:	cc                   	int3
4085ad:	cc                   	int3
4085ae:	cc                   	int3
4085af:	cc                   	int3
4085b0:	55                   	push   %ebp
4085b1:	8b ec                	mov    %esp,%ebp
4085b3:	56                   	push   %esi
4085b4:	57                   	push   %edi
4085b5:	8b f9                	mov    %ecx,%edi
4085b7:	8b 37                	mov    (%edi),%esi
4085b9:	85 f6                	test   %esi,%esi
4085bb:	74 45                	je     0x408602
4085bd:	53                   	push   %ebx
4085be:	8b 5f 04             	mov    0x4(%edi),%ebx
4085c1:	3b f3                	cmp    %ebx,%esi
4085c3:	74 0e                	je     0x4085d3
4085c5:	8b ce                	mov    %esi,%ecx
4085c7:	e8 04 f7 ff ff       	call   0x407cd0
4085cc:	83 c6 20             	add    $0x20,%esi
4085cf:	3b f3                	cmp    %ebx,%esi
4085d1:	75 f2                	jne    0x4085c5
4085d3:	8b 4f 08             	mov    0x8(%edi),%ecx
4085d6:	8b 07                	mov    (%edi),%eax
4085d8:	2b c8                	sub    %eax,%ecx
4085da:	83 e1 e0             	and    $0xffffffe0,%ecx
4085dd:	5b                   	pop    %ebx
4085de:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4085e4:	72 12                	jb     0x4085f8
4085e6:	8b 50 fc             	mov    -0x4(%eax),%edx
4085e9:	83 c1 23             	add    $0x23,%ecx
4085ec:	2b c2                	sub    %edx,%eax
4085ee:	83 c0 fc             	add    $0xfffffffc,%eax
4085f1:	83 f8 1f             	cmp    $0x1f,%eax
4085f4:	77 2d                	ja     0x408623
4085f6:	8b c2                	mov    %edx,%eax
4085f8:	51                   	push   %ecx
4085f9:	50                   	push   %eax
4085fa:	e8 f1 e3 ff ff       	call   0x4069f0
4085ff:	83 c4 08             	add    $0x8,%esp
408602:	8b 45 0c             	mov    0xc(%ebp),%eax
408605:	8b 4d 08             	mov    0x8(%ebp),%ecx
408608:	c1 e0 05             	shl    $0x5,%eax
40860b:	03 c1                	add    %ecx,%eax
40860d:	89 0f                	mov    %ecx,(%edi)
40860f:	89 47 04             	mov    %eax,0x4(%edi)
408612:	8b 45 10             	mov    0x10(%ebp),%eax
408615:	c1 e0 05             	shl    $0x5,%eax
408618:	03 c1                	add    %ecx,%eax
40861a:	89 47 08             	mov    %eax,0x8(%edi)
40861d:	5f                   	pop    %edi
40861e:	5e                   	pop    %esi
40861f:	5d                   	pop    %ebp
408620:	c2 0c 00             	ret    $0xc
408623:	e8 d6 4d 00 00       	call   0x40d3fe
408628:	cc                   	int3
408629:	cc                   	int3
40862a:	cc                   	int3
40862b:	cc                   	int3
40862c:	cc                   	int3
40862d:	cc                   	int3
40862e:	cc                   	int3
40862f:	cc                   	int3
408630:	55                   	push   %ebp
408631:	8b ec                	mov    %esp,%ebp
408633:	51                   	push   %ecx
408634:	8b 55 08             	mov    0x8(%ebp),%edx
408637:	53                   	push   %ebx
408638:	8b d9                	mov    %ecx,%ebx
40863a:	57                   	push   %edi
40863b:	8b 7d 10             	mov    0x10(%ebp),%edi
40863e:	8b 03                	mov    (%ebx),%eax
408640:	ff 43 04             	incl   0x4(%ebx)
408643:	89 45 fc             	mov    %eax,-0x4(%ebp)
408646:	89 57 04             	mov    %edx,0x4(%edi)
408649:	3b d0                	cmp    %eax,%edx
40864b:	75 16                	jne    0x408663
40864d:	89 38                	mov    %edi,(%eax)
40864f:	89 78 04             	mov    %edi,0x4(%eax)
408652:	89 78 08             	mov    %edi,0x8(%eax)
408655:	8b c7                	mov    %edi,%eax
408657:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
40865b:	5f                   	pop    %edi
40865c:	5b                   	pop    %ebx
40865d:	8b e5                	mov    %ebp,%esp
40865f:	5d                   	pop    %ebp
408660:	c2 0c 00             	ret    $0xc
408663:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
408667:	75 0d                	jne    0x408676
408669:	89 7a 08             	mov    %edi,0x8(%edx)
40866c:	3b 50 08             	cmp    0x8(%eax),%edx
40866f:	75 0d                	jne    0x40867e
408671:	89 78 08             	mov    %edi,0x8(%eax)
408674:	eb 08                	jmp    0x40867e
408676:	89 3a                	mov    %edi,(%edx)
408678:	3b 10                	cmp    (%eax),%edx
40867a:	75 02                	jne    0x40867e
40867c:	89 38                	mov    %edi,(%eax)
40867e:	8b 4f 04             	mov    0x4(%edi),%ecx
408681:	8b c7                	mov    %edi,%eax
408683:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
408687:	0f 85 7d 01 00 00    	jne    0x40880a
40868d:	56                   	push   %esi
40868e:	8b ff                	mov    %edi,%edi
408690:	8b 50 04             	mov    0x4(%eax),%edx
408693:	8b 72 04             	mov    0x4(%edx),%esi
408696:	8b 0e                	mov    (%esi),%ecx
408698:	3b d1                	cmp    %ecx,%edx
40869a:	0f 85 aa 00 00 00    	jne    0x40874a
4086a0:	8b 4e 08             	mov    0x8(%esi),%ecx
4086a3:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
4086a7:	0f 84 a3 00 00 00    	je     0x408750
4086ad:	8b 72 08             	mov    0x8(%edx),%esi
4086b0:	3b c6                	cmp    %esi,%eax
4086b2:	75 37                	jne    0x4086eb
4086b4:	8b 0e                	mov    (%esi),%ecx
4086b6:	8b c2                	mov    %edx,%eax
4086b8:	89 4a 08             	mov    %ecx,0x8(%edx)
4086bb:	8b 0e                	mov    (%esi),%ecx
4086bd:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
4086c1:	75 03                	jne    0x4086c6
4086c3:	89 41 04             	mov    %eax,0x4(%ecx)
4086c6:	8b 4a 04             	mov    0x4(%edx),%ecx
4086c9:	89 4e 04             	mov    %ecx,0x4(%esi)
4086cc:	8b 0b                	mov    (%ebx),%ecx
4086ce:	3b 41 04             	cmp    0x4(%ecx),%eax
4086d1:	75 05                	jne    0x4086d8
4086d3:	89 71 04             	mov    %esi,0x4(%ecx)
4086d6:	eb 0e                	jmp    0x4086e6
4086d8:	8b 4a 04             	mov    0x4(%edx),%ecx
4086db:	3b 01                	cmp    (%ecx),%eax
4086dd:	75 04                	jne    0x4086e3
4086df:	89 31                	mov    %esi,(%ecx)
4086e1:	eb 03                	jmp    0x4086e6
4086e3:	89 71 08             	mov    %esi,0x8(%ecx)
4086e6:	89 06                	mov    %eax,(%esi)
4086e8:	89 70 04             	mov    %esi,0x4(%eax)
4086eb:	8b 48 04             	mov    0x4(%eax),%ecx
4086ee:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
4086f2:	8b 48 04             	mov    0x4(%eax),%ecx
4086f5:	8b 49 04             	mov    0x4(%ecx),%ecx
4086f8:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
4086fc:	8b 48 04             	mov    0x4(%eax),%ecx
4086ff:	8b 51 04             	mov    0x4(%ecx),%edx
408702:	8b 32                	mov    (%edx),%esi
408704:	8b 4e 08             	mov    0x8(%esi),%ecx
408707:	89 0a                	mov    %ecx,(%edx)
408709:	8b 4e 08             	mov    0x8(%esi),%ecx
40870c:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
408710:	75 03                	jne    0x408715
408712:	89 51 04             	mov    %edx,0x4(%ecx)
408715:	8b 4a 04             	mov    0x4(%edx),%ecx
408718:	89 4e 04             	mov    %ecx,0x4(%esi)
40871b:	8b 0b                	mov    (%ebx),%ecx
40871d:	3b 51 04             	cmp    0x4(%ecx),%edx
408720:	75 0b                	jne    0x40872d
408722:	89 71 04             	mov    %esi,0x4(%ecx)
408725:	89 56 08             	mov    %edx,0x8(%esi)
408728:	e9 cc 00 00 00       	jmp    0x4087f9
40872d:	8b 4a 04             	mov    0x4(%edx),%ecx
408730:	3b 51 08             	cmp    0x8(%ecx),%edx
408733:	75 0b                	jne    0x408740
408735:	89 71 08             	mov    %esi,0x8(%ecx)
408738:	89 56 08             	mov    %edx,0x8(%esi)
40873b:	e9 b9 00 00 00       	jmp    0x4087f9
408740:	89 31                	mov    %esi,(%ecx)
408742:	89 56 08             	mov    %edx,0x8(%esi)
408745:	e9 af 00 00 00       	jmp    0x4087f9
40874a:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
40874e:	75 1d                	jne    0x40876d
408750:	c6 42 0c 01          	movb   $0x1,0xc(%edx)
408754:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
408758:	8b 48 04             	mov    0x4(%eax),%ecx
40875b:	8b 49 04             	mov    0x4(%ecx),%ecx
40875e:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
408762:	8b 48 04             	mov    0x4(%eax),%ecx
408765:	8b 41 04             	mov    0x4(%ecx),%eax
408768:	e9 8f 00 00 00       	jmp    0x4087fc
40876d:	8b 32                	mov    (%edx),%esi
40876f:	3b c6                	cmp    %esi,%eax
408771:	75 3a                	jne    0x4087ad
408773:	8b 4e 08             	mov    0x8(%esi),%ecx
408776:	8b c2                	mov    %edx,%eax
408778:	89 08                	mov    %ecx,(%eax)
40877a:	8b 4e 08             	mov    0x8(%esi),%ecx
40877d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
408781:	75 03                	jne    0x408786
408783:	89 41 04             	mov    %eax,0x4(%ecx)
408786:	8b 4a 04             	mov    0x4(%edx),%ecx
408789:	89 4e 04             	mov    %ecx,0x4(%esi)
40878c:	8b 0b                	mov    (%ebx),%ecx
40878e:	3b 41 04             	cmp    0x4(%ecx),%eax
408791:	75 05                	jne    0x408798
408793:	89 71 04             	mov    %esi,0x4(%ecx)
408796:	eb 0f                	jmp    0x4087a7
408798:	8b 4a 04             	mov    0x4(%edx),%ecx
40879b:	3b 41 08             	cmp    0x8(%ecx),%eax
40879e:	75 05                	jne    0x4087a5
4087a0:	89 71 08             	mov    %esi,0x8(%ecx)
4087a3:	eb 02                	jmp    0x4087a7
4087a5:	89 31                	mov    %esi,(%ecx)
4087a7:	89 46 08             	mov    %eax,0x8(%esi)
4087aa:	89 70 04             	mov    %esi,0x4(%eax)
4087ad:	8b 48 04             	mov    0x4(%eax),%ecx
4087b0:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
4087b4:	8b 48 04             	mov    0x4(%eax),%ecx
4087b7:	8b 49 04             	mov    0x4(%ecx),%ecx
4087ba:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
4087be:	8b 48 04             	mov    0x4(%eax),%ecx
4087c1:	8b 51 04             	mov    0x4(%ecx),%edx
4087c4:	8b 72 08             	mov    0x8(%edx),%esi
4087c7:	8b 0e                	mov    (%esi),%ecx
4087c9:	89 4a 08             	mov    %ecx,0x8(%edx)
4087cc:	8b 0e                	mov    (%esi),%ecx
4087ce:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
4087d2:	75 03                	jne    0x4087d7
4087d4:	89 51 04             	mov    %edx,0x4(%ecx)
4087d7:	8b 4a 04             	mov    0x4(%edx),%ecx
4087da:	89 4e 04             	mov    %ecx,0x4(%esi)
4087dd:	8b 0b                	mov    (%ebx),%ecx
4087df:	3b 51 04             	cmp    0x4(%ecx),%edx
4087e2:	75 05                	jne    0x4087e9
4087e4:	89 71 04             	mov    %esi,0x4(%ecx)
4087e7:	eb 0e                	jmp    0x4087f7
4087e9:	8b 4a 04             	mov    0x4(%edx),%ecx
4087ec:	3b 11                	cmp    (%ecx),%edx
4087ee:	75 04                	jne    0x4087f4
4087f0:	89 31                	mov    %esi,(%ecx)
4087f2:	eb 03                	jmp    0x4087f7
4087f4:	89 71 08             	mov    %esi,0x8(%ecx)
4087f7:	89 16                	mov    %edx,(%esi)
4087f9:	89 72 04             	mov    %esi,0x4(%edx)
4087fc:	8b 48 04             	mov    0x4(%eax),%ecx
4087ff:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
408803:	0f 84 87 fe ff ff    	je     0x408690
408809:	5e                   	pop    %esi
40880a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40880d:	8b 40 04             	mov    0x4(%eax),%eax
408810:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
408814:	8b c7                	mov    %edi,%eax
408816:	5f                   	pop    %edi
408817:	5b                   	pop    %ebx
408818:	8b e5                	mov    %ebp,%esp
40881a:	5d                   	pop    %ebp
40881b:	c2 0c 00             	ret    $0xc
40881e:	cc                   	int3
40881f:	cc                   	int3
408820:	55                   	push   %ebp
408821:	8b ec                	mov    %esp,%ebp
408823:	83 ec 0c             	sub    $0xc,%esp
408826:	8d 4d f4             	lea    -0xc(%ebp),%ecx
408829:	e8 72 f2 ff ff       	call   0x407aa0
40882e:	68 8c a8 43 00       	push   $0x43a88c
408833:	8d 45 f4             	lea    -0xc(%ebp),%eax
408836:	50                   	push   %eax
408837:	e8 d1 2f 00 00       	call   0x40b80d
40883c:	cc                   	int3
40883d:	cc                   	int3
40883e:	cc                   	int3
40883f:	cc                   	int3
408840:	68 90 13 43 00       	push   $0x431390
408845:	e8 cf 10 00 00       	call   0x409919
40884a:	cc                   	int3
40884b:	cc                   	int3
40884c:	cc                   	int3
40884d:	cc                   	int3