41f201:	57                   	push   %edi
41f202:	e8 09 5b ff ff       	call   0x414d10
41f207:	59                   	pop    %ecx
41f208:	5f                   	pop    %edi
41f209:	8b c6                	mov    %esi,%eax
41f20b:	5e                   	pop    %esi
41f20c:	5b                   	pop    %ebx
41f20d:	8b e5                	mov    %ebp,%esp
41f20f:	5d                   	pop    %ebp
41f210:	c3                   	ret
41f211:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41f215:	75 05                	jne    0x41f21c
41f217:	e8 64 79 ff ff       	call   0x416b80
41f21c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f21f:	8b 40 48             	mov    0x48(%eax),%eax
41f222:	f0 0f c1 18          	lock xadd %ebx,(%eax)
41f226:	4b                   	dec    %ebx
41f227:	75 15                	jne    0x41f23e
41f229:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f22c:	81 78 48 48 c0 43 00 	cmpl   $0x43c048,0x48(%eax)
41f233:	74 09                	je     0x41f23e
41f235:	ff 70 48             	push   0x48(%eax)
41f238:	e8 d3 5a ff ff       	call   0x414d10
41f23d:	59                   	pop    %ecx
41f23e:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
41f244:	8b cf                	mov    %edi,%ecx
41f246:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f249:	33 ff                	xor    %edi,%edi
41f24b:	89 48 48             	mov    %ecx,0x48(%eax)
41f24e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f251:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
41f258:	75 a7                	jne    0x41f201
41f25a:	f6 05 b0 bc 43 00 01 	testb  $0x1,0x43bcb0
41f261:	75 9e                	jne    0x41f201
41f263:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f266:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f269:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f26c:	50                   	push   %eax
41f26d:	6a 05                	push   $0x5
41f26f:	e8 80 fb ff ff       	call   0x41edf4
41f274:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41f278:	59                   	pop    %ecx
41f279:	59                   	pop    %ecx
41f27a:	74 85                	je     0x41f201
41f27c:	a1 68 c2 43 00       	mov    0x43c268,%eax
41f281:	a3 9c bc 43 00       	mov    %eax,0x43bc9c
41f286:	e9 76 ff ff ff       	jmp    0x41f201
41f28b:	80 3d d0 a0 83 02 00 	cmpb   $0x0,0x283a0d0
41f292:	75 12                	jne    0x41f2a6
41f294:	6a 01                	push   $0x1
41f296:	6a fd                	push   $0xfffffffd
41f298:	e8 ed fe ff ff       	call   0x41f18a
41f29d:	59                   	pop    %ecx
41f29e:	59                   	pop    %ecx
41f29f:	c6 05 d0 a0 83 02 01 	movb   $0x1,0x283a0d0
41f2a6:	b0 01                	mov    $0x1,%al
41f2a8:	c3                   	ret
41f2a9:	6a 0c                	push   $0xc
41f2ab:	68 90 82 43 00       	push   $0x438290
41f2b0:	e8 6b 83 fe ff       	call   0x407620
41f2b5:	33 f6                	xor    %esi,%esi
41f2b7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41f2ba:	e8 9d 98 ff ff       	call   0x418b5c
41f2bf:	8b f8                	mov    %eax,%edi
41f2c1:	8b 0d b0 bc 43 00    	mov    0x43bcb0,%ecx
41f2c7:	85 8f 50 03 00 00    	test   %ecx,0x350(%edi)
41f2cd:	74 11                	je     0x41f2e0
41f2cf:	39 77 4c             	cmp    %esi,0x4c(%edi)
41f2d2:	74 0c                	je     0x41f2e0
41f2d4:	8b 77 48             	mov    0x48(%edi),%esi
41f2d7:	85 f6                	test   %esi,%esi
41f2d9:	75 68                	jne    0x41f343
41f2db:	e8 96 5d ff ff       	call   0x415076
41f2e0:	6a 05                	push   $0x5
41f2e2:	e8 d7 50 ff ff       	call   0x4143be
41f2e7:	59                   	pop    %ecx
41f2e8:	89 75 fc             	mov    %esi,-0x4(%ebp)
41f2eb:	8b 77 48             	mov    0x48(%edi),%esi
41f2ee:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41f2f1:	3b 35 68 c2 43 00    	cmp    0x43c268,%esi
41f2f7:	74 30                	je     0x41f329
41f2f9:	85 f6                	test   %esi,%esi
41f2fb:	74 18                	je     0x41f315
41f2fd:	83 c8 ff             	or     $0xffffffff,%eax
41f300:	f0 0f c1 06          	lock xadd %eax,(%esi)
41f304:	75 0f                	jne    0x41f315
41f306:	81 fe 48 c0 43 00    	cmp    $0x43c048,%esi
41f30c:	74 07                	je     0x41f315
41f30e:	56                   	push   %esi
41f30f:	e8 fc 59 ff ff       	call   0x414d10
41f314:	59                   	pop    %ecx
41f315:	a1 68 c2 43 00       	mov    0x43c268,%eax
41f31a:	89 47 48             	mov    %eax,0x48(%edi)
41f31d:	8b 35 68 c2 43 00    	mov    0x43c268,%esi
41f323:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41f326:	f0 ff 06             	lock incl (%esi)
41f329:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41f330:	e8 05 00 00 00       	call   0x41f33a
41f335:	eb a0                	jmp    0x41f2d7
41f337:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41f33a:	6a 05                	push   $0x5
41f33c:	e8 c5 50 ff ff       	call   0x414406
41f341:	59                   	pop    %ecx
41f342:	c3                   	ret
41f343:	8b c6                	mov    %esi,%eax
41f345:	e8 1c 83 fe ff       	call   0x407666
41f34a:	c3                   	ret
41f34b:	8b ff                	mov    %edi,%edi
41f34d:	55                   	push   %ebp
41f34e:	8b ec                	mov    %esp,%ebp
41f350:	83 ec 20             	sub    $0x20,%esp
41f353:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41f358:	33 c5                	xor    %ebp,%eax
41f35a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f35d:	53                   	push   %ebx
41f35e:	56                   	push   %esi
41f35f:	ff 75 08             	push   0x8(%ebp)
41f362:	8b 75 0c             	mov    0xc(%ebp),%esi
41f365:	e8 b4 fb ff ff       	call   0x41ef1e
41f36a:	8b d8                	mov    %eax,%ebx
41f36c:	59                   	pop    %ecx
41f36d:	85 db                	test   %ebx,%ebx
41f36f:	75 0e                	jne    0x41f37f
41f371:	56                   	push   %esi
41f372:	e8 1a fc ff ff       	call   0x41ef91
41f377:	59                   	pop    %ecx
41f378:	33 c0                	xor    %eax,%eax
41f37a:	e9 ad 01 00 00       	jmp    0x41f52c
41f37f:	57                   	push   %edi
41f380:	33 ff                	xor    %edi,%edi
41f382:	8b cf                	mov    %edi,%ecx
41f384:	8b c7                	mov    %edi,%eax
41f386:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41f389:	39 98 50 bd 43 00    	cmp    %ebx,0x43bd50(%eax)
41f38f:	0f 84 ea 00 00 00    	je     0x41f47f
41f395:	41                   	inc    %ecx
41f396:	83 c0 30             	add    $0x30,%eax
41f399:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41f39c:	3d f0 00 00 00       	cmp    $0xf0,%eax
41f3a1:	72 e6                	jb     0x41f389
41f3a3:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
41f3a9:	0f 84 c8 00 00 00    	je     0x41f477
41f3af:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
41f3b5:	0f 84 bc 00 00 00    	je     0x41f477
41f3bb:	0f b7 c3             	movzwl %bx,%eax
41f3be:	50                   	push   %eax
41f3bf:	ff 15 10 72 42 00    	call   *0x427210
41f3c5:	85 c0                	test   %eax,%eax
41f3c7:	0f 84 aa 00 00 00    	je     0x41f477
41f3cd:	8d 45 e8             	lea    -0x18(%ebp),%eax
41f3d0:	50                   	push   %eax
41f3d1:	53                   	push   %ebx
41f3d2:	ff 15 7c 71 42 00    	call   *0x42717c
41f3d8:	85 c0                	test   %eax,%eax
41f3da:	0f 84 84 00 00 00    	je     0x41f464
41f3e0:	68 01 01 00 00       	push   $0x101
41f3e5:	8d 46 18             	lea    0x18(%esi),%eax
41f3e8:	57                   	push   %edi
41f3e9:	50                   	push   %eax
41f3ea:	e8 f1 95 fe ff       	call   0x4089e0
41f3ef:	89 5e 04             	mov    %ebx,0x4(%esi)
41f3f2:	83 c4 0c             	add    $0xc,%esp
41f3f5:	33 db                	xor    %ebx,%ebx
41f3f7:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
41f3fd:	43                   	inc    %ebx
41f3fe:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
41f401:	76 51                	jbe    0x41f454
41f403:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
41f407:	8d 45 ee             	lea    -0x12(%ebp),%eax
41f40a:	74 21                	je     0x41f42d
41f40c:	8a 48 01             	mov    0x1(%eax),%cl
41f40f:	84 c9                	test   %cl,%cl
41f411:	74 1a                	je     0x41f42d
41f413:	0f b6 d1             	movzbl %cl,%edx
41f416:	0f b6 08             	movzbl (%eax),%ecx
41f419:	eb 06                	jmp    0x41f421
41f41b:	80 4c 0e 19 04       	orb    $0x4,0x19(%esi,%ecx,1)
41f420:	41                   	inc    %ecx
41f421:	3b ca                	cmp    %edx,%ecx
41f423:	76 f6                	jbe    0x41f41b
41f425:	83 c0 02             	add    $0x2,%eax
41f428:	80 38 00             	cmpb   $0x0,(%eax)
41f42b:	75 df                	jne    0x41f40c
41f42d:	8d 46 1a             	lea    0x1a(%esi),%eax
41f430:	b9 fe 00 00 00       	mov    $0xfe,%ecx
41f435:	80 08 08             	orb    $0x8,(%eax)
41f438:	40                   	inc    %eax
41f439:	83 e9 01             	sub    $0x1,%ecx
41f43c:	75 f7                	jne    0x41f435
41f43e:	ff 76 04             	push   0x4(%esi)
41f441:	e8 9a fa ff ff       	call   0x41eee0
41f446:	83 c4 04             	add    $0x4,%esp
41f449:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
41f44f:	89 5e 08             	mov    %ebx,0x8(%esi)
41f452:	eb 03                	jmp    0x41f457
41f454:	89 7e 08             	mov    %edi,0x8(%esi)
41f457:	33 c0                	xor    %eax,%eax
41f459:	8d 7e 0c             	lea    0xc(%esi),%edi
41f45c:	ab                   	stos   %eax,%es:(%edi)
41f45d:	ab                   	stos   %eax,%es:(%edi)
41f45e:	ab                   	stos   %eax,%es:(%edi)
41f45f:	e9 be 00 00 00       	jmp    0x41f522
41f464:	39 3d cc a0 83 02    	cmp    %edi,0x283a0cc
41f46a:	74 0b                	je     0x41f477
41f46c:	56                   	push   %esi
41f46d:	e8 1f fb ff ff       	call   0x41ef91
41f472:	e9 b1 00 00 00       	jmp    0x41f528
41f477:	83 c8 ff             	or     $0xffffffff,%eax
41f47a:	e9 ac 00 00 00       	jmp    0x41f52b
41f47f:	68 01 01 00 00       	push   $0x101
41f484:	8d 46 18             	lea    0x18(%esi),%eax
41f487:	57                   	push   %edi
41f488:	50                   	push   %eax
41f489:	e8 52 95 fe ff       	call   0x4089e0
41f48e:	83 c4 0c             	add    $0xc,%esp
41f491:	6b 45 e4 30          	imul   $0x30,-0x1c(%ebp),%eax
41f495:	89 45 e0             	mov    %eax,-0x20(%ebp)
41f498:	8d 80 60 bd 43 00    	lea    0x43bd60(%eax),%eax
41f49e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f4a1:	80 38 00             	cmpb   $0x0,(%eax)
41f4a4:	8b c8                	mov    %eax,%ecx
41f4a6:	74 35                	je     0x41f4dd
41f4a8:	8a 41 01             	mov    0x1(%ecx),%al
41f4ab:	84 c0                	test   %al,%al
41f4ad:	74 2b                	je     0x41f4da
41f4af:	0f b6 11             	movzbl (%ecx),%edx
41f4b2:	0f b6 c0             	movzbl %al,%eax
41f4b5:	eb 17                	jmp    0x41f4ce
41f4b7:	81 fa 00 01 00 00    	cmp    $0x100,%edx
41f4bd:	73 13                	jae    0x41f4d2
41f4bf:	8a 87 48 bd 43 00    	mov    0x43bd48(%edi),%al
41f4c5:	08 44 16 19          	or     %al,0x19(%esi,%edx,1)
41f4c9:	42                   	inc    %edx
41f4ca:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
41f4ce:	3b d0                	cmp    %eax,%edx
41f4d0:	76 e5                	jbe    0x41f4b7
41f4d2:	83 c1 02             	add    $0x2,%ecx
41f4d5:	80 39 00             	cmpb   $0x0,(%ecx)
41f4d8:	75 ce                	jne    0x41f4a8
41f4da:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f4dd:	47                   	inc    %edi
41f4de:	83 c0 08             	add    $0x8,%eax
41f4e1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f4e4:	83 ff 04             	cmp    $0x4,%edi
41f4e7:	72 b8                	jb     0x41f4a1
41f4e9:	53                   	push   %ebx
41f4ea:	89 5e 04             	mov    %ebx,0x4(%esi)
41f4ed:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
41f4f4:	e8 e7 f9 ff ff       	call   0x41eee0
41f4f9:	83 c4 04             	add    $0x4,%esp
41f4fc:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
41f502:	8b 45 e0             	mov    -0x20(%ebp),%eax
41f505:	8d 4e 0c             	lea    0xc(%esi),%ecx
41f508:	6a 06                	push   $0x6
41f50a:	8d 90 54 bd 43 00    	lea    0x43bd54(%eax),%edx
41f510:	5f                   	pop    %edi
41f511:	66 8b 02             	mov    (%edx),%ax
41f514:	8d 52 02             	lea    0x2(%edx),%edx
41f517:	66 89 01             	mov    %ax,(%ecx)
41f51a:	8d 49 02             	lea    0x2(%ecx),%ecx
41f51d:	83 ef 01             	sub    $0x1,%edi
41f520:	75 ef                	jne    0x41f511
41f522:	56                   	push   %esi
41f523:	e8 ce fa ff ff       	call   0x41eff6
41f528:	59                   	pop    %ecx
41f529:	33 c0                	xor    %eax,%eax
41f52b:	5f                   	pop    %edi
41f52c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41f52f:	5e                   	pop    %esi
41f530:	33 cd                	xor    %ebp,%ecx
41f532:	5b                   	pop    %ebx
41f533:	e8 28 7b fe ff       	call   0x407060
41f538:	8b e5                	mov    %ebp,%esp
41f53a:	5d                   	pop    %ebp
41f53b:	c3                   	ret
41f53c:	8b ff                	mov    %edi,%edi
41f53e:	55                   	push   %ebp
41f53f:	8b ec                	mov    %esp,%ebp
41f541:	56                   	push   %esi
41f542:	8b 75 14             	mov    0x14(%ebp),%esi
41f545:	85 f6                	test   %esi,%esi
41f547:	75 04                	jne    0x41f54d
41f549:	33 c0                	xor    %eax,%eax
41f54b:	eb 6d                	jmp    0x41f5ba
41f54d:	8b 45 08             	mov    0x8(%ebp),%eax
41f550:	85 c0                	test   %eax,%eax
41f552:	75 13                	jne    0x41f567
41f554:	e8 12 55 ff ff       	call   0x414a6b
41f559:	6a 16                	push   $0x16
41f55b:	5e                   	pop    %esi
41f55c:	89 30                	mov    %esi,(%eax)
41f55e:	e8 7f c7 fe ff       	call   0x40bce2
41f563:	8b c6                	mov    %esi,%eax
41f565:	eb 53                	jmp    0x41f5ba
41f567:	57                   	push   %edi
41f568:	8b 7d 10             	mov    0x10(%ebp),%edi
41f56b:	85 ff                	test   %edi,%edi
41f56d:	74 14                	je     0x41f583
41f56f:	39 75 0c             	cmp    %esi,0xc(%ebp)
41f572:	72 0f                	jb     0x41f583
41f574:	56                   	push   %esi
41f575:	57                   	push   %edi
41f576:	50                   	push   %eax
41f577:	e8 e4 8e fe ff       	call   0x408460
41f57c:	83 c4 0c             	add    $0xc,%esp
41f57f:	33 c0                	xor    %eax,%eax
41f581:	eb 36                	jmp    0x41f5b9
41f583:	ff 75 0c             	push   0xc(%ebp)
41f586:	6a 00                	push   $0x0
41f588:	50                   	push   %eax
41f589:	e8 52 94 fe ff       	call   0x4089e0
41f58e:	83 c4 0c             	add    $0xc,%esp
41f591:	85 ff                	test   %edi,%edi
41f593:	75 09                	jne    0x41f59e
41f595:	e8 d1 54 ff ff       	call   0x414a6b
41f59a:	6a 16                	push   $0x16
41f59c:	eb 0c                	jmp    0x41f5aa
41f59e:	39 75 0c             	cmp    %esi,0xc(%ebp)
41f5a1:	73 13                	jae    0x41f5b6
41f5a3:	e8 c3 54 ff ff       	call   0x414a6b
41f5a8:	6a 22                	push   $0x22
41f5aa:	5e                   	pop    %esi
41f5ab:	89 30                	mov    %esi,(%eax)
41f5ad:	e8 30 c7 fe ff       	call   0x40bce2
41f5b2:	8b c6                	mov    %esi,%eax
41f5b4:	eb 03                	jmp    0x41f5b9
41f5b6:	6a 16                	push   $0x16
41f5b8:	58                   	pop    %eax
41f5b9:	5f                   	pop    %edi
41f5ba:	5e                   	pop    %esi
41f5bb:	5d                   	pop    %ebp
41f5bc:	c3                   	ret
41f5bd:	ff 15 18 72 42 00    	call   *0x427218
41f5c3:	a3 e0 a0 83 02       	mov    %eax,0x283a0e0
41f5c8:	ff 15 1c 72 42 00    	call   *0x42721c
41f5ce:	a3 e4 a0 83 02       	mov    %eax,0x283a0e4
41f5d3:	b0 01                	mov    $0x1,%al
41f5d5:	c3                   	ret
41f5d6:	b0 01                	mov    $0x1,%al
41f5d8:	c3                   	ret
41f5d9:	8b ff                	mov    %edi,%edi
41f5db:	55                   	push   %ebp
41f5dc:	8b ec                	mov    %esp,%ebp
41f5de:	8b 55 08             	mov    0x8(%ebp),%edx
41f5e1:	57                   	push   %edi
41f5e2:	33 ff                	xor    %edi,%edi
41f5e4:	66 39 3a             	cmp    %di,(%edx)
41f5e7:	74 21                	je     0x41f60a
41f5e9:	56                   	push   %esi
41f5ea:	8b ca                	mov    %edx,%ecx