41e68c:	59                   	pop    %ecx
41e68d:	59                   	pop    %ecx
41e68e:	64 89 10             	mov    %edx,%fs:(%eax)
41e691:	68 a9 e6 41 00       	push   $0x41e6a9
41e696:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e699:	50                   	push   %eax
41e69a:	6a 00                	push   $0x0
41e69c:	e8 f3 86 fe ff       	call   0x406d94
41e6a1:	c3                   	ret
41e6a2:	e9 a5 58 fe ff       	jmp    0x403f4c
41e6a7:	eb ed                	jmp    0x41e696
41e6a9:	5e                   	pop    %esi
41e6aa:	5b                   	pop    %ebx
41e6ab:	8b e5                	mov    %ebp,%esp
41e6ad:	5d                   	pop    %ebp
41e6ae:	c2 04 00             	ret    $0x4
41e6b1:	8d 40 00             	lea    0x0(%eax),%eax
41e6b4:	85 c0                	test   %eax,%eax
41e6b6:	75 05                	jne    0x41e6bd
41e6b8:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41e6bd:	c3                   	ret
41e6be:	8b c0                	mov    %eax,%eax
41e6c0:	55                   	push   %ebp
41e6c1:	8b ec                	mov    %esp,%ebp
41e6c3:	83 c4 f8             	add    $0xfffffff8,%esp
41e6c6:	53                   	push   %ebx
41e6c7:	56                   	push   %esi
41e6c8:	57                   	push   %edi
41e6c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e6cc:	33 c9                	xor    %ecx,%ecx
41e6ce:	8a 0a                	mov    (%edx),%cl
41e6d0:	8b 45 08             	mov    0x8(%ebp),%eax
41e6d3:	8b 40 08             	mov    0x8(%eax),%eax
41e6d6:	8b 00                	mov    (%eax),%eax
41e6d8:	2b c8                	sub    %eax,%ecx
41e6da:	33 db                	xor    %ebx,%ebx
41e6dc:	8a 5a 01             	mov    0x1(%edx),%bl
41e6df:	8b 55 08             	mov    0x8(%ebp),%edx
41e6e2:	8b 52 08             	mov    0x8(%edx),%edx
41e6e5:	2b 5a 04             	sub    0x4(%edx),%ebx
41e6e8:	8b 75 fc             	mov    -0x4(%ebp),%esi
41e6eb:	0f b6 36             	movzbl (%esi),%esi
41e6ee:	8b 55 08             	mov    0x8(%ebp),%edx
41e6f1:	8b 52 08             	mov    0x8(%edx),%edx
41e6f4:	2b f0                	sub    %eax,%esi
41e6f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e6f9:	0f b6 40 01          	movzbl 0x1(%eax),%eax
41e6fd:	8b 55 08             	mov    0x8(%ebp),%edx
41e700:	8b 52 08             	mov    0x8(%edx),%edx
41e703:	2b 42 04             	sub    0x4(%edx),%eax
41e706:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e709:	8b c1                	mov    %ecx,%eax
41e70b:	99                   	cltd
41e70c:	33 c2                	xor    %edx,%eax
41e70e:	2b c2                	sub    %edx,%eax
41e710:	8b f8                	mov    %eax,%edi
41e712:	8b c6                	mov    %esi,%eax
41e714:	99                   	cltd
41e715:	33 c2                	xor    %edx,%eax
41e717:	2b c2                	sub    %edx,%eax
41e719:	3b f8                	cmp    %eax,%edi
41e71b:	7f 26                	jg     0x41e743
41e71d:	85 c9                	test   %ecx,%ecx
41e71f:	7e 04                	jle    0x41e725
41e721:	3b f1                	cmp    %ecx,%esi
41e723:	7c 1e                	jl     0x41e743
41e725:	8b c3                	mov    %ebx,%eax
41e727:	99                   	cltd
41e728:	33 c2                	xor    %edx,%eax
41e72a:	2b c2                	sub    %edx,%eax
41e72c:	8b c8                	mov    %eax,%ecx
41e72e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e731:	99                   	cltd
41e732:	33 c2                	xor    %edx,%eax
41e734:	2b c2                	sub    %edx,%eax
41e736:	3b c8                	cmp    %eax,%ecx
41e738:	7f 09                	jg     0x41e743
41e73a:	85 db                	test   %ebx,%ebx
41e73c:	7e 09                	jle    0x41e747
41e73e:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
41e741:	7e 04                	jle    0x41e747
41e743:	33 c0                	xor    %eax,%eax
41e745:	eb 02                	jmp    0x41e749
41e747:	b0 01                	mov    $0x1,%al
41e749:	5f                   	pop    %edi
41e74a:	5e                   	pop    %esi
41e74b:	5b                   	pop    %ebx
41e74c:	59                   	pop    %ecx
41e74d:	59                   	pop    %ecx
41e74e:	5d                   	pop    %ebp
41e74f:	c3                   	ret
41e750:	55                   	push   %ebp
41e751:	8b ec                	mov    %esp,%ebp
41e753:	83 c4 8c             	add    $0xffffff8c,%esp
41e756:	53                   	push   %ebx
41e757:	56                   	push   %esi
41e758:	57                   	push   %edi
41e759:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41e75c:	89 55 f8             	mov    %edx,-0x8(%ebp)
41e75f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e762:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41e765:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e768:	c1 e0 04             	shl    $0x4,%eax
41e76b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e76e:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e771:	e8 96 99 fe ff       	call   0x40810c
41e776:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e779:	33 d2                	xor    %edx,%edx
41e77b:	55                   	push   %ebp
41e77c:	68 52 ea 41 00       	push   $0x41ea52
41e781:	64 ff 32             	push   %fs:(%edx)
41e784:	64 89 22             	mov    %esp,%fs:(%edx)
41e787:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e78a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41e78d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e790:	8b 30                	mov    (%eax),%esi
41e792:	ff 56 0c             	call   *0xc(%esi)
41e795:	8b 03                	mov    (%ebx),%eax
41e797:	0b 43 04             	or     0x4(%ebx),%eax
41e79a:	75 1b                	jne    0x41e7b7
41e79c:	6a 0b                	push   $0xb
41e79e:	e8 89 84 fe ff       	call   0x406c2c
41e7a3:	8b 55 08             	mov    0x8(%ebp),%edx
41e7a6:	89 02                	mov    %eax,(%edx)
41e7a8:	6a 0c                	push   $0xc
41e7aa:	e8 7d 84 fe ff       	call   0x406c2c
41e7af:	8b 55 08             	mov    0x8(%ebp),%edx
41e7b2:	89 42 04             	mov    %eax,0x4(%edx)
41e7b5:	eb 0d                	jmp    0x41e7c4
41e7b7:	8b 45 08             	mov    0x8(%ebp),%eax
41e7ba:	8b 13                	mov    (%ebx),%edx
41e7bc:	89 10                	mov    %edx,(%eax)
41e7be:	8b 53 04             	mov    0x4(%ebx),%edx
41e7c1:	89 50 04             	mov    %edx,0x4(%eax)
41e7c4:	6a 00                	push   $0x0
41e7c6:	e8 81 83 fe ff       	call   0x406b4c
41e7cb:	89 45 d8             	mov    %eax,-0x28(%ebp)
41e7ce:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
41e7d2:	75 05                	jne    0x41e7d9
41e7d4:	e8 27 f4 ff ff       	call   0x41dc00
41e7d9:	33 d2                	xor    %edx,%edx
41e7db:	55                   	push   %ebp
41e7dc:	68 39 e8 41 00       	push   $0x41e839
41e7e1:	64 ff 32             	push   %fs:(%edx)
41e7e4:	64 89 22             	mov    %esp,%fs:(%edx)
41e7e7:	6a 0e                	push   $0xe
41e7e9:	8b 45 d8             	mov    -0x28(%ebp),%eax
41e7ec:	50                   	push   %eax
41e7ed:	e8 d2 80 fe ff       	call   0x4068c4
41e7f2:	8b d8                	mov    %eax,%ebx
41e7f4:	6a 0c                	push   $0xc
41e7f6:	8b 45 d8             	mov    -0x28(%ebp),%eax
41e7f9:	50                   	push   %eax
41e7fa:	e8 c5 80 fe ff       	call   0x4068c4
41e7ff:	66 0f af d8          	imul   %ax,%bx
41e803:	8b c3                	mov    %ebx,%eax
41e805:	66 83 f8 08          	cmp    $0x8,%ax
41e809:	76 09                	jbe    0x41e814
41e80b:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
41e812:	eb 0c                	jmp    0x41e820
41e814:	8b c8                	mov    %eax,%ecx
41e816:	b8 01 00 00 00       	mov    $0x1,%eax
41e81b:	d3 e0                	shl    %cl,%eax
41e81d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e820:	33 c0                	xor    %eax,%eax
41e822:	5a                   	pop    %edx
41e823:	59                   	pop    %ecx
41e824:	59                   	pop    %ecx
41e825:	64 89 10             	mov    %edx,%fs:(%eax)
41e828:	68 40 e8 41 00       	push   $0x41e840
41e82d:	8b 45 d8             	mov    -0x28(%ebp),%eax
41e830:	50                   	push   %eax
41e831:	6a 00                	push   $0x0
41e833:	e8 5c 85 fe ff       	call   0x406d94
41e838:	c3                   	ret
41e839:	e9 0e 57 fe ff       	jmp    0x403f4c
41e83e:	eb ed                	jmp    0x41e82d
41e840:	33 c0                	xor    %eax,%eax
41e842:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e845:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e848:	0f b7 40 02          	movzwl 0x2(%eax),%eax
41e84c:	e8 63 fe ff ff       	call   0x41e6b4
41e851:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e854:	8b 7d f4             	mov    -0xc(%ebp),%edi
41e857:	4f                   	dec    %edi
41e858:	85 ff                	test   %edi,%edi
41e85a:	7e 4c                	jle    0x41e8a8
41e85c:	be 01 00 00 00       	mov    $0x1,%esi
41e861:	8b c6                	mov    %esi,%eax
41e863:	03 c0                	add    %eax,%eax
41e865:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e868:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
41e86d:	e8 42 fe ff ff       	call   0x41e6b4
41e872:	8b d8                	mov    %eax,%ebx
41e874:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
41e877:	7f 2b                	jg     0x41e8a4
41e879:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
41e87c:	7c 26                	jl     0x41e8a4
41e87e:	55                   	push   %ebp
41e87f:	8b c6                	mov    %esi,%eax
41e881:	03 c0                	add    %eax,%eax
41e883:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e886:	8d 14 c2             	lea    (%edx,%eax,8),%edx
41e889:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e88c:	03 c0                	add    %eax,%eax
41e88e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e891:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
41e894:	e8 27 fe ff ff       	call   0x41e6c0
41e899:	59                   	pop    %ecx
41e89a:	84 c0                	test   %al,%al
41e89c:	74 06                	je     0x41e8a4
41e89e:	89 75 dc             	mov    %esi,-0x24(%ebp)
41e8a1:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41e8a4:	46                   	inc    %esi
41e8a5:	4f                   	dec    %edi
41e8a6:	75 b9                	jne    0x41e861
41e8a8:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e8ab:	03 c0                	add    %eax,%eax
41e8ad:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e8b0:	8d 04 c2             	lea    (%edx,%eax,8),%eax
41e8b3:	89 45 bc             	mov    %eax,-0x44(%ebp)
41e8b6:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8b9:	0f b6 00             	movzbl (%eax),%eax
41e8bc:	8b 55 08             	mov    0x8(%ebp),%edx
41e8bf:	89 02                	mov    %eax,(%edx)
41e8c1:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8c4:	0f b6 40 01          	movzbl 0x1(%eax),%eax
41e8c8:	8b 55 08             	mov    0x8(%ebp),%edx
41e8cb:	89 42 04             	mov    %eax,0x4(%edx)
41e8ce:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8d1:	8b 40 08             	mov    0x8(%eax),%eax
41e8d4:	e8 33 98 fe ff       	call   0x40810c
41e8d9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41e8dc:	33 c0                	xor    %eax,%eax
41e8de:	55                   	push   %ebp
41e8df:	68 32 ea 41 00       	push   $0x41ea32
41e8e4:	64 ff 30             	push   %fs:(%eax)
41e8e7:	64 89 20             	mov    %esp,%fs:(%eax)
41e8ea:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8ed:	8b 50 0c             	mov    0xc(%eax),%edx
41e8f0:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e8f3:	03 45 10             	add    0x10(%ebp),%eax
41e8f6:	2b d0                	sub    %eax,%edx
41e8f8:	66 b9 01 00          	mov    $0x1,%cx
41e8fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8ff:	8b 18                	mov    (%eax),%ebx
41e901:	ff 53 14             	call   *0x14(%ebx)
41e904:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e907:	8b 48 08             	mov    0x8(%eax),%ecx
41e90a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41e90d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e910:	8b 18                	mov    (%eax),%ebx
41e912:	ff 53 0c             	call   *0xc(%ebx)
41e915:	8b 45 08             	mov    0x8(%ebp),%eax
41e918:	50                   	push   %eax
41e919:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41e91c:	8d 55 cc             	lea    -0x34(%ebp),%edx
41e91f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41e922:	e8 c9 fb ff ff       	call   0x41e4f0
41e927:	8d 45 8c             	lea    -0x74(%ebp),%eax
41e92a:	50                   	push   %eax
41e92b:	6a 18                	push   $0x18
41e92d:	8b 45 c8             	mov    -0x38(%ebp),%eax
41e930:	50                   	push   %eax
41e931:	e8 9e 7f fe ff       	call   0x4068d4
41e936:	8d 45 a4             	lea    -0x5c(%ebp),%eax
41e939:	50                   	push   %eax
41e93a:	6a 18                	push   $0x18
41e93c:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e93f:	50                   	push   %eax
41e940:	e8 8f 7f fe ff       	call   0x4068d4
41e945:	8b 5d 98             	mov    -0x68(%ebp),%ebx
41e948:	0f af 5d 94          	imul   -0x6c(%ebp),%ebx
41e94c:	0f b7 45 9c          	movzwl -0x64(%ebp),%eax
41e950:	0f af d8             	imul   %eax,%ebx
41e953:	8b 75 b0             	mov    -0x50(%ebp),%esi
41e956:	0f af 75 ac          	imul   -0x54(%ebp),%esi
41e95a:	0f b7 45 b4          	movzwl -0x4c(%ebp),%eax
41e95e:	0f af f0             	imul   %eax,%esi
41e961:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
41e964:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e967:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e96a:	e8 9d 97 fe ff       	call   0x40810c
41e96f:	89 45 d0             	mov    %eax,-0x30(%ebp)
41e972:	33 c0                	xor    %eax,%eax
41e974:	55                   	push   %ebp
41e975:	68 0f ea 41 00       	push   $0x41ea0f
41e97a:	64 ff 30             	push   %fs:(%eax)
41e97d:	64 89 20             	mov    %esp,%fs:(%eax)
41e980:	8b 45 d0             	mov    -0x30(%ebp),%eax
41e983:	89 45 c0             	mov    %eax,-0x40(%ebp)
41e986:	8b 45 d0             	mov    -0x30(%ebp),%eax
41e989:	03 c3                	add    %ebx,%eax
41e98b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41e98e:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e991:	50                   	push   %eax
41e992:	53                   	push   %ebx
41e993:	8b 45 c8             	mov    -0x38(%ebp),%eax
41e996:	50                   	push   %eax
41e997:	e8 f0 7e fe ff       	call   0x40688c
41e99c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41e99f:	50                   	push   %eax
41e9a0:	56                   	push   %esi
41e9a1:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e9a4:	50                   	push   %eax
41e9a5:	e8 e2 7e fe ff       	call   0x40688c
41e9aa:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e9ad:	50                   	push   %eax
41e9ae:	e8 c9 7e fe ff       	call   0x40687c
41e9b3:	8b 45 c8             	mov    -0x38(%ebp),%eax
41e9b6:	50                   	push   %eax
41e9b7:	e8 c0 7e fe ff       	call   0x40687c
41e9bc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41e9bf:	50                   	push   %eax
41e9c0:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e9c3:	50                   	push   %eax
41e9c4:	8a 45 b6             	mov    -0x4a(%ebp),%al
41e9c7:	50                   	push   %eax
41e9c8:	8a 45 b4             	mov    -0x4c(%ebp),%al
41e9cb:	50                   	push   %eax
41e9cc:	8b 45 08             	mov    0x8(%ebp),%eax
41e9cf:	8b 40 04             	mov    0x4(%eax),%eax
41e9d2:	50                   	push   %eax
41e9d3:	8b 45 08             	mov    0x8(%ebp),%eax
41e9d6:	8b 00                	mov    (%eax),%eax
41e9d8:	50                   	push   %eax
41e9d9:	a1 60 16 46 00       	mov    0x461660,%eax
41e9de:	50                   	push   %eax
41e9df:	e8 50 80 fe ff       	call   0x406a34
41e9e4:	8b 55 f8             	mov    -0x8(%ebp),%edx
41e9e7:	89 02                	mov    %eax,(%edx)
41e9e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e9ec:	83 38 00             	cmpl   $0x0,(%eax)
41e9ef:	75 05                	jne    0x41e9f6
41e9f1:	e8 5e f2 ff ff       	call   0x41dc54
41e9f6:	33 c0                	xor    %eax,%eax
41e9f8:	5a                   	pop    %edx
41e9f9:	59                   	pop    %ecx
41e9fa:	59                   	pop    %ecx
41e9fb:	64 89 10             	mov    %edx,%fs:(%eax)
41e9fe:	68 16 ea 41 00       	push   $0x41ea16
41ea03:	8b 55 e8             	mov    -0x18(%ebp),%edx
41ea06:	8b 45 d0             	mov    -0x30(%ebp),%eax
41ea09:	e8 5a 40 fe ff       	call   0x402a68
41ea0e:	c3                   	ret
41ea0f:	e9 38 55 fe ff       	jmp    0x403f4c
41ea14:	eb ed                	jmp    0x41ea03
41ea16:	33 c0                	xor    %eax,%eax
41ea18:	5a                   	pop    %edx
41ea19:	59                   	pop    %ecx