41f3da:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f3e0:	50                   	push   %eax
41f3e1:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41f3e7:	56                   	push   %esi
41f3e8:	50                   	push   %eax
41f3e9:	e8 60 e7 fe ff       	call   0x40db4e
41f3ee:	83 c4 10             	add    $0x10,%esp
41f3f1:	e9 e2 00 00 00       	jmp    0x41f4d8
41f3f6:	2b bd b0 f8 ff ff    	sub    -0x750(%ebp),%edi
41f3fc:	3b bd 98 f8 ff ff    	cmp    -0x768(%ebp),%edi
41f402:	1b c0                	sbb    %eax,%eax
41f404:	f7 d8                	neg    %eax
41f406:	03 c2                	add    %edx,%eax
41f408:	03 c1                	add    %ecx,%eax
41f40a:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
41f410:	83 f8 73             	cmp    $0x73,%eax
41f413:	77 b6                	ja     0x41f3cb
41f415:	8d 79 ff             	lea    -0x1(%ecx),%edi
41f418:	48                   	dec    %eax
41f419:	89 bd 84 f8 ff ff    	mov    %edi,-0x77c(%ebp)
41f41f:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f425:	3b c7                	cmp    %edi,%eax
41f427:	0f 84 91 00 00 00    	je     0x41f4be
41f42d:	8b f8                	mov    %eax,%edi
41f42f:	2b f9                	sub    %ecx,%edi
41f431:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
41f437:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
41f43a:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f440:	3b fa                	cmp    %edx,%edi
41f442:	73 05                	jae    0x41f449
41f444:	8b 41 04             	mov    0x4(%ecx),%eax
41f447:	eb 02                	jmp    0x41f44b
41f449:	33 c0                	xor    %eax,%eax
41f44b:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
41f451:	8d 47 ff             	lea    -0x1(%edi),%eax
41f454:	3b c2                	cmp    %edx,%eax
41f456:	73 04                	jae    0x41f45c
41f458:	8b 01                	mov    (%ecx),%eax
41f45a:	eb 02                	jmp    0x41f45e
41f45c:	33 c0                	xor    %eax,%eax
41f45e:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
41f464:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
41f46a:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
41f470:	23 95 90 f8 ff ff    	and    -0x770(%ebp),%edx
41f476:	d3 e8                	shr    %cl,%eax
41f478:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
41f47e:	d3 e2                	shl    %cl,%edx
41f480:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx
41f486:	0b c2                	or     %edx,%eax
41f488:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
41f48f:	8b c1                	mov    %ecx,%eax
41f491:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
41f497:	48                   	dec    %eax
41f498:	83 e9 04             	sub    $0x4,%ecx
41f49b:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f4a1:	4f                   	dec    %edi
41f4a2:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f4a8:	3b 85 84 f8 ff ff    	cmp    -0x77c(%ebp),%eax
41f4ae:	74 08                	je     0x41f4b8
41f4b0:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
41f4b6:	eb 88                	jmp    0x41f440
41f4b8:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
41f4be:	85 c9                	test   %ecx,%ecx
41f4c0:	74 0a                	je     0x41f4cc
41f4c2:	33 c0                	xor    %eax,%eax
41f4c4:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
41f4ca:	f3 ab                	rep stos %eax,%es:(%edi)
41f4cc:	8b 85 a8 f8 ff ff    	mov    -0x758(%ebp),%eax
41f4d2:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41f4d8:	6a 04                	push   $0x4
41f4da:	58                   	pop    %eax
41f4db:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
41f4e1:	50                   	push   %eax
41f4e2:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
41f4e9:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f4ef:	50                   	push   %eax
41f4f0:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
41f4f6:	89 9d 5c fc ff ff    	mov    %ebx,-0x3a4(%ebp)
41f4fc:	56                   	push   %esi
41f4fd:	50                   	push   %eax
41f4fe:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
41f504:	e8 45 e6 fe ff       	call   0x40db4e
41f509:	83 c4 10             	add    $0x10,%esp
41f50c:	e9 ca 03 00 00       	jmp    0x41f8db
41f511:	8d 8a ce fb ff ff    	lea    -0x432(%edx),%ecx
41f517:	8b f7                	mov    %edi,%esi
41f519:	8b c1                	mov    %ecx,%eax
41f51b:	33 d2                	xor    %edx,%edx
41f51d:	83 e1 1f             	and    $0x1f,%ecx
41f520:	c1 e8 05             	shr    $0x5,%eax
41f523:	2b f1                	sub    %ecx,%esi
41f525:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
41f52b:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
41f531:	8b c3                	mov    %ebx,%eax
41f533:	8b ce                	mov    %esi,%ecx
41f535:	89 b5 84 f8 ff ff    	mov    %esi,-0x77c(%ebp)
41f53b:	e8 50 30 00 00       	call   0x422590
41f540:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
41f546:	48                   	dec    %eax
41f547:	83 a5 b4 f8 ff ff 00 	andl   $0x0,-0x74c(%ebp)
41f54e:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
41f554:	f7 d0                	not    %eax
41f556:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
41f55c:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
41f563:	0f bd c1             	bsr    %ecx,%eax
41f566:	74 09                	je     0x41f571
41f568:	40                   	inc    %eax
41f569:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
41f56f:	eb 07                	jmp    0x41f578
41f571:	83 a5 ac f8 ff ff 00 	andl   $0x0,-0x754(%ebp)
41f578:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
41f57e:	be cc 01 00 00       	mov    $0x1cc,%esi
41f583:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
41f586:	83 f8 73             	cmp    $0x73,%eax
41f589:	76 2b                	jbe    0x41f5b6
41f58b:	33 c0                	xor    %eax,%eax
41f58d:	50                   	push   %eax
41f58e:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
41f594:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41f59a:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f5a0:	50                   	push   %eax
41f5a1:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41f5a7:	56                   	push   %esi
41f5a8:	50                   	push   %eax
41f5a9:	e8 a0 e5 fe ff       	call   0x40db4e
41f5ae:	83 c4 10             	add    $0x10,%esp
41f5b1:	e9 e2 00 00 00       	jmp    0x41f698
41f5b6:	2b bd ac f8 ff ff    	sub    -0x754(%ebp),%edi
41f5bc:	3b bd b0 f8 ff ff    	cmp    -0x750(%ebp),%edi
41f5c2:	1b c0                	sbb    %eax,%eax
41f5c4:	f7 d8                	neg    %eax
41f5c6:	03 c2                	add    %edx,%eax
41f5c8:	03 c1                	add    %ecx,%eax
41f5ca:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
41f5d0:	83 f8 73             	cmp    $0x73,%eax
41f5d3:	77 b6                	ja     0x41f58b
41f5d5:	8d 79 ff             	lea    -0x1(%ecx),%edi
41f5d8:	48                   	dec    %eax
41f5d9:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
41f5df:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f5e5:	3b c7                	cmp    %edi,%eax
41f5e7:	0f 84 91 00 00 00    	je     0x41f67e
41f5ed:	8b f8                	mov    %eax,%edi
41f5ef:	2b f9                	sub    %ecx,%edi
41f5f1:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
41f5f7:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
41f5fa:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f600:	3b fa                	cmp    %edx,%edi
41f602:	73 05                	jae    0x41f609
41f604:	8b 41 04             	mov    0x4(%ecx),%eax
41f607:	eb 02                	jmp    0x41f60b
41f609:	33 c0                	xor    %eax,%eax
41f60b:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
41f611:	8d 47 ff             	lea    -0x1(%edi),%eax
41f614:	3b c2                	cmp    %edx,%eax
41f616:	73 04                	jae    0x41f61c
41f618:	8b 01                	mov    (%ecx),%eax
41f61a:	eb 02                	jmp    0x41f61e
41f61c:	33 c0                	xor    %eax,%eax
41f61e:	23 85 a8 f8 ff ff    	and    -0x758(%ebp),%eax
41f624:	8b 8d 84 f8 ff ff    	mov    -0x77c(%ebp),%ecx
41f62a:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
41f630:	23 95 8c f8 ff ff    	and    -0x774(%ebp),%edx
41f636:	d3 e8                	shr    %cl,%eax
41f638:	8b 8d b0 f8 ff ff    	mov    -0x750(%ebp),%ecx
41f63e:	d3 e2                	shl    %cl,%edx
41f640:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx
41f646:	0b c2                	or     %edx,%eax
41f648:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
41f64f:	8b c1                	mov    %ecx,%eax
41f651:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
41f657:	48                   	dec    %eax
41f658:	83 e9 04             	sub    $0x4,%ecx
41f65b:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f661:	4f                   	dec    %edi
41f662:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f668:	3b 85 b4 f8 ff ff    	cmp    -0x74c(%ebp),%eax
41f66e:	74 08                	je     0x41f678
41f670:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
41f676:	eb 88                	jmp    0x41f600
41f678:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
41f67e:	85 c9                	test   %ecx,%ecx
41f680:	74 0a                	je     0x41f68c
41f682:	33 c0                	xor    %eax,%eax
41f684:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
41f68a:	f3 ab                	rep stos %eax,%es:(%edi)
41f68c:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax
41f692:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41f698:	c7 85 90 fa ff ff 02 	movl   $0x2,-0x570(%ebp)
41f69f:	00 00 00
41f6a2:	6a 04                	push   $0x4
41f6a4:	e9 39 fe ff ff       	jmp    0x41f4e2
41f6a9:	83 fa 35             	cmp    $0x35,%edx
41f6ac:	0f 84 14 01 00 00    	je     0x41f7c6
41f6b2:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
41f6b9:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
41f6c0:	00 10 00
41f6c3:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
41f6ca:	00 00 00
41f6cd:	85 f6                	test   %esi,%esi
41f6cf:	0f 84 f1 00 00 00    	je     0x41f7c6
41f6d5:	33 d2                	xor    %edx,%edx
41f6d7:	8b 84 15 90 fa ff ff 	mov    -0x570(%ebp,%edx,1),%eax
41f6de:	3b 84 15 30 fe ff ff 	cmp    -0x1d0(%ebp,%edx,1),%eax
41f6e5:	0f 85 db 00 00 00    	jne    0x41f7c6
41f6eb:	83 c2 04             	add    $0x4,%edx
41f6ee:	83 fa 08             	cmp    $0x8,%edx
41f6f1:	75 e4                	jne    0x41f6d7
41f6f3:	33 db                	xor    %ebx,%ebx
41f6f5:	0f bd c6             	bsr    %esi,%eax
41f6f8:	89 9d a8 f8 ff ff    	mov    %ebx,-0x758(%ebp)
41f6fe:	74 03                	je     0x41f703
41f700:	40                   	inc    %eax
41f701:	eb 02                	jmp    0x41f705
41f703:	8b c3                	mov    %ebx,%eax
41f705:	2b f8                	sub    %eax,%edi
41f707:	83 ff 02             	cmp    $0x2,%edi
41f70a:	1b f6                	sbb    %esi,%esi
41f70c:	f7 de                	neg    %esi
41f70e:	03 f1                	add    %ecx,%esi
41f710:	83 fe 73             	cmp    $0x73,%esi
41f713:	76 2a                	jbe    0x41f73f
41f715:	53                   	push   %ebx
41f716:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f71c:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
41f722:	50                   	push   %eax
41f723:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41f729:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
41f72f:	68 cc 01 00 00       	push   $0x1cc
41f734:	50                   	push   %eax
41f735:	e8 14 e4 fe ff       	call   0x40db4e
41f73a:	83 c4 10             	add    $0x10,%esp
41f73d:	eb 4d                	jmp    0x41f78c
41f73f:	8d 56 ff             	lea    -0x1(%esi),%edx
41f742:	83 fa ff             	cmp    $0xffffffff,%edx
41f745:	74 3f                	je     0x41f786
41f747:	8d 7a ff             	lea    -0x1(%edx),%edi
41f74a:	3b d1                	cmp    %ecx,%edx
41f74c:	73 09                	jae    0x41f757
41f74e:	8b 84 95 30 fe ff ff 	mov    -0x1d0(%ebp,%edx,4),%eax
41f755:	eb 02                	jmp    0x41f759
41f757:	8b c3                	mov    %ebx,%eax
41f759:	3b f9                	cmp    %ecx,%edi
41f75b:	73 09                	jae    0x41f766
41f75d:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
41f764:	eb 02                	jmp    0x41f768
41f766:	8b cb                	mov    %ebx,%ecx
41f768:	c1 e9 1e             	shr    $0x1e,%ecx
41f76b:	c1 e0 02             	shl    $0x2,%eax
41f76e:	0b c8                	or     %eax,%ecx
41f770:	89 8c 95 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edx,4)
41f777:	4a                   	dec    %edx
41f778:	4f                   	dec    %edi
41f779:	83 fa ff             	cmp    $0xffffffff,%edx
41f77c:	74 08                	je     0x41f786
41f77e:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
41f784:	eb c4                	jmp    0x41f74a
41f786:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
41f78c:	bb 35 04 00 00       	mov    $0x435,%ebx
41f791:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f797:	2b 9d b8 f8 ff ff    	sub    -0x748(%ebp),%ebx
41f79d:	8b fb                	mov    %ebx,%edi
41f79f:	c1 ef 05             	shr    $0x5,%edi
41f7a2:	8b f7                	mov    %edi,%esi
41f7a4:	c1 e6 02             	shl    $0x2,%esi
41f7a7:	56                   	push   %esi
41f7a8:	6a 00                	push   $0x0
41f7aa:	50                   	push   %eax
41f7ab:	e8 40 97 fe ff       	call   0x408ef0
41f7b0:	83 e3 1f             	and    $0x1f,%ebx
41f7b3:	33 c0                	xor    %eax,%eax
41f7b5:	40                   	inc    %eax
41f7b6:	8b cb                	mov    %ebx,%ecx
41f7b8:	d3 e0                	shl    %cl,%eax
41f7ba:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
41f7c1:	e9 e3 00 00 00       	jmp    0x41f8a9
41f7c6:	33 c0                	xor    %eax,%eax
41f7c8:	85 f6                	test   %esi,%esi
41f7ca:	0f 95 c0             	setne  %al
41f7cd:	83 a5 a8 f8 ff ff 00 	andl   $0x0,-0x758(%ebp)
41f7d4:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
41f7db:	8b 84 05 2c fe ff ff 	mov    -0x1d4(%ebp,%eax,1),%eax
41f7e2:	0f bd c0             	bsr    %eax,%eax
41f7e5:	74 03                	je     0x41f7ea
41f7e7:	40                   	inc    %eax
41f7e8:	eb 02                	jmp    0x41f7ec
41f7ea:	33 c0                	xor    %eax,%eax
41f7ec:	2b f8                	sub    %eax,%edi
41f7ee:	3b fb                	cmp    %ebx,%edi
41f7f0:	1b f6                	sbb    %esi,%esi
41f7f2:	f7 de                	neg    %esi
41f7f4:	03 f1                	add    %ecx,%esi
41f7f6:	83 fe 73             	cmp    $0x73,%esi
41f7f9:	76 2d                	jbe    0x41f828
41f7fb:	83 a5 8c fa ff ff 00 	andl   $0x0,-0x574(%ebp)
41f802:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f808:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
41f80f:	6a 00                	push   $0x0
41f811:	50                   	push   %eax
41f812:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41f818:	68 cc 01 00 00       	push   $0x1cc
41f81d:	50                   	push   %eax
41f81e:	e8 2b e3 fe ff       	call   0x40db4e
41f823:	83 c4 10             	add    $0x10,%esp
41f826:	eb 4c                	jmp    0x41f874
41f828:	8d 56 ff             	lea    -0x1(%esi),%edx
41f82b:	83 fa ff             	cmp    $0xffffffff,%edx
41f82e:	74 3e                	je     0x41f86e
41f830:	8d 7a ff             	lea    -0x1(%edx),%edi
41f833:	3b d1                	cmp    %ecx,%edx
41f835:	73 09                	jae    0x41f840
41f837:	8b 84 95 30 fe ff ff 	mov    -0x1d0(%ebp,%edx,4),%eax
41f83e:	eb 02                	jmp    0x41f842
41f840:	33 c0                	xor    %eax,%eax
41f842:	3b f9                	cmp    %ecx,%edi
41f844:	73 09                	jae    0x41f84f
41f846:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
41f84d:	eb 02                	jmp    0x41f851
41f84f:	33 c9                	xor    %ecx,%ecx
41f851:	c1 e9 1f             	shr    $0x1f,%ecx
41f854:	03 c0                	add    %eax,%eax
41f856:	0b c8                	or     %eax,%ecx
41f858:	89 8c 95 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edx,4)
41f85f:	4a                   	dec    %edx
41f860:	4f                   	dec    %edi
41f861:	83 fa ff             	cmp    $0xffffffff,%edx
41f864:	74 08                	je     0x41f86e
41f866:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
41f86c:	eb c5                	jmp    0x41f833
41f86e:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
41f874:	bb 34 04 00 00       	mov    $0x434,%ebx
41f879:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f87f:	2b 9d b8 f8 ff ff    	sub    -0x748(%ebp),%ebx
41f885:	8b fb                	mov    %ebx,%edi
41f887:	c1 ef 05             	shr    $0x5,%edi
41f88a:	8b f7                	mov    %edi,%esi
41f88c:	c1 e6 02             	shl    $0x2,%esi
41f88f:	56                   	push   %esi
41f890:	6a 00                	push   $0x0
41f892:	50                   	push   %eax
41f893:	e8 58 96 fe ff       	call   0x408ef0
41f898:	83 e3 1f             	and    $0x1f,%ebx
41f89b:	33 c0                	xor    %eax,%eax
41f89d:	40                   	inc    %eax
41f89e:	8b cb                	mov    %ebx,%ecx
41f8a0:	d3 e0                	shl    %cl,%eax
41f8a2:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
41f8a9:	8d 47 01             	lea    0x1(%edi),%eax
41f8ac:	be cc 01 00 00       	mov    $0x1cc,%esi
41f8b1:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)