41e61e:	50                   	push   %eax
41e61f:	6a 18                	push   $0x18
41e621:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e624:	50                   	push   %eax
41e625:	e8 a2 7c fe ff       	call   0x4062cc
41e62a:	84 db                	test   %bl,%bl
41e62c:	74 18                	je     0x41e646
41e62e:	6a 00                	push   $0x0
41e630:	6a 01                	push   $0x1
41e632:	6a 01                	push   $0x1
41e634:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e637:	50                   	push   %eax
41e638:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e63b:	50                   	push   %eax
41e63c:	e8 ab 7b fe ff       	call   0x4061ec
41e641:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e644:	eb 62                	jmp    0x41e6a8
41e646:	6a 00                	push   $0x0
41e648:	e8 4f 7f fe ff       	call   0x40659c
41e64d:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e650:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41e654:	75 05                	jne    0x41e65b
41e656:	e8 d1 fe ff ff       	call   0x41e52c
41e65b:	33 c0                	xor    %eax,%eax
41e65d:	55                   	push   %ebp
41e65e:	68 a1 e6 41 00       	push   $0x41e6a1
41e663:	64 ff 30             	push   %fs:(%eax)
41e666:	64 89 20             	mov    %esp,%fs:(%eax)
41e669:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e66c:	50                   	push   %eax
41e66d:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e670:	50                   	push   %eax
41e671:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e674:	50                   	push   %eax
41e675:	e8 82 7b fe ff       	call   0x4061fc
41e67a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e67d:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41e681:	75 05                	jne    0x41e688
41e683:	e8 a4 fe ff ff       	call   0x41e52c
41e688:	33 c0                	xor    %eax,%eax
41e68a:	5a                   	pop    %edx
41e68b:	59                   	pop    %ecx
41e68c:	59                   	pop    %ecx
41e68d:	64 89 10             	mov    %edx,%fs:(%eax)
41e690:	68 a8 e6 41 00       	push   $0x41e6a8
41e695:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e698:	50                   	push   %eax
41e699:	6a 00                	push   $0x0
41e69b:	e8 4c 81 fe ff       	call   0x4067ec
41e6a0:	c3                   	ret
41e6a1:	e9 f6 52 fe ff       	jmp    0x40399c
41e6a6:	eb ed                	jmp    0x41e695
41e6a8:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41e6ac:	74 64                	je     0x41e712
41e6ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e6b1:	50                   	push   %eax
41e6b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e6b5:	50                   	push   %eax
41e6b6:	e8 c9 7c fe ff       	call   0x406384
41e6bb:	8b d8                	mov    %eax,%ebx
41e6bd:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e6c0:	50                   	push   %eax
41e6c1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e6c4:	50                   	push   %eax
41e6c5:	e8 ba 7c fe ff       	call   0x406384
41e6ca:	8b f0                	mov    %eax,%esi
41e6cc:	68 20 00 cc 00       	push   $0xcc0020
41e6d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41e6d4:	50                   	push   %eax
41e6d5:	8b 45 d0             	mov    -0x30(%ebp),%eax
41e6d8:	50                   	push   %eax
41e6d9:	6a 00                	push   $0x0
41e6db:	6a 00                	push   $0x0
41e6dd:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e6e0:	50                   	push   %eax
41e6e1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e6e4:	50                   	push   %eax
41e6e5:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e6e8:	50                   	push   %eax
41e6e9:	6a 00                	push   $0x0
41e6eb:	6a 00                	push   $0x0
41e6ed:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e6f0:	50                   	push   %eax
41e6f1:	e8 fe 7c fe ff       	call   0x4063f4
41e6f6:	85 db                	test   %ebx,%ebx
41e6f8:	74 0a                	je     0x41e704
41e6fa:	53                   	push   %ebx
41e6fb:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e6fe:	50                   	push   %eax
41e6ff:	e8 80 7c fe ff       	call   0x406384
41e704:	85 f6                	test   %esi,%esi
41e706:	74 0a                	je     0x41e712
41e708:	56                   	push   %esi
41e709:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e70c:	50                   	push   %eax
41e70d:	e8 72 7c fe ff       	call   0x406384
41e712:	33 c0                	xor    %eax,%eax
41e714:	5a                   	pop    %edx
41e715:	59                   	pop    %ecx
41e716:	59                   	pop    %ecx
41e717:	64 89 10             	mov    %edx,%fs:(%eax)
41e71a:	68 39 e7 41 00       	push   $0x41e739
41e71f:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e722:	50                   	push   %eax
41e723:	e8 24 7b fe ff       	call   0x40624c
41e728:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e72b:	50                   	push   %eax
41e72c:	e8 1b 7b fe ff       	call   0x40624c
41e731:	c3                   	ret
41e732:	e9 65 52 fe ff       	jmp    0x40399c
41e737:	eb e6                	jmp    0x41e71f
41e739:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e73c:	5f                   	pop    %edi
41e73d:	5e                   	pop    %esi
41e73e:	5b                   	pop    %ebx
41e73f:	8b e5                	mov    %ebp,%esp
41e741:	5d                   	pop    %ebp
41e742:	c3                   	ret
41e743:	90                   	nop
41e744:	8b d0                	mov    %eax,%edx
41e746:	66 ff ca             	dec    %dx
41e749:	74 0c                	je     0x41e757
41e74b:	66 83 ea 03          	sub    $0x3,%dx
41e74f:	74 06                	je     0x41e757
41e751:	66 83 ea 04          	sub    $0x4,%dx
41e755:	75 0a                	jne    0x41e761
41e757:	8b c8                	mov    %eax,%ecx
41e759:	b8 01 00 00 00       	mov    $0x1,%eax
41e75e:	d3 e0                	shl    %cl,%eax
41e760:	c3                   	ret
41e761:	33 c0                	xor    %eax,%eax
41e763:	c3                   	ret
41e764:	49                   	dec    %ecx
41e765:	f7 ea                	imul   %edx
41e767:	03 c1                	add    %ecx,%eax
41e769:	f7 d1                	not    %ecx
41e76b:	23 c1                	and    %ecx,%eax
41e76d:	85 c0                	test   %eax,%eax
41e76f:	79 03                	jns    0x41e774
41e771:	83 c0 07             	add    $0x7,%eax
41e774:	c1 f8 03             	sar    $0x3,%eax
41e777:	c3                   	ret
41e778:	55                   	push   %ebp
41e779:	8b ec                	mov    %esp,%ebp
41e77b:	83 c4 dc             	add    $0xffffffdc,%esp
41e77e:	53                   	push   %ebx
41e77f:	56                   	push   %esi
41e780:	57                   	push   %edi
41e781:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41e784:	89 55 fc             	mov    %edx,-0x4(%ebp)
41e787:	8b f8                	mov    %eax,%edi
41e789:	8b 75 14             	mov    0x14(%ebp),%esi
41e78c:	8b 5d 18             	mov    0x18(%ebp),%ebx
41e78f:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
41e793:	a1 10 de 46 00       	mov    0x46de10,%eax
41e798:	83 38 02             	cmpl   $0x2,(%eax)
41e79b:	0f 85 b1 00 00 00    	jne    0x41e852
41e7a1:	3b 5d 2c             	cmp    0x2c(%ebp),%ebx
41e7a4:	0f 85 a8 00 00 00    	jne    0x41e852
41e7aa:	3b 75 28             	cmp    0x28(%ebp),%esi
41e7ad:	0f 85 9f 00 00 00    	jne    0x41e852
41e7b3:	6a 01                	push   $0x1
41e7b5:	6a 01                	push   $0x1
41e7b7:	8b 45 24             	mov    0x24(%ebp),%eax
41e7ba:	50                   	push   %eax
41e7bb:	e8 3c 7a fe ff       	call   0x4061fc
41e7c0:	e8 0f fe ff ff       	call   0x41e5d4
41e7c5:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e7c8:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e7cb:	50                   	push   %eax
41e7cc:	8b 45 10             	mov    0x10(%ebp),%eax
41e7cf:	50                   	push   %eax
41e7d0:	e8 af 7b fe ff       	call   0x406384
41e7d5:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e7d8:	33 c0                	xor    %eax,%eax
41e7da:	55                   	push   %ebp
41e7db:	68 4b e8 41 00       	push   $0x41e84b
41e7e0:	64 ff 30             	push   %fs:(%eax)
41e7e3:	64 89 20             	mov    %esp,%fs:(%eax)
41e7e6:	ba 20 00 cc 00       	mov    $0xcc0020,%edx
41e7eb:	b8 29 00 aa 00       	mov    $0xaa0029,%eax
41e7f0:	e8 87 81 fe ff       	call   0x40697c
41e7f5:	50                   	push   %eax
41e7f6:	8b 45 08             	mov    0x8(%ebp),%eax
41e7f9:	50                   	push   %eax
41e7fa:	8b 45 0c             	mov    0xc(%ebp),%eax
41e7fd:	50                   	push   %eax
41e7fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e801:	50                   	push   %eax
41e802:	8b 45 1c             	mov    0x1c(%ebp),%eax
41e805:	50                   	push   %eax
41e806:	8b 45 20             	mov    0x20(%ebp),%eax
41e809:	50                   	push   %eax
41e80a:	8b 45 24             	mov    0x24(%ebp),%eax
41e80d:	50                   	push   %eax
41e80e:	8b 45 28             	mov    0x28(%ebp),%eax
41e811:	50                   	push   %eax
41e812:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e815:	50                   	push   %eax
41e816:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e819:	50                   	push   %eax
41e81a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e81d:	50                   	push   %eax
41e81e:	57                   	push   %edi
41e81f:	e8 00 7b fe ff       	call   0x406324
41e824:	33 c0                	xor    %eax,%eax
41e826:	5a                   	pop    %edx
41e827:	59                   	pop    %ecx
41e828:	59                   	pop    %ecx
41e829:	64 89 10             	mov    %edx,%fs:(%eax)
41e82c:	68 ff e9 41 00       	push   $0x41e9ff
41e831:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e834:	50                   	push   %eax
41e835:	8b 45 10             	mov    0x10(%ebp),%eax
41e838:	50                   	push   %eax
41e839:	e8 46 7b fe ff       	call   0x406384
41e83e:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e841:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e844:	50                   	push   %eax
41e845:	e8 12 7a fe ff       	call   0x40625c
41e84a:	c3                   	ret
41e84b:	e9 4c 51 fe ff       	jmp    0x40399c
41e850:	eb df                	jmp    0x41e831
41e852:	33 c0                	xor    %eax,%eax
41e854:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e857:	6a 00                	push   $0x0
41e859:	e8 a6 79 fe ff       	call   0x406204
41e85e:	e8 71 fd ff ff       	call   0x41e5d4
41e863:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e866:	33 c0                	xor    %eax,%eax
41e868:	55                   	push   %ebp
41e869:	68 f8 e9 41 00       	push   $0x41e9f8
41e86e:	64 ff 30             	push   %fs:(%eax)
41e871:	64 89 20             	mov    %esp,%fs:(%eax)
41e874:	56                   	push   %esi
41e875:	53                   	push   %ebx
41e876:	8b 45 24             	mov    0x24(%ebp),%eax
41e879:	50                   	push   %eax
41e87a:	e8 7d 79 fe ff       	call   0x4061fc
41e87f:	e8 50 fd ff ff       	call   0x41e5d4
41e884:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e887:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e88a:	50                   	push   %eax
41e88b:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e88e:	50                   	push   %eax
41e88f:	e8 f0 7a fe ff       	call   0x406384
41e894:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e897:	6a 00                	push   $0x0
41e899:	a1 8c e8 46 00       	mov    0x46e88c,%eax
41e89e:	50                   	push   %eax
41e89f:	8b 45 24             	mov    0x24(%ebp),%eax
41e8a2:	50                   	push   %eax
41e8a3:	e8 e4 7a fe ff       	call   0x40638c
41e8a8:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e8ab:	6a 00                	push   $0x0
41e8ad:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e8b0:	50                   	push   %eax
41e8b1:	8b 45 24             	mov    0x24(%ebp),%eax
41e8b4:	50                   	push   %eax
41e8b5:	e8 d2 7a fe ff       	call   0x40638c
41e8ba:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41e8be:	74 14                	je     0x41e8d4
41e8c0:	6a ff                	push   $0xffffffff
41e8c2:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e8c5:	50                   	push   %eax
41e8c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e8c9:	50                   	push   %eax
41e8ca:	e8 bd 7a fe ff       	call   0x40638c
41e8cf:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e8d2:	eb 14                	jmp    0x41e8e8
41e8d4:	6a ff                	push   $0xffffffff
41e8d6:	a1 8c e8 46 00       	mov    0x46e88c,%eax
41e8db:	50                   	push   %eax
41e8dc:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e8df:	50                   	push   %eax
41e8e0:	e8 a7 7a fe ff       	call   0x40638c
41e8e5:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e8e8:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e8eb:	50                   	push   %eax
41e8ec:	e8 63 7a fe ff       	call   0x406354
41e8f1:	68 20 00 cc 00       	push   $0xcc0020
41e8f6:	56                   	push   %esi
41e8f7:	53                   	push   %ebx
41e8f8:	8b 45 08             	mov    0x8(%ebp),%eax
41e8fb:	50                   	push   %eax
41e8fc:	8b 45 0c             	mov    0xc(%ebp),%eax
41e8ff:	50                   	push   %eax
41e900:	8b 45 10             	mov    0x10(%ebp),%eax
41e903:	50                   	push   %eax
41e904:	56                   	push   %esi
41e905:	53                   	push   %ebx
41e906:	6a 00                	push   $0x0
41e908:	6a 00                	push   $0x0
41e90a:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e90d:	50                   	push   %eax
41e90e:	e8 e1 7a fe ff       	call   0x4063f4
41e913:	68 28 03 44 00       	push   $0x440328
41e918:	56                   	push   %esi
41e919:	53                   	push   %ebx
41e91a:	8b 45 1c             	mov    0x1c(%ebp),%eax
41e91d:	50                   	push   %eax
41e91e:	8b 45 20             	mov    0x20(%ebp),%eax
41e921:	50                   	push   %eax
41e922:	8b 45 24             	mov    0x24(%ebp),%eax
41e925:	50                   	push   %eax
41e926:	56                   	push   %esi
41e927:	53                   	push   %ebx
41e928:	6a 00                	push   $0x0
41e92a:	6a 00                	push   $0x0
41e92c:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e92f:	50                   	push   %eax
41e930:	e8 bf 7a fe ff       	call   0x4063f4
41e935:	6a 00                	push   $0x0
41e937:	57                   	push   %edi
41e938:	e8 97 7a fe ff       	call   0x4063d4
41e93d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e940:	68 ff ff ff 00       	push   $0xffffff
41e945:	57                   	push   %edi
41e946:	e8 49 7a fe ff       	call   0x406394
41e94b:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e94e:	68 c6 00 88 00       	push   $0x8800c6
41e953:	56                   	push   %esi
41e954:	53                   	push   %ebx
41e955:	8b 45 08             	mov    0x8(%ebp),%eax
41e958:	50                   	push   %eax
41e959:	8b 45 0c             	mov    0xc(%ebp),%eax
41e95c:	50                   	push   %eax
41e95d:	8b 45 10             	mov    0x10(%ebp),%eax
41e960:	50                   	push   %eax
41e961:	8b 45 28             	mov    0x28(%ebp),%eax
41e964:	50                   	push   %eax
41e965:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e968:	50                   	push   %eax
41e969:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e96c:	50                   	push   %eax
41e96d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e970:	50                   	push   %eax
41e971:	57                   	push   %edi
41e972:	e8 7d 7a fe ff       	call   0x4063f4
41e977:	68 46 00 66 00       	push   $0x660046
41e97c:	56                   	push   %esi
41e97d:	53                   	push   %ebx
41e97e:	6a 00                	push   $0x0
41e980:	6a 00                	push   $0x0
41e982:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e985:	50                   	push   %eax
41e986:	8b 45 28             	mov    0x28(%ebp),%eax
41e989:	50                   	push   %eax
41e98a:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e98d:	50                   	push   %eax