41b681:	5e                   	pop    %esi
41b682:	5d                   	pop    %ebp
41b683:	c2 04 00             	ret    $0x4
41b686:	55                   	push   %ebp
41b687:	8b ec                	mov    %esp,%ebp
41b689:	8b 55 08             	mov    0x8(%ebp),%edx
41b68c:	56                   	push   %esi
41b68d:	8b f1                	mov    %ecx,%esi
41b68f:	8b 46 04             	mov    0x4(%esi),%eax
41b692:	89 42 10             	mov    %eax,0x10(%edx)
41b695:	8b 46 04             	mov    0x4(%esi),%eax
41b698:	8b 48 0c             	mov    0xc(%eax),%ecx
41b69b:	85 c9                	test   %ecx,%ecx
41b69d:	74 0f                	je     0x41b6ae
41b69f:	89 4a 0c             	mov    %ecx,0xc(%edx)
41b6a2:	8b 4e 04             	mov    0x4(%esi),%ecx
41b6a5:	8b 49 0c             	mov    0xc(%ecx),%ecx
41b6a8:	89 51 10             	mov    %edx,0x10(%ecx)
41b6ab:	8b 46 04             	mov    0x4(%esi),%eax
41b6ae:	89 50 0c             	mov    %edx,0xc(%eax)
41b6b1:	8b c2                	mov    %edx,%eax
41b6b3:	89 56 04             	mov    %edx,0x4(%esi)
41b6b6:	5e                   	pop    %esi
41b6b7:	5d                   	pop    %ebp
41b6b8:	c2 04 00             	ret    $0x4
41b6bb:	c3                   	ret
41b6bc:	55                   	push   %ebp
41b6bd:	8b ec                	mov    %esp,%ebp
41b6bf:	8b d1                	mov    %ecx,%edx
41b6c1:	56                   	push   %esi
41b6c2:	8b 75 08             	mov    0x8(%ebp),%esi
41b6c5:	8b 02                	mov    (%edx),%eax
41b6c7:	83 66 04 00          	andl   $0x0,0x4(%esi)
41b6cb:	89 06                	mov    %eax,(%esi)
41b6cd:	83 7a 0c 00          	cmpl   $0x0,0xc(%edx)
41b6d1:	76 16                	jbe    0x41b6e9
41b6d3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b6d6:	2b 0a                	sub    (%edx),%ecx
41b6d8:	c1 f9 02             	sar    $0x2,%ecx
41b6db:	c1 e1 05             	shl    $0x5,%ecx
41b6de:	03 4d 10             	add    0x10(%ebp),%ecx
41b6e1:	51                   	push   %ecx
41b6e2:	8b ce                	mov    %esi,%ecx
41b6e4:	e8 4b 4b ff ff       	call   0x410234
41b6e9:	8b c6                	mov    %esi,%eax
41b6eb:	5e                   	pop    %esi
41b6ec:	5d                   	pop    %ebp
41b6ed:	c2 0c 00             	ret    $0xc
41b6f0:	6a 28                	push   $0x28
41b6f2:	b8 40 f8 48 00       	mov    $0x48f840,%eax
41b6f7:	e8 82 43 02 00       	call   0x43fa7e
41b6fc:	8b 75 08             	mov    0x8(%ebp),%esi
41b6ff:	33 db                	xor    %ebx,%ebx
41b701:	89 75 cc             	mov    %esi,-0x34(%ebp)
41b704:	89 5d d0             	mov    %ebx,-0x30(%ebp)
41b707:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41b70e:	39 5d 24             	cmp    %ebx,0x24(%ebp)
41b711:	74 0f                	je     0x41b722
41b713:	6a 02                	push   $0x2
41b715:	68 5c 46 49 00       	push   $0x49465c
41b71a:	8d 4d 14             	lea    0x14(%ebp),%ecx
41b71d:	e8 8a 3e 00 00       	call   0x41f5ac
41b722:	8d 45 d8             	lea    -0x28(%ebp),%eax
41b725:	50                   	push   %eax
41b726:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41b729:	e8 7f 6a 00 00       	call   0x4221ad
41b72e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41b732:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
41b736:	8b 48 10             	mov    0x10(%eax),%ecx
41b739:	72 02                	jb     0x41b73d
41b73b:	8b 00                	mov    (%eax),%eax
41b73d:	51                   	push   %ecx
41b73e:	50                   	push   %eax
41b73f:	8d 4d 14             	lea    0x14(%ebp),%ecx
41b742:	e8 65 3e 00 00       	call   0x41f5ac
41b747:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41b74b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41b74e:	e8 81 1b 00 00       	call   0x41d2d4
41b753:	88 5d d4             	mov    %bl,-0x2c(%ebp)
41b756:	8d 45 14             	lea    0x14(%ebp),%eax
41b759:	ff 75 d4             	push   -0x2c(%ebp)
41b75c:	8b ce                	mov    %esi,%ecx
41b75e:	89 5e 10             	mov    %ebx,0x10(%esi)
41b761:	50                   	push   %eax
41b762:	89 5e 14             	mov    %ebx,0x14(%esi)
41b765:	e8 e4 aa ff ff       	call   0x41624e
41b76a:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
41b771:	88 5d fc             	mov    %bl,-0x4(%ebp)
41b774:	8d 4d 14             	lea    0x14(%ebp),%ecx
41b777:	e8 58 1b 00 00       	call   0x41d2d4
41b77c:	8b c6                	mov    %esi,%eax
41b77e:	e8 a5 42 02 00       	call   0x43fa28
41b783:	c3                   	ret
41b784:	55                   	push   %ebp
41b785:	8b ec                	mov    %esp,%ebp
41b787:	8b 55 08             	mov    0x8(%ebp),%edx
41b78a:	56                   	push   %esi
41b78b:	eb 17                	jmp    0x41b7a4
41b78d:	0f b7 02             	movzwl (%edx),%eax
41b790:	be 00 01 00 00       	mov    $0x100,%esi
41b795:	66 3b c6             	cmp    %si,%ax
41b798:	73 16                	jae    0x41b7b0
41b79a:	0f b6 c0             	movzbl %al,%eax
41b79d:	83 c2 02             	add    $0x2,%edx
41b7a0:	c6 04 08 01          	movb   $0x1,(%eax,%ecx,1)
41b7a4:	3b 55 0c             	cmp    0xc(%ebp),%edx
41b7a7:	75 e4                	jne    0x41b78d
41b7a9:	b0 01                	mov    $0x1,%al
41b7ab:	5e                   	pop    %esi
41b7ac:	5d                   	pop    %ebp
41b7ad:	c2 08 00             	ret    $0x8
41b7b0:	32 c0                	xor    %al,%al
41b7b2:	eb f7                	jmp    0x41b7ab
41b7b4:	55                   	push   %ebp
41b7b5:	8b ec                	mov    %esp,%ebp
41b7b7:	66 8b 45 08          	mov    0x8(%ebp),%ax
41b7bb:	ba 00 01 00 00       	mov    $0x100,%edx
41b7c0:	66 3b c2             	cmp    %dx,%ax
41b7c3:	73 0d                	jae    0x41b7d2
41b7c5:	0f b7 c0             	movzwl %ax,%eax
41b7c8:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
41b7cc:	74 04                	je     0x41b7d2
41b7ce:	b0 01                	mov    $0x1,%al
41b7d0:	eb 02                	jmp    0x41b7d4
41b7d2:	32 c0                	xor    %al,%al
41b7d4:	5d                   	pop    %ebp
41b7d5:	c2 04 00             	ret    $0x4
41b7d8:	55                   	push   %ebp
41b7d9:	8b ec                	mov    %esp,%ebp
41b7db:	83 ec 10             	sub    $0x10,%esp
41b7de:	8d 45 f0             	lea    -0x10(%ebp),%eax
41b7e1:	50                   	push   %eax
41b7e2:	e8 ab db ff ff       	call   0x419392
41b7e7:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b7ea:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b7ed:	50                   	push   %eax
41b7ee:	e8 9f db ff ff       	call   0x419392
41b7f3:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41b7f7:	ff 75 08             	push   0x8(%ebp)
41b7fa:	ff 75 fc             	push   -0x4(%ebp)
41b7fd:	ff 75 f8             	push   -0x8(%ebp)
41b800:	ff 75 f4             	push   -0xc(%ebp)
41b803:	ff 75 f0             	push   -0x10(%ebp)
41b806:	e8 50 bb fe ff       	call   0x40735b
41b80b:	83 c4 14             	add    $0x14,%esp
41b80e:	c9                   	leave
41b80f:	c2 04 00             	ret    $0x4
41b812:	6a 24                	push   $0x24
41b814:	b8 85 f8 48 00       	mov    $0x48f885,%eax
41b819:	e8 2c 42 02 00       	call   0x43fa4a
41b81e:	8b f9                	mov    %ecx,%edi
41b820:	8b 4f 7c             	mov    0x7c(%edi),%ecx
41b823:	85 c9                	test   %ecx,%ecx
41b825:	7e 10                	jle    0x41b837
41b827:	8d 41 ff             	lea    -0x1(%ecx),%eax
41b82a:	8b c8                	mov    %eax,%ecx
41b82c:	89 47 7c             	mov    %eax,0x7c(%edi)
41b82f:	85 c9                	test   %ecx,%ecx
41b831:	0f 8e 32 03 00 00    	jle    0x41bb69
41b837:	8b 47 78             	mov    0x78(%edi),%eax
41b83a:	85 c0                	test   %eax,%eax
41b83c:	7e 0f                	jle    0x41b84d
41b83e:	48                   	dec    %eax
41b83f:	89 47 78             	mov    %eax,0x78(%edi)
41b842:	85 c0                	test   %eax,%eax
41b844:	7f 07                	jg     0x41b84d
41b846:	6a 0b                	push   $0xb
41b848:	e9 1e 03 00 00       	jmp    0x41bb6b
41b84d:	8b 75 08             	mov    0x8(%ebp),%esi
41b850:	32 db                	xor    %bl,%bl
41b852:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41b855:	85 f6                	test   %esi,%esi
41b857:	0f 84 ef 02 00 00    	je     0x41bb4c
41b85d:	c7 45 ec 0a 00 00 00 	movl   $0xa,-0x14(%ebp)
41b864:	c7 45 e8 0d 00 00 00 	movl   $0xd,-0x18(%ebp)
41b86b:	8b 4e 04             	mov    0x4(%esi),%ecx
41b86e:	33 d2                	xor    %edx,%edx
41b870:	42                   	inc    %edx
41b871:	8d 41 ff             	lea    -0x1(%ecx),%eax
41b874:	83 f8 14             	cmp    $0x14,%eax
41b877:	0f 87 e6 02 00 00    	ja     0x41bb63
41b87d:	ff 24 85 72 bb 41 00 	jmp    *0x41bb72(,%eax,4)
41b884:	f7 47 60 00 01 00 00 	testl  $0x100,0x60(%edi)
41b88b:	75 0e                	jne    0x41b89b
41b88d:	8b 07                	mov    (%edi),%eax
41b88f:	3b 47 4c             	cmp    0x4c(%edi),%eax
41b892:	75 07                	jne    0x41b89b
41b894:	8a 5f 60             	mov    0x60(%edi),%bl
41b897:	22 da                	and    %dl,%bl
41b899:	eb 0c                	jmp    0x41b8a7
41b89b:	8b 07                	mov    (%edi),%eax
41b89d:	6a 0a                	push   $0xa
41b89f:	59                   	pop    %ecx
41b8a0:	66 39 48 fe          	cmp    %cx,-0x2(%eax)
41b8a4:	0f 95 c3             	setne  %bl
41b8a7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41b8aa:	e9 3f 01 00 00       	jmp    0x41b9ee
41b8af:	8b 07                	mov    (%edi),%eax
41b8b1:	3b 47 50             	cmp    0x50(%edi),%eax
41b8b4:	75 07                	jne    0x41b8bd
41b8b6:	8b 5f 60             	mov    0x60(%edi),%ebx
41b8b9:	d1 eb                	shr    $1,%ebx
41b8bb:	eb da                	jmp    0x41b897
41b8bd:	6a 0a                	push   $0xa
41b8bf:	59                   	pop    %ecx
41b8c0:	66 39 08             	cmp    %cx,(%eax)
41b8c3:	eb df                	jmp    0x41b8a4
41b8c5:	8b cf                	mov    %edi,%ecx
41b8c7:	e8 3a fc ff ff       	call   0x41b506
41b8cc:	8b 4e 08             	mov    0x8(%esi),%ecx
41b8cf:	33 d2                	xor    %edx,%edx
41b8d1:	42                   	inc    %edx
41b8d2:	23 ca                	and    %edx,%ecx
41b8d4:	3a c1                	cmp    %cl,%al
41b8d6:	0f 94 c3             	sete   %bl
41b8d9:	eb cc                	jmp    0x41b8a7
41b8db:	8b 07                	mov    (%edi),%eax
41b8dd:	3b 47 50             	cmp    0x50(%edi),%eax
41b8e0:	74 19                	je     0x41b8fb
41b8e2:	0f b7 08             	movzwl (%eax),%ecx
41b8e5:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
41b8e9:	74 10                	je     0x41b8fb
41b8eb:	66 3b 4d e8          	cmp    -0x18(%ebp),%cx
41b8ef:	74 0a                	je     0x41b8fb
41b8f1:	83 c0 02             	add    $0x2,%eax
41b8f4:	89 07                	mov    %eax,(%edi)
41b8f6:	e9 f3 00 00 00       	jmp    0x41b9ee
41b8fb:	8a da                	mov    %dl,%bl
41b8fd:	eb a8                	jmp    0x41b8a7
41b8ff:	ff 77 5c             	push   0x5c(%edi)
41b902:	8b 4e 1c             	mov    0x1c(%esi),%ecx
41b905:	8b 46 18             	mov    0x18(%esi),%eax
41b908:	ff 77 70             	push   0x70(%edi)
41b90b:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41b90e:	50                   	push   %eax
41b90f:	51                   	push   %ecx
41b910:	ff 77 50             	push   0x50(%edi)
41b913:	ff 37                	push   (%edi)
41b915:	e8 63 75 fe ff       	call   0x402e7d
41b91a:	83 c4 18             	add    $0x18,%esp
41b91d:	3b 07                	cmp    (%edi),%eax
41b91f:	75 d3                	jne    0x41b8f4
41b921:	33 d2                	xor    %edx,%edx
41b923:	8d 5a 01             	lea    0x1(%edx),%ebx
41b926:	e9 7c ff ff ff       	jmp    0x41b8a7
41b92b:	8b 07                	mov    (%edi),%eax
41b92d:	3b 47 50             	cmp    0x50(%edi),%eax
41b930:	0f 84 0a 02 00 00    	je     0x41bb40
41b936:	56                   	push   %esi
41b937:	8b cf                	mov    %edi,%ecx
41b939:	e8 f7 c7 ff ff       	call   0x418135
41b93e:	84 c0                	test   %al,%al
41b940:	0f 84 f7 01 00 00    	je     0x41bb3d
41b946:	32 db                	xor    %bl,%bl
41b948:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41b94b:	e9 a6 00 00 00       	jmp    0x41b9f6
41b950:	8b 07                	mov    (%edi),%eax
41b952:	83 f9 0b             	cmp    $0xb,%ecx
41b955:	57                   	push   %edi
41b956:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41b959:	89 45 08             	mov    %eax,0x8(%ebp)
41b95c:	0f 94 c3             	sete   %bl
41b95f:	e8 2a ee fe ff       	call   0x40a78e
41b964:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b968:	8b cf                	mov    %edi,%ecx
41b96a:	ff 76 14             	push   0x14(%esi)
41b96d:	e8 a0 fe ff ff       	call   0x41b812
41b972:	3a c3                	cmp    %bl,%al
41b974:	75 1b                	jne    0x41b991
41b976:	8b 45 d0             	mov    -0x30(%ebp),%eax
41b979:	8d 4f 04             	lea    0x4(%edi),%ecx
41b97c:	89 07                	mov    %eax,(%edi)
41b97e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41b981:	50                   	push   %eax
41b982:	e8 d8 42 ff ff       	call   0x40fc5f
41b987:	33 d2                	xor    %edx,%edx
41b989:	8d 5a 01             	lea    0x1(%edx),%ebx
41b98c:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41b98f:	eb 08                	jmp    0x41b999
41b991:	8b 45 08             	mov    0x8(%ebp),%eax
41b994:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41b997:	89 07                	mov    %eax,(%edi)
41b999:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b99d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41b9a0:	89 45 08             	mov    %eax,0x8(%ebp)
41b9a3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b9a7:	8b c8                	mov    %eax,%ecx
41b9a9:	e8 ea 16 00 00       	call   0x41d098
41b9ae:	eb 3e                	jmp    0x41b9ee
41b9b0:	8b 56 14             	mov    0x14(%esi),%edx
41b9b3:	8b 4f 14             	mov    0x14(%edi),%ecx
41b9b6:	8b 07                	mov    (%edi),%eax
41b9b8:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
41b9bb:	8b 47 10             	mov    0x10(%edi),%eax
41b9be:	39 46 14             	cmp    %eax,0x14(%esi)
41b9c1:	73 2b                	jae    0x41b9ee
41b9c3:	8b 5d 08             	mov    0x8(%ebp),%ebx
41b9c6:	8b 57 04             	mov    0x4(%edi),%edx
41b9c9:	48                   	dec    %eax
41b9ca:	8b f0                	mov    %eax,%esi
41b9cc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b9cf:	c1 ee 05             	shr    $0x5,%esi
41b9d2:	8b c8                	mov    %eax,%ecx
41b9d4:	83 e1 1f             	and    $0x1f,%ecx
41b9d7:	8b 04 b2             	mov    (%edx,%esi,4),%eax
41b9da:	0f b3 c8             	btr    %ecx,%eax
41b9dd:	89 04 b2             	mov    %eax,(%edx,%esi,4)
41b9e0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b9e3:	39 43 14             	cmp    %eax,0x14(%ebx)
41b9e6:	72 de                	jb     0x41b9c6
41b9e8:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41b9eb:	8b 75 08             	mov    0x8(%ebp),%esi
41b9ee:	84 db                	test   %bl,%bl
41b9f0:	0f 85 53 01 00 00    	jne    0x41bb49
41b9f6:	85 f6                	test   %esi,%esi
41b9f8:	0f 84 4b 01 00 00    	je     0x41bb49
41b9fe:	8b 76 0c             	mov    0xc(%esi),%esi
41ba01:	89 75 08             	mov    %esi,0x8(%ebp)
41ba04:	85 f6                	test   %esi,%esi
41ba06:	0f 84 3d 01 00 00    	je     0x41bb49
41ba0c:	e9 5a fe ff ff       	jmp    0x41b86b
41ba11:	80 7f 65 00          	cmpb   $0x0,0x65(%edi)
41ba15:	8b 46 14             	mov    0x14(%esi),%eax
41ba18:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ba1b:	75 06                	jne    0x41ba23
41ba1d:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
41ba21:	74 cb                	je     0x41b9ee
41ba23:	8b 70 14             	mov    0x14(%eax),%esi
41ba26:	8b d6                	mov    %esi,%edx
41ba28:	8b 4f 04             	mov    0x4(%edi),%ecx
41ba2b:	83 e6 1f             	and    $0x1f,%esi
41ba2e:	c1 ea 05             	shr    $0x5,%edx
41ba31:	8b 04 91             	mov    (%ecx,%edx,4),%eax
41ba34:	0f ab f0             	bts    %esi,%eax
41ba37:	89 04 91             	mov    %eax,(%ecx,%edx,4)
41ba3a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41ba3d:	8b 4f 14             	mov    0x14(%edi),%ecx
41ba40:	8b 07                	mov    (%edi),%eax
41ba42:	8b 52 14             	mov    0x14(%edx),%edx
41ba45:	89 44 d1 04          	mov    %eax,0x4(%ecx,%edx,8)
41ba49:	eb a0                	jmp    0x41b9eb
41ba4b:	8b 46 14             	mov    0x14(%esi),%eax
41ba4e:	8b f0                	mov    %eax,%esi
41ba50:	8b 57 04             	mov    0x4(%edi),%edx
41ba53:	8b c8                	mov    %eax,%ecx
41ba55:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ba58:	83 e1 1f             	and    $0x1f,%ecx
41ba5b:	33 c0                	xor    %eax,%eax
41ba5d:	c1 ee 05             	shr    $0x5,%esi
41ba60:	40                   	inc    %eax