416f94:	59                   	pop    %ecx
416f95:	59                   	pop    %ecx
416f96:	85 c0                	test   %eax,%eax
416f98:	0f 85 8a 00 00 00    	jne    0x417028
416f9e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
416fa4:	85 db                	test   %ebx,%ebx
416fa6:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
416fac:	50                   	push   %eax
416fad:	53                   	push   %ebx
416fae:	50                   	push   %eax
416faf:	74 07                	je     0x416fb8
416fb1:	e8 eb ab 00 00       	call   0x421ba1
416fb6:	eb 05                	jmp    0x416fbd
416fb8:	e8 ac a2 00 00       	call   0x421269
416fbd:	83 c4 0c             	add    $0xc,%esp
416fc0:	85 c0                	test   %eax,%eax
416fc2:	74 6a                	je     0x41702e
416fc4:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
416fca:	50                   	push   %eax
416fcb:	68 83 00 00 00       	push   $0x83
416fd0:	ff b5 2c fe ff ff    	push   -0x1d4(%ebp)
416fd6:	e8 02 fc ff ff       	call   0x416bdd
416fdb:	8b 9d 24 fe ff ff    	mov    -0x1dc(%ebp),%ebx
416fe1:	83 c4 0c             	add    $0xc,%esp
416fe4:	85 db                	test   %ebx,%ebx
416fe6:	0f 84 d4 00 00 00    	je     0x4170c0
416fec:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
416ff2:	8d 51 02             	lea    0x2(%ecx),%edx
416ff5:	66 8b 01             	mov    (%ecx),%ax
416ff8:	83 c1 02             	add    $0x2,%ecx
416ffb:	66 3b 85 0c fe ff ff 	cmp    -0x1f4(%ebp),%ax
417002:	75 f1                	jne    0x416ff5
417004:	2b ca                	sub    %edx,%ecx
417006:	d1 f9                	sar    $1,%ecx
417008:	8d 41 01             	lea    0x1(%ecx),%eax
41700b:	50                   	push   %eax
41700c:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
417012:	50                   	push   %eax
417013:	ff 75 18             	push   0x18(%ebp)
417016:	53                   	push   %ebx
417017:	e9 94 00 00 00       	jmp    0x4170b0
41701c:	33 c0                	xor    %eax,%eax
41701e:	50                   	push   %eax
41701f:	50                   	push   %eax
417020:	50                   	push   %eax
417021:	50                   	push   %eax
417022:	50                   	push   %eax
417023:	e9 56 01 00 00       	jmp    0x41717e
417028:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
41702e:	56                   	push   %esi
41702f:	e8 b4 21 00 00       	call   0x4191e8
417034:	85 c0                	test   %eax,%eax
417036:	0f 84 fd 00 00 00    	je     0x417139
41703c:	6a 02                	push   $0x2
41703e:	8d 85 1c fe ff ff    	lea    -0x1e4(%ebp),%eax
417044:	50                   	push   %eax
417045:	68 04 10 00 20       	push   $0x20001004
41704a:	56                   	push   %esi
41704b:	e8 65 20 00 00       	call   0x4190b5
417050:	85 c0                	test   %eax,%eax
417052:	74 0a                	je     0x41705e
417054:	8b 85 1c fe ff ff    	mov    -0x1e4(%ebp),%eax
41705a:	85 c0                	test   %eax,%eax
41705c:	75 0c                	jne    0x41706a
41705e:	ff 15 ec 71 42 00    	call   *0x4271ec
417064:	89 85 1c fe ff ff    	mov    %eax,-0x1e4(%ebp)
41706a:	0f b7 c0             	movzwl %ax,%eax
41706d:	89 03                	mov    %eax,(%ebx)
41706f:	8d 5f 01             	lea    0x1(%edi),%ebx
417072:	53                   	push   %ebx
417073:	56                   	push   %esi
417074:	68 83 00 00 00       	push   $0x83
417079:	ff b5 2c fe ff ff    	push   -0x1d4(%ebp)
41707f:	e8 99 88 00 00       	call   0x41f91d
417084:	83 c4 10             	add    $0x10,%esp
417087:	85 c0                	test   %eax,%eax
417089:	75 91                	jne    0x41701c
41708b:	53                   	push   %ebx
41708c:	56                   	push   %esi
41708d:	ff 75 18             	push   0x18(%ebp)
417090:	ff b5 24 fe ff ff    	push   -0x1dc(%ebp)
417096:	e8 82 88 00 00       	call   0x41f91d
41709b:	83 c4 10             	add    $0x10,%esp
41709e:	85 c0                	test   %eax,%eax
4170a0:	0f 85 76 ff ff ff    	jne    0x41701c
4170a6:	53                   	push   %ebx
4170a7:	56                   	push   %esi
4170a8:	6a 55                	push   $0x55
4170aa:	ff b5 10 fe ff ff    	push   -0x1f0(%ebp)
4170b0:	e8 68 88 00 00       	call   0x41f91d
4170b5:	83 c4 10             	add    $0x10,%esp
4170b8:	85 c0                	test   %eax,%eax
4170ba:	0f 85 5c ff ff ff    	jne    0x41701c
4170c0:	33 db                	xor    %ebx,%ebx
4170c2:	66 39 1e             	cmp    %bx,(%esi)
4170c5:	74 2b                	je     0x4170f2
4170c7:	b9 83 00 00 00       	mov    $0x83,%ecx
4170cc:	3b f9                	cmp    %ecx,%edi
4170ce:	73 22                	jae    0x4170f2
4170d0:	8d 47 01             	lea    0x1(%edi),%eax
4170d3:	50                   	push   %eax
4170d4:	56                   	push   %esi
4170d5:	51                   	push   %ecx
4170d6:	ff b5 20 fe ff ff    	push   -0x1e0(%ebp)
4170dc:	e8 3c 88 00 00       	call   0x41f91d
4170e1:	83 c4 10             	add    $0x10,%esp
4170e4:	85 c0                	test   %eax,%eax
4170e6:	74 15                	je     0x4170fd
4170e8:	53                   	push   %ebx
4170e9:	53                   	push   %ebx
4170ea:	53                   	push   %ebx
4170eb:	53                   	push   %ebx
4170ec:	53                   	push   %ebx
4170ed:	e9 8c 00 00 00       	jmp    0x41717e
4170f2:	8b 85 20 fe ff ff    	mov    -0x1e0(%ebp),%eax
4170f8:	33 c9                	xor    %ecx,%ecx
4170fa:	66 89 08             	mov    %cx,(%eax)
4170fd:	8b 9d 14 fe ff ff    	mov    -0x1ec(%ebp),%ebx
417103:	85 db                	test   %ebx,%ebx
417105:	74 0a                	je     0x417111
417107:	8b 85 28 fe ff ff    	mov    -0x1d8(%ebp),%eax
41710d:	8b 00                	mov    (%eax),%eax
41710f:	89 03                	mov    %eax,(%ebx)
417111:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
417117:	8b b5 18 fe ff ff    	mov    -0x1e8(%ebp),%esi
41711d:	53                   	push   %ebx
41711e:	ff 75 10             	push   0x10(%ebp)
417121:	56                   	push   %esi
417122:	e8 a2 e3 ff ff       	call   0x4154c9
417127:	83 c4 0c             	add    $0xc,%esp
41712a:	85 c0                	test   %eax,%eax
41712c:	0f 85 ea fe ff ff    	jne    0x41701c
417132:	8b c3                	mov    %ebx,%eax
417134:	e9 10 fd ff ff       	jmp    0x416e49
417139:	8b 9d 24 fe ff ff    	mov    -0x1dc(%ebp),%ebx
41713f:	33 f6                	xor    %esi,%esi
417141:	8b cb                	mov    %ebx,%ecx
417143:	8d 51 02             	lea    0x2(%ecx),%edx
417146:	66 8b 01             	mov    (%ecx),%ax
417149:	83 c1 02             	add    $0x2,%ecx
41714c:	66 3b c6             	cmp    %si,%ax
41714f:	75 f5                	jne    0x417146
417151:	2b ca                	sub    %edx,%ecx
417153:	d1 f9                	sar    $1,%ecx
417155:	8d 41 01             	lea    0x1(%ecx),%eax
417158:	50                   	push   %eax
417159:	53                   	push   %ebx
41715a:	6a 55                	push   $0x55
41715c:	ff b5 10 fe ff ff    	push   -0x1f0(%ebp)
417162:	e8 b6 87 00 00       	call   0x41f91d
417167:	83 c4 10             	add    $0x10,%esp
41716a:	85 c0                	test   %eax,%eax
41716c:	0f 84 d5 fc ff ff    	je     0x416e47
417172:	56                   	push   %esi
417173:	56                   	push   %esi
417174:	56                   	push   %esi
417175:	56                   	push   %esi
417176:	56                   	push   %esi
417177:	eb 05                	jmp    0x41717e
417179:	57                   	push   %edi
41717a:	57                   	push   %edi
41717b:	57                   	push   %edi
41717c:	57                   	push   %edi
41717d:	57                   	push   %edi
41717e:	e8 8c 4b ff ff       	call   0x40bd0f
417183:	cc                   	int3
417184:	8b ff                	mov    %edi,%edi
417186:	55                   	push   %ebp
417187:	8b ec                	mov    %esp,%ebp
417189:	53                   	push   %ebx
41718a:	33 db                	xor    %ebx,%ebx
41718c:	56                   	push   %esi
41718d:	8b f3                	mov    %ebx,%esi
41718f:	39 5d 10             	cmp    %ebx,0x10(%ebp)
417192:	7e 22                	jle    0x4171b6
417194:	57                   	push   %edi
417195:	8d 7d 10             	lea    0x10(%ebp),%edi
417198:	8d 7f 04             	lea    0x4(%edi),%edi
41719b:	ff 37                	push   (%edi)
41719d:	ff 75 0c             	push   0xc(%ebp)
4171a0:	ff 75 08             	push   0x8(%ebp)
4171a3:	e8 33 86 00 00       	call   0x41f7db
4171a8:	83 c4 0c             	add    $0xc,%esp
4171ab:	85 c0                	test   %eax,%eax
4171ad:	75 0b                	jne    0x4171ba
4171af:	46                   	inc    %esi
4171b0:	3b 75 10             	cmp    0x10(%ebp),%esi
4171b3:	7c e3                	jl     0x417198
4171b5:	5f                   	pop    %edi
4171b6:	5e                   	pop    %esi
4171b7:	5b                   	pop    %ebx
4171b8:	5d                   	pop    %ebp
4171b9:	c3                   	ret
4171ba:	53                   	push   %ebx
4171bb:	53                   	push   %ebx
4171bc:	53                   	push   %ebx
4171bd:	53                   	push   %ebx
4171be:	53                   	push   %ebx
4171bf:	e8 4b 4b ff ff       	call   0x40bd0f
4171c4:	cc                   	int3
4171c5:	8b ff                	mov    %edi,%edi
4171c7:	55                   	push   %ebp
4171c8:	8b ec                	mov    %esp,%ebp
4171ca:	83 ec 28             	sub    $0x28,%esp
4171cd:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4171d1:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4171d5:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
4171d9:	76 14                	jbe    0x4171ef
4171db:	e8 8b d8 ff ff       	call   0x414a6b
4171e0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4171e6:	e8 f7 4a ff ff       	call   0x40bce2
4171eb:	33 c0                	xor    %eax,%eax
4171ed:	eb 52                	jmp    0x417241
4171ef:	e8 68 19 00 00       	call   0x418b5c
4171f4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4171f7:	e8 a8 98 00 00       	call   0x420aa4
4171fc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4171ff:	8d 4d ff             	lea    -0x1(%ebp),%ecx
417202:	83 88 50 03 00 00 10 	orl    $0x10,0x350(%eax)
417209:	8d 45 f8             	lea    -0x8(%ebp),%eax
41720c:	89 45 ec             	mov    %eax,-0x14(%ebp)
41720f:	8d 45 f0             	lea    -0x10(%ebp),%eax
417212:	89 45 d8             	mov    %eax,-0x28(%ebp)
417215:	8d 45 f8             	lea    -0x8(%ebp),%eax
417218:	89 45 dc             	mov    %eax,-0x24(%ebp)
41721b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41721e:	89 45 e0             	mov    %eax,-0x20(%ebp)
417221:	8d 45 08             	lea    0x8(%ebp),%eax
417224:	89 45 e4             	mov    %eax,-0x1c(%ebp)
417227:	8d 45 0c             	lea    0xc(%ebp),%eax
41722a:	89 45 e8             	mov    %eax,-0x18(%ebp)
41722d:	8d 45 ec             	lea    -0x14(%ebp),%eax
417230:	50                   	push   %eax
417231:	8d 45 d8             	lea    -0x28(%ebp),%eax
417234:	50                   	push   %eax
417235:	8d 45 ff             	lea    -0x1(%ebp),%eax
417238:	50                   	push   %eax
417239:	e8 dc f6 ff ff       	call   0x41691a
41723e:	8b 45 f4             	mov    -0xc(%ebp),%eax
417241:	8b e5                	mov    %ebp,%esp
417243:	5d                   	pop    %ebp
417244:	c3                   	ret
417245:	8b ff                	mov    %edi,%edi
417247:	55                   	push   %ebp
417248:	8b ec                	mov    %esp,%ebp
41724a:	83 ec 0c             	sub    $0xc,%esp
41724d:	53                   	push   %ebx
41724e:	56                   	push   %esi
41724f:	33 f6                	xor    %esi,%esi
417251:	46                   	inc    %esi
417252:	68 a6 06 00 00       	push   $0x6a6
417257:	89 75 f8             	mov    %esi,-0x8(%ebp)
41725a:	e8 eb da ff ff       	call   0x414d4a
41725f:	8b d8                	mov    %eax,%ebx
417261:	33 c0                	xor    %eax,%eax
417263:	59                   	pop    %ecx
417264:	85 db                	test   %ebx,%ebx
417266:	0f 84 13 01 00 00    	je     0x41737f
41726c:	57                   	push   %edi
41726d:	8d 7b 04             	lea    0x4(%ebx),%edi
417270:	66 89 07             	mov    %ax,(%edi)
417273:	89 33                	mov    %esi,(%ebx)
417275:	8b 75 08             	mov    0x8(%ebp),%esi
417278:	8d 46 30             	lea    0x30(%esi),%eax
41727b:	ff 30                	push   (%eax)
41727d:	89 45 f4             	mov    %eax,-0xc(%ebp)
417280:	68 94 c7 42 00       	push   $0x42c794
417285:	ff 35 4c c6 42 00    	push   0x42c64c
41728b:	6a 03                	push   $0x3
41728d:	68 51 03 00 00       	push   $0x351
417292:	57                   	push   %edi
417293:	e8 ec fe ff ff       	call   0x417184
417298:	b8 4c c6 42 00       	mov    $0x42c64c,%eax
41729d:	83 c4 18             	add    $0x18,%esp
4172a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4172a3:	68 90 c7 42 00       	push   $0x42c790
4172a8:	68 51 03 00 00       	push   $0x351
4172ad:	57                   	push   %edi
4172ae:	e8 28 85 00 00       	call   0x41f7db
4172b3:	83 c4 0c             	add    $0xc,%esp
4172b6:	85 c0                	test   %eax,%eax
4172b8:	0f 85 13 01 00 00    	jne    0x4173d1
4172be:	8b 45 f4             	mov    -0xc(%ebp),%eax
4172c1:	8d 48 10             	lea    0x10(%eax),%ecx
4172c4:	8b 00                	mov    (%eax),%eax
4172c6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4172c9:	8b 09                	mov    (%ecx),%ecx
4172cb:	66 8b 10             	mov    (%eax),%dx
4172ce:	66 3b 11             	cmp    (%ecx),%dx
4172d1:	75 1e                	jne    0x4172f1
4172d3:	66 85 d2             	test   %dx,%dx
4172d6:	74 15                	je     0x4172ed
4172d8:	66 8b 50 02          	mov    0x2(%eax),%dx
4172dc:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4172e0:	75 0f                	jne    0x4172f1
4172e2:	83 c0 04             	add    $0x4,%eax
4172e5:	83 c1 04             	add    $0x4,%ecx
4172e8:	66 85 d2             	test   %dx,%dx
4172eb:	75 de                	jne    0x4172cb
4172ed:	33 c0                	xor    %eax,%eax
4172ef:	eb 05                	jmp    0x4172f6
4172f1:	1b c0                	sbb    %eax,%eax
4172f3:	83 c8 01             	or     $0x1,%eax
4172f6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4172f9:	f7 d8                	neg    %eax
4172fb:	1b c0                	sbb    %eax,%eax
4172fd:	83 c1 0c             	add    $0xc,%ecx
417300:	f7 d0                	not    %eax
417302:	89 4d fc             	mov    %ecx,-0x4(%ebp)
417305:	21 45 f8             	and    %eax,-0x8(%ebp)
417308:	8b 45 f4             	mov    -0xc(%ebp),%eax
41730b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41730e:	ff 30                	push   (%eax)
417310:	68 94 c7 42 00       	push   $0x42c794
417315:	ff 31                	push   (%ecx)
417317:	6a 03                	push   $0x3
417319:	68 51 03 00 00       	push   $0x351
41731e:	57                   	push   %edi
41731f:	e8 60 fe ff ff       	call   0x417184
417324:	8b 45 fc             	mov    -0x4(%ebp),%eax
417327:	83 c4 18             	add    $0x18,%esp
41732a:	3d 7c c6 42 00       	cmp    $0x42c67c,%eax
41732f:	0f 8c 6e ff ff ff    	jl     0x4172a3
417335:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
417339:	75 4a                	jne    0x417385
41733b:	8b 4e 28             	mov    0x28(%esi),%ecx
41733e:	83 cf ff             	or     $0xffffffff,%edi
417341:	85 c9                	test   %ecx,%ecx
417343:	74 11                	je     0x417356
417345:	8b c7                	mov    %edi,%eax
417347:	f0 0f c1 01          	lock xadd %eax,(%ecx)
41734b:	75 09                	jne    0x417356
41734d:	ff 76 28             	push   0x28(%esi)
417350:	e8 bb d9 ff ff       	call   0x414d10
417355:	59                   	pop    %ecx
417356:	8b 46 24             	mov    0x24(%esi),%eax
417359:	85 c0                	test   %eax,%eax
41735b:	74 10                	je     0x41736d
41735d:	f0 0f c1 38          	lock xadd %edi,(%eax)
417361:	4f                   	dec    %edi
417362:	75 09                	jne    0x41736d
417364:	ff 76 24             	push   0x24(%esi)
417367:	e8 a4 d9 ff ff       	call   0x414d10
41736c:	59                   	pop    %ecx
41736d:	83 66 24 00          	andl   $0x0,0x24(%esi)
417371:	8d 43 04             	lea    0x4(%ebx),%eax
417374:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
417378:	89 5e 28             	mov    %ebx,0x28(%esi)
41737b:	89 46 20             	mov    %eax,0x20(%esi)
41737e:	5f                   	pop    %edi