428b60:	ff 75 fc             	push   -0x4(%ebp)
428b63:	e8 87 c9 01 00       	call   0x4454ef
428b68:	5f                   	pop    %edi
428b69:	8b c6                	mov    %esi,%eax
428b6b:	5e                   	pop    %esi
428b6c:	5b                   	pop    %ebx
428b6d:	8b e5                	mov    %ebp,%esp
428b6f:	5d                   	pop    %ebp
428b70:	c2 14 00             	ret    $0x14
428b73:	55                   	push   %ebp
428b74:	8b ec                	mov    %esp,%ebp
428b76:	51                   	push   %ecx
428b77:	51                   	push   %ecx
428b78:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
428b7c:	8d 45 f8             	lea    -0x8(%ebp),%eax
428b7f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
428b83:	53                   	push   %ebx
428b84:	56                   	push   %esi
428b85:	57                   	push   %edi
428b86:	50                   	push   %eax
428b87:	33 c0                	xor    %eax,%eax
428b89:	39 45 08             	cmp    %eax,0x8(%ebp)
428b8c:	68 19 00 02 00       	push   $0x20019
428b91:	0f 95 c0             	setne  %al
428b94:	68 78 0a 45 00       	push   $0x450a78
428b99:	05 01 00 00 80       	add    $0x80000001,%eax
428b9e:	50                   	push   %eax
428b9f:	e8 9b 82 01 00       	call   0x440e3f
428ba4:	8b f0                	mov    %eax,%esi
428ba6:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
428bac:	74 7e                	je     0x428c2c
428bae:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
428bb4:	74 76                	je     0x428c2c
428bb6:	85 f6                	test   %esi,%esi
428bb8:	79 0f                	jns    0x428bc9
428bba:	68 38 e2 45 00       	push   $0x45e238
428bbf:	56                   	push   %esi
428bc0:	e8 6a 75 01 00       	call   0x44012f
428bc5:	59                   	pop    %ecx
428bc6:	59                   	pop    %ecx
428bc7:	eb 65                	jmp    0x428c2e
428bc9:	8d 45 fc             	lea    -0x4(%ebp),%eax
428bcc:	33 db                	xor    %ebx,%ebx
428bce:	50                   	push   %eax
428bcf:	53                   	push   %ebx
428bd0:	ff 75 f8             	push   -0x8(%ebp)
428bd3:	e8 44 81 01 00       	call   0x440d1c
428bd8:	8b f0                	mov    %eax,%esi
428bda:	81 fe 03 01 07 80    	cmp    $0x80070103,%esi
428be0:	74 4a                	je     0x428c2c
428be2:	8b 7d 0c             	mov    0xc(%ebp),%edi
428be5:	85 f6                	test   %esi,%esi
428be7:	78 6d                	js     0x428c56
428be9:	6a ff                	push   $0xffffffff
428beb:	ff 77 10             	push   0x10(%edi)
428bee:	6a ff                	push   $0xffffffff
428bf0:	ff 75 fc             	push   -0x4(%ebp)
428bf3:	6a 01                	push   $0x1
428bf5:	6a 00                	push   $0x0
428bf7:	ff 15 28 b1 44 00    	call   *0x44b128
428bfd:	83 f8 02             	cmp    $0x2,%eax
428c00:	74 12                	je     0x428c14
428c02:	ff 75 10             	push   0x10(%ebp)
428c05:	57                   	push   %edi
428c06:	ff 75 fc             	push   -0x4(%ebp)
428c09:	ff 75 f8             	push   -0x8(%ebp)
428c0c:	ff 75 08             	push   0x8(%ebp)
428c0f:	e8 bb fc ff ff       	call   0x4288cf
428c14:	8d 45 fc             	lea    -0x4(%ebp),%eax
428c17:	43                   	inc    %ebx
428c18:	50                   	push   %eax
428c19:	53                   	push   %ebx
428c1a:	ff 75 f8             	push   -0x8(%ebp)
428c1d:	e8 fa 80 01 00       	call   0x440d1c
428c22:	8b f0                	mov    %eax,%esi
428c24:	81 fe 03 01 07 80    	cmp    $0x80070103,%esi
428c2a:	75 b9                	jne    0x428be5
428c2c:	33 f6                	xor    %esi,%esi
428c2e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428c32:	74 08                	je     0x428c3c
428c34:	ff 75 fc             	push   -0x4(%ebp)
428c37:	e8 b3 c8 01 00       	call   0x4454ef
428c3c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
428c40:	74 09                	je     0x428c4b
428c42:	ff 75 f8             	push   -0x8(%ebp)
428c45:	ff 15 00 b0 44 00    	call   *0x44b000
428c4b:	5f                   	pop    %edi
428c4c:	8b c6                	mov    %esi,%eax
428c4e:	5e                   	pop    %esi
428c4f:	5b                   	pop    %ebx
428c50:	8b e5                	mov    %ebp,%esp
428c52:	5d                   	pop    %ebp
428c53:	c2 0c 00             	ret    $0xc
428c56:	68 60 e2 45 00       	push   $0x45e260
428c5b:	e9 5f ff ff ff       	jmp    0x428bbf
428c60:	55                   	push   %ebp
428c61:	8b ec                	mov    %esp,%ebp
428c63:	56                   	push   %esi
428c64:	8b 75 08             	mov    0x8(%ebp),%esi
428c67:	83 3e 00             	cmpl   $0x0,(%esi)
428c6a:	74 3d                	je     0x428ca9
428c6c:	53                   	push   %ebx
428c6d:	33 db                	xor    %ebx,%ebx
428c6f:	39 5e 04             	cmp    %ebx,0x4(%esi)
428c72:	76 2d                	jbe    0x428ca1
428c74:	57                   	push   %edi
428c75:	33 ff                	xor    %edi,%edi
428c77:	8b 06                	mov    (%esi),%eax
428c79:	83 c0 18             	add    $0x18,%eax
428c7c:	03 c7                	add    %edi,%eax
428c7e:	50                   	push   %eax
428c7f:	e8 c0 50 fe ff       	call   0x40dd44
428c84:	8b 06                	mov    (%esi),%eax
428c86:	8b 44 07 10          	mov    0x10(%edi,%eax,1),%eax
428c8a:	85 c0                	test   %eax,%eax
428c8c:	74 06                	je     0x428c94
428c8e:	50                   	push   %eax
428c8f:	e8 5b c8 01 00       	call   0x4454ef
428c94:	43                   	inc    %ebx
428c95:	81 c7 f8 00 00 00    	add    $0xf8,%edi
428c9b:	3b 5e 04             	cmp    0x4(%esi),%ebx
428c9e:	72 d7                	jb     0x428c77
428ca0:	5f                   	pop    %edi
428ca1:	ff 36                	push   (%esi)
428ca3:	e8 f1 ac fd ff       	call   0x403999
428ca8:	5b                   	pop    %ebx
428ca9:	83 26 00             	andl   $0x0,(%esi)
428cac:	83 66 04 00          	andl   $0x0,0x4(%esi)
428cb0:	5e                   	pop    %esi
428cb1:	5d                   	pop    %ebp
428cb2:	c2 04 00             	ret    $0x4
428cb5:	55                   	push   %ebp
428cb6:	8b ec                	mov    %esp,%ebp
428cb8:	51                   	push   %ecx
428cb9:	53                   	push   %ebx
428cba:	8b 5d 14             	mov    0x14(%ebp),%ebx
428cbd:	33 c0                	xor    %eax,%eax
428cbf:	56                   	push   %esi
428cc0:	57                   	push   %edi
428cc1:	8b 7d 18             	mov    0x18(%ebp),%edi
428cc4:	50                   	push   %eax
428cc5:	89 03                	mov    %eax,(%ebx)
428cc7:	89 45 fc             	mov    %eax,-0x4(%ebp)
428cca:	89 07                	mov    %eax,(%edi)
428ccc:	8d 45 fc             	lea    -0x4(%ebp),%eax
428ccf:	68 05 00 07 80       	push   $0x80070005
428cd4:	50                   	push   %eax
428cd5:	e8 9e 92 fd ff       	call   0x401f78
428cda:	8b f0                	mov    %eax,%esi
428cdc:	83 c4 0c             	add    $0xc,%esp
428cdf:	85 f6                	test   %esi,%esi
428ce1:	79 12                	jns    0x428cf5
428ce3:	68 bc e7 45 00       	push   $0x45e7bc
428ce8:	56                   	push   %esi
428ce9:	e8 41 74 01 00       	call   0x44012f
428cee:	59                   	pop    %ecx
428cef:	59                   	pop    %ecx
428cf0:	e9 8e 00 00 00       	jmp    0x428d83
428cf5:	8b 75 08             	mov    0x8(%ebp),%esi
428cf8:	8b 06                	mov    (%esi),%eax
428cfa:	8b 48 10             	mov    0x10(%eax),%ecx
428cfd:	33 c0                	xor    %eax,%eax
428cff:	81 7d 10 91 01 00 00 	cmpl   $0x191,0x10(%ebp)
428d06:	50                   	push   %eax
428d07:	50                   	push   %eax
428d08:	8b 11                	mov    (%ecx),%edx
428d0a:	50                   	push   %eax
428d0b:	6a 0f                	push   $0xf
428d0d:	ff 75 fc             	push   -0x4(%ebp)
428d10:	0f 95 c0             	setne  %al
428d13:	6a 05                	push   $0x5
428d15:	ff 76 04             	push   0x4(%esi)
428d18:	83 c0 03             	add    $0x3,%eax
428d1b:	50                   	push   %eax
428d1c:	51                   	push   %ecx
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