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
42912f:	59                   	pop    %ecx
429130:	59                   	pop    %ecx
429131:	85 f6                	test   %esi,%esi
429133:	75 0c                	jne    0x429141
429135:	6a 3b                	push   $0x3b
429137:	58                   	pop    %eax
429138:	66 39 03             	cmp    %ax,(%ebx)
42913b:	0f 85 92 00 00 00    	jne    0x4291d3
429141:	83 bd 40 fe ff ff 05 	cmpl   $0x5,-0x1c0(%ebp)
429148:	7f 5f                	jg     0x4291a9
42914a:	56                   	push   %esi
42914b:	53                   	push   %ebx
42914c:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
429152:	68 83 00 00 00       	push   $0x83
429157:	50                   	push   %eax
429158:	e8 cd b9 ff ff       	call   0x424b2a
42915d:	83 c4 10             	add    $0x10,%esp
429160:	85 c0                	test   %eax,%eax
429162:	0f 85 75 01 00 00    	jne    0x4292dd
429168:	8d 04 36             	lea    (%esi,%esi,1),%eax
42916b:	3d 06 01 00 00       	cmp    $0x106,%eax
429170:	0f 83 62 01 00 00    	jae    0x4292d8
429176:	33 c9                	xor    %ecx,%ecx
429178:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
42917f:	ff
429180:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
429186:	50                   	push   %eax
429187:	ff b5 40 fe ff ff    	push   -0x1c0(%ebp)
42918d:	57                   	push   %edi
42918e:	e8 57 01 00 00       	call   0x4292ea
429193:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
429199:	83 c4 0c             	add    $0xc,%esp
42919c:	85 c0                	test   %eax,%eax
42919e:	74 0f                	je     0x4291af
4291a0:	41                   	inc    %ecx
4291a1:	89 8d 44 fe ff ff    	mov    %ecx,-0x1bc(%ebp)
4291a7:	eb 06                	jmp    0x4291af
4291a9:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
4291af:	8d 34 73             	lea    (%ebx,%esi,2),%esi
4291b2:	0f b7 06             	movzwl (%esi),%eax
4291b5:	8b d0                	mov    %eax,%edx
4291b7:	66 85 c0             	test   %ax,%ax
4291ba:	74 06                	je     0x4291c2
4291bc:	83 c6 02             	add    $0x2,%esi
4291bf:	0f b7 16             	movzwl (%esi),%edx
4291c2:	66 85 d2             	test   %dx,%dx
4291c5:	0f 85 bd fe ff ff    	jne    0x429088
4291cb:	85 c9                	test   %ecx,%ecx
4291cd:	0f 85 ef 00 00 00    	jne    0x4292c2
4291d3:	33 c0                	xor    %eax,%eax
4291d5:	e9 ef 00 00 00       	jmp    0x4292c9
4291da:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
4291e0:	50                   	push   %eax
4291e1:	6a 55                	push   $0x55
4291e3:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
4291e9:	50                   	push   %eax
4291ea:	68 83 00 00 00       	push   $0x83
4291ef:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4291f5:	50                   	push   %eax
4291f6:	56                   	push   %esi
4291f7:	e8 d9 f7 ff ff       	call   0x4289d5
4291fc:	83 c4 18             	add    $0x18,%esp
4291ff:	85 c0                	test   %eax,%eax
429201:	0f 84 c2 00 00 00    	je     0x4292c9
429207:	33 c9                	xor    %ecx,%ecx
429209:	8d 57 20             	lea    0x20(%edi),%edx
42920c:	8b f1                	mov    %ecx,%esi
42920e:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
429214:	85 f6                	test   %esi,%esi
429216:	0f 84 81 00 00 00    	je     0x42929d
42921c:	8b 0a                	mov    (%edx),%ecx
42921e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
429224:	66 8b 38             	mov    (%eax),%di
429227:	66 3b 39             	cmp    (%ecx),%di
42922a:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
429230:	75 33                	jne    0x429265
429232:	66 83 38 00          	cmpw   $0x0,(%eax)
429236:	74 27                	je     0x42925f
429238:	66 8b 50 02          	mov    0x2(%eax),%dx
42923c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
429240:	66 89 95 42 fe ff ff 	mov    %dx,-0x1be(%ebp)
429247:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
42924d:	75 16                	jne    0x429265
42924f:	83 c0 04             	add    $0x4,%eax
429252:	83 c1 04             	add    $0x4,%ecx
429255:	66 83 bd 42 fe ff ff 	cmpw   $0x0,-0x1be(%ebp)
42925c:	00
42925d:	75 c5                	jne    0x429224
42925f:	33 c9                	xor    %ecx,%ecx
429261:	8b c1                	mov    %ecx,%eax
429263:	eb 07                	jmp    0x42926c
429265:	1b c0                	sbb    %eax,%eax
429267:	83 c8 01             	or     $0x1,%eax
42926a:	33 c9                	xor    %ecx,%ecx
42926c:	85 c0                	test   %eax,%eax
42926e:	74 2c                	je     0x42929c
429270:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
429276:	50                   	push   %eax
429277:	56                   	push   %esi
429278:	57                   	push   %edi
429279:	e8 6c 00 00 00       	call   0x4292ea
42927e:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
429284:	83 c4 0c             	add    $0xc,%esp
429287:	85 c0                	test   %eax,%eax
429289:	74 05                	je     0x429290
42928b:	43                   	inc    %ebx
42928c:	33 c9                	xor    %ecx,%ecx
42928e:	eb 0d                	jmp    0x42929d
429290:	33 c9                	xor    %ecx,%ecx
429292:	8b c1                	mov    %ecx,%eax
429294:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
42929a:	eb 07                	jmp    0x4292a3
42929c:	43                   	inc    %ebx
42929d:	8b 85 3c fe ff ff    	mov    -0x1c4(%ebp),%eax
4292a3:	46                   	inc    %esi
4292a4:	83 c2 10             	add    $0x10,%edx
4292a7:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
4292ad:	83 fe 05             	cmp    $0x5,%esi
4292b0:	0f 8e 5e ff ff ff    	jle    0x429214
4292b6:	85 c0                	test   %eax,%eax
4292b8:	75 08                	jne    0x4292c2
4292ba:	85 db                	test   %ebx,%ebx
4292bc:	75 04                	jne    0x4292c2
4292be:	8b c1                	mov    %ecx,%eax
4292c0:	eb 07                	jmp    0x4292c9
4292c2:	57                   	push   %edi
4292c3:	e8 97 fb ff ff       	call   0x428e5f
4292c8:	59                   	pop    %ecx
4292c9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4292cc:	5f                   	pop    %edi
4292cd:	5e                   	pop    %esi
4292ce:	33 cd                	xor    %ebp,%ecx
4292d0:	5b                   	pop    %ebx
4292d1:	e8 d4 08 ff ff       	call   0x419baa
4292d6:	c9                   	leave
4292d7:	c3                   	ret
4292d8:	e8 f7 0e ff ff       	call   0x41a1d4
4292dd:	33 c0                	xor    %eax,%eax
4292df:	50                   	push   %eax
4292e0:	50                   	push   %eax
4292e1:	50                   	push   %eax
4292e2:	50                   	push   %eax
4292e3:	50                   	push   %eax
4292e4:	e8 c7 66 ff ff       	call   0x41f9b0
4292e9:	cc                   	int3
4292ea:	8b ff                	mov    %edi,%edi
4292ec:	55                   	push   %ebp
4292ed:	8b ec                	mov    %esp,%ebp
4292ef:	81 ec e8 02 00 00    	sub    $0x2e8,%esp
4292f5:	a1 14 50 45 00       	mov    0x455014,%eax
4292fa:	33 c5                	xor    %ebp,%eax
4292fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4292ff:	53                   	push   %ebx
429300:	8b 5d 0c             	mov    0xc(%ebp),%ebx
429303:	56                   	push   %esi
429304:	8b 75 10             	mov    0x10(%ebp),%esi
429307:	57                   	push   %edi
429308:	8b 7d 08             	mov    0x8(%ebp),%edi
42930b:	89 9d 20 fd ff ff    	mov    %ebx,-0x2e0(%ebp)
429311:	e8 b3 12 00 00       	call   0x42a5c9
429316:	05 78 02 00 00       	add    $0x278,%eax
42931b:	89 85 24 fd ff ff    	mov    %eax,-0x2dc(%ebp)
429321:	8d 85 3c fd ff ff    	lea    -0x2c4(%ebp),%eax
429327:	50                   	push   %eax
429328:	6a 55                	push   $0x55
42932a:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
429330:	50                   	push   %eax
429331:	68 83 00 00 00       	push   $0x83
429336:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42933c:	50                   	push   %eax
42933d:	56                   	push   %esi
42933e:	e8 92 f6 ff ff       	call   0x4289d5
429343:	83 c4 18             	add    $0x18,%esp
429346:	85 c0                	test   %eax,%eax
429348:	0f 84 cb 02 00 00    	je     0x429619