438bcb:	59                   	pop    %ecx
438bcc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
438bcf:	8b f0                	mov    %eax,%esi
438bd1:	8b 7d 20             	mov    0x20(%ebp),%edi
438bd4:	85 ff                	test   %edi,%edi
438bd6:	7e 19                	jle    0x438bf1
438bd8:	57                   	push   %edi
438bd9:	51                   	push   %ecx
438bda:	e8 1d 02 00 00       	call   0x438dfc
438bdf:	59                   	pop    %ecx
438be0:	59                   	pop    %ecx
438be1:	8b f8                	mov    %eax,%edi
438be3:	eb 11                	jmp    0x438bf6
438be5:	83 fe ff             	cmp    $0xffffffff,%esi
438be8:	7d e7                	jge    0x438bd1
438bea:	33 c0                	xor    %eax,%eax
438bec:	e9 f9 01 00 00       	jmp    0x438dea
438bf1:	83 ff ff             	cmp    $0xffffffff,%edi
438bf4:	7c f4                	jl     0x438bea
438bf6:	8b 45 24             	mov    0x24(%ebp),%eax
438bf9:	33 db                	xor    %ebx,%ebx
438bfb:	89 5d d8             	mov    %ebx,-0x28(%ebp)
438bfe:	85 c0                	test   %eax,%eax
438c00:	75 0b                	jne    0x438c0d
438c02:	8b 45 e0             	mov    -0x20(%ebp),%eax
438c05:	8b 00                	mov    (%eax),%eax
438c07:	8b 40 04             	mov    0x4(%eax),%eax
438c0a:	89 45 24             	mov    %eax,0x24(%ebp)
438c0d:	85 f6                	test   %esi,%esi
438c0f:	74 08                	je     0x438c19
438c11:	85 ff                	test   %edi,%edi
438c13:	0f 85 96 00 00 00    	jne    0x438caf
438c19:	3b f7                	cmp    %edi,%esi
438c1b:	75 08                	jne    0x438c25
438c1d:	6a 02                	push   $0x2
438c1f:	58                   	pop    %eax
438c20:	e9 c5 01 00 00       	jmp    0x438dea
438c25:	83 ff 01             	cmp    $0x1,%edi
438c28:	7e 08                	jle    0x438c32
438c2a:	33 c0                	xor    %eax,%eax
438c2c:	40                   	inc    %eax
438c2d:	e9 b8 01 00 00       	jmp    0x438dea
438c32:	83 fe 01             	cmp    $0x1,%esi
438c35:	7e 04                	jle    0x438c3b
438c37:	6a 03                	push   $0x3
438c39:	eb e4                	jmp    0x438c1f
438c3b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
438c3e:	51                   	push   %ecx
438c3f:	50                   	push   %eax
438c40:	ff 15 74 d3 48 00    	call   *0x48d374
438c46:	85 c0                	test   %eax,%eax
438c48:	74 a0                	je     0x438bea
438c4a:	85 f6                	test   %esi,%esi
438c4c:	7e 2b                	jle    0x438c79
438c4e:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
438c52:	72 e3                	jb     0x438c37
438c54:	8d 45 ee             	lea    -0x12(%ebp),%eax
438c57:	38 5d ee             	cmp    %bl,-0x12(%ebp)
438c5a:	74 db                	je     0x438c37
438c5c:	8b 75 e4             	mov    -0x1c(%ebp),%esi
438c5f:	8a 48 01             	mov    0x1(%eax),%cl
438c62:	84 c9                	test   %cl,%cl
438c64:	74 d1                	je     0x438c37
438c66:	8a 16                	mov    (%esi),%dl
438c68:	3a 10                	cmp    (%eax),%dl
438c6a:	72 04                	jb     0x438c70
438c6c:	3a d1                	cmp    %cl,%dl
438c6e:	76 ad                	jbe    0x438c1d
438c70:	83 c0 02             	add    $0x2,%eax
438c73:	38 18                	cmp    %bl,(%eax)
438c75:	75 e8                	jne    0x438c5f
438c77:	eb be                	jmp    0x438c37
438c79:	85 ff                	test   %edi,%edi
438c7b:	7e 32                	jle    0x438caf
438c7d:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
438c81:	72 a7                	jb     0x438c2a
438c83:	8d 45 ee             	lea    -0x12(%ebp),%eax
438c86:	38 5d ee             	cmp    %bl,-0x12(%ebp)
438c89:	74 9f                	je     0x438c2a
438c8b:	8b 75 dc             	mov    -0x24(%ebp),%esi
438c8e:	8a 48 01             	mov    0x1(%eax),%cl
438c91:	84 c9                	test   %cl,%cl
438c93:	74 95                	je     0x438c2a
438c95:	8a 16                	mov    (%esi),%dl
438c97:	3a 10                	cmp    (%eax),%dl
438c99:	72 08                	jb     0x438ca3
438c9b:	3a d1                	cmp    %cl,%dl
438c9d:	0f 86 7a ff ff ff    	jbe    0x438c1d
438ca3:	83 c0 02             	add    $0x2,%eax
438ca6:	38 18                	cmp    %bl,(%eax)
438ca8:	75 e4                	jne    0x438c8e
438caa:	e9 7b ff ff ff       	jmp    0x438c2a
438caf:	53                   	push   %ebx
438cb0:	53                   	push   %ebx
438cb1:	56                   	push   %esi
438cb2:	ff 75 e4             	push   -0x1c(%ebp)
438cb5:	6a 09                	push   $0x9
438cb7:	ff 75 24             	push   0x24(%ebp)
438cba:	ff 15 78 d1 48 00    	call   *0x48d178
438cc0:	8b c8                	mov    %eax,%ecx
438cc2:	89 4d e0             	mov    %ecx,-0x20(%ebp)
438cc5:	85 c9                	test   %ecx,%ecx
438cc7:	0f 84 1d ff ff ff    	je     0x438bea
438ccd:	7e 49                	jle    0x438d18
438ccf:	6a e0                	push   $0xffffffe0
438cd1:	33 d2                	xor    %edx,%edx
438cd3:	58                   	pop    %eax
438cd4:	f7 f1                	div    %ecx
438cd6:	83 f8 02             	cmp    $0x2,%eax
438cd9:	72 3d                	jb     0x438d18
438cdb:	8d 0c 4d 08 00 00 00 	lea    0x8(,%ecx,2),%ecx
438ce2:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
438ce8:	77 15                	ja     0x438cff
438cea:	8b c1                	mov    %ecx,%eax
438cec:	e8 0f 9d ff ff       	call   0x432a00
438cf1:	8b dc                	mov    %esp,%ebx
438cf3:	85 db                	test   %ebx,%ebx
438cf5:	74 1e                	je     0x438d15
438cf7:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
438cfd:	eb 13                	jmp    0x438d12
438cff:	51                   	push   %ecx
438d00:	e8 57 ac fe ff       	call   0x42395c
438d05:	8b d8                	mov    %eax,%ebx
438d07:	59                   	pop    %ecx
438d08:	85 db                	test   %ebx,%ebx
438d0a:	74 09                	je     0x438d15
438d0c:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
438d12:	83 c3 08             	add    $0x8,%ebx
438d15:	8b 4d e0             	mov    -0x20(%ebp),%ecx
438d18:	85 db                	test   %ebx,%ebx
438d1a:	0f 84 ca fe ff ff    	je     0x438bea
438d20:	51                   	push   %ecx
438d21:	53                   	push   %ebx
438d22:	56                   	push   %esi
438d23:	ff 75 e4             	push   -0x1c(%ebp)
438d26:	8b 75 24             	mov    0x24(%ebp),%esi
438d29:	6a 01                	push   $0x1
438d2b:	56                   	push   %esi
438d2c:	ff 15 78 d1 48 00    	call   *0x48d178
438d32:	85 c0                	test   %eax,%eax
438d34:	0f 84 a6 00 00 00    	je     0x438de0
438d3a:	33 c0                	xor    %eax,%eax
438d3c:	50                   	push   %eax
438d3d:	50                   	push   %eax
438d3e:	57                   	push   %edi
438d3f:	ff 75 dc             	push   -0x24(%ebp)
438d42:	6a 09                	push   $0x9
438d44:	56                   	push   %esi
438d45:	ff 15 78 d1 48 00    	call   *0x48d178
438d4b:	8b c8                	mov    %eax,%ecx
438d4d:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
438d50:	85 c9                	test   %ecx,%ecx
438d52:	0f 84 88 00 00 00    	je     0x438de0
438d58:	7e 4b                	jle    0x438da5
438d5a:	6a e0                	push   $0xffffffe0
438d5c:	33 d2                	xor    %edx,%edx
438d5e:	58                   	pop    %eax
438d5f:	f7 f1                	div    %ecx
438d61:	83 f8 02             	cmp    $0x2,%eax
438d64:	72 3f                	jb     0x438da5
438d66:	8d 0c 4d 08 00 00 00 	lea    0x8(,%ecx,2),%ecx
438d6d:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
438d73:	77 15                	ja     0x438d8a
438d75:	8b c1                	mov    %ecx,%eax
438d77:	e8 84 9c ff ff       	call   0x432a00
438d7c:	8b f4                	mov    %esp,%esi
438d7e:	85 f6                	test   %esi,%esi
438d80:	74 1e                	je     0x438da0
438d82:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
438d88:	eb 13                	jmp    0x438d9d
438d8a:	51                   	push   %ecx
438d8b:	e8 cc ab fe ff       	call   0x42395c
438d90:	8b f0                	mov    %eax,%esi
438d92:	59                   	pop    %ecx
438d93:	85 f6                	test   %esi,%esi
438d95:	74 09                	je     0x438da0
438d97:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
438d9d:	83 c6 08             	add    $0x8,%esi
438da0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
438da3:	eb 02                	jmp    0x438da7
438da5:	33 f6                	xor    %esi,%esi
438da7:	85 f6                	test   %esi,%esi
438da9:	74 35                	je     0x438de0
438dab:	51                   	push   %ecx
438dac:	56                   	push   %esi
438dad:	57                   	push   %edi
438dae:	ff 75 dc             	push   -0x24(%ebp)
438db1:	6a 01                	push   $0x1
438db3:	ff 75 24             	push   0x24(%ebp)
438db6:	ff 15 78 d1 48 00    	call   *0x48d178
438dbc:	85 c0                	test   %eax,%eax
438dbe:	74 19                	je     0x438dd9
438dc0:	ff 75 e4             	push   -0x1c(%ebp)
438dc3:	56                   	push   %esi
438dc4:	ff 75 e0             	push   -0x20(%ebp)
438dc7:	53                   	push   %ebx
438dc8:	ff 75 10             	push   0x10(%ebp)
438dcb:	ff 75 d4             	push   -0x2c(%ebp)
438dce:	e8 79 9a ff ff       	call   0x43284c
438dd3:	83 c4 18             	add    $0x18,%esp
438dd6:	89 45 d8             	mov    %eax,-0x28(%ebp)
438dd9:	56                   	push   %esi
438dda:	e8 e3 cf fe ff       	call   0x425dc2
438ddf:	59                   	pop    %ecx
438de0:	53                   	push   %ebx
438de1:	e8 dc cf fe ff       	call   0x425dc2
438de6:	8b 45 d8             	mov    -0x28(%ebp),%eax
438de9:	59                   	pop    %ecx
438dea:	8d 65 c8             	lea    -0x38(%ebp),%esp
438ded:	5f                   	pop    %edi
438dee:	5e                   	pop    %esi
438def:	5b                   	pop    %ebx
438df0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438df3:	33 cd                	xor    %ebp,%ecx
438df5:	e8 12 19 ff ff       	call   0x42a70c
438dfa:	c9                   	leave
438dfb:	c3                   	ret
438dfc:	55                   	push   %ebp
438dfd:	8b ec                	mov    %esp,%ebp
438dff:	8b 45 0c             	mov    0xc(%ebp),%eax
438e02:	8b 55 08             	mov    0x8(%ebp),%edx
438e05:	8b c8                	mov    %eax,%ecx
438e07:	85 c0                	test   %eax,%eax
438e09:	74 0b                	je     0x438e16
438e0b:	49                   	dec    %ecx
438e0c:	80 3a 00             	cmpb   $0x0,(%edx)
438e0f:	74 06                	je     0x438e17
438e11:	42                   	inc    %edx
438e12:	85 c9                	test   %ecx,%ecx
438e14:	75 f5                	jne    0x438e0b
438e16:	49                   	dec    %ecx
438e17:	2b c1                	sub    %ecx,%eax
438e19:	48                   	dec    %eax
438e1a:	5d                   	pop    %ebp
438e1b:	c3                   	ret
438e1c:	55                   	push   %ebp
438e1d:	8b ec                	mov    %esp,%ebp
438e1f:	83 ec 10             	sub    $0x10,%esp
438e22:	ff 75 08             	push   0x8(%ebp)
438e25:	8d 4d f0             	lea    -0x10(%ebp),%ecx
438e28:	e8 f2 80 fe ff       	call   0x420f1f
438e2d:	ff 75 24             	push   0x24(%ebp)
438e30:	8d 45 f0             	lea    -0x10(%ebp),%eax
438e33:	ff 75 20             	push   0x20(%ebp)
438e36:	ff 75 1c             	push   0x1c(%ebp)
438e39:	ff 75 18             	push   0x18(%ebp)
438e3c:	ff 75 14             	push   0x14(%ebp)
438e3f:	ff 75 10             	push   0x10(%ebp)
438e42:	ff 75 0c             	push   0xc(%ebp)
438e45:	50                   	push   %eax
438e46:	e8 46 fd ff ff       	call   0x438b91
438e4b:	83 c4 20             	add    $0x20,%esp
438e4e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
438e52:	74 07                	je     0x438e5b
438e54:	8b 4d f8             	mov    -0x8(%ebp),%ecx
438e57:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
438e5b:	c9                   	leave
438e5c:	c3                   	ret
438e5d:	55                   	push   %ebp
438e5e:	8b ec                	mov    %esp,%ebp
438e60:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
438e64:	75 04                	jne    0x438e6a
438e66:	33 c0                	xor    %eax,%eax
438e68:	5d                   	pop    %ebp
438e69:	c3                   	ret
438e6a:	53                   	push   %ebx
438e6b:	57                   	push   %edi
438e6c:	ff 75 08             	push   0x8(%ebp)
438e6f:	e8 5c 89 fe ff       	call   0x4217d0
438e74:	8d 78 01             	lea    0x1(%eax),%edi
438e77:	57                   	push   %edi
438e78:	e8 df aa fe ff       	call   0x42395c
438e7d:	8b d8                	mov    %eax,%ebx
438e7f:	59                   	pop    %ecx
438e80:	59                   	pop    %ecx
438e81:	85 db                	test   %ebx,%ebx
438e83:	74 15                	je     0x438e9a
438e85:	ff 75 08             	push   0x8(%ebp)
438e88:	57                   	push   %edi
438e89:	53                   	push   %ebx
438e8a:	e8 83 96 ff ff       	call   0x432512
438e8f:	83 c4 0c             	add    $0xc,%esp
438e92:	85 c0                	test   %eax,%eax
438e94:	75 0a                	jne    0x438ea0
438e96:	8b c3                	mov    %ebx,%eax
438e98:	eb 02                	jmp    0x438e9c
438e9a:	33 c0                	xor    %eax,%eax
438e9c:	5f                   	pop    %edi
438e9d:	5b                   	pop    %ebx
438e9e:	5d                   	pop    %ebp
438e9f:	c3                   	ret
438ea0:	33 c0                	xor    %eax,%eax
438ea2:	50                   	push   %eax
438ea3:	50                   	push   %eax
438ea4:	50                   	push   %eax
438ea5:	50                   	push   %eax
438ea6:	50                   	push   %eax
438ea7:	e8 74 df fe ff       	call   0x426e20
438eac:	cc                   	int3
438ead:	55                   	push   %ebp
438eae:	8b ec                	mov    %esp,%ebp
438eb0:	6a 00                	push   $0x0
438eb2:	ff 75 0c             	push   0xc(%ebp)
438eb5:	ff 75 08             	push   0x8(%ebp)
438eb8:	e8 05 00 00 00       	call   0x438ec2
438ebd:	83 c4 0c             	add    $0xc,%esp
438ec0:	5d                   	pop    %ebp
438ec1:	c3                   	ret
438ec2:	55                   	push   %ebp
438ec3:	8b ec                	mov    %esp,%ebp
438ec5:	83 ec 10             	sub    $0x10,%esp
438ec8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
438ecb:	56                   	push   %esi
438ecc:	57                   	push   %edi
438ecd:	ff 75 10             	push   0x10(%ebp)
438ed0:	e8 4a 80 fe ff       	call   0x420f1f
438ed5:	8b 55 08             	mov    0x8(%ebp),%edx
438ed8:	85 d2                	test   %edx,%edx
438eda:	75 14                	jne    0x438ef0
438edc:	e8 2d ed fe ff       	call   0x427c0e
438ee1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
438ee7:	e8 24 df fe ff       	call   0x426e10
438eec:	33 f6                	xor    %esi,%esi
438eee:	eb 5a                	jmp    0x438f4a
438ef0:	8b 7d f4             	mov    -0xc(%ebp),%edi
438ef3:	33 f6                	xor    %esi,%esi
438ef5:	39 77 08             	cmp    %esi,0x8(%edi)
438ef8:	75 3e                	jne    0x438f38
438efa:	ff 75 0c             	push   0xc(%ebp)
438efd:	52                   	push   %edx
438efe:	e8 0d 01 00 00       	call   0x439010
438f03:	59                   	pop    %ecx
438f04:	59                   	pop    %ecx
438f05:	8b f0                	mov    %eax,%esi
438f07:	eb 41                	jmp    0x438f4a
438f09:	0f b6 c1             	movzbl %cl,%eax
438f0c:	f6 44 38 19 04       	testb  $0x4,0x19(%eax,%edi,1)
438f11:	74 1c                	je     0x438f2f
438f13:	42                   	inc    %edx
438f14:	8a 02                	mov    (%edx),%al
438f16:	84 c0                	test   %al,%al
438f18:	74 30                	je     0x438f4a
438f1a:	0f b7 c9             	movzwl %cx,%ecx
438f1d:	0f b6 c0             	movzbl %al,%eax
438f20:	c1 e1 08             	shl    $0x8,%ecx
438f23:	0b c8                	or     %eax,%ecx
438f25:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
438f28:	75 0d                	jne    0x438f37
438f2a:	8d 72 ff             	lea    -0x1(%edx),%esi
438f2d:	eb 1b                	jmp    0x438f4a