4377b9:	ff 4d e4             	decl   -0x1c(%ebp)
4377bc:	78 07                	js     0x4377c5
4377be:	8b 45 e0             	mov    -0x20(%ebp),%eax
4377c1:	88 18                	mov    %bl,(%eax)
4377c3:	eb 0c                	jmp    0x4377d1
4377c5:	8d 45 e0             	lea    -0x20(%ebp),%eax
4377c8:	50                   	push   %eax
4377c9:	53                   	push   %ebx
4377ca:	e8 4f f1 ff ff       	call   0x43691e
4377cf:	59                   	pop    %ecx
4377d0:	59                   	pop    %ecx
4377d1:	8b c7                	mov    %edi,%eax
4377d3:	5e                   	pop    %esi
4377d4:	5f                   	pop    %edi
4377d5:	5b                   	pop    %ebx
4377d6:	c9                   	leave
4377d7:	c3                   	ret
4377d8:	8b ff                	mov    %edi,%edi
4377da:	55                   	push   %ebp
4377db:	8b ec                	mov    %esp,%ebp
4377dd:	ff 75 14             	push   0x14(%ebp)
4377e0:	6a 00                	push   $0x0
4377e2:	ff 75 10             	push   0x10(%ebp)
4377e5:	ff 75 0c             	push   0xc(%ebp)
4377e8:	ff 75 08             	push   0x8(%ebp)
4377eb:	e8 17 ff ff ff       	call   0x437707
4377f0:	83 c4 14             	add    $0x14,%esp
4377f3:	5d                   	pop    %ebp
4377f4:	c3                   	ret
4377f5:	8b ff                	mov    %edi,%edi
4377f7:	55                   	push   %ebp
4377f8:	8b ec                	mov    %esp,%ebp
4377fa:	83 ec 1c             	sub    $0x1c,%esp
4377fd:	56                   	push   %esi
4377fe:	ff 75 08             	push   0x8(%ebp)
437801:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
437804:	e8 e1 93 ff ff       	call   0x430bea
437809:	8b 45 10             	mov    0x10(%ebp),%eax
43780c:	8b 75 0c             	mov    0xc(%ebp),%esi
43780f:	85 c0                	test   %eax,%eax
437811:	74 02                	je     0x437815
437813:	89 30                	mov    %esi,(%eax)
437815:	85 f6                	test   %esi,%esi
437817:	75 24                	jne    0x43783d
437819:	e8 8a d1 ff ff       	call   0x4349a8
43781e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
437824:	e8 45 cb ff ff       	call   0x43436e
437829:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
43782d:	74 07                	je     0x437836
43782f:	8b 45 ec             	mov    -0x14(%ebp),%eax
437832:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437836:	33 c0                	xor    %eax,%eax
437838:	e9 e0 01 00 00       	jmp    0x437a1d
43783d:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
437841:	74 0c                	je     0x43784f
437843:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
437847:	7c d0                	jl     0x437819
437849:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
43784d:	7f ca                	jg     0x437819
43784f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437853:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
437856:	53                   	push   %ebx
437857:	8a 1e                	mov    (%esi),%bl
437859:	57                   	push   %edi
43785a:	8d 7e 01             	lea    0x1(%esi),%edi
43785d:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
437864:	7e 17                	jle    0x43787d
437866:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437869:	50                   	push   %eax
43786a:	0f b6 c3             	movzbl %bl,%eax
43786d:	6a 08                	push   $0x8
43786f:	50                   	push   %eax
437870:	e8 7f a2 00 00       	call   0x441af4
437875:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
437878:	83 c4 0c             	add    $0xc,%esp
43787b:	eb 10                	jmp    0x43788d
43787d:	8b 91 c8 00 00 00    	mov    0xc8(%ecx),%edx
437883:	0f b6 c3             	movzbl %bl,%eax
437886:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
43788a:	83 e0 08             	and    $0x8,%eax
43788d:	85 c0                	test   %eax,%eax
43788f:	74 05                	je     0x437896
437891:	8a 1f                	mov    (%edi),%bl
437893:	47                   	inc    %edi
437894:	eb c7                	jmp    0x43785d
437896:	80 fb 2d             	cmp    $0x2d,%bl
437899:	75 06                	jne    0x4378a1
43789b:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
43789f:	eb 05                	jmp    0x4378a6
4378a1:	80 fb 2b             	cmp    $0x2b,%bl
4378a4:	75 03                	jne    0x4378a9
4378a6:	8a 1f                	mov    (%edi),%bl
4378a8:	47                   	inc    %edi
4378a9:	8b 45 14             	mov    0x14(%ebp),%eax
4378ac:	85 c0                	test   %eax,%eax
4378ae:	0f 88 4f 01 00 00    	js     0x437a03
4378b4:	83 f8 01             	cmp    $0x1,%eax
4378b7:	0f 84 46 01 00 00    	je     0x437a03
4378bd:	83 f8 24             	cmp    $0x24,%eax
4378c0:	0f 8f 3d 01 00 00    	jg     0x437a03
4378c6:	85 c0                	test   %eax,%eax
4378c8:	75 2a                	jne    0x4378f4
4378ca:	80 fb 30             	cmp    $0x30,%bl
4378cd:	74 09                	je     0x4378d8
4378cf:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
4378d6:	eb 36                	jmp    0x43790e
4378d8:	8a 07                	mov    (%edi),%al
4378da:	3c 78                	cmp    $0x78,%al
4378dc:	74 0d                	je     0x4378eb
4378de:	3c 58                	cmp    $0x58,%al
4378e0:	74 09                	je     0x4378eb
4378e2:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
4378e9:	eb 23                	jmp    0x43790e
4378eb:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
4378f2:	eb 0a                	jmp    0x4378fe
4378f4:	83 f8 10             	cmp    $0x10,%eax
4378f7:	75 15                	jne    0x43790e
4378f9:	80 fb 30             	cmp    $0x30,%bl
4378fc:	75 10                	jne    0x43790e
4378fe:	8a 07                	mov    (%edi),%al
437900:	3c 78                	cmp    $0x78,%al
437902:	74 04                	je     0x437908
437904:	3c 58                	cmp    $0x58,%al
437906:	75 06                	jne    0x43790e
437908:	8a 5f 01             	mov    0x1(%edi),%bl
43790b:	83 c7 02             	add    $0x2,%edi
43790e:	83 c8 ff             	or     $0xffffffff,%eax
437911:	33 d2                	xor    %edx,%edx
437913:	f7 75 14             	divl   0x14(%ebp)
437916:	8b b1 c8 00 00 00    	mov    0xc8(%ecx),%esi
43791c:	89 55 f8             	mov    %edx,-0x8(%ebp)
43791f:	0f b6 cb             	movzbl %bl,%ecx
437922:	0f b7 0c 4e          	movzwl (%esi,%ecx,2),%ecx
437926:	8b d1                	mov    %ecx,%edx
437928:	83 e2 04             	and    $0x4,%edx
43792b:	74 08                	je     0x437935
43792d:	0f be cb             	movsbl %bl,%ecx
437930:	83 e9 30             	sub    $0x30,%ecx
437933:	eb 19                	jmp    0x43794e
437935:	81 e1 03 01 00 00    	and    $0x103,%ecx
43793b:	74 30                	je     0x43796d
43793d:	8d 4b 9f             	lea    -0x61(%ebx),%ecx
437940:	80 f9 19             	cmp    $0x19,%cl
437943:	0f be cb             	movsbl %bl,%ecx
437946:	77 03                	ja     0x43794b
437948:	83 e9 20             	sub    $0x20,%ecx
43794b:	83 c1 c9             	add    $0xffffffc9,%ecx
43794e:	3b 4d 14             	cmp    0x14(%ebp),%ecx
437951:	73 1a                	jae    0x43796d
437953:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
437957:	39 45 fc             	cmp    %eax,-0x4(%ebp)
43795a:	72 28                	jb     0x437984
43795c:	75 05                	jne    0x437963
43795e:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
437961:	76 21                	jbe    0x437984
437963:	83 4d 18 04          	orl    $0x4,0x18(%ebp)
437967:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43796b:	75 23                	jne    0x437990
43796d:	8b 45 18             	mov    0x18(%ebp),%eax
437970:	4f                   	dec    %edi
437971:	a8 08                	test   $0x8,%al
437973:	75 20                	jne    0x437995
437975:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
437979:	74 03                	je     0x43797e
43797b:	8b 7d 0c             	mov    0xc(%ebp),%edi
43797e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437982:	eb 5b                	jmp    0x4379df
437984:	8b 55 fc             	mov    -0x4(%ebp),%edx
437987:	0f af 55 14          	imul   0x14(%ebp),%edx
43798b:	03 d1                	add    %ecx,%edx
43798d:	89 55 fc             	mov    %edx,-0x4(%ebp)
437990:	8a 1f                	mov    (%edi),%bl
437992:	47                   	inc    %edi
437993:	eb 8a                	jmp    0x43791f
437995:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
43799a:	a8 04                	test   $0x4,%al
43799c:	75 1b                	jne    0x4379b9
43799e:	a8 01                	test   $0x1,%al
4379a0:	75 3d                	jne    0x4379df
4379a2:	83 e0 02             	and    $0x2,%eax
4379a5:	74 09                	je     0x4379b0
4379a7:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
4379ae:	77 09                	ja     0x4379b9
4379b0:	85 c0                	test   %eax,%eax
4379b2:	75 2b                	jne    0x4379df
4379b4:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4379b7:	76 26                	jbe    0x4379df
4379b9:	e8 ea cf ff ff       	call   0x4349a8
4379be:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
4379c2:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4379c8:	74 06                	je     0x4379d0
4379ca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4379ce:	eb 0f                	jmp    0x4379df
4379d0:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4379d4:	6a 00                	push   $0x0
4379d6:	58                   	pop    %eax
4379d7:	0f 95 c0             	setne  %al
4379da:	03 c6                	add    %esi,%eax
4379dc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4379df:	8b 45 10             	mov    0x10(%ebp),%eax
4379e2:	85 c0                	test   %eax,%eax
4379e4:	74 02                	je     0x4379e8
4379e6:	89 38                	mov    %edi,(%eax)
4379e8:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4379ec:	74 03                	je     0x4379f1
4379ee:	f7 5d fc             	negl   -0x4(%ebp)
4379f1:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4379f5:	74 07                	je     0x4379fe
4379f7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4379fa:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4379fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
437a01:	eb 18                	jmp    0x437a1b
437a03:	8b 45 10             	mov    0x10(%ebp),%eax
437a06:	85 c0                	test   %eax,%eax
437a08:	74 02                	je     0x437a0c
437a0a:	89 30                	mov    %esi,(%eax)
437a0c:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
437a10:	74 07                	je     0x437a19
437a12:	8b 45 ec             	mov    -0x14(%ebp),%eax
437a15:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437a19:	33 c0                	xor    %eax,%eax
437a1b:	5f                   	pop    %edi
437a1c:	5b                   	pop    %ebx
437a1d:	5e                   	pop    %esi
437a1e:	c9                   	leave
437a1f:	c3                   	ret
437a20:	8b ff                	mov    %edi,%edi
437a22:	55                   	push   %ebp
437a23:	8b ec                	mov    %esp,%ebp
437a25:	33 c0                	xor    %eax,%eax
437a27:	50                   	push   %eax
437a28:	ff 75 10             	push   0x10(%ebp)
437a2b:	ff 75 0c             	push   0xc(%ebp)
437a2e:	ff 75 08             	push   0x8(%ebp)
437a31:	39 05 c4 10 47 00    	cmp    %eax,0x4710c4
437a37:	75 07                	jne    0x437a40
437a39:	68 1c fe 46 00       	push   $0x46fe1c
437a3e:	eb 01                	jmp    0x437a41
437a40:	50                   	push   %eax
437a41:	e8 af fd ff ff       	call   0x4377f5
437a46:	83 c4 14             	add    $0x14,%esp
437a49:	5d                   	pop    %ebp
437a4a:	c3                   	ret
437a4b:	8b ff                	mov    %edi,%edi
437a4d:	55                   	push   %ebp
437a4e:	8b ec                	mov    %esp,%ebp
437a50:	6a 00                	push   $0x0
437a52:	ff 75 10             	push   0x10(%ebp)
437a55:	ff 75 0c             	push   0xc(%ebp)
437a58:	ff 75 08             	push   0x8(%ebp)
437a5b:	ff 75 14             	push   0x14(%ebp)
437a5e:	e8 92 fd ff ff       	call   0x4377f5
437a63:	83 c4 14             	add    $0x14,%esp
437a66:	5d                   	pop    %ebp
437a67:	c3                   	ret
437a68:	8b ff                	mov    %edi,%edi
437a6a:	55                   	push   %ebp
437a6b:	8b ec                	mov    %esp,%ebp
437a6d:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
437a74:	6a 01                	push   $0x1
437a76:	ff 75 10             	push   0x10(%ebp)
437a79:	ff 75 0c             	push   0xc(%ebp)
437a7c:	ff 75 08             	push   0x8(%ebp)
437a7f:	75 07                	jne    0x437a88
437a81:	68 1c fe 46 00       	push   $0x46fe1c
437a86:	eb 02                	jmp    0x437a8a
437a88:	6a 00                	push   $0x0
437a8a:	e8 66 fd ff ff       	call   0x4377f5
437a8f:	83 c4 14             	add    $0x14,%esp
437a92:	5d                   	pop    %ebp
437a93:	c3                   	ret
437a94:	8b ff                	mov    %edi,%edi
437a96:	55                   	push   %ebp
437a97:	8b ec                	mov    %esp,%ebp
437a99:	6a 01                	push   $0x1
437a9b:	ff 75 10             	push   0x10(%ebp)
437a9e:	ff 75 0c             	push   0xc(%ebp)
437aa1:	ff 75 08             	push   0x8(%ebp)
437aa4:	ff 75 14             	push   0x14(%ebp)
437aa7:	e8 49 fd ff ff       	call   0x4377f5
437aac:	83 c4 14             	add    $0x14,%esp
437aaf:	5d                   	pop    %ebp
437ab0:	c3                   	ret
437ab1:	8b ff                	mov    %edi,%edi
437ab3:	55                   	push   %ebp
437ab4:	8b ec                	mov    %esp,%ebp
437ab6:	83 ec 3c             	sub    $0x3c,%esp
437ab9:	53                   	push   %ebx
437aba:	ff 75 08             	push   0x8(%ebp)
437abd:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437ac0:	e8 25 91 ff ff       	call   0x430bea
437ac5:	8b 4d 10             	mov    0x10(%ebp),%ecx
437ac8:	8b 45 0c             	mov    0xc(%ebp),%eax
437acb:	33 db                	xor    %ebx,%ebx
437acd:	3b cb                	cmp    %ebx,%ecx
437acf:	74 02                	je     0x437ad3
437ad1:	89 01                	mov    %eax,(%ecx)
437ad3:	3b c3                	cmp    %ebx,%eax
437ad5:	75 25                	jne    0x437afc
437ad7:	e8 cc ce ff ff       	call   0x4349a8
437adc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
437ae2:	e8 87 c8 ff ff       	call   0x43436e
437ae7:	38 5d d0             	cmp    %bl,-0x30(%ebp)
437aea:	74 07                	je     0x437af3
437aec:	8b 45 cc             	mov    -0x34(%ebp),%eax
437aef:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437af3:	33 c0                	xor    %eax,%eax
437af5:	33 d2                	xor    %edx,%edx
437af7:	e9 4f 02 00 00       	jmp    0x437d4b
437afc:	39 5d 14             	cmp    %ebx,0x14(%ebp)
437aff:	74 0c                	je     0x437b0d
437b01:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
437b05:	7c d0                	jl     0x437ad7
437b07:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
437b0b:	7f ca                	jg     0x437ad7
437b0d:	8a 08                	mov    (%eax),%cl
437b0f:	56                   	push   %esi
437b10:	8b 75 c4             	mov    -0x3c(%ebp),%esi
437b13:	57                   	push   %edi
437b14:	89 5d ec             	mov    %ebx,-0x14(%ebp)
437b17:	89 5d f0             	mov    %ebx,-0x10(%ebp)
437b1a:	88 4d ff             	mov    %cl,-0x1(%ebp)
437b1d:	8d 78 01             	lea    0x1(%eax),%edi
437b20:	83 be ac 00 00 00 01 	cmpl   $0x1,0xac(%esi)
437b27:	7e 18                	jle    0x437b41
437b29:	8d 45 c4             	lea    -0x3c(%ebp),%eax
437b2c:	50                   	push   %eax
437b2d:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
437b31:	6a 08                	push   $0x8
437b33:	50                   	push   %eax
437b34:	e8 bb 9f 00 00       	call   0x441af4
437b39:	8b 75 c4             	mov    -0x3c(%ebp),%esi
437b3c:	83 c4 0c             	add    $0xc,%esp
437b3f:	eb 11                	jmp    0x437b52
437b41:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
437b45:	8b 8e c8 00 00 00    	mov    0xc8(%esi),%ecx
437b4b:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
437b4f:	83 e0 08             	and    $0x8,%eax
437b52:	3b c3                	cmp    %ebx,%eax
437b54:	74 08                	je     0x437b5e
437b56:	8a 07                	mov    (%edi),%al
437b58:	88 45 ff             	mov    %al,-0x1(%ebp)
437b5b:	47                   	inc    %edi
437b5c:	eb c2                	jmp    0x437b20
437b5e:	80 7d ff 2d          	cmpb   $0x2d,-0x1(%ebp)
437b62:	89 7d f8             	mov    %edi,-0x8(%ebp)
437b65:	75 06                	jne    0x437b6d
437b67:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
437b6b:	eb 06                	jmp    0x437b73
437b6d:	80 7d ff 2b          	cmpb   $0x2b,-0x1(%ebp)