40e6f0:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40e6f3:	6a 04                	push   $0x4
40e6f5:	8d 45 0c             	lea    0xc(%ebp),%eax
40e6f8:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e6fb:	58                   	pop    %eax
40e6fc:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e6ff:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e702:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e705:	50                   	push   %eax
40e706:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e709:	50                   	push   %eax
40e70a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e70d:	50                   	push   %eax
40e70e:	e8 75 fd ff ff       	call   0x40e488
40e713:	c9                   	leave
40e714:	c3                   	ret
40e715:	8b ff                	mov    %edi,%edi
40e717:	55                   	push   %ebp
40e718:	8b ec                	mov    %esp,%ebp
40e71a:	51                   	push   %ecx
40e71b:	e8 b3 5a 00 00       	call   0x4141d3
40e720:	8b 48 4c             	mov    0x4c(%eax),%ecx
40e723:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e726:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e729:	51                   	push   %ecx
40e72a:	50                   	push   %eax
40e72b:	e8 f5 5c 00 00       	call   0x414425
40e730:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e733:	59                   	pop    %ecx
40e734:	59                   	pop    %ecx
40e735:	8b 00                	mov    (%eax),%eax
40e737:	c9                   	leave
40e738:	c3                   	ret
40e739:	cc                   	int3
40e73a:	cc                   	int3
40e73b:	cc                   	int3
40e73c:	cc                   	int3
40e73d:	cc                   	int3
40e73e:	cc                   	int3
40e73f:	cc                   	int3
40e740:	8b ff                	mov    %edi,%edi
40e742:	55                   	push   %ebp
40e743:	8b ec                	mov    %esp,%ebp
40e745:	51                   	push   %ecx
40e746:	83 3d bc 49 43 00 00 	cmpl   $0x0,0x4349bc
40e74d:	56                   	push   %esi
40e74e:	8b 75 08             	mov    0x8(%ebp),%esi
40e751:	57                   	push   %edi
40e752:	8d 7e 01             	lea    0x1(%esi),%edi
40e755:	75 1a                	jne    0x40e771
40e757:	81 ff 00 01 00 00    	cmp    $0x100,%edi
40e75d:	77 5d                	ja     0x40e7bc
40e75f:	a1 d0 31 43 00       	mov    0x4331d0,%eax
40e764:	5f                   	pop    %edi
40e765:	0f b7 04 70          	movzwl (%eax,%esi,2),%eax
40e769:	83 e0 02             	and    $0x2,%eax
40e76c:	5e                   	pop    %esi
40e76d:	8b e5                	mov    %ebp,%esp
40e76f:	5d                   	pop    %ebp
40e770:	c3                   	ret
40e771:	e8 5d 5a 00 00       	call   0x4141d3
40e776:	8b 48 4c             	mov    0x4c(%eax),%ecx
40e779:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e77c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e77f:	51                   	push   %ecx
40e780:	50                   	push   %eax
40e781:	e8 9f 5c 00 00       	call   0x414425
40e786:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e789:	83 c4 08             	add    $0x8,%esp
40e78c:	81 ff 00 01 00 00    	cmp    $0x100,%edi
40e792:	77 0f                	ja     0x40e7a3
40e794:	8b 00                	mov    (%eax),%eax
40e796:	5f                   	pop    %edi
40e797:	0f b7 04 70          	movzwl (%eax,%esi,2),%eax
40e79b:	83 e0 02             	and    $0x2,%eax
40e79e:	5e                   	pop    %esi
40e79f:	8b e5                	mov    %ebp,%esp
40e7a1:	5d                   	pop    %ebp
40e7a2:	c3                   	ret
40e7a3:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
40e7a7:	7e 13                	jle    0x40e7bc
40e7a9:	6a 00                	push   $0x0
40e7ab:	6a 02                	push   $0x2
40e7ad:	56                   	push   %esi
40e7ae:	e8 1a 9c 00 00       	call   0x4183cd
40e7b3:	83 c4 0c             	add    $0xc,%esp
40e7b6:	5f                   	pop    %edi
40e7b7:	5e                   	pop    %esi
40e7b8:	8b e5                	mov    %ebp,%esp
40e7ba:	5d                   	pop    %ebp
40e7bb:	c3                   	ret
40e7bc:	5f                   	pop    %edi
40e7bd:	33 c0                	xor    %eax,%eax
40e7bf:	5e                   	pop    %esi
40e7c0:	8b e5                	mov    %ebp,%esp
40e7c2:	5d                   	pop    %ebp
40e7c3:	c3                   	ret
40e7c4:	cc                   	int3
40e7c5:	cc                   	int3
40e7c6:	cc                   	int3
40e7c7:	cc                   	int3
40e7c8:	cc                   	int3
40e7c9:	cc                   	int3
40e7ca:	cc                   	int3
40e7cb:	cc                   	int3
40e7cc:	cc                   	int3
40e7cd:	cc                   	int3
40e7ce:	cc                   	int3
40e7cf:	cc                   	int3
40e7d0:	8b ff                	mov    %edi,%edi
40e7d2:	55                   	push   %ebp
40e7d3:	8b ec                	mov    %esp,%ebp
40e7d5:	51                   	push   %ecx
40e7d6:	83 3d bc 49 43 00 00 	cmpl   $0x0,0x4349bc
40e7dd:	56                   	push   %esi
40e7de:	8b 75 08             	mov    0x8(%ebp),%esi
40e7e1:	57                   	push   %edi
40e7e2:	8d 7e 01             	lea    0x1(%esi),%edi
40e7e5:	75 1a                	jne    0x40e801
40e7e7:	81 ff 00 01 00 00    	cmp    $0x100,%edi
40e7ed:	77 5d                	ja     0x40e84c
40e7ef:	a1 d0 31 43 00       	mov    0x4331d0,%eax
40e7f4:	5f                   	pop    %edi
40e7f5:	0f b7 04 70          	movzwl (%eax,%esi,2),%eax
40e7f9:	83 e0 01             	and    $0x1,%eax
40e7fc:	5e                   	pop    %esi
40e7fd:	8b e5                	mov    %ebp,%esp
40e7ff:	5d                   	pop    %ebp
40e800:	c3                   	ret
40e801:	e8 cd 59 00 00       	call   0x4141d3
40e806:	8b 48 4c             	mov    0x4c(%eax),%ecx
40e809:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e80c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e80f:	51                   	push   %ecx
40e810:	50                   	push   %eax
40e811:	e8 0f 5c 00 00       	call   0x414425
40e816:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e819:	83 c4 08             	add    $0x8,%esp
40e81c:	81 ff 00 01 00 00    	cmp    $0x100,%edi
40e822:	77 0f                	ja     0x40e833
40e824:	8b 00                	mov    (%eax),%eax
40e826:	5f                   	pop    %edi
40e827:	0f b7 04 70          	movzwl (%eax,%esi,2),%eax
40e82b:	83 e0 01             	and    $0x1,%eax
40e82e:	5e                   	pop    %esi
40e82f:	8b e5                	mov    %ebp,%esp
40e831:	5d                   	pop    %ebp
40e832:	c3                   	ret
40e833:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
40e837:	7e 13                	jle    0x40e84c
40e839:	6a 00                	push   $0x0
40e83b:	6a 01                	push   $0x1
40e83d:	56                   	push   %esi
40e83e:	e8 8a 9b 00 00       	call   0x4183cd
40e843:	83 c4 0c             	add    $0xc,%esp
40e846:	5f                   	pop    %edi
40e847:	5e                   	pop    %esi
40e848:	8b e5                	mov    %ebp,%esp
40e84a:	5d                   	pop    %ebp
40e84b:	c3                   	ret
40e84c:	5f                   	pop    %edi
40e84d:	33 c0                	xor    %eax,%eax
40e84f:	5e                   	pop    %esi
40e850:	8b e5                	mov    %ebp,%esp
40e852:	5d                   	pop    %ebp
40e853:	c3                   	ret
40e854:	8b ff                	mov    %edi,%edi
40e856:	55                   	push   %ebp
40e857:	8b ec                	mov    %esp,%ebp
40e859:	51                   	push   %ecx
40e85a:	e8 74 59 00 00       	call   0x4141d3
40e85f:	8b 48 4c             	mov    0x4c(%eax),%ecx
40e862:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e865:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e868:	51                   	push   %ecx
40e869:	50                   	push   %eax
40e86a:	e8 b6 5b 00 00       	call   0x414425
40e86f:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e872:	59                   	pop    %ecx
40e873:	59                   	pop    %ecx
40e874:	8b 40 08             	mov    0x8(%eax),%eax
40e877:	c9                   	leave
40e878:	c3                   	ret
40e879:	8b ff                	mov    %edi,%edi
40e87b:	55                   	push   %ebp
40e87c:	8b ec                	mov    %esp,%ebp
40e87e:	51                   	push   %ecx
40e87f:	e8 4f 59 00 00       	call   0x4141d3
40e884:	8b 48 4c             	mov    0x4c(%eax),%ecx
40e887:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e88a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e88d:	51                   	push   %ecx
40e88e:	50                   	push   %eax
40e88f:	e8 91 5b 00 00       	call   0x414425
40e894:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e897:	59                   	pop    %ecx
40e898:	59                   	pop    %ecx
40e899:	05 a0 00 00 00       	add    $0xa0,%eax
40e89e:	c9                   	leave
40e89f:	c3                   	ret
40e8a0:	8b ff                	mov    %edi,%edi
40e8a2:	55                   	push   %ebp
40e8a3:	8b ec                	mov    %esp,%ebp
40e8a5:	51                   	push   %ecx
40e8a6:	e8 28 59 00 00       	call   0x4141d3
40e8ab:	8b 48 4c             	mov    0x4c(%eax),%ecx
40e8ae:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e8b1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e8b4:	51                   	push   %ecx
40e8b5:	50                   	push   %eax
40e8b6:	e8 6a 5b 00 00       	call   0x414425
40e8bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e8be:	59                   	pop    %ecx
40e8bf:	59                   	pop    %ecx
40e8c0:	8b 40 04             	mov    0x4(%eax),%eax
40e8c3:	c9                   	leave
40e8c4:	c3                   	ret
40e8c5:	8b ff                	mov    %edi,%edi
40e8c7:	55                   	push   %ebp
40e8c8:	8b ec                	mov    %esp,%ebp
40e8ca:	83 ec 58             	sub    $0x58,%esp
40e8cd:	a1 14 30 43 00       	mov    0x433014,%eax
40e8d2:	33 c5                	xor    %ebp,%eax
40e8d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e8d7:	53                   	push   %ebx
40e8d8:	56                   	push   %esi
40e8d9:	8b 75 08             	mov    0x8(%ebp),%esi
40e8dc:	33 db                	xor    %ebx,%ebx
40e8de:	57                   	push   %edi
40e8df:	89 75 cc             	mov    %esi,-0x34(%ebp)
40e8e2:	8b fb                	mov    %ebx,%edi
40e8e4:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40e8e7:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
40e8ed:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40e8f0:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40e8f3:	89 75 a8             	mov    %esi,-0x58(%ebp)
40e8f6:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40e8f9:	85 c9                	test   %ecx,%ecx
40e8fb:	0f 84 d7 03 00 00    	je     0x40ecd8
40e901:	8d 46 08             	lea    0x8(%esi),%eax
40e904:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40e907:	39 18                	cmp    %ebx,(%eax)
40e909:	75 1c                	jne    0x40e927
40e90b:	50                   	push   %eax
40e90c:	68 04 10 00 00       	push   $0x1004
40e911:	51                   	push   %ecx
40e912:	8d 45 a8             	lea    -0x58(%ebp),%eax
40e915:	53                   	push   %ebx
40e916:	50                   	push   %eax
40e917:	e8 5b 9c 00 00       	call   0x418577
40e91c:	83 c4 14             	add    $0x14,%esp
40e91f:	85 c0                	test   %eax,%eax
40e921:	0f 85 80 03 00 00    	jne    0x40eca7
40e927:	6a 04                	push   $0x4
40e929:	6a 01                	push   $0x1
40e92b:	e8 7e 47 00 00       	call   0x4130ae
40e930:	53                   	push   %ebx
40e931:	89 45 d0             	mov    %eax,-0x30(%ebp)
40e934:	e8 d2 47 00 00       	call   0x41310b
40e939:	6a 02                	push   $0x2
40e93b:	bf 80 01 00 00       	mov    $0x180,%edi
40e940:	57                   	push   %edi
40e941:	e8 68 47 00 00       	call   0x4130ae
40e946:	53                   	push   %ebx
40e947:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e94a:	e8 bc 47 00 00       	call   0x41310b
40e94f:	6a 01                	push   $0x1
40e951:	57                   	push   %edi
40e952:	e8 57 47 00 00       	call   0x4130ae
40e957:	8b f8                	mov    %eax,%edi
40e959:	53                   	push   %ebx
40e95a:	89 7d d8             	mov    %edi,-0x28(%ebp)
40e95d:	e8 a9 47 00 00       	call   0x41310b
40e962:	6a 01                	push   $0x1
40e964:	68 80 01 00 00       	push   $0x180
40e969:	e8 40 47 00 00       	call   0x4130ae
40e96e:	53                   	push   %ebx
40e96f:	89 45 e0             	mov    %eax,-0x20(%ebp)
40e972:	e8 94 47 00 00       	call   0x41310b
40e977:	6a 01                	push   $0x1
40e979:	68 01 01 00 00       	push   $0x101
40e97e:	e8 2b 47 00 00       	call   0x4130ae
40e983:	53                   	push   %ebx
40e984:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e987:	e8 7f 47 00 00       	call   0x41310b
40e98c:	83 c4 3c             	add    $0x3c,%esp
40e98f:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
40e992:	0f 84 0f 03 00 00    	je     0x40eca7
40e998:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
40e99b:	0f 84 06 03 00 00    	je     0x40eca7
40e9a1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40e9a4:	85 c9                	test   %ecx,%ecx
40e9a6:	0f 84 fb 02 00 00    	je     0x40eca7
40e9ac:	85 ff                	test   %edi,%edi
40e9ae:	0f 84 f3 02 00 00    	je     0x40eca7
40e9b4:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
40e9b7:	0f 84 ea 02 00 00    	je     0x40eca7
40e9bd:	8b c3                	mov    %ebx,%eax
40e9bf:	88 04 08             	mov    %al,(%eax,%ecx,1)
40e9c2:	40                   	inc    %eax
40e9c3:	3d 00 01 00 00       	cmp    $0x100,%eax
40e9c8:	7c f5                	jl     0x40e9bf
40e9ca:	8d 45 e8             	lea    -0x18(%ebp),%eax
40e9cd:	50                   	push   %eax
40e9ce:	ff 76 08             	push   0x8(%esi)
40e9d1:	ff 15 5c 40 42 00    	call   *0x42405c
40e9d7:	85 c0                	test   %eax,%eax
40e9d9:	0f 84 c8 02 00 00    	je     0x40eca7
40e9df:	8b 45 e8             	mov    -0x18(%ebp),%eax
40e9e2:	83 f8 05             	cmp    $0x5,%eax
40e9e5:	0f 87 bc 02 00 00    	ja     0x40eca7
40e9eb:	0f b7 c0             	movzwl %ax,%eax
40e9ee:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e9f1:	83 f8 01             	cmp    $0x1,%eax
40e9f4:	76 54                	jbe    0x40ea4a
40e9f6:	81 7e 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%esi)
40e9fd:	75 18                	jne    0x40ea17
40e9ff:	8b 45 dc             	mov    -0x24(%ebp),%eax
40ea02:	68 80 00 00 00       	push   $0x80
40ea07:	83 e8 80             	sub    $0xffffff80,%eax
40ea0a:	6a 20                	push   $0x20
40ea0c:	50                   	push   %eax
40ea0d:	e8 de a4 ff ff       	call   0x408ef0
40ea12:	83 c4 0c             	add    $0xc,%esp
40ea15:	eb 33                	jmp    0x40ea4a
40ea17:	8d 55 ee             	lea    -0x12(%ebp),%edx
40ea1a:	38 5d ee             	cmp    %bl,-0x12(%ebp)
40ea1d:	74 2b                	je     0x40ea4a
40ea1f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ea22:	8a 42 01             	mov    0x1(%edx),%al
40ea25:	84 c0                	test   %al,%al
40ea27:	74 1e                	je     0x40ea47
40ea29:	0f b6 32             	movzbl (%edx),%esi
40ea2c:	0f b6 c0             	movzbl %al,%eax
40ea2f:	3b f0                	cmp    %eax,%esi
40ea31:	77 0d                	ja     0x40ea40
40ea33:	c6 04 0e 20          	movb   $0x20,(%esi,%ecx,1)
40ea37:	46                   	inc    %esi
40ea38:	0f b6 42 01          	movzbl 0x1(%edx),%eax
40ea3c:	3b f0                	cmp    %eax,%esi
40ea3e:	7e f3                	jle    0x40ea33
40ea40:	83 c2 02             	add    $0x2,%edx
40ea43:	38 1a                	cmp    %bl,(%edx)
40ea45:	75 db                	jne    0x40ea22
40ea47:	8b 75 cc             	mov    -0x34(%ebp),%esi
40ea4a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40ea4d:	8d 87 81 00 00 00    	lea    0x81(%edi),%eax
40ea53:	53                   	push   %ebx
40ea54:	ff 76 08             	push   0x8(%esi)
40ea57:	ba ff 00 00 00       	mov    $0xff,%edx