430ad9:	74 15                	je     0x430af0
430adb:	33 c0                	xor    %eax,%eax
430add:	0f b7 d0             	movzwl %ax,%edx
430ae0:	8b c2                	mov    %edx,%eax
430ae2:	c1 e2 10             	shl    $0x10,%edx
430ae5:	0b c2                	or     %edx,%eax
430ae7:	d1 e9                	shr    $1,%ecx
430ae9:	f3 ab                	rep stos %eax,%es:(%edi)
430aeb:	13 c9                	adc    %ecx,%ecx
430aed:	66 f3 ab             	rep stos %ax,%es:(%edi)
430af0:	5f                   	pop    %edi
430af1:	8b c6                	mov    %esi,%eax
430af3:	5e                   	pop    %esi
430af4:	5d                   	pop    %ebp
430af5:	c3                   	ret
430af6:	8b ff                	mov    %edi,%edi
430af8:	55                   	push   %ebp
430af9:	8b ec                	mov    %esp,%ebp
430afb:	6a 0a                	push   $0xa
430afd:	6a 00                	push   $0x0
430aff:	ff 75 08             	push   0x8(%ebp)
430b02:	e8 24 7b 00 00       	call   0x43862b
430b07:	83 c4 0c             	add    $0xc,%esp
430b0a:	5d                   	pop    %ebp
430b0b:	c3                   	ret
430b0c:	8b ff                	mov    %edi,%edi
430b0e:	55                   	push   %ebp
430b0f:	8b ec                	mov    %esp,%ebp
430b11:	ff 75 0c             	push   0xc(%ebp)
430b14:	6a 0a                	push   $0xa
430b16:	6a 00                	push   $0x0
430b18:	ff 75 08             	push   0x8(%ebp)
430b1b:	e8 25 7b 00 00       	call   0x438645
430b20:	83 c4 10             	add    $0x10,%esp
430b23:	5d                   	pop    %ebp
430b24:	c3                   	ret
430b25:	8b ff                	mov    %edi,%edi
430b27:	55                   	push   %ebp
430b28:	8b ec                	mov    %esp,%ebp
430b2a:	5d                   	pop    %ebp
430b2b:	e9 c6 ff ff ff       	jmp    0x430af6
430b30:	8b ff                	mov    %edi,%edi
430b32:	55                   	push   %ebp
430b33:	8b ec                	mov    %esp,%ebp
430b35:	5d                   	pop    %ebp
430b36:	e9 d1 ff ff ff       	jmp    0x430b0c
430b3b:	8b ff                	mov    %edi,%edi
430b3d:	55                   	push   %ebp
430b3e:	8b ec                	mov    %esp,%ebp
430b40:	6a 0a                	push   $0xa
430b42:	6a 00                	push   $0x0
430b44:	ff 75 08             	push   0x8(%ebp)
430b47:	e8 ee 7d 00 00       	call   0x43893a
430b4c:	83 c4 0c             	add    $0xc,%esp
430b4f:	5d                   	pop    %ebp
430b50:	c3                   	ret
430b51:	8b ff                	mov    %edi,%edi
430b53:	55                   	push   %ebp
430b54:	8b ec                	mov    %esp,%ebp
430b56:	ff 75 0c             	push   0xc(%ebp)
430b59:	6a 0a                	push   $0xa
430b5b:	6a 00                	push   $0x0
430b5d:	ff 75 08             	push   0x8(%ebp)
430b60:	e8 00 7e 00 00       	call   0x438965
430b65:	83 c4 10             	add    $0x10,%esp
430b68:	5d                   	pop    %ebp
430b69:	c3                   	ret
430b6a:	cc                   	int3
430b6b:	cc                   	int3
430b6c:	cc                   	int3
430b6d:	cc                   	int3
430b6e:	cc                   	int3
430b6f:	cc                   	int3
430b70:	8b 54 24 0c          	mov    0xc(%esp),%edx
430b74:	8b 4c 24 04          	mov    0x4(%esp),%ecx
430b78:	85 d2                	test   %edx,%edx
430b7a:	74 69                	je     0x430be5
430b7c:	33 c0                	xor    %eax,%eax
430b7e:	8a 44 24 08          	mov    0x8(%esp),%al
430b82:	84 c0                	test   %al,%al
430b84:	75 16                	jne    0x430b9c
430b86:	81 fa 80 00 00 00    	cmp    $0x80,%edx
430b8c:	72 0e                	jb     0x430b9c
430b8e:	83 3d 20 17 47 00 00 	cmpl   $0x0,0x471720
430b95:	74 05                	je     0x430b9c
430b97:	e9 2f 7e 00 00       	jmp    0x4389cb
430b9c:	57                   	push   %edi
430b9d:	8b f9                	mov    %ecx,%edi
430b9f:	83 fa 04             	cmp    $0x4,%edx
430ba2:	72 31                	jb     0x430bd5
430ba4:	f7 d9                	neg    %ecx
430ba6:	83 e1 03             	and    $0x3,%ecx
430ba9:	74 0c                	je     0x430bb7
430bab:	2b d1                	sub    %ecx,%edx
430bad:	88 07                	mov    %al,(%edi)
430baf:	83 c7 01             	add    $0x1,%edi
430bb2:	83 e9 01             	sub    $0x1,%ecx
430bb5:	75 f6                	jne    0x430bad
430bb7:	8b c8                	mov    %eax,%ecx
430bb9:	c1 e0 08             	shl    $0x8,%eax
430bbc:	03 c1                	add    %ecx,%eax
430bbe:	8b c8                	mov    %eax,%ecx
430bc0:	c1 e0 10             	shl    $0x10,%eax
430bc3:	03 c1                	add    %ecx,%eax
430bc5:	8b ca                	mov    %edx,%ecx
430bc7:	83 e2 03             	and    $0x3,%edx
430bca:	c1 e9 02             	shr    $0x2,%ecx
430bcd:	74 06                	je     0x430bd5
430bcf:	f3 ab                	rep stos %eax,%es:(%edi)
430bd1:	85 d2                	test   %edx,%edx
430bd3:	74 0a                	je     0x430bdf
430bd5:	88 07                	mov    %al,(%edi)
430bd7:	83 c7 01             	add    $0x1,%edi
430bda:	83 ea 01             	sub    $0x1,%edx
430bdd:	75 f6                	jne    0x430bd5
430bdf:	8b 44 24 08          	mov    0x8(%esp),%eax
430be3:	5f                   	pop    %edi
430be4:	c3                   	ret
430be5:	8b 44 24 04          	mov    0x4(%esp),%eax
430be9:	c3                   	ret
430bea:	8b ff                	mov    %edi,%edi
430bec:	55                   	push   %ebp
430bed:	8b ec                	mov    %esp,%ebp
430bef:	8b 45 08             	mov    0x8(%ebp),%eax
430bf2:	56                   	push   %esi
430bf3:	8b f1                	mov    %ecx,%esi
430bf5:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
430bf9:	85 c0                	test   %eax,%eax
430bfb:	75 63                	jne    0x430c60
430bfd:	e8 26 3a 00 00       	call   0x434628
430c02:	89 46 08             	mov    %eax,0x8(%esi)
430c05:	8b 48 6c             	mov    0x6c(%eax),%ecx
430c08:	89 0e                	mov    %ecx,(%esi)
430c0a:	8b 48 68             	mov    0x68(%eax),%ecx
430c0d:	89 4e 04             	mov    %ecx,0x4(%esi)
430c10:	8b 0e                	mov    (%esi),%ecx
430c12:	3b 0d 18 fe 46 00    	cmp    0x46fe18,%ecx
430c18:	74 12                	je     0x430c2c
430c1a:	8b 0d d0 fb 46 00    	mov    0x46fbd0,%ecx
430c20:	85 48 70             	test   %ecx,0x70(%eax)
430c23:	75 07                	jne    0x430c2c
430c25:	e8 4d 88 00 00       	call   0x439477
430c2a:	89 06                	mov    %eax,(%esi)
430c2c:	8b 46 04             	mov    0x4(%esi),%eax
430c2f:	3b 05 d8 fa 46 00    	cmp    0x46fad8,%eax
430c35:	74 16                	je     0x430c4d
430c37:	8b 46 08             	mov    0x8(%esi),%eax
430c3a:	8b 0d d0 fb 46 00    	mov    0x46fbd0,%ecx
430c40:	85 48 70             	test   %ecx,0x70(%eax)
430c43:	75 08                	jne    0x430c4d
430c45:	e8 6e 80 00 00       	call   0x438cb8
430c4a:	89 46 04             	mov    %eax,0x4(%esi)
430c4d:	8b 46 08             	mov    0x8(%esi),%eax
430c50:	f6 40 70 02          	testb  $0x2,0x70(%eax)
430c54:	75 14                	jne    0x430c6a
430c56:	83 48 70 02          	orl    $0x2,0x70(%eax)
430c5a:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
430c5e:	eb 0a                	jmp    0x430c6a
430c60:	8b 08                	mov    (%eax),%ecx
430c62:	89 0e                	mov    %ecx,(%esi)
430c64:	8b 40 04             	mov    0x4(%eax),%eax
430c67:	89 46 04             	mov    %eax,0x4(%esi)
430c6a:	8b c6                	mov    %esi,%eax
430c6c:	5e                   	pop    %esi
430c6d:	5d                   	pop    %ebp
430c6e:	c2 04 00             	ret    $0x4
430c71:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
430c75:	74 07                	je     0x430c7e
430c77:	8b 41 08             	mov    0x8(%ecx),%eax
430c7a:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
430c7e:	c3                   	ret
430c7f:	8b c1                	mov    %ecx,%eax
430c81:	c3                   	ret
430c82:	8b ff                	mov    %edi,%edi
430c84:	55                   	push   %ebp
430c85:	8b ec                	mov    %esp,%ebp
430c87:	b8 ff ff 00 00       	mov    $0xffff,%eax
430c8c:	83 ec 14             	sub    $0x14,%esp
430c8f:	66 39 45 08          	cmp    %ax,0x8(%ebp)
430c93:	0f 84 87 00 00 00    	je     0x430d20
430c99:	53                   	push   %ebx
430c9a:	56                   	push   %esi
430c9b:	ff 75 0c             	push   0xc(%ebp)
430c9e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
430ca1:	e8 44 ff ff ff       	call   0x430bea
430ca6:	8b 75 ec             	mov    -0x14(%ebp),%esi
430ca9:	8b 4e 14             	mov    0x14(%esi),%ecx
430cac:	33 db                	xor    %ebx,%ebx
430cae:	3b cb                	cmp    %ebx,%ecx
430cb0:	75 15                	jne    0x430cc7
430cb2:	8b 45 08             	mov    0x8(%ebp),%eax
430cb5:	8d 48 bf             	lea    -0x41(%eax),%ecx
430cb8:	66 83 f9 19          	cmp    $0x19,%cx
430cbc:	77 04                	ja     0x430cc2
430cbe:	66 83 c0 20          	add    $0x20,%ax
430cc2:	0f b7 c0             	movzwl %ax,%eax
430cc5:	eb 4b                	jmp    0x430d12
430cc7:	b8 00 01 00 00       	mov    $0x100,%eax
430ccc:	6a 01                	push   $0x1
430cce:	66 39 45 08          	cmp    %ax,0x8(%ebp)
430cd2:	73 1e                	jae    0x430cf2
430cd4:	ff 75 08             	push   0x8(%ebp)
430cd7:	e8 09 1b 00 00       	call   0x4327e5
430cdc:	59                   	pop    %ecx
430cdd:	85 c0                	test   %eax,%eax
430cdf:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
430ce3:	59                   	pop    %ecx
430ce4:	74 2c                	je     0x430d12
430ce6:	8b 8e cc 00 00 00    	mov    0xcc(%esi),%ecx
430cec:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
430cf0:	eb 20                	jmp    0x430d12
430cf2:	8d 55 fc             	lea    -0x4(%ebp),%edx
430cf5:	52                   	push   %edx
430cf6:	6a 01                	push   $0x1
430cf8:	8d 55 08             	lea    0x8(%ebp),%edx
430cfb:	52                   	push   %edx
430cfc:	50                   	push   %eax
430cfd:	51                   	push   %ecx
430cfe:	e8 ed 87 00 00       	call   0x4394f0
430d03:	83 c4 18             	add    $0x18,%esp
430d06:	85 c0                	test   %eax,%eax
430d08:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
430d0c:	74 04                	je     0x430d12
430d0e:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
430d12:	38 5d f8             	cmp    %bl,-0x8(%ebp)
430d15:	74 07                	je     0x430d1e
430d17:	8b 4d f4             	mov    -0xc(%ebp),%ecx
430d1a:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
430d1e:	5e                   	pop    %esi
430d1f:	5b                   	pop    %ebx
430d20:	c9                   	leave
430d21:	c3                   	ret
430d22:	8b ff                	mov    %edi,%edi
430d24:	55                   	push   %ebp
430d25:	8b ec                	mov    %esp,%ebp
430d27:	6a 00                	push   $0x0
430d29:	ff 75 08             	push   0x8(%ebp)
430d2c:	e8 51 ff ff ff       	call   0x430c82
430d31:	59                   	pop    %ecx
430d32:	59                   	pop    %ecx
430d33:	5d                   	pop    %ebp
430d34:	c3                   	ret
430d35:	8b ff                	mov    %edi,%edi
430d37:	55                   	push   %ebp
430d38:	8b ec                	mov    %esp,%ebp
430d3a:	8b 45 08             	mov    0x8(%ebp),%eax
430d3d:	8b d0                	mov    %eax,%edx
430d3f:	66 8b 08             	mov    (%eax),%cx
430d42:	83 c0 02             	add    $0x2,%eax
430d45:	66 85 c9             	test   %cx,%cx
430d48:	75 f5                	jne    0x430d3f
430d4a:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
430d4e:	83 e8 02             	sub    $0x2,%eax
430d51:	3b c2                	cmp    %edx,%eax
430d53:	74 05                	je     0x430d5a
430d55:	66 39 08             	cmp    %cx,(%eax)
430d58:	75 f4                	jne    0x430d4e
430d5a:	66 39 08             	cmp    %cx,(%eax)
430d5d:	74 02                	je     0x430d61
430d5f:	33 c0                	xor    %eax,%eax
430d61:	5d                   	pop    %ebp
430d62:	c3                   	ret
430d63:	8b ff                	mov    %edi,%edi
430d65:	55                   	push   %ebp
430d66:	8b ec                	mov    %esp,%ebp
430d68:	8b 45 08             	mov    0x8(%ebp),%eax
430d6b:	53                   	push   %ebx
430d6c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
430d6f:	66 83 3b 00          	cmpw   $0x0,(%ebx)
430d73:	57                   	push   %edi
430d74:	8b f8                	mov    %eax,%edi
430d76:	74 43                	je     0x430dbb
430d78:	0f b7 08             	movzwl (%eax),%ecx
430d7b:	66 85 c9             	test   %cx,%cx
430d7e:	74 39                	je     0x430db9
430d80:	8b d1                	mov    %ecx,%edx
430d82:	2b c3                	sub    %ebx,%eax
430d84:	8b 4d 0c             	mov    0xc(%ebp),%ecx
430d87:	66 85 d2             	test   %dx,%dx
430d8a:	74 19                	je     0x430da5
430d8c:	0f b7 11             	movzwl (%ecx),%edx
430d8f:	66 85 d2             	test   %dx,%dx
430d92:	74 2b                	je     0x430dbf
430d94:	0f b7 1c 08          	movzwl (%eax,%ecx,1),%ebx
430d98:	2b da                	sub    %edx,%ebx
430d9a:	75 09                	jne    0x430da5
430d9c:	83 c1 02             	add    $0x2,%ecx
430d9f:	66 39 1c 08          	cmp    %bx,(%eax,%ecx,1)
430da3:	75 e7                	jne    0x430d8c
430da5:	66 83 39 00          	cmpw   $0x0,(%ecx)
430da9:	74 14                	je     0x430dbf
430dab:	83 c7 02             	add    $0x2,%edi
430dae:	0f b7 17             	movzwl (%edi),%edx
430db1:	83 c0 02             	add    $0x2,%eax
430db4:	66 85 d2             	test   %dx,%dx
430db7:	75 cb                	jne    0x430d84
430db9:	33 c0                	xor    %eax,%eax
430dbb:	5f                   	pop    %edi
430dbc:	5b                   	pop    %ebx
430dbd:	5d                   	pop    %ebp
430dbe:	c3                   	ret
430dbf:	8b c7                	mov    %edi,%eax
430dc1:	eb f8                	jmp    0x430dbb
430dc3:	8b ff                	mov    %edi,%edi
430dc5:	55                   	push   %ebp
430dc6:	8b ec                	mov    %esp,%ebp
430dc8:	83 ec 20             	sub    $0x20,%esp
430dcb:	53                   	push   %ebx
430dcc:	57                   	push   %edi
430dcd:	33 db                	xor    %ebx,%ebx
430dcf:	6a 07                	push   $0x7
430dd1:	33 c0                	xor    %eax,%eax
430dd3:	59                   	pop    %ecx
430dd4:	8d 7d e4             	lea    -0x1c(%ebp),%edi
430dd7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
430dda:	f3 ab                	rep stos %eax,%es:(%edi)
430ddc:	39 5d 10             	cmp    %ebx,0x10(%ebp)
430ddf:	75 15                	jne    0x430df6
430de1:	e8 c2 3b 00 00       	call   0x4349a8
430de6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
430dec:	e8 7d 35 00 00       	call   0x43436e
430df1:	83 c8 ff             	or     $0xffffffff,%eax
430df4:	eb 75                	jmp    0x430e6b
430df6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
430df9:	56                   	push   %esi
430dfa:	8b 75 08             	mov    0x8(%ebp),%esi
430dfd:	3b cb                	cmp    %ebx,%ecx
430dff:	74 19                	je     0x430e1a
430e01:	3b f3                	cmp    %ebx,%esi
430e03:	75 15                	jne    0x430e1a
430e05:	e8 9e 3b 00 00       	call   0x4349a8
430e0a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
430e10:	e8 59 35 00 00       	call   0x43436e
430e15:	83 c8 ff             	or     $0xffffffff,%eax
430e18:	eb 50                	jmp    0x430e6a
430e1a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
430e1f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
430e22:	3b c8                	cmp    %eax,%ecx
430e24:	77 03                	ja     0x430e29
430e26:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
430e29:	8d 45 14             	lea    0x14(%ebp),%eax
430e2c:	50                   	push   %eax
430e2d:	53                   	push   %ebx
430e2e:	ff 75 10             	push   0x10(%ebp)
430e31:	8d 45 e0             	lea    -0x20(%ebp),%eax
430e34:	50                   	push   %eax
430e35:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
430e3c:	89 75 e8             	mov    %esi,-0x18(%ebp)
430e3f:	89 75 e0             	mov    %esi,-0x20(%ebp)
430e42:	e8 2b 45 00 00       	call   0x435372