40d1ea:	eb 06                	jmp    0x40d1f2
40d1ec:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40d1ef:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40d1f2:	e8 59 37 00 00       	call   0x410950
40d1f7:	8b f8                	mov    %eax,%edi
40d1f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d1fc:	50                   	push   %eax
40d1fd:	53                   	push   %ebx
40d1fe:	6a 3f                	push   $0x3f
40d200:	ff 36                	push   (%esi)
40d202:	6a ff                	push   $0xffffffff
40d204:	68 bc 44 42 00       	push   $0x4244bc
40d209:	53                   	push   %ebx
40d20a:	57                   	push   %edi
40d20b:	ff 15 30 b1 41 00    	call   *0x41b130
40d211:	85 c0                	test   %eax,%eax
40d213:	74 0c                	je     0x40d221
40d215:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
40d218:	75 07                	jne    0x40d221
40d21a:	8b 06                	mov    (%esi),%eax
40d21c:	88 58 3f             	mov    %bl,0x3f(%eax)
40d21f:	eb 04                	jmp    0x40d225
40d221:	8b 06                	mov    (%esi),%eax
40d223:	88 18                	mov    %bl,(%eax)
40d225:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d228:	50                   	push   %eax
40d229:	53                   	push   %ebx
40d22a:	6a 3f                	push   $0x3f
40d22c:	ff 76 04             	push   0x4(%esi)
40d22f:	6a ff                	push   $0xffffffff
40d231:	68 10 45 42 00       	push   $0x424510
40d236:	53                   	push   %ebx
40d237:	57                   	push   %edi
40d238:	ff 15 30 b1 41 00    	call   *0x41b130
40d23e:	5f                   	pop    %edi
40d23f:	85 c0                	test   %eax,%eax
40d241:	74 0d                	je     0x40d250
40d243:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
40d246:	75 08                	jne    0x40d250
40d248:	8b 46 04             	mov    0x4(%esi),%eax
40d24b:	88 58 3f             	mov    %bl,0x3f(%eax)
40d24e:	eb 05                	jmp    0x40d255
40d250:	8b 46 04             	mov    0x4(%esi),%eax
40d253:	88 18                	mov    %bl,(%eax)
40d255:	8b 75 fc             	mov    -0x4(%ebp),%esi
40d258:	e8 34 f7 ff ff       	call   0x40c991
40d25d:	89 30                	mov    %esi,(%eax)
40d25f:	8b 75 f8             	mov    -0x8(%ebp),%esi
40d262:	e8 1e f7 ff ff       	call   0x40c985
40d267:	89 30                	mov    %esi,(%eax)
40d269:	8b 75 f4             	mov    -0xc(%ebp),%esi
40d26c:	e8 1a f7 ff ff       	call   0x40c98b
40d271:	89 30                	mov    %esi,(%eax)
40d273:	5e                   	pop    %esi
40d274:	5b                   	pop    %ebx
40d275:	8b e5                	mov    %ebp,%esp
40d277:	5d                   	pop    %ebp
40d278:	c3                   	ret
40d279:	53                   	push   %ebx
40d27a:	53                   	push   %ebx
40d27b:	53                   	push   %ebx
40d27c:	53                   	push   %ebx
40d27d:	53                   	push   %ebx
40d27e:	e8 d8 a9 ff ff       	call   0x407c5b
40d283:	cc                   	int3
40d284:	8b ff                	mov    %edi,%edi
40d286:	55                   	push   %ebp
40d287:	8b ec                	mov    %esp,%ebp
40d289:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
40d28f:	a1 0c 30 42 00       	mov    0x42300c,%eax
40d294:	33 c5                	xor    %ebp,%eax
40d296:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d299:	83 0d 94 32 42 00 ff 	orl    $0xffffffff,0x423294
40d2a0:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40d2a6:	83 0d 88 32 42 00 ff 	orl    $0xffffffff,0x423288
40d2ad:	53                   	push   %ebx
40d2ae:	56                   	push   %esi
40d2af:	57                   	push   %edi
40d2b0:	bb 64 ca 41 00       	mov    $0x41ca64,%ebx
40d2b5:	33 ff                	xor    %edi,%edi
40d2b7:	53                   	push   %ebx
40d2b8:	68 00 01 00 00       	push   $0x100
40d2bd:	50                   	push   %eax
40d2be:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40d2c4:	89 3d b0 44 42 00    	mov    %edi,0x4244b0
40d2ca:	50                   	push   %eax
40d2cb:	e8 b2 66 00 00       	call   0x413982
40d2d0:	83 c4 10             	add    $0x10,%esp
40d2d3:	85 c0                	test   %eax,%eax
40d2d5:	75 08                	jne    0x40d2df
40d2d7:	8d bd fc fe ff ff    	lea    -0x104(%ebp),%edi
40d2dd:	eb 46                	jmp    0x40d325
40d2df:	83 f8 22             	cmp    $0x22,%eax
40d2e2:	75 41                	jne    0x40d325
40d2e4:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
40d2ea:	e8 6f c5 ff ff       	call   0x40985e
40d2ef:	8b f0                	mov    %eax,%esi
40d2f1:	59                   	pop    %ecx
40d2f2:	85 f6                	test   %esi,%esi
40d2f4:	75 08                	jne    0x40d2fe
40d2f6:	57                   	push   %edi
40d2f7:	e8 28 c5 ff ff       	call   0x409824
40d2fc:	eb 26                	jmp    0x40d324
40d2fe:	53                   	push   %ebx
40d2ff:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
40d305:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
40d30b:	56                   	push   %esi
40d30c:	50                   	push   %eax
40d30d:	e8 70 66 00 00       	call   0x413982
40d312:	83 c4 10             	add    $0x10,%esp
40d315:	85 c0                	test   %eax,%eax
40d317:	74 03                	je     0x40d31c
40d319:	56                   	push   %esi
40d31a:	eb db                	jmp    0x40d2f7
40d31c:	57                   	push   %edi
40d31d:	e8 02 c5 ff ff       	call   0x409824
40d322:	8b fe                	mov    %esi,%edi
40d324:	59                   	pop    %ecx
40d325:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40d32b:	8b f7                	mov    %edi,%esi
40d32d:	2b f0                	sub    %eax,%esi
40d32f:	f7 de                	neg    %esi
40d331:	1b f6                	sbb    %esi,%esi
40d333:	23 f7                	and    %edi,%esi
40d335:	85 ff                	test   %edi,%edi
40d337:	74 0e                	je     0x40d347
40d339:	80 3f 00             	cmpb   $0x0,(%edi)
40d33c:	74 09                	je     0x40d347
40d33e:	57                   	push   %edi
40d33f:	e8 10 fc ff ff       	call   0x40cf54
40d344:	59                   	pop    %ecx
40d345:	eb 05                	jmp    0x40d34c
40d347:	e8 dd fd ff ff       	call   0x40d129
40d34c:	56                   	push   %esi
40d34d:	e8 d2 c4 ff ff       	call   0x409824
40d352:	59                   	pop    %ecx
40d353:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d356:	5f                   	pop    %edi
40d357:	5e                   	pop    %esi
40d358:	33 cd                	xor    %ebp,%ecx
40d35a:	5b                   	pop    %ebx
40d35b:	e8 f6 5b ff ff       	call   0x402f56
40d360:	8b e5                	mov    %ebp,%esp
40d362:	5d                   	pop    %ebp
40d363:	c3                   	ret
40d364:	6a 08                	push   $0x8
40d366:	68 a0 1d 42 00       	push   $0x421da0
40d36b:	e8 e0 67 ff ff       	call   0x403b50
40d370:	a1 64 45 42 00       	mov    0x424564,%eax
40d375:	85 c0                	test   %eax,%eax
40d377:	75 2d                	jne    0x40d3a6
40d379:	6a 06                	push   $0x6
40d37b:	e8 25 1b 00 00       	call   0x40eea5
40d380:	59                   	pop    %ecx
40d381:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d385:	a1 64 45 42 00       	mov    0x424564,%eax
40d38a:	85 c0                	test   %eax,%eax
40d38c:	75 0c                	jne    0x40d39a
40d38e:	e8 f1 fe ff ff       	call   0x40d284
40d393:	f0 ff 05 64 45 42 00 	lock incl 0x424564
40d39a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d3a1:	e8 06 00 00 00       	call   0x40d3ac
40d3a6:	e8 eb 67 ff ff       	call   0x403b96
40d3ab:	c3                   	ret
40d3ac:	6a 06                	push   $0x6
40d3ae:	e8 3a 1b 00 00       	call   0x40eeed
40d3b3:	59                   	pop    %ecx
40d3b4:	c3                   	ret
40d3b5:	6a 0c                	push   $0xc
40d3b7:	68 80 1d 42 00       	push   $0x421d80
40d3bc:	e8 8f 67 ff ff       	call   0x403b50
40d3c1:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40d3c5:	6a 06                	push   $0x6
40d3c7:	e8 d9 1a 00 00       	call   0x40eea5
40d3cc:	59                   	pop    %ecx
40d3cd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d3d1:	ff 75 08             	push   0x8(%ebp)
40d3d4:	e8 44 f8 ff ff       	call   0x40cc1d
40d3d9:	59                   	pop    %ecx
40d3da:	8b f0                	mov    %eax,%esi
40d3dc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40d3df:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d3e6:	e8 0b 00 00 00       	call   0x40d3f6
40d3eb:	8b c6                	mov    %esi,%eax
40d3ed:	e8 a4 67 ff ff       	call   0x403b96
40d3f2:	c3                   	ret
40d3f3:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40d3f6:	6a 06                	push   $0x6
40d3f8:	e8 f0 1a 00 00       	call   0x40eeed
40d3fd:	59                   	pop    %ecx
40d3fe:	c3                   	ret
40d3ff:	6a 0c                	push   $0xc
40d401:	68 c0 1d 42 00       	push   $0x421dc0
40d406:	e8 45 67 ff ff       	call   0x403b50
40d40b:	33 ff                	xor    %edi,%edi
40d40d:	8b 75 08             	mov    0x8(%ebp),%esi
40d410:	89 3e                	mov    %edi,(%esi)
40d412:	6a 08                	push   $0x8
40d414:	e8 8c 1a 00 00       	call   0x40eea5
40d419:	59                   	pop    %ecx
40d41a:	89 7d fc             	mov    %edi,-0x4(%ebp)
40d41d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40d420:	50                   	push   %eax
40d421:	e8 73 00 00 00       	call   0x40d499
40d426:	59                   	pop    %ecx
40d427:	8b 00                	mov    (%eax),%eax
40d429:	89 06                	mov    %eax,(%esi)
40d42b:	85 c0                	test   %eax,%eax
40d42d:	74 0f                	je     0x40d43e
40d42f:	89 78 08             	mov    %edi,0x8(%eax)
40d432:	89 78 1c             	mov    %edi,0x1c(%eax)
40d435:	89 38                	mov    %edi,(%eax)
40d437:	89 78 04             	mov    %edi,0x4(%eax)
40d43a:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40d43e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d445:	e8 0b 00 00 00       	call   0x40d455
40d44a:	8b c6                	mov    %esi,%eax
40d44c:	e8 45 67 ff ff       	call   0x403b96
40d451:	c3                   	ret
40d452:	8b 75 08             	mov    0x8(%ebp),%esi
40d455:	6a 08                	push   $0x8
40d457:	e8 91 1a 00 00       	call   0x40eeed
40d45c:	59                   	pop    %ecx
40d45d:	c3                   	ret
40d45e:	8b ff                	mov    %edi,%edi
40d460:	55                   	push   %ebp
40d461:	8b ec                	mov    %esp,%ebp
40d463:	8b 45 08             	mov    0x8(%ebp),%eax
40d466:	33 c9                	xor    %ecx,%ecx
40d468:	89 08                	mov    %ecx,(%eax)
40d46a:	8b 45 08             	mov    0x8(%ebp),%eax
40d46d:	89 48 04             	mov    %ecx,0x4(%eax)
40d470:	8b 45 08             	mov    0x8(%ebp),%eax
40d473:	89 48 08             	mov    %ecx,0x8(%eax)
40d476:	8b 45 08             	mov    0x8(%ebp),%eax
40d479:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40d47d:	8b 45 08             	mov    0x8(%ebp),%eax
40d480:	89 48 14             	mov    %ecx,0x14(%eax)
40d483:	8b 45 08             	mov    0x8(%ebp),%eax
40d486:	89 48 18             	mov    %ecx,0x18(%eax)
40d489:	8b 45 08             	mov    0x8(%ebp),%eax
40d48c:	89 48 1c             	mov    %ecx,0x1c(%eax)
40d48f:	8b 45 08             	mov    0x8(%ebp),%eax
40d492:	83 c0 0c             	add    $0xc,%eax
40d495:	87 08                	xchg   %ecx,(%eax)
40d497:	5d                   	pop    %ebp
40d498:	c3                   	ret
40d499:	8b ff                	mov    %edi,%edi
40d49b:	55                   	push   %ebp
40d49c:	8b ec                	mov    %esp,%ebp
40d49e:	51                   	push   %ecx
40d49f:	53                   	push   %ebx
40d4a0:	8b 1d a4 41 42 00    	mov    0x4241a4,%ebx
40d4a6:	56                   	push   %esi
40d4a7:	57                   	push   %edi
40d4a8:	8b 3d a8 41 42 00    	mov    0x4241a8,%edi
40d4ae:	83 c7 0c             	add    $0xc,%edi
40d4b1:	83 c3 fd             	add    $0xfffffffd,%ebx
40d4b4:	8d 1c 9f             	lea    (%edi,%ebx,4),%ebx
40d4b7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d4ba:	eb 41                	jmp    0x40d4fd
40d4bc:	8b 37                	mov    (%edi),%esi
40d4be:	85 f6                	test   %esi,%esi
40d4c0:	74 53                	je     0x40d515
40d4c2:	8b 46 0c             	mov    0xc(%esi),%eax
40d4c5:	c1 e8 0d             	shr    $0xd,%eax
40d4c8:	a8 01                	test   $0x1,%al
40d4ca:	75 2e                	jne    0x40d4fa
40d4cc:	56                   	push   %esi
40d4cd:	e8 58 e2 ff ff       	call   0x40b72a
40d4d2:	59                   	pop    %ecx
40d4d3:	8d 56 0c             	lea    0xc(%esi),%edx
40d4d6:	bb 00 20 00 00       	mov    $0x2000,%ebx
40d4db:	8b 02                	mov    (%edx),%eax
40d4dd:	8b c8                	mov    %eax,%ecx
40d4df:	0b cb                	or     %ebx,%ecx
40d4e1:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
40d4e5:	75 f6                	jne    0x40d4dd
40d4e7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d4ea:	c1 e8 0d             	shr    $0xd,%eax
40d4ed:	f6 d0                	not    %al
40d4ef:	a8 01                	test   $0x1,%al
40d4f1:	75 1b                	jne    0x40d50e
40d4f3:	56                   	push   %esi
40d4f4:	e8 45 e2 ff ff       	call   0x40b73e
40d4f9:	59                   	pop    %ecx
40d4fa:	83 c7 04             	add    $0x4,%edi
40d4fd:	3b fb                	cmp    %ebx,%edi
40d4ff:	75 bb                	jne    0x40d4bc
40d501:	8b 45 08             	mov    0x8(%ebp),%eax
40d504:	83 20 00             	andl   $0x0,(%eax)
40d507:	5f                   	pop    %edi
40d508:	5e                   	pop    %esi
40d509:	5b                   	pop    %ebx
40d50a:	8b e5                	mov    %ebp,%esp
40d50c:	5d                   	pop    %ebp
40d50d:	c3                   	ret
40d50e:	8b 45 08             	mov    0x8(%ebp),%eax
40d511:	89 30                	mov    %esi,(%eax)
40d513:	eb f2                	jmp    0x40d507
40d515:	6a 38                	push   $0x38
40d517:	6a 01                	push   $0x1
40d519:	e8 8e c3 ff ff       	call   0x4098ac
40d51e:	6a 00                	push   $0x0
40d520:	89 07                	mov    %eax,(%edi)
40d522:	e8 fd c2 ff ff       	call   0x409824
40d527:	8b 07                	mov    (%edi),%eax
40d529:	83 c4 0c             	add    $0xc,%esp
40d52c:	85 c0                	test   %eax,%eax
40d52e:	74 d1                	je     0x40d501
40d530:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40d534:	8b 07                	mov    (%edi),%eax
40d536:	6a 00                	push   $0x0
40d538:	68 a0 0f 00 00       	push   $0xfa0
40d53d:	83 c0 20             	add    $0x20,%eax
40d540:	50                   	push   %eax
40d541:	e8 02 eb ff ff       	call   0x40c048
40d546:	8b 37                	mov    (%edi),%esi
40d548:	b9 00 20 00 00       	mov    $0x2000,%ecx
40d54d:	8d 46 0c             	lea    0xc(%esi),%eax
40d550:	f0 09 08             	lock or %ecx,(%eax)
40d553:	56                   	push   %esi
40d554:	e8 d1 e1 ff ff       	call   0x40b72a
40d559:	59                   	pop    %ecx
40d55a:	eb b2                	jmp    0x40d50e
40d55c:	8b ff                	mov    %edi,%edi
40d55e:	55                   	push   %ebp
40d55f:	8b ec                	mov    %esp,%ebp
40d561:	83 ec 10             	sub    $0x10,%esp
40d564:	33 c0                	xor    %eax,%eax
40d566:	53                   	push   %ebx
40d567:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d56a:	56                   	push   %esi
40d56b:	57                   	push   %edi
40d56c:	8d 7d f0             	lea    -0x10(%ebp),%edi
40d56f:	ab                   	stos   %eax,%es:(%edi)
40d570:	8d 75 f0             	lea    -0x10(%ebp),%esi
40d573:	6a 02                	push   $0x2
40d575:	59                   	pop    %ecx
40d576:	6a 20                	push   $0x20
40d578:	ab                   	stos   %eax,%es:(%edi)
40d579:	ab                   	stos   %eax,%es:(%edi)
40d57a:	8b fb                	mov    %ebx,%edi
40d57c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d57d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d57e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d57f:	a1 a0 41 42 00       	mov    0x4241a0,%eax
40d584:	8b 75 0c             	mov    0xc(%ebp),%esi
40d587:	89 43 04             	mov    %eax,0x4(%ebx)
40d58a:	5f                   	pop    %edi