41c3fe:	8b cf                	mov    %edi,%ecx
41c400:	e8 bb 29 00 00       	call   0x41edc0
41c405:	e9 03 ff ff ff       	jmp    0x41c30d
41c40a:	8b 07                	mov    (%edi),%eax
41c40c:	8b 40 0c             	mov    0xc(%eax),%eax
41c40f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41c412:	3d c0 ed 41 00       	cmp    $0x41edc0,%eax
41c417:	0f 85 7c 0a 01 00    	jne    0x42ce99
41c41d:	8b cf                	mov    %edi,%ecx
41c41f:	e8 9c 29 00 00       	call   0x41edc0
41c424:	e9 06 ff ff ff       	jmp    0x41c32f
41c429:	8b ff                	mov    %edi,%edi
41c42b:	55                   	push   %ebp
41c42c:	8b ec                	mov    %esp,%ebp
41c42e:	51                   	push   %ecx
41c42f:	51                   	push   %ecx
41c430:	53                   	push   %ebx
41c431:	56                   	push   %esi
41c432:	57                   	push   %edi
41c433:	8b 7d 08             	mov    0x8(%ebp),%edi
41c436:	8b d9                	mov    %ecx,%ebx
41c438:	33 f6                	xor    %esi,%esi
41c43a:	8b 0f                	mov    (%edi),%ecx
41c43c:	85 c9                	test   %ecx,%ecx
41c43e:	75 09                	jne    0x41c449
41c440:	8b c6                	mov    %esi,%eax
41c442:	5f                   	pop    %edi
41c443:	5e                   	pop    %esi
41c444:	5b                   	pop    %ebx
41c445:	c9                   	leave
41c446:	c2 04 00             	ret    $0x4
41c449:	8b 41 08             	mov    0x8(%ecx),%eax
41c44c:	83 f8 02             	cmp    $0x2,%eax
41c44f:	0f 84 06 0b 01 00    	je     0x42cf5b
41c455:	83 f8 01             	cmp    $0x1,%eax
41c458:	0f 84 73 0b 01 00    	je     0x42cfd1
41c45e:	83 f8 03             	cmp    $0x3,%eax
41c461:	0f 84 8e 0b 01 00    	je     0x42cff5
41c467:	83 f8 06             	cmp    $0x6,%eax
41c46a:	75 d4                	jne    0x41c440
41c46c:	e9 9e 0b 01 00       	jmp    0x42d00f
41c471:	8b ff                	mov    %edi,%edi
41c473:	55                   	push   %ebp
41c474:	8b ec                	mov    %esp,%ebp
41c476:	51                   	push   %ecx
41c477:	51                   	push   %ecx
41c478:	8b 45 08             	mov    0x8(%ebp),%eax
41c47b:	56                   	push   %esi
41c47c:	8b f2                	mov    %edx,%esi
41c47e:	8b d0                	mov    %eax,%edx
41c480:	57                   	push   %edi
41c481:	8b f9                	mov    %ecx,%edi
41c483:	c1 ea 1f             	shr    $0x1f,%edx
41c486:	8b ce                	mov    %esi,%ecx
41c488:	c1 e9 1f             	shr    $0x1f,%ecx
41c48b:	32 d1                	xor    %cl,%dl
41c48d:	0f 85 98 0b 01 00    	jne    0x42d02b
41c493:	2b c6                	sub    %esi,%eax
41c495:	89 07                	mov    %eax,(%edi)
41c497:	8b c7                	mov    %edi,%eax
41c499:	5f                   	pop    %edi
41c49a:	5e                   	pop    %esi
41c49b:	c9                   	leave
41c49c:	c2 04 00             	ret    $0x4
41c49f:	cc                   	int3
41c4a0:	8b ff                	mov    %edi,%edi
41c4a2:	55                   	push   %ebp
41c4a3:	8b ec                	mov    %esp,%ebp
41c4a5:	6a ff                	push   $0xffffffff
41c4a7:	68 78 39 42 00       	push   $0x423978
41c4ac:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c4b2:	50                   	push   %eax
41c4b3:	83 ec 68             	sub    $0x68,%esp
41c4b6:	53                   	push   %ebx
41c4b7:	56                   	push   %esi
41c4b8:	57                   	push   %edi
41c4b9:	a1 54 02 45 00       	mov    0x450254,%eax
41c4be:	33 c5                	xor    %ebp,%eax
41c4c0:	50                   	push   %eax
41c4c1:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c4c4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c4ca:	8b c1                	mov    %ecx,%eax
41c4cc:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c4cf:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
41c4d6:	33 f6                	xor    %esi,%esi
41c4d8:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c4db:	50                   	push   %eax
41c4dc:	ff 15 00 30 45 00    	call   *0x453000
41c4e2:	8b 5d 10             	mov    0x10(%ebp),%ebx
41c4e5:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c4e8:	50                   	push   %eax
41c4e9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c4ec:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41c4ef:	50                   	push   %eax
41c4f0:	8b 3b                	mov    (%ebx),%edi
41c4f2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c4f5:	50                   	push   %eax
41c4f6:	56                   	push   %esi
41c4f7:	68 7c 6a 40 00       	push   $0x406a7c
41c4fc:	8b 7f 10             	mov    0x10(%edi),%edi
41c4ff:	8b cf                	mov    %edi,%ecx
41c501:	53                   	push   %ebx
41c502:	89 75 e0             	mov    %esi,-0x20(%ebp)
41c505:	ff 15 c4 12 45 00    	call   *0x4512c4
41c50b:	ff d7                	call   *%edi
41c50d:	85 c0                	test   %eax,%eax
41c50f:	0f 88 76 0b 01 00    	js     0x42d08b
41c515:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c519:	66 83 f8 03          	cmp    $0x3,%ax
41c51d:	0f 84 50 0b 01 00    	je     0x42d073
41c523:	66 83 f8 01          	cmp    $0x1,%ax
41c527:	0f 85 54 0b 01 00    	jne    0x42d081
41c52d:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c530:	c7 40 38 01 00 00 00 	movl   $0x1,0x38(%eax)
41c537:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c53a:	50                   	push   %eax
41c53b:	ff 15 1c 30 45 00    	call   *0x45301c
41c541:	85 f6                	test   %esi,%esi
41c543:	0f 88 c2 06 00 00    	js     0x41cc0b
41c549:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c54c:	50                   	push   %eax
41c54d:	ff 15 00 30 45 00    	call   *0x453000
41c553:	8b 3b                	mov    (%ebx),%edi
41c555:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c558:	50                   	push   %eax
41c559:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c55c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c563:	50                   	push   %eax
41c564:	8b 7f 10             	mov    0x10(%edi),%edi
41c567:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c56a:	50                   	push   %eax
41c56b:	6a 00                	push   $0x0
41c56d:	68 94 65 40 00       	push   $0x406594
41c572:	53                   	push   %ebx
41c573:	8b cf                	mov    %edi,%ecx
41c575:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c57c:	ff 15 c4 12 45 00    	call   *0x4512c4
41c582:	ff d7                	call   *%edi
41c584:	85 c0                	test   %eax,%eax
41c586:	0f 88 3a 0b 01 00    	js     0x42d0c6
41c58c:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c590:	66 83 f8 0b          	cmp    $0xb,%ax
41c594:	0f 85 0d 0b 01 00    	jne    0x42d0a7
41c59a:	66 83 7d cc ff       	cmpw   $0xffff,-0x34(%ebp)
41c59f:	0f 84 f8 0a 01 00    	je     0x42d09d
41c5a5:	33 c9                	xor    %ecx,%ecx
41c5a7:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c5aa:	89 48 0c             	mov    %ecx,0xc(%eax)
41c5ad:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c5b0:	50                   	push   %eax
41c5b1:	ff 15 1c 30 45 00    	call   *0x45301c
41c5b7:	85 f6                	test   %esi,%esi
41c5b9:	0f 88 4c 06 00 00    	js     0x41cc0b
41c5bf:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c5c2:	50                   	push   %eax
41c5c3:	ff 15 00 30 45 00    	call   *0x453000
41c5c9:	8b 3b                	mov    (%ebx),%edi
41c5cb:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c5ce:	50                   	push   %eax
41c5cf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c5d2:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c5d9:	50                   	push   %eax
41c5da:	8b 7f 10             	mov    0x10(%edi),%edi
41c5dd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c5e0:	50                   	push   %eax
41c5e1:	6a 00                	push   $0x0
41c5e3:	68 7c 65 40 00       	push   $0x40657c
41c5e8:	53                   	push   %ebx
41c5e9:	8b cf                	mov    %edi,%ecx
41c5eb:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c5f2:	ff 15 c4 12 45 00    	call   *0x4512c4
41c5f8:	ff d7                	call   *%edi
41c5fa:	85 c0                	test   %eax,%eax
41c5fc:	0f 88 fc 0a 01 00    	js     0x42d0fe
41c602:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c606:	66 83 f8 0b          	cmp    $0xb,%ax
41c60a:	0f 85 cf 0a 01 00    	jne    0x42d0df
41c610:	66 83 7d cc ff       	cmpw   $0xffff,-0x34(%ebp)
41c615:	0f 85 bd 0a 01 00    	jne    0x42d0d8
41c61b:	b9 01 00 00 00       	mov    $0x1,%ecx
41c620:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c623:	89 48 10             	mov    %ecx,0x10(%eax)
41c626:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c629:	50                   	push   %eax
41c62a:	ff 15 1c 30 45 00    	call   *0x45301c
41c630:	85 f6                	test   %esi,%esi
41c632:	0f 88 d3 05 00 00    	js     0x41cc0b
41c638:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c63b:	50                   	push   %eax
41c63c:	ff 15 00 30 45 00    	call   *0x453000
41c642:	8b 3b                	mov    (%ebx),%edi
41c644:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c647:	50                   	push   %eax
41c648:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c64b:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c652:	50                   	push   %eax
41c653:	8b 7f 10             	mov    0x10(%edi),%edi
41c656:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c659:	50                   	push   %eax
41c65a:	6a 00                	push   $0x0
41c65c:	68 5c 65 40 00       	push   $0x40655c
41c661:	53                   	push   %ebx
41c662:	8b cf                	mov    %edi,%ecx
41c664:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c66b:	ff 15 c4 12 45 00    	call   *0x4512c4
41c671:	ff d7                	call   *%edi
41c673:	85 c0                	test   %eax,%eax
41c675:	0f 88 be 0a 01 00    	js     0x42d139
41c67b:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c67f:	66 83 f8 0b          	cmp    $0xb,%ax
41c683:	0f 85 91 0a 01 00    	jne    0x42d11a
41c689:	66 83 7d cc ff       	cmpw   $0xffff,-0x34(%ebp)
41c68e:	0f 84 7c 0a 01 00    	je     0x42d110
41c694:	33 c9                	xor    %ecx,%ecx
41c696:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c699:	89 48 14             	mov    %ecx,0x14(%eax)
41c69c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c69f:	50                   	push   %eax
41c6a0:	ff 15 1c 30 45 00    	call   *0x45301c
41c6a6:	85 f6                	test   %esi,%esi
41c6a8:	0f 88 5d 05 00 00    	js     0x41cc0b
41c6ae:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c6b1:	50                   	push   %eax
41c6b2:	ff 15 00 30 45 00    	call   *0x453000
41c6b8:	8b 3b                	mov    (%ebx),%edi
41c6ba:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c6bd:	50                   	push   %eax
41c6be:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c6c1:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c6c8:	50                   	push   %eax
41c6c9:	8b 7f 10             	mov    0x10(%edi),%edi
41c6cc:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c6cf:	50                   	push   %eax
41c6d0:	6a 00                	push   $0x0
41c6d2:	68 34 65 40 00       	push   $0x406534
41c6d7:	53                   	push   %ebx
41c6d8:	8b cf                	mov    %edi,%ecx
41c6da:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c6e1:	ff 15 c4 12 45 00    	call   *0x4512c4
41c6e7:	ff d7                	call   *%edi
41c6e9:	85 c0                	test   %eax,%eax
41c6eb:	0f 88 80 0a 01 00    	js     0x42d171
41c6f1:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c6f5:	66 83 f8 0b          	cmp    $0xb,%ax
41c6f9:	0f 85 53 0a 01 00    	jne    0x42d152
41c6ff:	66 83 7d cc ff       	cmpw   $0xffff,-0x34(%ebp)
41c704:	0f 85 41 0a 01 00    	jne    0x42d14b
41c70a:	b9 01 00 00 00       	mov    $0x1,%ecx
41c70f:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c712:	89 48 18             	mov    %ecx,0x18(%eax)
41c715:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c718:	50                   	push   %eax
41c719:	ff 15 1c 30 45 00    	call   *0x45301c
41c71f:	85 f6                	test   %esi,%esi
41c721:	0f 88 e4 04 00 00    	js     0x41cc0b
41c727:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c72a:	50                   	push   %eax
41c72b:	ff 15 00 30 45 00    	call   *0x453000
41c731:	8b 3b                	mov    (%ebx),%edi
41c733:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c736:	50                   	push   %eax
41c737:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c73a:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c741:	50                   	push   %eax
41c742:	8b 7f 10             	mov    0x10(%edi),%edi
41c745:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c748:	50                   	push   %eax
41c749:	6a 00                	push   $0x0
41c74b:	68 10 65 40 00       	push   $0x406510
41c750:	53                   	push   %ebx
41c751:	8b cf                	mov    %edi,%ecx
41c753:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c75a:	ff 15 c4 12 45 00    	call   *0x4512c4
41c760:	ff d7                	call   *%edi
41c762:	85 c0                	test   %eax,%eax
41c764:	0f 88 38 0a 01 00    	js     0x42d1a2
41c76a:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c76e:	66 83 f8 0b          	cmp    $0xb,%ax
41c772:	0f 84 0b 0a 01 00    	je     0x42d183
41c778:	66 83 f8 01          	cmp    $0x1,%ax
41c77c:	0f 85 16 0a 01 00    	jne    0x42d198
41c782:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c785:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
41c78c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c78f:	50                   	push   %eax
41c790:	ff 15 1c 30 45 00    	call   *0x45301c
41c796:	85 f6                	test   %esi,%esi
41c798:	0f 88 6d 04 00 00    	js     0x41cc0b
41c79e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c7a1:	50                   	push   %eax
41c7a2:	ff 15 00 30 45 00    	call   *0x453000
41c7a8:	8b 3b                	mov    (%ebx),%edi
41c7aa:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c7ad:	50                   	push   %eax
41c7ae:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c7b1:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c7b8:	50                   	push   %eax
41c7b9:	8b 7f 10             	mov    0x10(%edi),%edi
41c7bc:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c7bf:	50                   	push   %eax
41c7c0:	6a 00                	push   $0x0
41c7c2:	68 e4 64 40 00       	push   $0x4064e4
41c7c7:	53                   	push   %ebx
41c7c8:	8b cf                	mov    %edi,%ecx
41c7ca:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c7d1:	ff 15 c4 12 45 00    	call   *0x4512c4
41c7d7:	ff d7                	call   *%edi
41c7d9:	85 c0                	test   %eax,%eax
41c7db:	0f 88 f2 09 01 00    	js     0x42d1d3
41c7e1:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c7e5:	66 83 f8 0b          	cmp    $0xb,%ax
41c7e9:	0f 84 c5 09 01 00    	je     0x42d1b4
41c7ef:	66 83 f8 01          	cmp    $0x1,%ax
41c7f3:	0f 85 d0 09 01 00    	jne    0x42d1c9
41c7f9:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c7fc:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%eax)
41c803:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c806:	50                   	push   %eax
41c807:	ff 15 1c 30 45 00    	call   *0x45301c
41c80d:	85 f6                	test   %esi,%esi
41c80f:	0f 88 f6 03 00 00    	js     0x41cc0b
41c815:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c818:	50                   	push   %eax
41c819:	ff 15 00 30 45 00    	call   *0x453000
41c81f:	8b 3b                	mov    (%ebx),%edi
41c821:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c824:	50                   	push   %eax
41c825:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c828:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41c82f:	50                   	push   %eax
41c830:	8b 7f 10             	mov    0x10(%edi),%edi
41c833:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c836:	50                   	push   %eax
41c837:	6a 00                	push   $0x0
41c839:	68 70 6e 40 00       	push   $0x406e70
41c83e:	53                   	push   %ebx
41c83f:	8b cf                	mov    %edi,%ecx
41c841:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41c848:	ff 15 c4 12 45 00    	call   *0x4512c4
41c84e:	ff d7                	call   *%edi
41c850:	85 c0                	test   %eax,%eax
41c852:	0f 88 ac 09 01 00    	js     0x42d204
41c858:	66 8b 45 c4          	mov    -0x3c(%ebp),%ax
41c85c:	66 83 f8 0b          	cmp    $0xb,%ax
41c860:	0f 84 7f 09 01 00    	je     0x42d1e5
41c866:	66 83 f8 01          	cmp    $0x1,%ax
41c86a:	0f 85 8a 09 01 00    	jne    0x42d1fa
41c870:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c873:	c7 40 24 00 00 00 00 	movl   $0x0,0x24(%eax)
41c87a:	8d 45 c4             	lea    -0x3c(%ebp),%eax