41a586:	8d 04 43             	lea    (%ebx,%eax,2),%eax
41a589:	89 01                	mov    %eax,(%ecx)
41a58b:	8b 47 24             	mov    0x24(%edi),%eax
41a58e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a591:	2b ce                	sub    %esi,%ecx
41a593:	03 cb                	add    %ebx,%ecx
41a595:	89 30                	mov    %esi,(%eax)
41a597:	8b 47 34             	mov    0x34(%edi),%eax
41a59a:	d1 f9                	sar    $1,%ecx
41a59c:	89 08                	mov    %ecx,(%eax)
41a59e:	f6 47 40 04          	testb  $0x4,0x40(%edi)
41a5a2:	74 14                	je     0x41a5b8
41a5a4:	8b 47 10             	mov    0x10(%edi),%eax
41a5a7:	89 18                	mov    %ebx,(%eax)
41a5a9:	8b 47 20             	mov    0x20(%edi),%eax
41a5ac:	83 20 00             	andl   $0x0,(%eax)
41a5af:	8b 47 30             	mov    0x30(%edi),%eax
41a5b2:	d1 fb                	sar    $1,%ebx
41a5b4:	89 18                	mov    %ebx,(%eax)
41a5b6:	eb 27                	jmp    0x41a5df
41a5b8:	8b 47 24             	mov    0x24(%edi),%eax
41a5bb:	8b 57 10             	mov    0x10(%edi),%edx
41a5be:	8b 30                	mov    (%eax),%esi
41a5c0:	8b 47 20             	mov    0x20(%edi),%eax
41a5c3:	8b 00                	mov    (%eax),%eax
41a5c5:	2b 02                	sub    (%edx),%eax
41a5c7:	d1 f8                	sar    $1,%eax
41a5c9:	89 1a                	mov    %ebx,(%edx)
41a5cb:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
41a5ce:	8b 47 20             	mov    0x20(%edi),%eax
41a5d1:	2b f1                	sub    %ecx,%esi
41a5d3:	83 c6 02             	add    $0x2,%esi
41a5d6:	d1 fe                	sar    $1,%esi
41a5d8:	89 08                	mov    %ecx,(%eax)
41a5da:	8b 47 30             	mov    0x30(%edi),%eax
41a5dd:	89 30                	mov    %esi,(%eax)
41a5df:	8b 47 34             	mov    0x34(%edi),%eax
41a5e2:	ff 08                	decl   (%eax)
41a5e4:	8b 4f 24             	mov    0x24(%edi),%ecx
41a5e7:	8b 11                	mov    (%ecx),%edx
41a5e9:	8d 42 02             	lea    0x2(%edx),%eax
41a5ec:	89 01                	mov    %eax,(%ecx)
41a5ee:	66 8b 45 08          	mov    0x8(%ebp),%ax
41a5f2:	66 89 02             	mov    %ax,(%edx)
41a5f5:	5f                   	pop    %edi
41a5f6:	5e                   	pop    %esi
41a5f7:	5b                   	pop    %ebx
41a5f8:	c9                   	leave
41a5f9:	c2 04 00             	ret    $0x4
41a5fc:	8b ff                	mov    %edi,%edi
41a5fe:	56                   	push   %esi
41a5ff:	8b f1                	mov    %ecx,%esi
41a601:	f6 46 40 01          	testb  $0x1,0x40(%esi)
41a605:	c7 06 84 11 40 00    	movl   $0x401184,(%esi)
41a60b:	74 0c                	je     0x41a619
41a60d:	8b 46 10             	mov    0x10(%esi),%eax
41a610:	ff 30                	push   (%eax)
41a612:	ff 15 10 74 4a 00    	call   *0x4a7410
41a618:	59                   	pop    %ecx
41a619:	8b 46 10             	mov    0x10(%esi),%eax
41a61c:	33 c9                	xor    %ecx,%ecx
41a61e:	89 08                	mov    %ecx,(%eax)
41a620:	8b 46 20             	mov    0x20(%esi),%eax
41a623:	89 08                	mov    %ecx,(%eax)
41a625:	8b 46 30             	mov    0x30(%esi),%eax
41a628:	89 08                	mov    %ecx,(%eax)
41a62a:	8b 46 14             	mov    0x14(%esi),%eax
41a62d:	89 08                	mov    %ecx,(%eax)
41a62f:	8b 46 24             	mov    0x24(%esi),%eax
41a632:	89 08                	mov    %ecx,(%eax)
41a634:	8b 46 34             	mov    0x34(%esi),%eax
41a637:	89 08                	mov    %ecx,(%eax)
41a639:	83 66 40 fe          	andl   $0xfffffffe,0x40(%esi)
41a63d:	89 4e 3c             	mov    %ecx,0x3c(%esi)
41a640:	8b ce                	mov    %esi,%ecx
41a642:	5e                   	pop    %esi
41a643:	e9 53 16 00 00       	jmp    0x41bc9b
41a648:	cc                   	int3
41a649:	cc                   	int3
41a64a:	cc                   	int3
41a64b:	cc                   	int3
41a64c:	cc                   	int3
41a64d:	cc                   	int3
41a64e:	cc                   	int3
41a64f:	cc                   	int3
41a650:	8b ff                	mov    %edi,%edi
41a652:	55                   	push   %ebp
41a653:	8b ec                	mov    %esp,%ebp
41a655:	6a ff                	push   $0xffffffff
41a657:	68 20 12 49 00       	push   $0x491220
41a65c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a662:	50                   	push   %eax
41a663:	56                   	push   %esi
41a664:	57                   	push   %edi
41a665:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41a66a:	33 c5                	xor    %ebp,%eax
41a66c:	50                   	push   %eax
41a66d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a670:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a676:	8b f1                	mov    %ecx,%esi
41a678:	8d 7e b4             	lea    -0x4c(%esi),%edi
41a67b:	e8 c9 f9 ff ff       	call   0x41a049
41a680:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a684:	56                   	push   %esi
41a685:	c7 06 04 12 40 00    	movl   $0x401204,(%esi)
41a68b:	e8 69 34 07 00       	call   0x48daf9
41a690:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41a694:	59                   	pop    %ecx
41a695:	74 08                	je     0x41a69f
41a697:	57                   	push   %edi
41a698:	ff 15 10 74 4a 00    	call   *0x4a7410
41a69e:	59                   	pop    %ecx
41a69f:	8b c7                	mov    %edi,%eax
41a6a1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a6a4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a6ab:	59                   	pop    %ecx
41a6ac:	5f                   	pop    %edi
41a6ad:	5e                   	pop    %esi
41a6ae:	c9                   	leave
41a6af:	c2 04 00             	ret    $0x4
41a6b2:	cc                   	int3
41a6b3:	cc                   	int3
41a6b4:	cc                   	int3
41a6b5:	cc                   	int3
41a6b6:	cc                   	int3
41a6b7:	cc                   	int3
41a6b8:	cc                   	int3
41a6b9:	cc                   	int3
41a6ba:	cc                   	int3
41a6bb:	cc                   	int3
41a6bc:	cc                   	int3
41a6bd:	cc                   	int3
41a6be:	cc                   	int3
41a6bf:	cc                   	int3
41a6c0:	8b ff                	mov    %edi,%edi
41a6c2:	55                   	push   %ebp
41a6c3:	8b ec                	mov    %esp,%ebp
41a6c5:	6a ff                	push   $0xffffffff
41a6c7:	68 20 12 49 00       	push   $0x491220
41a6cc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a6d2:	50                   	push   %eax
41a6d3:	56                   	push   %esi
41a6d4:	57                   	push   %edi
41a6d5:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41a6da:	33 c5                	xor    %ebp,%eax
41a6dc:	50                   	push   %eax
41a6dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a6e0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a6e6:	8b f1                	mov    %ecx,%esi
41a6e8:	8d 7e b0             	lea    -0x50(%esi),%edi
41a6eb:	e8 84 f9 ff ff       	call   0x41a074
41a6f0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a6f4:	56                   	push   %esi
41a6f5:	c7 06 04 12 40 00    	movl   $0x401204,(%esi)
41a6fb:	e8 f9 33 07 00       	call   0x48daf9
41a700:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41a704:	59                   	pop    %ecx
41a705:	74 08                	je     0x41a70f
41a707:	57                   	push   %edi
41a708:	ff 15 10 74 4a 00    	call   *0x4a7410
41a70e:	59                   	pop    %ecx
41a70f:	8b c7                	mov    %edi,%eax
41a711:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a714:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a71b:	59                   	pop    %ecx
41a71c:	5f                   	pop    %edi
41a71d:	5e                   	pop    %esi
41a71e:	c9                   	leave
41a71f:	c2 04 00             	ret    $0x4
41a722:	cc                   	int3
41a723:	cc                   	int3
41a724:	cc                   	int3
41a725:	cc                   	int3
41a726:	cc                   	int3
41a727:	cc                   	int3
41a728:	cc                   	int3
41a729:	cc                   	int3
41a72a:	cc                   	int3
41a72b:	cc                   	int3
41a72c:	cc                   	int3
41a72d:	cc                   	int3
41a72e:	cc                   	int3
41a72f:	cc                   	int3
41a730:	8b ff                	mov    %edi,%edi
41a732:	55                   	push   %ebp
41a733:	8b ec                	mov    %esp,%ebp
41a735:	56                   	push   %esi
41a736:	8b f1                	mov    %ecx,%esi
41a738:	e8 bf fe ff ff       	call   0x41a5fc
41a73d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41a741:	74 08                	je     0x41a74b
41a743:	56                   	push   %esi
41a744:	ff 15 10 74 4a 00    	call   *0x4a7410
41a74a:	59                   	pop    %ecx
41a74b:	8b c6                	mov    %esi,%eax
41a74d:	5e                   	pop    %esi
41a74e:	5d                   	pop    %ebp
41a74f:	c2 04 00             	ret    $0x4
41a752:	8b ff                	mov    %edi,%edi
41a754:	56                   	push   %esi
41a755:	8b f1                	mov    %ecx,%esi
41a757:	8b 16                	mov    (%esi),%edx
41a759:	80 7a 1d 00          	cmpb   $0x0,0x1d(%edx)
41a75d:	74 11                	je     0x41a770
41a75f:	33 c0                	xor    %eax,%eax
41a761:	50                   	push   %eax
41a762:	50                   	push   %eax
41a763:	50                   	push   %eax
41a764:	50                   	push   %eax
41a765:	50                   	push   %eax
41a766:	e8 fb 5a 07 00       	call   0x490266
41a76b:	83 c4 14             	add    $0x14,%esp
41a76e:	eb 3a                	jmp    0x41a7aa
41a770:	8b 4a 08             	mov    0x8(%edx),%ecx
41a773:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41a777:	75 18                	jne    0x41a791
41a779:	8b 11                	mov    (%ecx),%edx
41a77b:	80 7a 1d 00          	cmpb   $0x0,0x1d(%edx)
41a77f:	75 0c                	jne    0x41a78d
41a781:	8b 02                	mov    (%edx),%eax
41a783:	8b ca                	mov    %edx,%ecx
41a785:	8b d0                	mov    %eax,%edx
41a787:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41a78b:	74 f4                	je     0x41a781
41a78d:	89 0e                	mov    %ecx,(%esi)
41a78f:	eb 19                	jmp    0x41a7aa
41a791:	8b 42 04             	mov    0x4(%edx),%eax
41a794:	eb 0c                	jmp    0x41a7a2
41a796:	3b 50 08             	cmp    0x8(%eax),%edx
41a799:	75 0d                	jne    0x41a7a8
41a79b:	89 06                	mov    %eax,(%esi)
41a79d:	8b d0                	mov    %eax,%edx
41a79f:	8b 40 04             	mov    0x4(%eax),%eax
41a7a2:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41a7a6:	74 ee                	je     0x41a796
41a7a8:	89 06                	mov    %eax,(%esi)
41a7aa:	8b c6                	mov    %esi,%eax
41a7ac:	5e                   	pop    %esi
41a7ad:	c3                   	ret
41a7ae:	8b ff                	mov    %edi,%edi
41a7b0:	55                   	push   %ebp
41a7b1:	8b ec                	mov    %esp,%ebp
41a7b3:	8b 55 08             	mov    0x8(%ebp),%edx
41a7b6:	56                   	push   %esi
41a7b7:	8b 32                	mov    (%edx),%esi
41a7b9:	8b 46 08             	mov    0x8(%esi),%eax
41a7bc:	89 02                	mov    %eax,(%edx)
41a7be:	8b 46 08             	mov    0x8(%esi),%eax
41a7c1:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41a7c5:	75 03                	jne    0x41a7ca
41a7c7:	89 50 04             	mov    %edx,0x4(%eax)
41a7ca:	8b 42 04             	mov    0x4(%edx),%eax
41a7cd:	89 46 04             	mov    %eax,0x4(%esi)
41a7d0:	8b 41 04             	mov    0x4(%ecx),%eax
41a7d3:	3b 50 04             	cmp    0x4(%eax),%edx
41a7d6:	75 05                	jne    0x41a7dd
41a7d8:	89 70 04             	mov    %esi,0x4(%eax)
41a7db:	eb 0f                	jmp    0x41a7ec
41a7dd:	8b 42 04             	mov    0x4(%edx),%eax
41a7e0:	3b 50 08             	cmp    0x8(%eax),%edx
41a7e3:	75 05                	jne    0x41a7ea
41a7e5:	89 70 08             	mov    %esi,0x8(%eax)
41a7e8:	eb 02                	jmp    0x41a7ec
41a7ea:	89 30                	mov    %esi,(%eax)
41a7ec:	89 56 08             	mov    %edx,0x8(%esi)
41a7ef:	89 72 04             	mov    %esi,0x4(%edx)
41a7f2:	5e                   	pop    %esi
41a7f3:	5d                   	pop    %ebp
41a7f4:	c2 04 00             	ret    $0x4
41a7f7:	8b ff                	mov    %edi,%edi
41a7f9:	55                   	push   %ebp
41a7fa:	8b ec                	mov    %esp,%ebp
41a7fc:	8b 55 08             	mov    0x8(%ebp),%edx
41a7ff:	56                   	push   %esi
41a800:	8b 72 08             	mov    0x8(%edx),%esi
41a803:	8b 06                	mov    (%esi),%eax
41a805:	89 42 08             	mov    %eax,0x8(%edx)
41a808:	8b 06                	mov    (%esi),%eax
41a80a:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
41a80e:	75 03                	jne    0x41a813
41a810:	89 50 04             	mov    %edx,0x4(%eax)
41a813:	8b 42 04             	mov    0x4(%edx),%eax
41a816:	89 46 04             	mov    %eax,0x4(%esi)
41a819:	8b 41 04             	mov    0x4(%ecx),%eax
41a81c:	3b 50 04             	cmp    0x4(%eax),%edx
41a81f:	75 05                	jne    0x41a826
41a821:	89 70 04             	mov    %esi,0x4(%eax)
41a824:	eb 0e                	jmp    0x41a834
41a826:	8b 42 04             	mov    0x4(%edx),%eax
41a829:	3b 10                	cmp    (%eax),%edx
41a82b:	75 04                	jne    0x41a831
41a82d:	89 30                	mov    %esi,(%eax)
41a82f:	eb 03                	jmp    0x41a834
41a831:	89 70 08             	mov    %esi,0x8(%eax)
41a834:	89 16                	mov    %edx,(%esi)
41a836:	89 72 04             	mov    %esi,0x4(%edx)
41a839:	5e                   	pop    %esi
41a83a:	5d                   	pop    %ebp
41a83b:	c2 04 00             	ret    $0x4
41a83e:	8b ff                	mov    %edi,%edi
41a840:	55                   	push   %ebp
41a841:	8b ec                	mov    %esp,%ebp
41a843:	8b 51 04             	mov    0x4(%ecx),%edx
41a846:	8b 4a 04             	mov    0x4(%edx),%ecx
41a849:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41a84d:	75 19                	jne    0x41a868
41a84f:	8b 45 0c             	mov    0xc(%ebp),%eax
41a852:	8b 00                	mov    (%eax),%eax
41a854:	39 41 0c             	cmp    %eax,0xc(%ecx)
41a857:	7d 05                	jge    0x41a85e
41a859:	8b 49 08             	mov    0x8(%ecx),%ecx
41a85c:	eb 04                	jmp    0x41a862
41a85e:	8b d1                	mov    %ecx,%edx
41a860:	8b 09                	mov    (%ecx),%ecx
41a862:	80 79 1d 00          	cmpb   $0x0,0x1d(%ecx)
41a866:	74 ec                	je     0x41a854
41a868:	8b 45 08             	mov    0x8(%ebp),%eax
41a86b:	89 10                	mov    %edx,(%eax)
41a86d:	5d                   	pop    %ebp
41a86e:	c2 08 00             	ret    $0x8
41a871:	8b ff                	mov    %edi,%edi
41a873:	55                   	push   %ebp
41a874:	8b ec                	mov    %esp,%ebp
41a876:	83 ec 10             	sub    $0x10,%esp
41a879:	53                   	push   %ebx
41a87a:	8b d9                	mov    %ecx,%ebx
41a87c:	33 d2                	xor    %edx,%edx
41a87e:	56                   	push   %esi
41a87f:	57                   	push   %edi
41a880:	89 55 f8             	mov    %edx,-0x8(%ebp)
41a883:	8b 43 04             	mov    0x4(%ebx),%eax
41a886:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a889:	39 53 08             	cmp    %edx,0x8(%ebx)
41a88c:	75 16                	jne    0x41a8a4
41a88e:	ff 75 10             	push   0x10(%ebp)
41a891:	50                   	push   %eax
41a892:	6a 01                	push   $0x1
41a894:	ff 75 08             	push   0x8(%ebp)
41a897:	e8 87 02 00 00       	call   0x41ab23
41a89c:	8b 45 08             	mov    0x8(%ebp),%eax
41a89f:	e9 9f 00 00 00       	jmp    0x41a943
41a8a4:	8b 75 0c             	mov    0xc(%ebp),%esi
41a8a7:	8b 7d 10             	mov    0x10(%ebp),%edi
41a8aa:	3b 30                	cmp    (%eax),%esi
41a8ac:	75 0d                	jne    0x41a8bb
41a8ae:	8b 07                	mov    (%edi),%eax
41a8b0:	3b 46 0c             	cmp    0xc(%esi),%eax
41a8b3:	7d 7b                	jge    0x41a930
41a8b5:	57                   	push   %edi
41a8b6:	56                   	push   %esi