421aeb:	8b ce                	mov    %esi,%ecx
421aed:	50                   	push   %eax
421aee:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
421af4:	68 01 00 00 20       	push   $0x20000001
421af9:	81 c9 00 04 00 00    	or     $0x400,%ecx
421aff:	51                   	push   %ecx
421b00:	ff 15 78 71 42 00    	call   *0x427178
421b06:	85 c0                	test   %eax,%eax
421b08:	75 04                	jne    0x421b0e
421b0a:	33 c0                	xor    %eax,%eax
421b0c:	eb 30                	jmp    0x421b3e
421b0e:	3b 75 fc             	cmp    -0x4(%ebp),%esi
421b11:	74 28                	je     0x421b3b
421b13:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
421b17:	74 22                	je     0x421b3b
421b19:	8b 77 50             	mov    0x50(%edi),%esi
421b1c:	8d 4e 02             	lea    0x2(%esi),%ecx
421b1f:	66 8b 06             	mov    (%esi),%ax
421b22:	83 c6 02             	add    $0x2,%esi
421b25:	66 85 c0             	test   %ax,%ax
421b28:	75 f5                	jne    0x421b1f
421b2a:	ff 77 50             	push   0x50(%edi)
421b2d:	2b f1                	sub    %ecx,%esi
421b2f:	d1 fe                	sar    $1,%esi
421b31:	e8 f2 fa ff ff       	call   0x421628
421b36:	59                   	pop    %ecx
421b37:	3b c6                	cmp    %esi,%eax
421b39:	74 cf                	je     0x421b0a
421b3b:	33 c0                	xor    %eax,%eax
421b3d:	40                   	inc    %eax
421b3e:	5f                   	pop    %edi
421b3f:	5e                   	pop    %esi
421b40:	8b e5                	mov    %ebp,%esp
421b42:	5d                   	pop    %ebp
421b43:	c3                   	ret
421b44:	8b ff                	mov    %edi,%edi
421b46:	55                   	push   %ebp
421b47:	8b ec                	mov    %esp,%ebp
421b49:	53                   	push   %ebx
421b4a:	56                   	push   %esi
421b4b:	8b 75 0c             	mov    0xc(%ebp),%esi
421b4e:	33 db                	xor    %ebx,%ebx
421b50:	57                   	push   %edi
421b51:	85 f6                	test   %esi,%esi
421b53:	78 31                	js     0x421b86
421b55:	8d 04 33             	lea    (%ebx,%esi,1),%eax
421b58:	99                   	cltd
421b59:	2b c2                	sub    %edx,%eax
421b5b:	8b f8                	mov    %eax,%edi
421b5d:	8b 45 08             	mov    0x8(%ebp),%eax
421b60:	d1 ff                	sar    $1,%edi
421b62:	6b cf 0c             	imul   $0xc,%edi,%ecx
421b65:	ff 34 01             	push   (%ecx,%eax,1)
421b68:	8b 45 10             	mov    0x10(%ebp),%eax
421b6b:	ff 30                	push   (%eax)
421b6d:	e8 4a cb ff ff       	call   0x41e6bc
421b72:	59                   	pop    %ecx
421b73:	59                   	pop    %ecx
421b74:	85 c0                	test   %eax,%eax
421b76:	74 15                	je     0x421b8d
421b78:	79 05                	jns    0x421b7f
421b7a:	8d 77 ff             	lea    -0x1(%edi),%esi
421b7d:	eb 03                	jmp    0x421b82
421b7f:	8d 5f 01             	lea    0x1(%edi),%ebx
421b82:	3b de                	cmp    %esi,%ebx
421b84:	7e cf                	jle    0x421b55
421b86:	32 c0                	xor    %al,%al
421b88:	5f                   	pop    %edi
421b89:	5e                   	pop    %esi
421b8a:	5b                   	pop    %ebx
421b8b:	5d                   	pop    %ebp
421b8c:	c3                   	ret
421b8d:	8b 4d 08             	mov    0x8(%ebp),%ecx
421b90:	6b c7 0c             	imul   $0xc,%edi,%eax
421b93:	83 c1 04             	add    $0x4,%ecx
421b96:	03 c1                	add    %ecx,%eax
421b98:	8b 4d 10             	mov    0x10(%ebp),%ecx
421b9b:	89 01                	mov    %eax,(%ecx)
421b9d:	b0 01                	mov    $0x1,%al
421b9f:	eb e7                	jmp    0x421b88
421ba1:	8b ff                	mov    %edi,%edi
421ba3:	55                   	push   %ebp
421ba4:	8b ec                	mov    %esp,%ebp
421ba6:	83 ec 18             	sub    $0x18,%esp
421ba9:	a1 28 ba 43 00       	mov    0x43ba28,%eax
421bae:	33 c5                	xor    %ebp,%eax
421bb0:	89 45 fc             	mov    %eax,-0x4(%ebp)
421bb3:	8b 45 0c             	mov    0xc(%ebp),%eax
421bb6:	53                   	push   %ebx
421bb7:	8b 5d 10             	mov    0x10(%ebp),%ebx
421bba:	56                   	push   %esi
421bbb:	8b 75 08             	mov    0x8(%ebp),%esi
421bbe:	57                   	push   %edi
421bbf:	89 45 e8             	mov    %eax,-0x18(%ebp)
421bc2:	e8 95 6f ff ff       	call   0x418b5c
421bc7:	83 c0 50             	add    $0x50,%eax
421bca:	8d 7d f0             	lea    -0x10(%ebp),%edi
421bcd:	89 45 ec             	mov    %eax,-0x14(%ebp)
421bd0:	33 c0                	xor    %eax,%eax
421bd2:	ab                   	stos   %eax,%es:(%edi)
421bd3:	ab                   	stos   %eax,%es:(%edi)
421bd4:	ab                   	stos   %eax,%es:(%edi)
421bd5:	e8 82 6f ff ff       	call   0x418b5c
421bda:	8d 4d f0             	lea    -0x10(%ebp),%ecx
421bdd:	33 d2                	xor    %edx,%edx
421bdf:	89 88 4c 03 00 00    	mov    %ecx,0x34c(%eax)
421be5:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
421beb:	8b 45 ec             	mov    -0x14(%ebp),%eax
421bee:	89 30                	mov    %esi,(%eax)
421bf0:	8d 78 04             	lea    0x4(%eax),%edi
421bf3:	89 0f                	mov    %ecx,(%edi)
421bf5:	85 c9                	test   %ecx,%ecx
421bf7:	74 1f                	je     0x421c18
421bf9:	66 39 11             	cmp    %dx,(%ecx)
421bfc:	74 1a                	je     0x421c18
421bfe:	a1 b4 e6 42 00       	mov    0x42e6b4,%eax
421c03:	57                   	push   %edi
421c04:	48                   	dec    %eax
421c05:	50                   	push   %eax
421c06:	68 a0 e5 42 00       	push   $0x42e5a0
421c0b:	e8 34 ff ff ff       	call   0x421b44
421c10:	8b 45 ec             	mov    -0x14(%ebp),%eax
421c13:	83 c4 0c             	add    $0xc,%esp
421c16:	33 d2                	xor    %edx,%edx
421c18:	89 55 f0             	mov    %edx,-0x10(%ebp)
421c1b:	8b 00                	mov    (%eax),%eax
421c1d:	85 c0                	test   %eax,%eax
421c1f:	74 6e                	je     0x421c8f
421c21:	66 39 10             	cmp    %dx,(%eax)
421c24:	74 69                	je     0x421c8f
421c26:	8b 07                	mov    (%edi),%eax
421c28:	85 c0                	test   %eax,%eax
421c2a:	74 10                	je     0x421c3c
421c2c:	66 39 10             	cmp    %dx,(%eax)
421c2f:	74 0b                	je     0x421c3c
421c31:	8d 45 f0             	lea    -0x10(%ebp),%eax
421c34:	50                   	push   %eax
421c35:	e8 f2 f8 ff ff       	call   0x42152c
421c3a:	eb 09                	jmp    0x421c45
421c3c:	8d 45 f0             	lea    -0x10(%ebp),%eax
421c3f:	50                   	push   %eax
421c40:	e8 82 f9 ff ff       	call   0x4215c7
421c45:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
421c49:	59                   	pop    %ecx
421c4a:	0f 85 84 00 00 00    	jne    0x421cd4
421c50:	a1 9c e5 42 00       	mov    0x42e59c,%eax
421c55:	ff 75 ec             	push   -0x14(%ebp)
421c58:	48                   	dec    %eax
421c59:	50                   	push   %eax
421c5a:	68 90 e2 42 00       	push   $0x42e290
421c5f:	e8 e0 fe ff ff       	call   0x421b44
421c64:	83 c4 0c             	add    $0xc,%esp
421c67:	84 c0                	test   %al,%al
421c69:	74 4e                	je     0x421cb9
421c6b:	8b 07                	mov    (%edi),%eax
421c6d:	33 ff                	xor    %edi,%edi
421c6f:	85 c0                	test   %eax,%eax
421c71:	74 10                	je     0x421c83
421c73:	66 39 38             	cmp    %di,(%eax)
421c76:	74 0b                	je     0x421c83
421c78:	8d 45 f0             	lea    -0x10(%ebp),%eax
421c7b:	50                   	push   %eax
421c7c:	e8 ab f8 ff ff       	call   0x42152c
421c81:	eb 09                	jmp    0x421c8c
421c83:	8d 45 f0             	lea    -0x10(%ebp),%eax
421c86:	50                   	push   %eax
421c87:	e8 3b f9 ff ff       	call   0x4215c7
421c8c:	59                   	pop    %ecx
421c8d:	eb 2c                	jmp    0x421cbb
421c8f:	8b 07                	mov    (%edi),%eax
421c91:	85 c0                	test   %eax,%eax
421c93:	74 11                	je     0x421ca6
421c95:	66 39 10             	cmp    %dx,(%eax)
421c98:	74 0c                	je     0x421ca6
421c9a:	8d 45 f0             	lea    -0x10(%ebp),%eax
421c9d:	50                   	push   %eax
421c9e:	e8 3e f8 ff ff       	call   0x4214e1
421ca3:	59                   	pop    %ecx
421ca4:	eb 13                	jmp    0x421cb9
421ca6:	c7 45 f0 04 01 00 00 	movl   $0x104,-0x10(%ebp)
421cad:	ff 15 f4 71 42 00    	call   *0x4271f4
421cb3:	89 45 f8             	mov    %eax,-0x8(%ebp)
421cb6:	89 45 f4             	mov    %eax,-0xc(%ebp)
421cb9:	33 ff                	xor    %edi,%edi
421cbb:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
421cbf:	75 15                	jne    0x421cd6
421cc1:	33 c0                	xor    %eax,%eax
421cc3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421cc6:	5f                   	pop    %edi
421cc7:	5e                   	pop    %esi
421cc8:	33 cd                	xor    %ebp,%ecx
421cca:	5b                   	pop    %ebx
421ccb:	e8 90 53 fe ff       	call   0x407060
421cd0:	8b e5                	mov    %ebp,%esp
421cd2:	5d                   	pop    %ebp
421cd3:	c3                   	ret
421cd4:	33 ff                	xor    %edi,%edi
421cd6:	8d 45 f0             	lea    -0x10(%ebp),%eax
421cd9:	50                   	push   %eax
421cda:	8d 86 00 01 00 00    	lea    0x100(%esi),%eax
421ce0:	f7 de                	neg    %esi
421ce2:	1b f6                	sbb    %esi,%esi
421ce4:	23 f0                	and    %eax,%esi
421ce6:	56                   	push   %esi
421ce7:	e8 e1 fc ff ff       	call   0x4219cd
421cec:	8b f0                	mov    %eax,%esi
421cee:	59                   	pop    %ecx
421cef:	59                   	pop    %ecx
421cf0:	85 f6                	test   %esi,%esi
421cf2:	74 cd                	je     0x421cc1
421cf4:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
421cfa:	74 c5                	je     0x421cc1
421cfc:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
421d02:	74 bd                	je     0x421cc1
421d04:	0f b7 c6             	movzwl %si,%eax
421d07:	50                   	push   %eax
421d08:	ff 15 10 72 42 00    	call   *0x427210
421d0e:	85 c0                	test   %eax,%eax
421d10:	74 af                	je     0x421cc1
421d12:	6a 01                	push   $0x1
421d14:	ff 75 f4             	push   -0xc(%ebp)
421d17:	ff 15 f0 71 42 00    	call   *0x4271f0
421d1d:	85 c0                	test   %eax,%eax
421d1f:	74 a0                	je     0x421cc1
421d21:	8b 45 e8             	mov    -0x18(%ebp),%eax
421d24:	85 c0                	test   %eax,%eax
421d26:	74 02                	je     0x421d2a
421d28:	89 30                	mov    %esi,(%eax)
421d2a:	8b 45 ec             	mov    -0x14(%ebp),%eax
421d2d:	57                   	push   %edi
421d2e:	6a 55                	push   $0x55
421d30:	05 50 02 00 00       	add    $0x250,%eax
421d35:	50                   	push   %eax
421d36:	ff 75 f4             	push   -0xc(%ebp)
421d39:	e8 0d 75 ff ff       	call   0x41924b
421d3e:	85 db                	test   %ebx,%ebx
421d40:	74 5e                	je     0x421da0
421d42:	57                   	push   %edi
421d43:	6a 55                	push   $0x55
421d45:	8d 83 20 01 00 00    	lea    0x120(%ebx),%eax
421d4b:	50                   	push   %eax
421d4c:	ff 75 f4             	push   -0xc(%ebp)
421d4f:	e8 f7 74 ff ff       	call   0x41924b
421d54:	6a 40                	push   $0x40
421d56:	53                   	push   %ebx
421d57:	68 01 10 00 00       	push   $0x1001
421d5c:	ff 75 f4             	push   -0xc(%ebp)
421d5f:	ff 15 78 71 42 00    	call   *0x427178
421d65:	85 c0                	test   %eax,%eax
421d67:	0f 84 54 ff ff ff    	je     0x421cc1
421d6d:	6a 40                	push   $0x40
421d6f:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
421d75:	50                   	push   %eax
421d76:	68 02 10 00 00       	push   $0x1002
421d7b:	ff 75 f8             	push   -0x8(%ebp)
421d7e:	ff 15 78 71 42 00    	call   *0x427178
421d84:	85 c0                	test   %eax,%eax
421d86:	0f 84 35 ff ff ff    	je     0x421cc1
421d8c:	6a 0a                	push   $0xa
421d8e:	6a 10                	push   $0x10
421d90:	8d 8b 00 01 00 00    	lea    0x100(%ebx),%ecx
421d96:	51                   	push   %ecx
421d97:	56                   	push   %esi
421d98:	e8 c6 38 00 00       	call   0x425663
421d9d:	83 c4 10             	add    $0x10,%esp
421da0:	33 c0                	xor    %eax,%eax
421da2:	40                   	inc    %eax
421da3:	e9 1b ff ff ff       	jmp    0x421cc3
421da8:	8b ff                	mov    %edi,%edi
421daa:	55                   	push   %ebp
421dab:	8b ec                	mov    %esp,%ebp
421dad:	8b 4d 08             	mov    0x8(%ebp),%ecx
421db0:	33 c0                	xor    %eax,%eax
421db2:	f6 c1 10             	test   $0x10,%cl
421db5:	74 05                	je     0x421dbc
421db7:	b8 80 00 00 00       	mov    $0x80,%eax
421dbc:	53                   	push   %ebx
421dbd:	56                   	push   %esi
421dbe:	57                   	push   %edi
421dbf:	bf 00 02 00 00       	mov    $0x200,%edi
421dc4:	f6 c1 08             	test   $0x8,%cl
421dc7:	74 02                	je     0x421dcb
421dc9:	0b c7                	or     %edi,%eax
421dcb:	f6 c1 04             	test   $0x4,%cl
421dce:	74 05                	je     0x421dd5
421dd0:	0d 00 04 00 00       	or     $0x400,%eax
421dd5:	f6 c1 02             	test   $0x2,%cl
421dd8:	74 05                	je     0x421ddf
421dda:	0d 00 08 00 00       	or     $0x800,%eax
421ddf:	f6 c1 01             	test   $0x1,%cl
421de2:	74 05                	je     0x421de9
421de4:	0d 00 10 00 00       	or     $0x1000,%eax
421de9:	be 00 01 00 00       	mov    $0x100,%esi
421dee:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
421df4:	74 02                	je     0x421df8
421df6:	0b c6                	or     %esi,%eax
421df8:	8b d1                	mov    %ecx,%edx
421dfa:	bb 00 03 00 00       	mov    $0x300,%ebx
421dff:	23 d3                	and    %ebx,%edx
421e01:	74 1f                	je     0x421e22
421e03:	3b d6                	cmp    %esi,%edx
421e05:	74 16                	je     0x421e1d
421e07:	3b d7                	cmp    %edi,%edx
421e09:	74 0b                	je     0x421e16
421e0b:	3b d3                	cmp    %ebx,%edx
421e0d:	75 13                	jne    0x421e22
421e0f:	0d 00 60 00 00       	or     $0x6000,%eax
421e14:	eb 0c                	jmp    0x421e22
421e16:	0d 00 40 00 00       	or     $0x4000,%eax
421e1b:	eb 05                	jmp    0x421e22
421e1d:	0d 00 20 00 00       	or     $0x2000,%eax
421e22:	ba 00 00 00 03       	mov    $0x3000000,%edx
421e27:	5f                   	pop    %edi
421e28:	23 ca                	and    %edx,%ecx
421e2a:	5e                   	pop    %esi
421e2b:	5b                   	pop    %ebx
421e2c:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
421e32:	74 18                	je     0x421e4c
421e34:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
421e3a:	74 0b                	je     0x421e47
421e3c:	3b ca                	cmp    %edx,%ecx
421e3e:	75 11                	jne    0x421e51
421e40:	0d 00 80 00 00       	or     $0x8000,%eax
421e45:	5d                   	pop    %ebp
421e46:	c3                   	ret
421e47:	83 c8 40             	or     $0x40,%eax
421e4a:	5d                   	pop    %ebp
421e4b:	c3                   	ret
421e4c:	0d 40 80 00 00       	or     $0x8040,%eax
421e51:	5d                   	pop    %ebp
421e52:	c3                   	ret
421e53:	8b ff                	mov    %edi,%edi
421e55:	55                   	push   %ebp
421e56:	8b ec                	mov    %esp,%ebp
421e58:	83 ec 0c             	sub    $0xc,%esp
421e5b:	dd 7d fc             	fnstsw -0x4(%ebp)
421e5e:	db e2                	fnclex
421e60:	83 3d 48 96 83 02 01 	cmpl   $0x1,0x2839648
421e67:	0f 8c 83 00 00 00    	jl     0x421ef0
421e6d:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
421e71:	33 c9                	xor    %ecx,%ecx
421e73:	8b d1                	mov    %ecx,%edx
421e75:	57                   	push   %edi
421e76:	bf 00 00 08 00       	mov    $0x80000,%edi
421e7b:	a8 3f                	test   $0x3f,%al
421e7d:	74 29                	je     0x421ea8
421e7f:	a8 01                	test   $0x1,%al
421e81:	74 03                	je     0x421e86
421e83:	6a 10                	push   $0x10
421e85:	5a                   	pop    %edx