428d1d:	ff 52 7c             	call   *0x7c(%edx)
428d20:	50                   	push   %eax
428d21:	6a 0f                	push   $0xf
428d23:	6a 00                	push   $0x0
428d25:	ff 36                	push   (%esi)
428d27:	e8 dd 46 fe ff       	call   0x40d409
428d2c:	83 f8 0a             	cmp    $0xa,%eax
428d2f:	75 3e                	jne    0x428d6f
428d31:	8b 06                	mov    (%esi),%eax
428d33:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
428d37:	74 45                	je     0x428d7e
428d39:	6a 00                	push   $0x0
428d3b:	6a 07                	push   $0x7
428d3d:	68 ee 2e 00 00       	push   $0x2eee
428d42:	ff 75 0c             	push   0xc(%ebp)
428d45:	ff 70 3c             	push   0x3c(%eax)
428d48:	ff 15 7c a9 46 00    	call   *0x46a97c
428d4e:	85 c0                	test   %eax,%eax
428d50:	74 16                	je     0x428d68
428d52:	3d c7 04 00 00       	cmp    $0x4c7,%eax
428d57:	74 0f                	je     0x428d68
428d59:	3d 00 2f 00 00       	cmp    $0x2f00,%eax
428d5e:	75 1e                	jne    0x428d7e
428d60:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
428d66:	eb 12                	jmp    0x428d7a
428d68:	be 42 06 07 80       	mov    $0x80070642,%esi
428d6d:	eb 14                	jmp    0x428d83
428d6f:	83 f8 04             	cmp    $0x4,%eax
428d72:	75 0a                	jne    0x428d7e
428d74:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
428d7a:	33 f6                	xor    %esi,%esi
428d7c:	eb 05                	jmp    0x428d83
428d7e:	be 05 00 07 80       	mov    $0x80070005,%esi
428d83:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428d87:	74 08                	je     0x428d91
428d89:	ff 75 fc             	push   -0x4(%ebp)
428d8c:	e8 5e c7 01 00       	call   0x4454ef
428d91:	5f                   	pop    %edi
428d92:	8b c6                	mov    %esi,%eax
428d94:	5e                   	pop    %esi
428d95:	5b                   	pop    %ebx
428d96:	8b e5                	mov    %ebp,%esp
428d98:	5d                   	pop    %ebp
428d99:	c2 14 00             	ret    $0x14
428d9c:	55                   	push   %ebp
428d9d:	8b ec                	mov    %esp,%ebp
428d9f:	83 ec 14             	sub    $0x14,%esp
428da2:	53                   	push   %ebx
428da3:	33 db                	xor    %ebx,%ebx
428da5:	56                   	push   %esi
428da6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
428da9:	89 5d f4             	mov    %ebx,-0xc(%ebp)
428dac:	89 5d f8             	mov    %ebx,-0x8(%ebp)
428daf:	e8 eb ee 01 00       	call   0x447c9f
428db4:	8b f0                	mov    %eax,%esi
428db6:	85 f6                	test   %esi,%esi
428db8:	79 12                	jns    0x428dcc
428dba:	68 9c e8 45 00       	push   $0x45e89c
428dbf:	56                   	push   %esi
428dc0:	e8 6a 73 01 00       	call   0x44012f
428dc5:	59                   	pop    %ecx
428dc6:	59                   	pop    %ecx
428dc7:	e9 e0 00 00 00       	jmp    0x428eac
428dcc:	8d 45 fc             	lea    -0x4(%ebp),%eax
428dcf:	50                   	push   %eax
428dd0:	ff 75 10             	push   0x10(%ebp)
428dd3:	ff 75 0c             	push   0xc(%ebp)
428dd6:	ff 75 08             	push   0x8(%ebp)
428dd9:	e8 52 01 00 00       	call   0x428f30
428dde:	8b f0                	mov    %eax,%esi
428de0:	85 f6                	test   %esi,%esi
428de2:	79 07                	jns    0x428deb
428de4:	68 b8 e8 45 00       	push   $0x45e8b8
428de9:	eb d4                	jmp    0x428dbf
428deb:	8d 45 f4             	lea    -0xc(%ebp),%eax
428dee:	50                   	push   %eax
428def:	ff 75 fc             	push   -0x4(%ebp)
428df2:	e8 ad ee 01 00       	call   0x447ca4
428df7:	8b f0                	mov    %eax,%esi
428df9:	85 f6                	test   %esi,%esi
428dfb:	79 16                	jns    0x428e13
428dfd:	ff 75 fc             	push   -0x4(%ebp)
428e00:	68 d8 e8 45 00       	push   $0x45e8d8
428e05:	56                   	push   %esi
428e06:	e8 24 73 01 00       	call   0x44012f
428e0b:	83 c4 0c             	add    $0xc,%esp
428e0e:	e9 99 00 00 00       	jmp    0x428eac
428e13:	8d 45 f8             	lea    -0x8(%ebp),%eax
428e16:	50                   	push   %eax
428e17:	ff 75 f4             	push   -0xc(%ebp)
428e1a:	e8 60 f5 01 00       	call   0x44837f
428e1f:	8b f0                	mov    %eax,%esi
428e21:	85 f6                	test   %esi,%esi
428e23:	79 07                	jns    0x428e2c
428e25:	68 00 e9 45 00       	push   $0x45e900
428e2a:	eb 93                	jmp    0x428dbf
428e2c:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e2f:	39 58 08             	cmp    %ebx,0x8(%eax)
428e32:	76 78                	jbe    0x428eac
428e34:	57                   	push   %edi
428e35:	8b fb                	mov    %ebx,%edi
428e37:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e3a:	8b 50 0c             	mov    0xc(%eax),%edx
428e3d:	03 d3                	add    %ebx,%edx
428e3f:	8b 42 3c             	mov    0x3c(%edx),%eax
428e42:	85 c0                	test   %eax,%eax
428e44:	74 0b                	je     0x428e51
428e46:	8b 70 0c             	mov    0xc(%eax),%esi
428e49:	8b 48 08             	mov    0x8(%eax),%ecx
428e4c:	89 75 08             	mov    %esi,0x8(%ebp)
428e4f:	eb 11                	jmp    0x428e62
428e51:	0f 57 c0             	xorps  %xmm0,%xmm0
428e54:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
428e59:	8b 4d f0             	mov    -0x10(%ebp),%ecx
428e5c:	89 4d 08             	mov    %ecx,0x8(%ebp)
428e5f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
428e62:	89 4d f0             	mov    %ecx,-0x10(%ebp)
428e65:	85 c0                	test   %eax,%eax
428e67:	74 04                	je     0x428e6d
428e69:	8b 30                	mov    (%eax),%esi
428e6b:	eb 02                	jmp    0x428e6f
428e6d:	33 f6                	xor    %esi,%esi
428e6f:	8b 45 0c             	mov    0xc(%ebp),%eax
428e72:	6a 00                	push   $0x0
428e74:	ff 72 14             	push   0x14(%edx)
428e77:	ff 72 10             	push   0x10(%edx)
428e7a:	8b 40 10             	mov    0x10(%eax),%eax
428e7d:	ff 72 0c             	push   0xc(%edx)
428e80:	ff 72 08             	push   0x8(%edx)
428e83:	8b 08                	mov    (%eax),%ecx
428e85:	ff 72 24             	push   0x24(%edx)
428e88:	ff 72 20             	push   0x20(%edx)
428e8b:	ff 75 08             	push   0x8(%ebp)
428e8e:	ff 75 f0             	push   -0x10(%ebp)
428e91:	56                   	push   %esi
428e92:	50                   	push   %eax
428e93:	ff 51 24             	call   *0x24(%ecx)
428e96:	83 e8 00             	sub    $0x0,%eax
428e99:	75 50                	jne    0x428eeb
428e9b:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e9e:	33 f6                	xor    %esi,%esi
428ea0:	47                   	inc    %edi
428ea1:	83 c3 40             	add    $0x40,%ebx
428ea4:	3b 78 08             	cmp    0x8(%eax),%edi
428ea7:	72 8e                	jb     0x428e37
428ea9:	33 db                	xor    %ebx,%ebx
428eab:	5f                   	pop    %edi
428eac:	8b 45 fc             	mov    -0x4(%ebp),%eax
428eaf:	85 c0                	test   %eax,%eax
428eb1:	74 0b                	je     0x428ebe
428eb3:	66 39 18             	cmp    %bx,(%eax)
428eb6:	74 06                	je     0x428ebe
428eb8:	50                   	push   %eax
428eb9:	e8 7a b1 01 00       	call   0x444038
428ebe:	ff 75 f8             	push   -0x8(%ebp)
428ec1:	e8 6a f6 01 00       	call   0x448530
428ec6:	ff 75 f4             	push   -0xc(%ebp)
428ec9:	e8 9a ec 01 00       	call   0x447b68
428ece:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428ed2:	74 08                	je     0x428edc
428ed4:	ff 75 fc             	push   -0x4(%ebp)
428ed7:	e8 13 c6 01 00       	call   0x4454ef
428edc:	e8 24 ee 01 00       	call   0x447d05
428ee1:	8b c6                	mov    %esi,%eax
428ee3:	5e                   	pop    %esi
428ee4:	5b                   	pop    %ebx
428ee5:	8b e5                	mov    %ebp,%esp
428ee7:	5d                   	pop    %ebp
428ee8:	c2 0c 00             	ret    $0xc
428eeb:	83 e8 01             	sub    $0x1,%eax
428eee:	74 2e                	je     0x428f1e
428ef0:	83 e8 01             	sub    $0x1,%eax
428ef3:	74 24                	je     0x428f19
428ef5:	be 0d 00 07 80       	mov    $0x8007000d,%esi
428efa:	56                   	push   %esi
428efb:	68 a3 01 00 00       	push   $0x1a3
428f00:	68 c8 e6 45 00       	push   $0x45e6c8
428f05:	e8 c9 a8 fd ff       	call   0x4037d3
428f0a:	68 78 e7 45 00       	push   $0x45e778
428f0f:	56                   	push   %esi
428f10:	e8 1a 72 01 00       	call   0x44012f
428f15:	59                   	pop    %ecx
428f16:	59                   	pop    %ecx
428f17:	eb 90                	jmp    0x428ea9
428f19:	33 f6                	xor    %esi,%esi
428f1b:	46                   	inc    %esi
428f1c:	eb 8b                	jmp    0x428ea9
428f1e:	8b 45 10             	mov    0x10(%ebp),%eax
428f21:	33 db                	xor    %ebx,%ebx
428f23:	8b f3                	mov    %ebx,%esi
428f25:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
428f2b:	e9 7b ff ff ff       	jmp    0x428eab
428f30:	55                   	push   %ebp
428f31:	8b ec                	mov    %esp,%ebp
428f33:	83 ec 28             	sub    $0x28,%esp
428f36:	53                   	push   %ebx
428f37:	56                   	push   %esi
428f38:	57                   	push   %edi
428f39:	33 c0                	xor    %eax,%eax
428f3b:	8d 7d e4             	lea    -0x1c(%ebp),%edi
428f3e:	ab                   	stos   %eax,%es:(%edi)
428f3f:	33 db                	xor    %ebx,%ebx
428f41:	53                   	push   %ebx
428f42:	89 5d f0             	mov    %ebx,-0x10(%ebp)
428f45:	89 5d f4             	mov    %ebx,-0xc(%ebp)
428f48:	ab                   	stos   %eax,%es:(%edi)
428f49:	89 5d f8             	mov    %ebx,-0x8(%ebp)
428f4c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
428f4f:	ab                   	stos   %eax,%es:(%edi)
428f50:	33 c0                	xor    %eax,%eax
428f52:	8d 7d d8             	lea    -0x28(%ebp),%edi
428f55:	ab                   	stos   %eax,%es:(%edi)
428f56:	ab                   	stos   %eax,%es:(%edi)
428f57:	ab                   	stos   %eax,%es:(%edi)
428f58:	8b 7d 14             	mov    0x14(%ebp),%edi
428f5b:	57                   	push   %edi
428f5c:	68 e0 e7 45 00       	push   $0x45e7e0
428f61:	53                   	push   %ebx
428f62:	68 e8 e7 45 00       	push   $0x45e7e8
428f67:	53                   	push   %ebx
428f68:	e8 73 9e fd ff       	call   0x402de0
428f6d:	8b f0                	mov    %eax,%esi
428f6f:	85 f6                	test   %esi,%esi
428f71:	79 0f                	jns    0x428f82
428f73:	68 00 e8 45 00       	push   $0x45e800
428f78:	56                   	push   %esi
428f79:	e8 b1 71 01 00       	call   0x44012f
428f7e:	59                   	pop    %ecx
428f7f:	59                   	pop    %ecx
428f80:	eb 6d                	jmp    0x428fef
428f82:	8b 45 10             	mov    0x10(%ebp),%eax
428f85:	53                   	push   %ebx
428f86:	ff 70 04             	push   0x4(%eax)
428f89:	8d 45 e4             	lea    -0x1c(%ebp),%eax
428f8c:	50                   	push   %eax
428f8d:	e8 13 92 fd ff       	call   0x4021a5
428f92:	8b f0                	mov    %eax,%esi
428f94:	85 f6                	test   %esi,%esi
428f96:	79 07                	jns    0x428f9f
428f98:	68 3c e8 45 00       	push   $0x45e83c
428f9d:	eb d9                	jmp    0x428f78
428f9f:	8b 45 0c             	mov    0xc(%ebp),%eax
428fa2:	89 45 f8             	mov    %eax,-0x8(%ebp)
428fa5:	8b 45 08             	mov    0x8(%ebp),%eax
428fa8:	89 45 fc             	mov    %eax,-0x4(%ebp)
428fab:	8d 45 f8             	lea    -0x8(%ebp),%eax
428fae:	89 45 f4             	mov    %eax,-0xc(%ebp)
428fb1:	8d 45 f0             	lea    -0x10(%ebp),%eax
428fb4:	50                   	push   %eax
428fb5:	8d 45 d8             	lea    -0x28(%ebp),%eax
428fb8:	89 5d d8             	mov    %ebx,-0x28(%ebp)
428fbb:	50                   	push   %eax
428fbc:	ff 37                	push   (%edi)
428fbe:	8d 45 e4             	lea    -0x1c(%ebp),%eax
428fc1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
428fc4:	53                   	push   %ebx
428fc5:	53                   	push   %ebx
428fc6:	50                   	push   %eax
428fc7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
428fca:	c7 45 f0 b5 8c 42 00 	movl   $0x428cb5,-0x10(%ebp)
428fd1:	e8 84 d3 01 00       	call   0x44635a
428fd6:	8b f0                	mov    %eax,%esi
428fd8:	85 f6                	test   %esi,%esi
428fda:	79 2b                	jns    0x429007
428fdc:	ff 37                	push   (%edi)
428fde:	ff 75 e4             	push   -0x1c(%ebp)
428fe1:	68 58 e8 45 00       	push   $0x45e858
428fe6:	56                   	push   %esi
428fe7:	e8 43 71 01 00       	call   0x44012f
428fec:	83 c4 10             	add    $0x10,%esp
428fef:	39 1f                	cmp    %ebx,(%edi)
428ff1:	74 14                	je     0x429007
428ff3:	ff 37                	push   (%edi)
428ff5:	e8 3e b0 01 00       	call   0x444038
428ffa:	39 1f                	cmp    %ebx,(%edi)
428ffc:	74 09                	je     0x429007
428ffe:	ff 37                	push   (%edi)
429000:	e8 ea c4 01 00       	call   0x4454ef
429005:	89 1f                	mov    %ebx,(%edi)
429007:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
42900a:	74 08                	je     0x429014
42900c:	ff 75 e4             	push   -0x1c(%ebp)
42900f:	e8 db c4 01 00       	call   0x4454ef
429014:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
429017:	74 08                	je     0x429021
429019:	ff 75 e8             	push   -0x18(%ebp)
42901c:	e8 ce c4 01 00       	call   0x4454ef
429021:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
429024:	74 08                	je     0x42902e
429026:	ff 75 ec             	push   -0x14(%ebp)
429029:	e8 c1 c4 01 00       	call   0x4454ef
42902e:	5f                   	pop    %edi
42902f:	8b c6                	mov    %esi,%eax
429031:	5e                   	pop    %esi
429032:	5b                   	pop    %ebx
429033:	8b e5                	mov    %ebp,%esp
429035:	5d                   	pop    %ebp
429036:	c2 10 00             	ret    $0x10
429039:	55                   	push   %ebp
42903a:	8b ec                	mov    %esp,%ebp
42903c:	51                   	push   %ecx
42903d:	51                   	push   %ecx
42903e:	53                   	push   %ebx
42903f:	56                   	push   %esi
429040:	57                   	push   %edi
429041:	8b 7d 10             	mov    0x10(%ebp),%edi
429044:	33 c9                	xor    %ecx,%ecx
429046:	8b d9                	mov    %ecx,%ebx
429048:	8b f1                	mov    %ecx,%esi
42904a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42904d:	8b 87 bc 00 00 00    	mov    0xbc(%edi),%eax
429053:	85 c0                	test   %eax,%eax
429055:	0f 84 99 01 00 00    	je     0x4291f4
42905b:	6a ff                	push   $0xffffffff
42905d:	ff 77 10             	push   0x10(%edi)
429060:	6a ff                	push   $0xffffffff
429062:	50                   	push   %eax
429063:	33 c0                	xor    %eax,%eax
429065:	40                   	inc    %eax
429066:	50                   	push   %eax
429067:	51                   	push   %ecx
429068:	ff 15 28 b1 44 00    	call   *0x44b128
42906e:	83 f8 02             	cmp    $0x2,%eax
429071:	0f 84 7d 01 00 00    	je     0x4291f4
429077:	8b 47 40             	mov    0x40(%edi),%eax
42907a:	85 c0                	test   %eax,%eax
42907c:	74 38                	je     0x4290b6
42907e:	33 c9                	xor    %ecx,%ecx
429080:	66 39 08             	cmp    %cx,(%eax)
429083:	74 31                	je     0x4290b6
429085:	8b 4d 0c             	mov    0xc(%ebp),%ecx
429088:	83 39 05             	cmpl   $0x5,(%ecx)
42908b:	75 08                	jne    0x429095
42908d:	33 c0                	xor    %eax,%eax
42908f:	40                   	inc    %eax
429090:	89 45 fc             	mov    %eax,-0x4(%ebp)
429093:	eb 21                	jmp    0x4290b6
429095:	83 39 03             	cmpl   $0x3,(%ecx)
429098:	74 0a                	je     0x4290a4
42909a:	83 39 06             	cmpl   $0x6,(%ecx)
42909d:	74 05                	je     0x4290a4
42909f:	83 39 07             	cmpl   $0x7,(%ecx)
4290a2:	75 12                	jne    0x4290b6
4290a4:	50                   	push   %eax
4290a5:	57                   	push   %edi
4290a6:	e8 55 ea ff ff       	call   0x427b00
4290ab:	85 c0                	test   %eax,%eax
4290ad:	6a 01                	push   $0x1
4290af:	58                   	pop    %eax
4290b0:	0f 45 d8             	cmovne %eax,%ebx