4095fb:	42                   	inc    %edx
4095fc:	46                   	inc    %esi
4095fd:	3a c3                	cmp    %bl,%al
4095ff:	74 03                	je     0x409604
409601:	4f                   	dec    %edi
409602:	75 f3                	jne    0x4095f7
409604:	3b fb                	cmp    %ebx,%edi
409606:	75 10                	jne    0x409618
409608:	88 19                	mov    %bl,(%ecx)
40960a:	e8 c6 c4 ff ff       	call   0x405ad5
40960f:	6a 22                	push   $0x22
409611:	59                   	pop    %ecx
409612:	89 08                	mov    %ecx,(%eax)
409614:	8b f1                	mov    %ecx,%esi
409616:	eb c1                	jmp    0x4095d9
409618:	33 c0                	xor    %eax,%eax
40961a:	5f                   	pop    %edi
40961b:	5e                   	pop    %esi
40961c:	5b                   	pop    %ebx
40961d:	5d                   	pop    %ebp
40961e:	c3                   	ret
40961f:	6a 0c                	push   $0xc
409621:	68 38 96 42 00       	push   $0x429638
409626:	e8 b1 0d 00 00       	call   0x40a3dc
40962b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40962f:	8b 75 08             	mov    0x8(%ebp),%esi
409632:	3b 35 90 23 c7 00    	cmp    0xc72390,%esi
409638:	77 22                	ja     0x40965c
40963a:	6a 04                	push   $0x4
40963c:	e8 a3 02 00 00       	call   0x4098e4
409641:	59                   	pop    %ecx
409642:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409646:	56                   	push   %esi
409647:	e8 aa 0a 00 00       	call   0x40a0f6
40964c:	59                   	pop    %ecx
40964d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409650:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409657:	e8 09 00 00 00       	call   0x409665
40965c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40965f:	e8 bd 0d 00 00       	call   0x40a421
409664:	c3                   	ret
409665:	6a 04                	push   $0x4
409667:	e8 9e 01 00 00       	call   0x40980a
40966c:	59                   	pop    %ecx
40966d:	c3                   	ret
40966e:	8b ff                	mov    %edi,%edi
409670:	55                   	push   %ebp
409671:	8b ec                	mov    %esp,%ebp
409673:	56                   	push   %esi
409674:	8b 75 08             	mov    0x8(%ebp),%esi
409677:	83 fe e0             	cmp    $0xffffffe0,%esi
40967a:	0f 87 a1 00 00 00    	ja     0x409721
409680:	53                   	push   %ebx
409681:	57                   	push   %edi
409682:	8b 3d d4 a0 41 00    	mov    0x41a0d4,%edi
409688:	83 3d 08 08 43 00 00 	cmpl   $0x0,0x430808
40968f:	75 18                	jne    0x4096a9
409691:	e8 b9 34 00 00       	call   0x40cb4f
409696:	6a 1e                	push   $0x1e
409698:	e8 07 33 00 00       	call   0x40c9a4
40969d:	68 ff 00 00 00       	push   $0xff
4096a2:	e8 49 30 00 00       	call   0x40c6f0
4096a7:	59                   	pop    %ecx
4096a8:	59                   	pop    %ecx
4096a9:	a1 a0 23 c7 00       	mov    0xc723a0,%eax
4096ae:	83 f8 01             	cmp    $0x1,%eax
4096b1:	75 0e                	jne    0x4096c1
4096b3:	85 f6                	test   %esi,%esi
4096b5:	74 04                	je     0x4096bb
4096b7:	8b c6                	mov    %esi,%eax
4096b9:	eb 03                	jmp    0x4096be
4096bb:	33 c0                	xor    %eax,%eax
4096bd:	40                   	inc    %eax
4096be:	50                   	push   %eax
4096bf:	eb 1c                	jmp    0x4096dd
4096c1:	83 f8 03             	cmp    $0x3,%eax
4096c4:	75 0b                	jne    0x4096d1
4096c6:	56                   	push   %esi
4096c7:	e8 53 ff ff ff       	call   0x40961f
4096cc:	59                   	pop    %ecx
4096cd:	85 c0                	test   %eax,%eax
4096cf:	75 16                	jne    0x4096e7
4096d1:	85 f6                	test   %esi,%esi
4096d3:	75 01                	jne    0x4096d6
4096d5:	46                   	inc    %esi
4096d6:	83 c6 0f             	add    $0xf,%esi
4096d9:	83 e6 f0             	and    $0xfffffff0,%esi
4096dc:	56                   	push   %esi
4096dd:	6a 00                	push   $0x0
4096df:	ff 35 08 08 43 00    	push   0x430808
4096e5:	ff d7                	call   *%edi
4096e7:	8b d8                	mov    %eax,%ebx
4096e9:	85 db                	test   %ebx,%ebx
4096eb:	75 2e                	jne    0x40971b
4096ed:	6a 0c                	push   $0xc
4096ef:	5e                   	pop    %esi
4096f0:	39 05 78 11 43 00    	cmp    %eax,0x431178
4096f6:	74 15                	je     0x40970d
4096f8:	ff 75 08             	push   0x8(%ebp)
4096fb:	e8 f4 2e 00 00       	call   0x40c5f4
409700:	59                   	pop    %ecx
409701:	85 c0                	test   %eax,%eax
409703:	74 0f                	je     0x409714
409705:	8b 75 08             	mov    0x8(%ebp),%esi
409708:	e9 7b ff ff ff       	jmp    0x409688
40970d:	e8 c3 c3 ff ff       	call   0x405ad5
409712:	89 30                	mov    %esi,(%eax)
409714:	e8 bc c3 ff ff       	call   0x405ad5
409719:	89 30                	mov    %esi,(%eax)
40971b:	5f                   	pop    %edi
40971c:	8b c3                	mov    %ebx,%eax
40971e:	5b                   	pop    %ebx
40971f:	eb 14                	jmp    0x409735
409721:	56                   	push   %esi
409722:	e8 cd 2e 00 00       	call   0x40c5f4
409727:	59                   	pop    %ecx
409728:	e8 a8 c3 ff ff       	call   0x405ad5
40972d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
409733:	33 c0                	xor    %eax,%eax
409735:	5e                   	pop    %esi
409736:	5d                   	pop    %ebp
409737:	c3                   	ret
409738:	8b ff                	mov    %edi,%edi
40973a:	55                   	push   %ebp
40973b:	8b ec                	mov    %esp,%ebp
40973d:	33 c0                	xor    %eax,%eax
40973f:	39 45 08             	cmp    %eax,0x8(%ebp)
409742:	6a 00                	push   $0x0
409744:	0f 94 c0             	sete   %al
409747:	68 00 10 00 00       	push   $0x1000
40974c:	50                   	push   %eax
40974d:	ff 15 d8 a0 41 00    	call   *0x41a0d8
409753:	a3 08 08 43 00       	mov    %eax,0x430808
409758:	85 c0                	test   %eax,%eax
40975a:	75 02                	jne    0x40975e
40975c:	5d                   	pop    %ebp
40975d:	c3                   	ret
40975e:	33 c0                	xor    %eax,%eax
409760:	40                   	inc    %eax
409761:	a3 a0 23 c7 00       	mov    %eax,0xc723a0
409766:	5d                   	pop    %ebp
409767:	c3                   	ret
409768:	8b ff                	mov    %edi,%edi
40976a:	56                   	push   %esi
40976b:	57                   	push   %edi
40976c:	33 f6                	xor    %esi,%esi
40976e:	bf 10 08 43 00       	mov    $0x430810,%edi
409773:	83 3c f5 94 b2 42 00 	cmpl   $0x1,0x42b294(,%esi,8)
40977a:	01
40977b:	75 1e                	jne    0x40979b
40977d:	8d 04 f5 90 b2 42 00 	lea    0x42b290(,%esi,8),%eax
409784:	89 38                	mov    %edi,(%eax)
409786:	68 a0 0f 00 00       	push   $0xfa0
40978b:	ff 30                	push   (%eax)
40978d:	83 c7 18             	add    $0x18,%edi
409790:	e8 c7 98 00 00       	call   0x41305c
409795:	59                   	pop    %ecx
409796:	59                   	pop    %ecx
409797:	85 c0                	test   %eax,%eax
409799:	74 0c                	je     0x4097a7
40979b:	46                   	inc    %esi
40979c:	83 fe 24             	cmp    $0x24,%esi
40979f:	7c d2                	jl     0x409773
4097a1:	33 c0                	xor    %eax,%eax
4097a3:	40                   	inc    %eax
4097a4:	5f                   	pop    %edi
4097a5:	5e                   	pop    %esi
4097a6:	c3                   	ret
4097a7:	83 24 f5 90 b2 42 00 	andl   $0x0,0x42b290(,%esi,8)
4097ae:	00
4097af:	33 c0                	xor    %eax,%eax
4097b1:	eb f1                	jmp    0x4097a4
4097b3:	8b ff                	mov    %edi,%edi
4097b5:	53                   	push   %ebx
4097b6:	8b 1d 8c a0 41 00    	mov    0x41a08c,%ebx
4097bc:	56                   	push   %esi
4097bd:	be 90 b2 42 00       	mov    $0x42b290,%esi
4097c2:	57                   	push   %edi
4097c3:	8b 3e                	mov    (%esi),%edi
4097c5:	85 ff                	test   %edi,%edi
4097c7:	74 13                	je     0x4097dc
4097c9:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
4097cd:	74 0d                	je     0x4097dc
4097cf:	57                   	push   %edi
4097d0:	ff d3                	call   *%ebx
4097d2:	57                   	push   %edi
4097d3:	e8 48 b8 ff ff       	call   0x405020
4097d8:	83 26 00             	andl   $0x0,(%esi)
4097db:	59                   	pop    %ecx
4097dc:	83 c6 08             	add    $0x8,%esi
4097df:	81 fe b0 b3 42 00    	cmp    $0x42b3b0,%esi
4097e5:	7c dc                	jl     0x4097c3
4097e7:	be 90 b2 42 00       	mov    $0x42b290,%esi
4097ec:	5f                   	pop    %edi
4097ed:	8b 06                	mov    (%esi),%eax
4097ef:	85 c0                	test   %eax,%eax
4097f1:	74 09                	je     0x4097fc
4097f3:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
4097f7:	75 03                	jne    0x4097fc
4097f9:	50                   	push   %eax
4097fa:	ff d3                	call   *%ebx
4097fc:	83 c6 08             	add    $0x8,%esi
4097ff:	81 fe b0 b3 42 00    	cmp    $0x42b3b0,%esi
409805:	7c e6                	jl     0x4097ed
409807:	5e                   	pop    %esi
409808:	5b                   	pop    %ebx
409809:	c3                   	ret
40980a:	8b ff                	mov    %edi,%edi
40980c:	55                   	push   %ebp
40980d:	8b ec                	mov    %esp,%ebp
40980f:	8b 45 08             	mov    0x8(%ebp),%eax
409812:	ff 34 c5 90 b2 42 00 	push   0x42b290(,%eax,8)
409819:	ff 15 94 a0 41 00    	call   *0x41a094
40981f:	5d                   	pop    %ebp
409820:	c3                   	ret
409821:	6a 0c                	push   $0xc
409823:	68 58 96 42 00       	push   $0x429658
409828:	e8 af 0b 00 00       	call   0x40a3dc
40982d:	33 ff                	xor    %edi,%edi
40982f:	47                   	inc    %edi
409830:	89 7d e4             	mov    %edi,-0x1c(%ebp)
409833:	33 db                	xor    %ebx,%ebx
409835:	39 1d 08 08 43 00    	cmp    %ebx,0x430808
40983b:	75 18                	jne    0x409855
40983d:	e8 0d 33 00 00       	call   0x40cb4f
409842:	6a 1e                	push   $0x1e
409844:	e8 5b 31 00 00       	call   0x40c9a4
409849:	68 ff 00 00 00       	push   $0xff
40984e:	e8 9d 2e 00 00       	call   0x40c6f0
409853:	59                   	pop    %ecx
409854:	59                   	pop    %ecx
409855:	8b 75 08             	mov    0x8(%ebp),%esi
409858:	8d 34 f5 90 b2 42 00 	lea    0x42b290(,%esi,8),%esi
40985f:	39 1e                	cmp    %ebx,(%esi)
409861:	74 04                	je     0x409867
409863:	8b c7                	mov    %edi,%eax
409865:	eb 6e                	jmp    0x4098d5
409867:	6a 18                	push   $0x18
409869:	e8 f2 e2 ff ff       	call   0x407b60
40986e:	59                   	pop    %ecx
40986f:	8b f8                	mov    %eax,%edi
409871:	3b fb                	cmp    %ebx,%edi
409873:	75 0f                	jne    0x409884
409875:	e8 5b c2 ff ff       	call   0x405ad5
40987a:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
409880:	33 c0                	xor    %eax,%eax
409882:	eb 51                	jmp    0x4098d5
409884:	6a 0a                	push   $0xa
409886:	e8 59 00 00 00       	call   0x4098e4
40988b:	59                   	pop    %ecx
40988c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40988f:	39 1e                	cmp    %ebx,(%esi)
409891:	75 2c                	jne    0x4098bf
409893:	68 a0 0f 00 00       	push   $0xfa0
409898:	57                   	push   %edi
409899:	e8 be 97 00 00       	call   0x41305c
40989e:	59                   	pop    %ecx
40989f:	59                   	pop    %ecx
4098a0:	85 c0                	test   %eax,%eax
4098a2:	75 17                	jne    0x4098bb
4098a4:	57                   	push   %edi
4098a5:	e8 76 b7 ff ff       	call   0x405020
4098aa:	59                   	pop    %ecx
4098ab:	e8 25 c2 ff ff       	call   0x405ad5
4098b0:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4098b6:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4098b9:	eb 0b                	jmp    0x4098c6
4098bb:	89 3e                	mov    %edi,(%esi)
4098bd:	eb 07                	jmp    0x4098c6
4098bf:	57                   	push   %edi
4098c0:	e8 5b b7 ff ff       	call   0x405020
4098c5:	59                   	pop    %ecx
4098c6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4098cd:	e8 09 00 00 00       	call   0x4098db
4098d2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4098d5:	e8 47 0b 00 00       	call   0x40a421
4098da:	c3                   	ret
4098db:	6a 0a                	push   $0xa
4098dd:	e8 28 ff ff ff       	call   0x40980a
4098e2:	59                   	pop    %ecx
4098e3:	c3                   	ret
4098e4:	8b ff                	mov    %edi,%edi
4098e6:	55                   	push   %ebp
4098e7:	8b ec                	mov    %esp,%ebp
4098e9:	8b 45 08             	mov    0x8(%ebp),%eax
4098ec:	56                   	push   %esi
4098ed:	8d 34 c5 90 b2 42 00 	lea    0x42b290(,%eax,8),%esi
4098f4:	83 3e 00             	cmpl   $0x0,(%esi)
4098f7:	75 13                	jne    0x40990c
4098f9:	50                   	push   %eax
4098fa:	e8 22 ff ff ff       	call   0x409821
4098ff:	59                   	pop    %ecx
409900:	85 c0                	test   %eax,%eax
409902:	75 08                	jne    0x40990c
409904:	6a 11                	push   $0x11
409906:	e8 91 2d 00 00       	call   0x40c69c
40990b:	59                   	pop    %ecx
40990c:	ff 36                	push   (%esi)
40990e:	ff 15 90 a0 41 00    	call   *0x41a090
409914:	5e                   	pop    %esi
409915:	5d                   	pop    %ebp
409916:	c3                   	ret
409917:	8b ff                	mov    %edi,%edi
409919:	55                   	push   %ebp
40991a:	8b ec                	mov    %esp,%ebp
40991c:	8b 0d 88 23 c7 00    	mov    0xc72388,%ecx
409922:	a1 8c 23 c7 00       	mov    0xc7238c,%eax
409927:	6b c9 14             	imul   $0x14,%ecx,%ecx
40992a:	03 c8                	add    %eax,%ecx
40992c:	eb 11                	jmp    0x40993f
40992e:	8b 55 08             	mov    0x8(%ebp),%edx
409931:	2b 50 0c             	sub    0xc(%eax),%edx
409934:	81 fa 00 00 10 00    	cmp    $0x100000,%edx
40993a:	72 09                	jb     0x409945
40993c:	83 c0 14             	add    $0x14,%eax
40993f:	3b c1                	cmp    %ecx,%eax
409941:	72 eb                	jb     0x40992e
409943:	33 c0                	xor    %eax,%eax
409945:	5d                   	pop    %ebp
409946:	c3                   	ret
409947:	8b ff                	mov    %edi,%edi
409949:	55                   	push   %ebp
40994a:	8b ec                	mov    %esp,%ebp
40994c:	83 ec 10             	sub    $0x10,%esp
40994f:	8b 4d 08             	mov    0x8(%ebp),%ecx
409952:	8b 41 10             	mov    0x10(%ecx),%eax
409955:	56                   	push   %esi
409956:	8b 75 0c             	mov    0xc(%ebp),%esi
409959:	57                   	push   %edi
40995a:	8b fe                	mov    %esi,%edi
40995c:	2b 79 0c             	sub    0xc(%ecx),%edi
40995f:	83 c6 fc             	add    $0xfffffffc,%esi
409962:	c1 ef 0f             	shr    $0xf,%edi
409965:	8b cf                	mov    %edi,%ecx
409967:	69 c9 04 02 00 00    	imul   $0x204,%ecx,%ecx
40996d:	8d 8c 01 44 01 00 00 	lea    0x144(%ecx,%eax,1),%ecx
409974:	89 4d f0             	mov    %ecx,-0x10(%ebp)
409977:	8b 0e                	mov    (%esi),%ecx
409979:	49                   	dec    %ecx
40997a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40997d:	f6 c1 01             	test   $0x1,%cl
409980:	0f 85 d3 02 00 00    	jne    0x409c59
409986:	53                   	push   %ebx
409987:	8d 1c 31             	lea    (%ecx,%esi,1),%ebx
40998a:	8b 13                	mov    (%ebx),%edx
40998c:	89 55 f4             	mov    %edx,-0xc(%ebp)
40998f:	8b 56 fc             	mov    -0x4(%esi),%edx
409992:	89 55 f8             	mov    %edx,-0x8(%ebp)
409995:	8b 55 f4             	mov    -0xc(%ebp),%edx
409998:	89 5d 0c             	mov    %ebx,0xc(%ebp)