40b2f9:	8d 46 10             	lea    0x10(%esi),%eax
40b2fc:	8b d7                	mov    %edi,%edx
40b2fe:	50                   	push   %eax
40b2ff:	8b ce                	mov    %esi,%ecx
40b301:	e8 91 06 00 00       	call   0x40b997
40b306:	89 5e 0c             	mov    %ebx,0xc(%esi)
40b309:	8d 5e 10             	lea    0x10(%esi),%ebx
40b30c:	53                   	push   %ebx
40b30d:	ff 75 f8             	push   -0x8(%ebp)
40b310:	e8 6b fe ff ff       	call   0x40b180
40b315:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b318:	83 c4 08             	add    $0x8,%esp
40b31b:	8b d3                	mov    %ebx,%edx
40b31d:	8b 49 08             	mov    0x8(%ecx),%ecx
40b320:	e8 40 06 00 00       	call   0x40b965
40b325:	cc                   	int3
40b326:	55                   	push   %ebp
40b327:	8b ec                	mov    %esp,%ebp
40b329:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40b32e:	83 e0 1f             	and    $0x1f,%eax
40b331:	6a 20                	push   $0x20
40b333:	59                   	pop    %ecx
40b334:	2b c8                	sub    %eax,%ecx
40b336:	8b 45 08             	mov    0x8(%ebp),%eax
40b339:	d3 c8                	ror    %cl,%eax
40b33b:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40b341:	5d                   	pop    %ebp
40b342:	c3                   	ret
40b343:	55                   	push   %ebp
40b344:	8b ec                	mov    %esp,%ebp
40b346:	8b 45 08             	mov    0x8(%ebp),%eax
40b349:	33 c9                	xor    %ecx,%ecx
40b34b:	53                   	push   %ebx
40b34c:	56                   	push   %esi
40b34d:	57                   	push   %edi
40b34e:	8d 1c 85 90 99 83 02 	lea    0x2839990(,%eax,4),%ebx
40b355:	33 c0                	xor    %eax,%eax
40b357:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
40b35b:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b361:	83 cf ff             	or     $0xffffffff,%edi
40b364:	8b ca                	mov    %edx,%ecx
40b366:	8b f2                	mov    %edx,%esi
40b368:	83 e1 1f             	and    $0x1f,%ecx
40b36b:	33 f0                	xor    %eax,%esi
40b36d:	d3 ce                	ror    %cl,%esi
40b36f:	3b f7                	cmp    %edi,%esi
40b371:	74 69                	je     0x40b3dc
40b373:	85 f6                	test   %esi,%esi
40b375:	74 04                	je     0x40b37b
40b377:	8b c6                	mov    %esi,%eax
40b379:	eb 63                	jmp    0x40b3de
40b37b:	8b 75 10             	mov    0x10(%ebp),%esi
40b37e:	3b 75 14             	cmp    0x14(%ebp),%esi
40b381:	74 1a                	je     0x40b39d
40b383:	ff 36                	push   (%esi)
40b385:	e8 59 00 00 00       	call   0x40b3e3
40b38a:	59                   	pop    %ecx
40b38b:	85 c0                	test   %eax,%eax
40b38d:	75 2f                	jne    0x40b3be
40b38f:	83 c6 04             	add    $0x4,%esi
40b392:	3b 75 14             	cmp    0x14(%ebp),%esi
40b395:	75 ec                	jne    0x40b383
40b397:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b39d:	33 c0                	xor    %eax,%eax
40b39f:	85 c0                	test   %eax,%eax
40b3a1:	74 29                	je     0x40b3cc
40b3a3:	ff 75 0c             	push   0xc(%ebp)
40b3a6:	50                   	push   %eax
40b3a7:	ff 15 70 71 42 00    	call   *0x427170
40b3ad:	8b f0                	mov    %eax,%esi
40b3af:	85 f6                	test   %esi,%esi
40b3b1:	74 13                	je     0x40b3c6
40b3b3:	56                   	push   %esi
40b3b4:	e8 6d ff ff ff       	call   0x40b326
40b3b9:	59                   	pop    %ecx
40b3ba:	87 03                	xchg   %eax,(%ebx)
40b3bc:	eb b9                	jmp    0x40b377
40b3be:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b3c4:	eb d9                	jmp    0x40b39f
40b3c6:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
40b3cc:	8b c2                	mov    %edx,%eax
40b3ce:	6a 20                	push   $0x20
40b3d0:	83 e0 1f             	and    $0x1f,%eax
40b3d3:	59                   	pop    %ecx
40b3d4:	2b c8                	sub    %eax,%ecx
40b3d6:	d3 cf                	ror    %cl,%edi
40b3d8:	33 fa                	xor    %edx,%edi
40b3da:	87 3b                	xchg   %edi,(%ebx)
40b3dc:	33 c0                	xor    %eax,%eax
40b3de:	5f                   	pop    %edi
40b3df:	5e                   	pop    %esi
40b3e0:	5b                   	pop    %ebx
40b3e1:	5d                   	pop    %ebp
40b3e2:	c3                   	ret
40b3e3:	55                   	push   %ebp
40b3e4:	8b ec                	mov    %esp,%ebp
40b3e6:	53                   	push   %ebx
40b3e7:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b3ea:	33 c9                	xor    %ecx,%ecx
40b3ec:	57                   	push   %edi
40b3ed:	33 c0                	xor    %eax,%eax
40b3ef:	8d 3c 9d 80 99 83 02 	lea    0x2839980(,%ebx,4),%edi
40b3f6:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
40b3fa:	8b c8                	mov    %eax,%ecx
40b3fc:	85 c9                	test   %ecx,%ecx
40b3fe:	74 0b                	je     0x40b40b
40b400:	8d 41 01             	lea    0x1(%ecx),%eax
40b403:	f7 d8                	neg    %eax
40b405:	1b c0                	sbb    %eax,%eax
40b407:	23 c1                	and    %ecx,%eax
40b409:	eb 55                	jmp    0x40b460
40b40b:	8b 1c 9d 84 a6 42 00 	mov    0x42a684(,%ebx,4),%ebx
40b412:	56                   	push   %esi
40b413:	68 00 08 00 00       	push   $0x800
40b418:	6a 00                	push   $0x0
40b41a:	53                   	push   %ebx
40b41b:	ff 15 cc 71 42 00    	call   *0x4271cc
40b421:	8b f0                	mov    %eax,%esi
40b423:	85 f6                	test   %esi,%esi
40b425:	75 27                	jne    0x40b44e
40b427:	ff 15 c4 71 42 00    	call   *0x4271c4
40b42d:	83 f8 57             	cmp    $0x57,%eax
40b430:	75 0d                	jne    0x40b43f
40b432:	56                   	push   %esi
40b433:	56                   	push   %esi
40b434:	53                   	push   %ebx
40b435:	ff 15 cc 71 42 00    	call   *0x4271cc
40b43b:	8b f0                	mov    %eax,%esi
40b43d:	eb 02                	jmp    0x40b441
40b43f:	33 f6                	xor    %esi,%esi
40b441:	85 f6                	test   %esi,%esi
40b443:	75 09                	jne    0x40b44e
40b445:	83 c8 ff             	or     $0xffffffff,%eax
40b448:	87 07                	xchg   %eax,(%edi)
40b44a:	33 c0                	xor    %eax,%eax
40b44c:	eb 11                	jmp    0x40b45f
40b44e:	8b c6                	mov    %esi,%eax
40b450:	87 07                	xchg   %eax,(%edi)
40b452:	85 c0                	test   %eax,%eax
40b454:	74 07                	je     0x40b45d
40b456:	56                   	push   %esi
40b457:	ff 15 c8 71 42 00    	call   *0x4271c8
40b45d:	8b c6                	mov    %esi,%eax
40b45f:	5e                   	pop    %esi
40b460:	5f                   	pop    %edi
40b461:	5b                   	pop    %ebx
40b462:	5d                   	pop    %ebp
40b463:	c3                   	ret
40b464:	55                   	push   %ebp
40b465:	8b ec                	mov    %esp,%ebp
40b467:	56                   	push   %esi
40b468:	68 3c a7 42 00       	push   $0x42a73c
40b46d:	68 34 a7 42 00       	push   $0x42a734
40b472:	68 38 81 42 00       	push   $0x428138
40b477:	6a 04                	push   $0x4
40b479:	e8 c5 fe ff ff       	call   0x40b343
40b47e:	8b f0                	mov    %eax,%esi
40b480:	83 c4 10             	add    $0x10,%esp
40b483:	85 f6                	test   %esi,%esi
40b485:	74 0f                	je     0x40b496
40b487:	ff 75 08             	push   0x8(%ebp)
40b48a:	8b ce                	mov    %esi,%ecx
40b48c:	e8 e0 bb ff ff       	call   0x407071
40b491:	ff d6                	call   *%esi
40b493:	5e                   	pop    %esi
40b494:	5d                   	pop    %ebp
40b495:	c3                   	ret
40b496:	5e                   	pop    %esi
40b497:	5d                   	pop    %ebp
40b498:	ff 25 58 71 42 00    	jmp    *0x427158
40b49e:	55                   	push   %ebp
40b49f:	8b ec                	mov    %esp,%ebp
40b4a1:	56                   	push   %esi
40b4a2:	68 44 a7 42 00       	push   $0x42a744
40b4a7:	68 3c a7 42 00       	push   $0x42a73c
40b4ac:	68 44 81 42 00       	push   $0x428144
40b4b1:	6a 05                	push   $0x5
40b4b3:	e8 8b fe ff ff       	call   0x40b343
40b4b8:	83 c4 10             	add    $0x10,%esp
40b4bb:	8b f0                	mov    %eax,%esi
40b4bd:	ff 75 08             	push   0x8(%ebp)
40b4c0:	85 f6                	test   %esi,%esi
40b4c2:	74 0b                	je     0x40b4cf
40b4c4:	8b ce                	mov    %esi,%ecx
40b4c6:	e8 a6 bb ff ff       	call   0x407071
40b4cb:	ff d6                	call   *%esi
40b4cd:	eb 06                	jmp    0x40b4d5
40b4cf:	ff 15 64 71 42 00    	call   *0x427164
40b4d5:	5e                   	pop    %esi
40b4d6:	5d                   	pop    %ebp
40b4d7:	c3                   	ret
40b4d8:	55                   	push   %ebp
40b4d9:	8b ec                	mov    %esp,%ebp
40b4db:	56                   	push   %esi
40b4dc:	68 4c a7 42 00       	push   $0x42a74c
40b4e1:	68 44 a7 42 00       	push   $0x42a744
40b4e6:	68 4c 81 42 00       	push   $0x42814c
40b4eb:	6a 06                	push   $0x6
40b4ed:	e8 51 fe ff ff       	call   0x40b343
40b4f2:	83 c4 10             	add    $0x10,%esp
40b4f5:	8b f0                	mov    %eax,%esi
40b4f7:	ff 75 08             	push   0x8(%ebp)
40b4fa:	85 f6                	test   %esi,%esi
40b4fc:	74 0b                	je     0x40b509
40b4fe:	8b ce                	mov    %esi,%ecx
40b500:	e8 6c bb ff ff       	call   0x407071
40b505:	ff d6                	call   *%esi
40b507:	eb 06                	jmp    0x40b50f
40b509:	ff 15 5c 71 42 00    	call   *0x42715c
40b50f:	5e                   	pop    %esi
40b510:	5d                   	pop    %ebp
40b511:	c3                   	ret
40b512:	55                   	push   %ebp
40b513:	8b ec                	mov    %esp,%ebp
40b515:	56                   	push   %esi
40b516:	68 54 a7 42 00       	push   $0x42a754
40b51b:	68 4c a7 42 00       	push   $0x42a74c
40b520:	68 58 81 42 00       	push   $0x428158
40b525:	6a 07                	push   $0x7
40b527:	e8 17 fe ff ff       	call   0x40b343
40b52c:	83 c4 10             	add    $0x10,%esp
40b52f:	8b f0                	mov    %eax,%esi
40b531:	ff 75 0c             	push   0xc(%ebp)
40b534:	ff 75 08             	push   0x8(%ebp)
40b537:	85 f6                	test   %esi,%esi
40b539:	74 0b                	je     0x40b546
40b53b:	8b ce                	mov    %esi,%ecx
40b53d:	e8 2f bb ff ff       	call   0x407071
40b542:	ff d6                	call   *%esi
40b544:	eb 06                	jmp    0x40b54c
40b546:	ff 15 60 71 42 00    	call   *0x427160
40b54c:	5e                   	pop    %esi
40b54d:	5d                   	pop    %ebp
40b54e:	c3                   	ret
40b54f:	55                   	push   %ebp
40b550:	8b ec                	mov    %esp,%ebp
40b552:	56                   	push   %esi
40b553:	68 5c a7 42 00       	push   $0x42a75c
40b558:	68 54 a7 42 00       	push   $0x42a754
40b55d:	68 64 81 42 00       	push   $0x428164
40b562:	6a 08                	push   $0x8
40b564:	e8 da fd ff ff       	call   0x40b343
40b569:	8b f0                	mov    %eax,%esi
40b56b:	83 c4 10             	add    $0x10,%esp
40b56e:	85 f6                	test   %esi,%esi
40b570:	74 14                	je     0x40b586
40b572:	ff 75 10             	push   0x10(%ebp)
40b575:	8b ce                	mov    %esi,%ecx
40b577:	ff 75 0c             	push   0xc(%ebp)
40b57a:	ff 75 08             	push   0x8(%ebp)
40b57d:	e8 ef ba ff ff       	call   0x407071
40b582:	ff d6                	call   *%esi
40b584:	eb 0c                	jmp    0x40b592
40b586:	ff 75 0c             	push   0xc(%ebp)
40b589:	ff 75 08             	push   0x8(%ebp)
40b58c:	ff 15 50 71 42 00    	call   *0x427150
40b592:	5e                   	pop    %esi
40b593:	5d                   	pop    %ebp
40b594:	c3                   	ret
40b595:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40b59a:	ba b4 99 83 02       	mov    $0x28399b4,%edx
40b59f:	56                   	push   %esi
40b5a0:	83 e0 1f             	and    $0x1f,%eax
40b5a3:	33 f6                	xor    %esi,%esi
40b5a5:	6a 20                	push   $0x20
40b5a7:	59                   	pop    %ecx
40b5a8:	2b c8                	sub    %eax,%ecx
40b5aa:	b8 90 99 83 02       	mov    $0x2839990,%eax
40b5af:	d3 ce                	ror    %cl,%esi
40b5b1:	33 c9                	xor    %ecx,%ecx
40b5b3:	33 35 28 ba 43 00    	xor    0x43ba28,%esi
40b5b9:	3b d0                	cmp    %eax,%edx
40b5bb:	1b d2                	sbb    %edx,%edx
40b5bd:	83 e2 f7             	and    $0xfffffff7,%edx
40b5c0:	83 c2 09             	add    $0x9,%edx
40b5c3:	41                   	inc    %ecx
40b5c4:	89 30                	mov    %esi,(%eax)
40b5c6:	8d 40 04             	lea    0x4(%eax),%eax
40b5c9:	3b ca                	cmp    %edx,%ecx
40b5cb:	75 f6                	jne    0x40b5c3
40b5cd:	5e                   	pop    %esi
40b5ce:	c3                   	ret
40b5cf:	55                   	push   %ebp
40b5d0:	8b ec                	mov    %esp,%ebp
40b5d2:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40b5d6:	75 27                	jne    0x40b5ff
40b5d8:	56                   	push   %esi
40b5d9:	be 80 99 83 02       	mov    $0x2839980,%esi
40b5de:	83 3e 00             	cmpl   $0x0,(%esi)
40b5e1:	74 10                	je     0x40b5f3
40b5e3:	83 3e ff             	cmpl   $0xffffffff,(%esi)
40b5e6:	74 08                	je     0x40b5f0
40b5e8:	ff 36                	push   (%esi)
40b5ea:	ff 15 c8 71 42 00    	call   *0x4271c8
40b5f0:	83 26 00             	andl   $0x0,(%esi)
40b5f3:	83 c6 04             	add    $0x4,%esi
40b5f6:	81 fe 90 99 83 02    	cmp    $0x2839990,%esi
40b5fc:	75 e0                	jne    0x40b5de
40b5fe:	5e                   	pop    %esi
40b5ff:	5d                   	pop    %ebp
40b600:	c3                   	ret
40b601:	55                   	push   %ebp
40b602:	8b ec                	mov    %esp,%ebp
40b604:	8b 45 08             	mov    0x8(%ebp),%eax
40b607:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b60a:	3b c1                	cmp    %ecx,%eax
40b60c:	75 04                	jne    0x40b612
40b60e:	33 c0                	xor    %eax,%eax
40b610:	5d                   	pop    %ebp
40b611:	c3                   	ret
40b612:	83 c1 05             	add    $0x5,%ecx
40b615:	83 c0 05             	add    $0x5,%eax
40b618:	8a 10                	mov    (%eax),%dl
40b61a:	3a 11                	cmp    (%ecx),%dl
40b61c:	75 18                	jne    0x40b636
40b61e:	84 d2                	test   %dl,%dl
40b620:	74 ec                	je     0x40b60e
40b622:	8a 50 01             	mov    0x1(%eax),%dl
40b625:	3a 51 01             	cmp    0x1(%ecx),%dl
40b628:	75 0c                	jne    0x40b636
40b62a:	83 c0 02             	add    $0x2,%eax
40b62d:	83 c1 02             	add    $0x2,%ecx
40b630:	84 d2                	test   %dl,%dl
40b632:	75 e4                	jne    0x40b618
40b634:	eb d8                	jmp    0x40b60e
40b636:	1b c0                	sbb    %eax,%eax
40b638:	83 c8 01             	or     $0x1,%eax
40b63b:	5d                   	pop    %ebp
40b63c:	c3                   	ret
40b63d:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40b642:	83 e0 1f             	and    $0x1f,%eax
40b645:	6a 20                	push   $0x20
40b647:	59                   	pop    %ecx
40b648:	2b c8                	sub    %eax,%ecx
40b64a:	33 c0                	xor    %eax,%eax
40b64c:	d3 c8                	ror    %cl,%eax
40b64e:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40b654:	a3 b4 99 83 02       	mov    %eax,0x28399b4
40b659:	c3                   	ret
40b65a:	55                   	push   %ebp
40b65b:	8b ec                	mov    %esp,%ebp
40b65d:	8b 45 08             	mov    0x8(%ebp),%eax
40b660:	85 c0                	test   %eax,%eax
40b662:	74 0e                	je     0x40b672
40b664:	3d b8 99 83 02       	cmp    $0x28399b8,%eax
40b669:	74 07                	je     0x40b672
40b66b:	50                   	push   %eax
40b66c:	e8 9f 96 00 00       	call   0x414d10
40b671:	59                   	pop    %ecx
40b672:	5d                   	pop    %ebp