430710:	ff 4d e4             	decl   -0x1c(%ebp)
430713:	78 07                	js     0x43071c
430715:	8b 45 e0             	mov    -0x20(%ebp),%eax
430718:	88 18                	mov    %bl,(%eax)
43071a:	eb 0c                	jmp    0x430728
43071c:	8d 45 e0             	lea    -0x20(%ebp),%eax
43071f:	50                   	push   %eax
430720:	53                   	push   %ebx
430721:	e8 f8 61 00 00       	call   0x43691e
430726:	59                   	pop    %ecx
430727:	59                   	pop    %ecx
430728:	8b c7                	mov    %edi,%eax
43072a:	5e                   	pop    %esi
43072b:	5f                   	pop    %edi
43072c:	5b                   	pop    %ebx
43072d:	c9                   	leave
43072e:	c3                   	ret
43072f:	8b ff                	mov    %edi,%edi
430731:	55                   	push   %ebp
430732:	8b ec                	mov    %esp,%ebp
430734:	8d 45 18             	lea    0x18(%ebp),%eax
430737:	50                   	push   %eax
430738:	ff 75 14             	push   0x14(%ebp)
43073b:	ff 75 10             	push   0x10(%ebp)
43073e:	ff 75 0c             	push   0xc(%ebp)
430741:	ff 75 08             	push   0x8(%ebp)
430744:	e8 be 6f 00 00       	call   0x437707
430749:	83 c4 14             	add    $0x14,%esp
43074c:	5d                   	pop    %ebp
43074d:	c3                   	ret
43074e:	8b ff                	mov    %edi,%edi
430750:	55                   	push   %ebp
430751:	8b ec                	mov    %esp,%ebp
430753:	6a 0a                	push   $0xa
430755:	6a 00                	push   $0x0
430757:	ff 75 08             	push   0x8(%ebp)
43075a:	e8 c1 72 00 00       	call   0x437a20
43075f:	83 c4 0c             	add    $0xc,%esp
430762:	5d                   	pop    %ebp
430763:	c3                   	ret
430764:	8b ff                	mov    %edi,%edi
430766:	55                   	push   %ebp
430767:	8b ec                	mov    %esp,%ebp
430769:	ff 75 0c             	push   0xc(%ebp)
43076c:	6a 0a                	push   $0xa
43076e:	6a 00                	push   $0x0
430770:	ff 75 08             	push   0x8(%ebp)
430773:	e8 d3 72 00 00       	call   0x437a4b
430778:	83 c4 10             	add    $0x10,%esp
43077b:	5d                   	pop    %ebp
43077c:	c3                   	ret
43077d:	8b ff                	mov    %edi,%edi
43077f:	55                   	push   %ebp
430780:	8b ec                	mov    %esp,%ebp
430782:	5d                   	pop    %ebp
430783:	e9 c6 ff ff ff       	jmp    0x43074e
430788:	8b ff                	mov    %edi,%edi
43078a:	55                   	push   %ebp
43078b:	8b ec                	mov    %esp,%ebp
43078d:	5d                   	pop    %ebp
43078e:	e9 d1 ff ff ff       	jmp    0x430764
430793:	8b ff                	mov    %edi,%edi
430795:	55                   	push   %ebp
430796:	8b ec                	mov    %esp,%ebp
430798:	6a 0a                	push   $0xa
43079a:	6a 00                	push   $0x0
43079c:	ff 75 08             	push   0x8(%ebp)
43079f:	e8 aa 75 00 00       	call   0x437d4e
4307a4:	83 c4 0c             	add    $0xc,%esp
4307a7:	5d                   	pop    %ebp
4307a8:	c3                   	ret
4307a9:	8b ff                	mov    %edi,%edi
4307ab:	55                   	push   %ebp
4307ac:	8b ec                	mov    %esp,%ebp
4307ae:	ff 75 0c             	push   0xc(%ebp)
4307b1:	6a 0a                	push   $0xa
4307b3:	6a 00                	push   $0x0
4307b5:	ff 75 08             	push   0x8(%ebp)
4307b8:	e8 bc 75 00 00       	call   0x437d79
4307bd:	83 c4 10             	add    $0x10,%esp
4307c0:	5d                   	pop    %ebp
4307c1:	c3                   	ret
4307c2:	8b ff                	mov    %edi,%edi
4307c4:	55                   	push   %ebp
4307c5:	8b ec                	mov    %esp,%ebp
4307c7:	83 3d d4 07 47 00 02 	cmpl   $0x2,0x4707d4
4307ce:	74 05                	je     0x4307d5
4307d0:	e8 9f 49 00 00       	call   0x435174
4307d5:	ff 75 08             	push   0x8(%ebp)
4307d8:	e8 e8 47 00 00       	call   0x434fc5
4307dd:	68 ff 00 00 00       	push   $0xff
4307e2:	e8 8e f6 ff ff       	call   0x42fe75
4307e7:	59                   	pop    %ecx
4307e8:	59                   	pop    %ecx
4307e9:	5d                   	pop    %ebp
4307ea:	c3                   	ret
4307eb:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
4307f0:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
4307f7:	74 03                	je     0x4307fc
4307f9:	33 c0                	xor    %eax,%eax
4307fb:	c3                   	ret
4307fc:	a1 3c 00 40 00       	mov    0x40003c,%eax
430801:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
430808:	45 00 00
43080b:	75 ec                	jne    0x4307f9
43080d:	b9 0b 01 00 00       	mov    $0x10b,%ecx
430812:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
430819:	75 de                	jne    0x4307f9
43081b:	83 b8 74 00 40 00 0e 	cmpl   $0xe,0x400074(%eax)
430822:	76 d5                	jbe    0x4307f9
430824:	33 c9                	xor    %ecx,%ecx
430826:	39 88 e8 00 40 00    	cmp    %ecx,0x4000e8(%eax)
43082c:	0f 95 c1             	setne  %cl
43082f:	8b c1                	mov    %ecx,%eax
430831:	c3                   	ret
430832:	6a 14                	push   $0x14
430834:	68 b0 db 46 00       	push   $0x46dbb0
430839:	e8 42 45 00 00       	call   0x434d80
43083e:	33 f6                	xor    %esi,%esi
430840:	39 35 9c 18 47 00    	cmp    %esi,0x47189c
430846:	75 0b                	jne    0x430853
430848:	56                   	push   %esi
430849:	56                   	push   %esi
43084a:	6a 01                	push   $0x1
43084c:	56                   	push   %esi
43084d:	ff 15 e4 34 47 00    	call   *0x4734e4
430853:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
430858:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
43085f:	74 05                	je     0x430866
430861:	89 75 e4             	mov    %esi,-0x1c(%ebp)
430864:	eb 36                	jmp    0x43089c
430866:	a1 3c 00 40 00       	mov    0x40003c,%eax
43086b:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
430872:	45 00 00
430875:	75 ea                	jne    0x430861
430877:	b9 0b 01 00 00       	mov    $0x10b,%ecx
43087c:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
430883:	75 dc                	jne    0x430861
430885:	83 b8 74 00 40 00 0e 	cmpl   $0xe,0x400074(%eax)
43088c:	76 d3                	jbe    0x430861
43088e:	33 c9                	xor    %ecx,%ecx
430890:	39 b0 e8 00 40 00    	cmp    %esi,0x4000e8(%eax)
430896:	0f 95 c1             	setne  %cl
430899:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43089c:	e8 f5 7a 00 00       	call   0x438396
4308a1:	85 c0                	test   %eax,%eax
4308a3:	75 08                	jne    0x4308ad
4308a5:	6a 1c                	push   $0x1c
4308a7:	e8 16 ff ff ff       	call   0x4307c2
4308ac:	59                   	pop    %ecx
4308ad:	e8 39 3f 00 00       	call   0x4347eb
4308b2:	85 c0                	test   %eax,%eax
4308b4:	75 08                	jne    0x4308be
4308b6:	6a 10                	push   $0x10
4308b8:	e8 05 ff ff ff       	call   0x4307c2
4308bd:	59                   	pop    %ecx
4308be:	e8 f4 42 00 00       	call   0x434bb7
4308c3:	89 75 fc             	mov    %esi,-0x4(%ebp)
4308c6:	e8 af 56 00 00       	call   0x435f7a
4308cb:	85 c0                	test   %eax,%eax
4308cd:	79 08                	jns    0x4308d7
4308cf:	6a 1b                	push   $0x1b
4308d1:	e8 be f8 ff ff       	call   0x430194
4308d6:	59                   	pop    %ecx
4308d7:	ff 15 e0 34 47 00    	call   *0x4734e0
4308dd:	a3 8c 18 47 00       	mov    %eax,0x47188c
4308e2:	e8 18 7a 00 00       	call   0x4382ff
4308e7:	a3 cc 07 47 00       	mov    %eax,0x4707cc
4308ec:	e8 53 79 00 00       	call   0x438244
4308f1:	85 c0                	test   %eax,%eax
4308f3:	79 08                	jns    0x4308fd
4308f5:	6a 08                	push   $0x8
4308f7:	e8 98 f8 ff ff       	call   0x430194
4308fc:	59                   	pop    %ecx
4308fd:	e8 bd 76 00 00       	call   0x437fbf
430902:	85 c0                	test   %eax,%eax
430904:	79 08                	jns    0x43090e
430906:	6a 09                	push   $0x9
430908:	e8 87 f8 ff ff       	call   0x430194
43090d:	59                   	pop    %ecx
43090e:	6a 01                	push   $0x1
430910:	e8 5e f6 ff ff       	call   0x42ff73
430915:	59                   	pop    %ecx
430916:	3b c6                	cmp    %esi,%eax
430918:	74 07                	je     0x430921
43091a:	50                   	push   %eax
43091b:	e8 74 f8 ff ff       	call   0x430194
430920:	59                   	pop    %ecx
430921:	a1 a0 07 47 00       	mov    0x4707a0,%eax
430926:	a3 a4 07 47 00       	mov    %eax,0x4707a4
43092b:	50                   	push   %eax
43092c:	ff 35 98 07 47 00    	push   0x470798
430932:	ff 35 94 07 47 00    	push   0x470794
430938:	e8 d7 06 fd ff       	call   0x401014
43093d:	83 c4 0c             	add    $0xc,%esp
430940:	89 45 e0             	mov    %eax,-0x20(%ebp)
430943:	39 75 e4             	cmp    %esi,-0x1c(%ebp)
430946:	75 06                	jne    0x43094e
430948:	50                   	push   %eax
430949:	e8 fc f7 ff ff       	call   0x43014a
43094e:	e8 23 f8 ff ff       	call   0x430176
430953:	eb 2e                	jmp    0x430983
430955:	8b 45 ec             	mov    -0x14(%ebp),%eax
430958:	8b 08                	mov    (%eax),%ecx
43095a:	8b 09                	mov    (%ecx),%ecx
43095c:	89 4d dc             	mov    %ecx,-0x24(%ebp)
43095f:	50                   	push   %eax
430960:	51                   	push   %ecx
430961:	e8 ef 74 00 00       	call   0x437e55
430966:	59                   	pop    %ecx
430967:	59                   	pop    %ecx
430968:	c3                   	ret
430969:	8b 65 e8             	mov    -0x18(%ebp),%esp
43096c:	8b 45 dc             	mov    -0x24(%ebp),%eax
43096f:	89 45 e0             	mov    %eax,-0x20(%ebp)
430972:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
430976:	75 06                	jne    0x43097e
430978:	50                   	push   %eax
430979:	e8 e2 f7 ff ff       	call   0x430160
43097e:	e8 02 f8 ff ff       	call   0x430185
430983:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43098a:	8b 45 e0             	mov    -0x20(%ebp),%eax
43098d:	e8 33 44 00 00       	call   0x434dc5
430992:	c3                   	ret
430993:	e8 36 7a 00 00       	call   0x4383ce
430998:	e9 95 fe ff ff       	jmp    0x430832
43099d:	8b ff                	mov    %edi,%edi
43099f:	55                   	push   %ebp
4309a0:	8b ec                	mov    %esp,%ebp
4309a2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4309a6:	74 2d                	je     0x4309d5
4309a8:	ff 75 08             	push   0x8(%ebp)
4309ab:	6a 00                	push   $0x0
4309ad:	ff 35 a0 10 47 00    	push   0x4710a0
4309b3:	ff 15 c4 34 47 00    	call   *0x4734c4
4309b9:	85 c0                	test   %eax,%eax
4309bb:	75 18                	jne    0x4309d5
4309bd:	56                   	push   %esi
4309be:	e8 e5 3f 00 00       	call   0x4349a8
4309c3:	8b f0                	mov    %eax,%esi
4309c5:	ff 15 24 34 47 00    	call   *0x473424
4309cb:	50                   	push   %eax
4309cc:	e8 95 3f 00 00       	call   0x434966
4309d1:	59                   	pop    %ecx
4309d2:	89 06                	mov    %eax,(%esi)
4309d4:	5e                   	pop    %esi
4309d5:	5d                   	pop    %ebp
4309d6:	c3                   	ret
4309d7:	8b ff                	mov    %edi,%edi
4309d9:	55                   	push   %ebp
4309da:	8b ec                	mov    %esp,%ebp
4309dc:	83 3d a0 10 47 00 00 	cmpl   $0x0,0x4710a0
4309e3:	75 18                	jne    0x4309fd
4309e5:	e8 8a 47 00 00       	call   0x435174
4309ea:	6a 1e                	push   $0x1e
4309ec:	e8 d4 45 00 00       	call   0x434fc5
4309f1:	68 ff 00 00 00       	push   $0xff
4309f6:	e8 7a f4 ff ff       	call   0x42fe75
4309fb:	59                   	pop    %ecx
4309fc:	59                   	pop    %ecx
4309fd:	8b 45 08             	mov    0x8(%ebp),%eax
430a00:	85 c0                	test   %eax,%eax
430a02:	75 01                	jne    0x430a05
430a04:	40                   	inc    %eax
430a05:	50                   	push   %eax
430a06:	6a 00                	push   $0x0
430a08:	ff 35 a0 10 47 00    	push   0x4710a0
430a0e:	ff 15 c8 34 47 00    	call   *0x4734c8
430a14:	5d                   	pop    %ebp
430a15:	c3                   	ret
430a16:	8b ff                	mov    %edi,%edi
430a18:	55                   	push   %ebp
430a19:	8b ec                	mov    %esp,%ebp
430a1b:	53                   	push   %ebx
430a1c:	8b 5d 08             	mov    0x8(%ebp),%ebx
430a1f:	83 fb e0             	cmp    $0xffffffe0,%ebx
430a22:	77 6f                	ja     0x430a93
430a24:	56                   	push   %esi
430a25:	57                   	push   %edi
430a26:	83 3d a0 10 47 00 00 	cmpl   $0x0,0x4710a0
430a2d:	75 18                	jne    0x430a47
430a2f:	e8 40 47 00 00       	call   0x435174
430a34:	6a 1e                	push   $0x1e
430a36:	e8 8a 45 00 00       	call   0x434fc5
430a3b:	68 ff 00 00 00       	push   $0xff
430a40:	e8 30 f4 ff ff       	call   0x42fe75
430a45:	59                   	pop    %ecx
430a46:	59                   	pop    %ecx
430a47:	85 db                	test   %ebx,%ebx
430a49:	74 04                	je     0x430a4f
430a4b:	8b c3                	mov    %ebx,%eax
430a4d:	eb 03                	jmp    0x430a52
430a4f:	33 c0                	xor    %eax,%eax
430a51:	40                   	inc    %eax
430a52:	50                   	push   %eax
430a53:	6a 00                	push   $0x0
430a55:	ff 35 a0 10 47 00    	push   0x4710a0
430a5b:	ff 15 c8 34 47 00    	call   *0x4734c8
430a61:	8b f8                	mov    %eax,%edi
430a63:	85 ff                	test   %edi,%edi
430a65:	75 26                	jne    0x430a8d
430a67:	6a 0c                	push   $0xc
430a69:	5e                   	pop    %esi
430a6a:	39 05 a4 10 47 00    	cmp    %eax,0x4710a4
430a70:	74 0d                	je     0x430a7f
430a72:	53                   	push   %ebx
430a73:	e8 9b 39 00 00       	call   0x434413
430a78:	59                   	pop    %ecx
430a79:	85 c0                	test   %eax,%eax
430a7b:	75 a9                	jne    0x430a26
430a7d:	eb 07                	jmp    0x430a86
430a7f:	e8 24 3f 00 00       	call   0x4349a8
430a84:	89 30                	mov    %esi,(%eax)
430a86:	e8 1d 3f 00 00       	call   0x4349a8
430a8b:	89 30                	mov    %esi,(%eax)
430a8d:	8b c7                	mov    %edi,%eax
430a8f:	5f                   	pop    %edi
430a90:	5e                   	pop    %esi
430a91:	eb 14                	jmp    0x430aa7
430a93:	53                   	push   %ebx
430a94:	e8 7a 39 00 00       	call   0x434413
430a99:	59                   	pop    %ecx
430a9a:	e8 09 3f 00 00       	call   0x4349a8
430a9f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
430aa5:	33 c0                	xor    %eax,%eax
430aa7:	5b                   	pop    %ebx
430aa8:	5d                   	pop    %ebp
430aa9:	c3                   	ret
430aaa:	8b ff                	mov    %edi,%edi
430aac:	55                   	push   %ebp
430aad:	8b ec                	mov    %esp,%ebp
430aaf:	8b 4d 10             	mov    0x10(%ebp),%ecx
430ab2:	56                   	push   %esi
430ab3:	57                   	push   %edi
430ab4:	8b 7d 08             	mov    0x8(%ebp),%edi
430ab7:	8b f7                	mov    %edi,%esi
430ab9:	85 c9                	test   %ecx,%ecx
430abb:	74 33                	je     0x430af0
430abd:	8b 55 0c             	mov    0xc(%ebp),%edx
430ac0:	2b d7                	sub    %edi,%edx
430ac2:	0f b7 04 3a          	movzwl (%edx,%edi,1),%eax
430ac6:	66 89 07             	mov    %ax,(%edi)
430ac9:	83 c7 02             	add    $0x2,%edi
430acc:	66 85 c0             	test   %ax,%ax
430acf:	74 03                	je     0x430ad4
430ad1:	49                   	dec    %ecx
430ad2:	75 ee                	jne    0x430ac2
430ad4:	85 c9                	test   %ecx,%ecx
430ad6:	74 18                	je     0x430af0
430ad8:	49                   	dec    %ecx