428d4c:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
428d52:	53                   	push   %ebx
428d53:	ff 75 10             	push   0x10(%ebp)
428d56:	8b 00                	mov    (%eax),%eax
428d58:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
428d5e:	89 01                	mov    %eax,(%ecx)
428d60:	e8 01 ab ff ff       	call   0x423866
428d65:	83 c4 0c             	add    $0xc,%esp
428d68:	85 c0                	test   %eax,%eax
428d6a:	75 22                	jne    0x428d8e
428d6c:	eb 04                	jmp    0x428d72
428d6e:	33 c0                	xor    %eax,%eax
428d70:	8b d8                	mov    %eax,%ebx
428d72:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
428d78:	e8 72 f7 ff ff       	call   0x4284ef
428d7d:	8b c3                	mov    %ebx,%eax
428d7f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428d82:	5f                   	pop    %edi
428d83:	5e                   	pop    %esi
428d84:	33 cd                	xor    %ebp,%ecx
428d86:	5b                   	pop    %ebx
428d87:	e8 1e 0e ff ff       	call   0x419baa
428d8c:	c9                   	leave
428d8d:	c3                   	ret
428d8e:	33 c0                	xor    %eax,%eax
428d90:	50                   	push   %eax
428d91:	50                   	push   %eax
428d92:	50                   	push   %eax
428d93:	50                   	push   %eax
428d94:	50                   	push   %eax
428d95:	e8 16 6c ff ff       	call   0x41f9b0
428d9a:	cc                   	int3
428d9b:	8b ff                	mov    %edi,%edi
428d9d:	55                   	push   %ebp
428d9e:	8b ec                	mov    %esp,%ebp
428da0:	53                   	push   %ebx
428da1:	33 db                	xor    %ebx,%ebx
428da3:	56                   	push   %esi
428da4:	8b f3                	mov    %ebx,%esi
428da6:	39 5d 10             	cmp    %ebx,0x10(%ebp)
428da9:	7e 22                	jle    0x428dcd
428dab:	57                   	push   %edi
428dac:	8d 7d 10             	lea    0x10(%ebp),%edi
428daf:	8d 7f 04             	lea    0x4(%edi),%edi
428db2:	ff 37                	push   (%edi)
428db4:	ff 75 0c             	push   0xc(%ebp)
428db7:	ff 75 08             	push   0x8(%ebp)
428dba:	e8 0b ab ff ff       	call   0x4238ca
428dbf:	83 c4 0c             	add    $0xc,%esp
428dc2:	85 c0                	test   %eax,%eax
428dc4:	75 0b                	jne    0x428dd1
428dc6:	46                   	inc    %esi
428dc7:	3b 75 10             	cmp    0x10(%ebp),%esi
428dca:	7c e3                	jl     0x428daf
428dcc:	5f                   	pop    %edi
428dcd:	5e                   	pop    %esi
428dce:	5b                   	pop    %ebx
428dcf:	5d                   	pop    %ebp
428dd0:	c3                   	ret
428dd1:	53                   	push   %ebx
428dd2:	53                   	push   %ebx
428dd3:	53                   	push   %ebx
428dd4:	53                   	push   %ebx
428dd5:	53                   	push   %ebx
428dd6:	e8 d5 6b ff ff       	call   0x41f9b0
428ddb:	cc                   	int3
428ddc:	8b ff                	mov    %edi,%edi
428dde:	55                   	push   %ebp
428ddf:	8b ec                	mov    %esp,%ebp
428de1:	83 ec 28             	sub    $0x28,%esp
428de4:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
428de8:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
428dec:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
428df0:	76 14                	jbe    0x428e06
428df2:	e8 39 ac ff ff       	call   0x423a30
428df7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
428dfd:	e8 81 6b ff ff       	call   0x41f983
428e02:	33 c0                	xor    %eax,%eax
428e04:	c9                   	leave
428e05:	c3                   	ret
428e06:	e8 be 17 00 00       	call   0x42a5c9
428e0b:	89 45 f8             	mov    %eax,-0x8(%ebp)
428e0e:	e8 57 4b 00 00       	call   0x42d96a
428e13:	e8 36 b5 00 00       	call   0x43434e
428e18:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e1b:	8d 4d ff             	lea    -0x1(%ebp),%ecx
428e1e:	83 88 50 03 00 00 10 	orl    $0x10,0x350(%eax)
428e25:	8d 45 f8             	lea    -0x8(%ebp),%eax
428e28:	89 45 ec             	mov    %eax,-0x14(%ebp)
428e2b:	8d 45 f0             	lea    -0x10(%ebp),%eax
428e2e:	89 45 d8             	mov    %eax,-0x28(%ebp)
428e31:	8d 45 f8             	lea    -0x8(%ebp),%eax
428e34:	89 45 dc             	mov    %eax,-0x24(%ebp)
428e37:	8d 45 f4             	lea    -0xc(%ebp),%eax
428e3a:	89 45 e0             	mov    %eax,-0x20(%ebp)
428e3d:	8d 45 08             	lea    0x8(%ebp),%eax
428e40:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428e43:	8d 45 0c             	lea    0xc(%ebp),%eax
428e46:	89 45 e8             	mov    %eax,-0x18(%ebp)
428e49:	8d 45 ec             	lea    -0x14(%ebp),%eax
428e4c:	50                   	push   %eax
428e4d:	8d 45 d8             	lea    -0x28(%ebp),%eax
428e50:	50                   	push   %eax
428e51:	8d 45 ff             	lea    -0x1(%ebp),%eax
428e54:	50                   	push   %eax
428e55:	e8 98 f5 ff ff       	call   0x4283f2
428e5a:	8b 45 f4             	mov    -0xc(%ebp),%eax
428e5d:	c9                   	leave
428e5e:	c3                   	ret
428e5f:	8b ff                	mov    %edi,%edi
428e61:	55                   	push   %ebp
428e62:	8b ec                	mov    %esp,%ebp
428e64:	83 ec 10             	sub    $0x10,%esp
428e67:	53                   	push   %ebx
428e68:	56                   	push   %esi
428e69:	33 f6                	xor    %esi,%esi
428e6b:	46                   	inc    %esi
428e6c:	68 a6 06 00 00       	push   $0x6a6
428e71:	89 75 f8             	mov    %esi,-0x8(%ebp)
428e74:	e8 7b 1a 00 00       	call   0x42a8f4
428e79:	8b d8                	mov    %eax,%ebx
428e7b:	33 c0                	xor    %eax,%eax
428e7d:	59                   	pop    %ecx
428e7e:	85 db                	test   %ebx,%ebx
428e80:	0f 84 17 01 00 00    	je     0x428f9d
428e86:	57                   	push   %edi
428e87:	89 33                	mov    %esi,(%ebx)
428e89:	8d 7b 04             	lea    0x4(%ebx),%edi
428e8c:	8b 75 08             	mov    0x8(%ebp),%esi
428e8f:	66 89 07             	mov    %ax,(%edi)
428e92:	8d 46 30             	lea    0x30(%esi),%eax
428e95:	ff 30                	push   (%eax)
428e97:	89 45 f4             	mov    %eax,-0xc(%ebp)
428e9a:	68 4c f4 44 00       	push   $0x44f44c
428e9f:	ff 35 14 19 44 00    	push   0x441914
428ea5:	6a 03                	push   $0x3
428ea7:	68 51 03 00 00       	push   $0x351
428eac:	57                   	push   %edi
428ead:	e8 e9 fe ff ff       	call   0x428d9b
428eb2:	b8 14 19 44 00       	mov    $0x441914,%eax
428eb7:	83 c4 18             	add    $0x18,%esp
428eba:	89 45 fc             	mov    %eax,-0x4(%ebp)
428ebd:	68 d4 19 44 00       	push   $0x4419d4
428ec2:	68 51 03 00 00       	push   $0x351
428ec7:	57                   	push   %edi
428ec8:	e8 fd a9 ff ff       	call   0x4238ca
428ecd:	83 c4 0c             	add    $0xc,%esp
428ed0:	85 c0                	test   %eax,%eax
428ed2:	0f 85 15 01 00 00    	jne    0x428fed
428ed8:	8b 45 f4             	mov    -0xc(%ebp),%eax
428edb:	8d 48 10             	lea    0x10(%eax),%ecx
428ede:	8b 00                	mov    (%eax),%eax
428ee0:	89 4d f4             	mov    %ecx,-0xc(%ebp)
428ee3:	8b 09                	mov    (%ecx),%ecx
428ee5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
428ee8:	66 8b 10             	mov    (%eax),%dx
428eeb:	66 3b 11             	cmp    (%ecx),%dx
428eee:	75 1e                	jne    0x428f0e
428ef0:	66 85 d2             	test   %dx,%dx
428ef3:	74 15                	je     0x428f0a
428ef5:	66 8b 50 02          	mov    0x2(%eax),%dx
428ef9:	66 3b 51 02          	cmp    0x2(%ecx),%dx
428efd:	75 0f                	jne    0x428f0e
428eff:	83 c0 04             	add    $0x4,%eax
428f02:	83 c1 04             	add    $0x4,%ecx
428f05:	66 85 d2             	test   %dx,%dx
428f08:	75 de                	jne    0x428ee8
428f0a:	33 c0                	xor    %eax,%eax
428f0c:	eb 05                	jmp    0x428f13
428f0e:	1b c0                	sbb    %eax,%eax
428f10:	83 c8 01             	or     $0x1,%eax
428f13:	ff 75 f0             	push   -0x10(%ebp)
428f16:	f7 d8                	neg    %eax
428f18:	68 4c f4 44 00       	push   $0x44f44c
428f1d:	1b c0                	sbb    %eax,%eax
428f1f:	f7 d0                	not    %eax
428f21:	21 45 f8             	and    %eax,-0x8(%ebp)
428f24:	8b 45 f4             	mov    -0xc(%ebp),%eax
428f27:	89 45 f4             	mov    %eax,-0xc(%ebp)
428f2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
428f2d:	83 c0 0c             	add    $0xc,%eax
428f30:	89 45 fc             	mov    %eax,-0x4(%ebp)
428f33:	ff 30                	push   (%eax)
428f35:	6a 03                	push   $0x3
428f37:	68 51 03 00 00       	push   $0x351
428f3c:	57                   	push   %edi
428f3d:	e8 59 fe ff ff       	call   0x428d9b
428f42:	8b 45 fc             	mov    -0x4(%ebp),%eax
428f45:	83 c4 18             	add    $0x18,%esp
428f48:	3d 44 19 44 00       	cmp    $0x441944,%eax
428f4d:	0f 8c 6a ff ff ff    	jl     0x428ebd
428f53:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
428f57:	75 48                	jne    0x428fa1
428f59:	8b 4e 28             	mov    0x28(%esi),%ecx
428f5c:	83 cf ff             	or     $0xffffffff,%edi
428f5f:	85 c9                	test   %ecx,%ecx
428f61:	74 11                	je     0x428f74
428f63:	8b c7                	mov    %edi,%eax
428f65:	f0 0f c1 01          	lock xadd %eax,(%ecx)
428f69:	75 09                	jne    0x428f74
428f6b:	ff 76 28             	push   0x28(%esi)
428f6e:	e8 47 19 00 00       	call   0x42a8ba
428f73:	59                   	pop    %ecx
428f74:	8b 46 24             	mov    0x24(%esi),%eax
428f77:	85 c0                	test   %eax,%eax
428f79:	74 10                	je     0x428f8b
428f7b:	f0 0f c1 38          	lock xadd %edi,(%eax)
428f7f:	4f                   	dec    %edi
428f80:	75 09                	jne    0x428f8b
428f82:	ff 76 24             	push   0x24(%esi)
428f85:	e8 30 19 00 00       	call   0x42a8ba
428f8a:	59                   	pop    %ecx
428f8b:	83 66 24 00          	andl   $0x0,0x24(%esi)
428f8f:	8d 43 04             	lea    0x4(%ebx),%eax
428f92:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
428f96:	89 5e 28             	mov    %ebx,0x28(%esi)
428f99:	89 46 20             	mov    %eax,0x20(%esi)
428f9c:	5f                   	pop    %edi
428f9d:	5e                   	pop    %esi
428f9e:	5b                   	pop    %ebx
428f9f:	c9                   	leave
428fa0:	c3                   	ret
428fa1:	53                   	push   %ebx
428fa2:	e8 13 19 00 00       	call   0x42a8ba
428fa7:	59                   	pop    %ecx
428fa8:	8b 4e 28             	mov    0x28(%esi),%ecx
428fab:	83 cf ff             	or     $0xffffffff,%edi
428fae:	85 c9                	test   %ecx,%ecx
428fb0:	74 11                	je     0x428fc3
428fb2:	8b c7                	mov    %edi,%eax
428fb4:	f0 0f c1 01          	lock xadd %eax,(%ecx)
428fb8:	75 09                	jne    0x428fc3
428fba:	ff 76 28             	push   0x28(%esi)
428fbd:	e8 f8 18 00 00       	call   0x42a8ba
428fc2:	59                   	pop    %ecx
428fc3:	8b 46 24             	mov    0x24(%esi),%eax
428fc6:	85 c0                	test   %eax,%eax
428fc8:	74 10                	je     0x428fda
428fca:	f0 0f c1 38          	lock xadd %edi,(%eax)
428fce:	4f                   	dec    %edi
428fcf:	75 09                	jne    0x428fda
428fd1:	ff 76 24             	push   0x24(%esi)
428fd4:	e8 e1 18 00 00       	call   0x42a8ba
428fd9:	59                   	pop    %ecx
428fda:	33 c0                	xor    %eax,%eax
428fdc:	89 46 24             	mov    %eax,0x24(%esi)
428fdf:	89 46 1c             	mov    %eax,0x1c(%esi)
428fe2:	89 46 28             	mov    %eax,0x28(%esi)
428fe5:	89 46 20             	mov    %eax,0x20(%esi)
428fe8:	8b 46 40             	mov    0x40(%esi),%eax
428feb:	eb af                	jmp    0x428f9c
428fed:	33 c0                	xor    %eax,%eax
428fef:	50                   	push   %eax
428ff0:	50                   	push   %eax
428ff1:	50                   	push   %eax
428ff2:	50                   	push   %eax
428ff3:	50                   	push   %eax
428ff4:	e8 b7 69 ff ff       	call   0x41f9b0
428ff9:	cc                   	int3
428ffa:	8b ff                	mov    %edi,%edi
428ffc:	55                   	push   %ebp
428ffd:	8b ec                	mov    %esp,%ebp
428fff:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
429005:	a1 14 50 45 00       	mov    0x455014,%eax
42900a:	33 c5                	xor    %ebp,%eax
42900c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42900f:	8b 45 0c             	mov    0xc(%ebp),%eax
429012:	53                   	push   %ebx
429013:	56                   	push   %esi
429014:	8b 75 10             	mov    0x10(%ebp),%esi
429017:	57                   	push   %edi
429018:	8b 7d 08             	mov    0x8(%ebp),%edi
42901b:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
429021:	85 c0                	test   %eax,%eax
429023:	74 21                	je     0x429046
429025:	85 f6                	test   %esi,%esi
429027:	74 10                	je     0x429039
429029:	56                   	push   %esi
42902a:	50                   	push   %eax
42902b:	57                   	push   %edi
42902c:	e8 b9 02 00 00       	call   0x4292ea
429031:	83 c4 0c             	add    $0xc,%esp
429034:	e9 90 02 00 00       	jmp    0x4292c9
429039:	83 c0 02             	add    $0x2,%eax
42903c:	03 c0                	add    %eax,%eax
42903e:	8b 04 c7             	mov    (%edi,%eax,8),%eax
429041:	e9 83 02 00 00       	jmp    0x4292c9
429046:	33 c0                	xor    %eax,%eax
429048:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
42904f:	00 00 00
429052:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
429058:	8b d8                	mov    %eax,%ebx
42905a:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
429060:	85 f6                	test   %esi,%esi
429062:	0f 84 5a 02 00 00    	je     0x4292c2
429068:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
42906c:	0f 85 68 01 00 00    	jne    0x4291da
429072:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
429077:	0f 85 5d 01 00 00    	jne    0x4291da
42907d:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
429082:	0f 85 52 01 00 00    	jne    0x4291da
429088:	68 cc 19 44 00       	push   $0x4419cc
42908d:	56                   	push   %esi
42908e:	e8 a4 af 00 00       	call   0x434037
429093:	8b d8                	mov    %eax,%ebx
429095:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
42909b:	59                   	pop    %ecx
42909c:	59                   	pop    %ecx
42909d:	85 db                	test   %ebx,%ebx
42909f:	0f 84 2e 01 00 00    	je     0x4291d3
4290a5:	2b c6                	sub    %esi,%eax
4290a7:	d1 f8                	sar    $1,%eax
4290a9:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
4290af:	0f 84 1e 01 00 00    	je     0x4291d3
4290b5:	6a 3b                	push   $0x3b
4290b7:	58                   	pop    %eax
4290b8:	66 39 03             	cmp    %ax,(%ebx)
4290bb:	0f 84 12 01 00 00    	je     0x4291d3
4290c1:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
4290c7:	bb 14 19 44 00       	mov    $0x441914,%ebx
4290cc:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
4290d3:	00 00 00
4290d6:	57                   	push   %edi
4290d7:	56                   	push   %esi
4290d8:	ff 33                	push   (%ebx)
4290da:	e8 fd d4 ff ff       	call   0x4265dc
4290df:	83 c4 0c             	add    $0xc,%esp
4290e2:	85 c0                	test   %eax,%eax
4290e4:	75 1c                	jne    0x429102
4290e6:	8b 0b                	mov    (%ebx),%ecx
4290e8:	8d 51 02             	lea    0x2(%ecx),%edx
4290eb:	66 8b 01             	mov    (%ecx),%ax
4290ee:	83 c1 02             	add    $0x2,%ecx
4290f1:	66 3b 85 30 fe ff ff 	cmp    -0x1d0(%ebp),%ax
4290f8:	75 f1                	jne    0x4290eb
4290fa:	2b ca                	sub    %edx,%ecx
4290fc:	d1 f9                	sar    $1,%ecx
4290fe:	3b f9                	cmp    %ecx,%edi
429100:	74 11                	je     0x429113
429102:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
429108:	83 c3 0c             	add    $0xc,%ebx
42910b:	81 fb 44 19 44 00    	cmp    $0x441944,%ebx
429111:	7e c3                	jle    0x4290d6
429113:	8b 9d 34 fe ff ff    	mov    -0x1cc(%ebp),%ebx
429119:	83 c3 02             	add    $0x2,%ebx
42911c:	68 d4 19 44 00       	push   $0x4419d4
429121:	53                   	push   %ebx
429122:	e8 b7 ae 00 00       	call   0x433fde
429127:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
42912d:	8b f0                	mov    %eax,%esi