40b37a:	83 c4 10             	add    $0x10,%esp
40b37d:	8b f0                	mov    %eax,%esi
40b37f:	ff 75 08             	push   0x8(%ebp)
40b382:	85 f6                	test   %esi,%esi
40b384:	74 0c                	je     0x40b392
40b386:	8b ce                	mov    %esi,%ecx
40b388:	ff 15 54 41 42 00    	call   *0x424154
40b38e:	ff d6                	call   *%esi
40b390:	eb 06                	jmp    0x40b398
40b392:	ff 15 b0 40 42 00    	call   *0x4240b0
40b398:	5e                   	pop    %esi
40b399:	5d                   	pop    %ebp
40b39a:	c3                   	ret
40b39b:	55                   	push   %ebp
40b39c:	8b ec                	mov    %esp,%ebp
40b39e:	56                   	push   %esi
40b39f:	68 74 5c 42 00       	push   $0x425c74
40b3a4:	68 6c 5c 42 00       	push   $0x425c6c
40b3a9:	68 74 5c 42 00       	push   $0x425c74
40b3ae:	6a 02                	push   $0x2
40b3b0:	e8 27 ff ff ff       	call   0x40b2dc
40b3b5:	83 c4 10             	add    $0x10,%esp
40b3b8:	8b f0                	mov    %eax,%esi
40b3ba:	ff 75 08             	push   0x8(%ebp)
40b3bd:	85 f6                	test   %esi,%esi
40b3bf:	74 0c                	je     0x40b3cd
40b3c1:	8b ce                	mov    %esi,%ecx
40b3c3:	ff 15 54 41 42 00    	call   *0x424154
40b3c9:	ff d6                	call   *%esi
40b3cb:	eb 06                	jmp    0x40b3d3
40b3cd:	ff 15 a8 40 42 00    	call   *0x4240a8
40b3d3:	5e                   	pop    %esi
40b3d4:	5d                   	pop    %ebp
40b3d5:	c3                   	ret
40b3d6:	55                   	push   %ebp
40b3d7:	8b ec                	mov    %esp,%ebp
40b3d9:	56                   	push   %esi
40b3da:	68 88 5c 42 00       	push   $0x425c88
40b3df:	68 80 5c 42 00       	push   $0x425c80
40b3e4:	68 88 5c 42 00       	push   $0x425c88
40b3e9:	6a 03                	push   $0x3
40b3eb:	e8 ec fe ff ff       	call   0x40b2dc
40b3f0:	83 c4 10             	add    $0x10,%esp
40b3f3:	8b f0                	mov    %eax,%esi
40b3f5:	ff 75 0c             	push   0xc(%ebp)
40b3f8:	ff 75 08             	push   0x8(%ebp)
40b3fb:	85 f6                	test   %esi,%esi
40b3fd:	74 0c                	je     0x40b40b
40b3ff:	8b ce                	mov    %esi,%ecx
40b401:	ff 15 54 41 42 00    	call   *0x424154
40b407:	ff d6                	call   *%esi
40b409:	eb 06                	jmp    0x40b411
40b40b:	ff 15 ac 40 42 00    	call   *0x4240ac
40b411:	5e                   	pop    %esi
40b412:	5d                   	pop    %ebp
40b413:	c3                   	ret
40b414:	55                   	push   %ebp
40b415:	8b ec                	mov    %esp,%ebp
40b417:	56                   	push   %esi
40b418:	68 9c 5c 42 00       	push   $0x425c9c
40b41d:	68 94 5c 42 00       	push   $0x425c94
40b422:	68 9c 5c 42 00       	push   $0x425c9c
40b427:	6a 04                	push   $0x4
40b429:	e8 ae fe ff ff       	call   0x40b2dc
40b42e:	8b f0                	mov    %eax,%esi
40b430:	83 c4 10             	add    $0x10,%esp
40b433:	85 f6                	test   %esi,%esi
40b435:	74 15                	je     0x40b44c
40b437:	ff 75 10             	push   0x10(%ebp)
40b43a:	8b ce                	mov    %esi,%ecx
40b43c:	ff 75 0c             	push   0xc(%ebp)
40b43f:	ff 75 08             	push   0x8(%ebp)
40b442:	ff 15 54 41 42 00    	call   *0x424154
40b448:	ff d6                	call   *%esi
40b44a:	eb 0c                	jmp    0x40b458
40b44c:	ff 75 0c             	push   0xc(%ebp)
40b44f:	ff 75 08             	push   0x8(%ebp)
40b452:	ff 15 a0 40 42 00    	call   *0x4240a0
40b458:	5e                   	pop    %esi
40b459:	5d                   	pop    %ebp
40b45a:	c3                   	ret
40b45b:	56                   	push   %esi
40b45c:	e8 3b ed ff ff       	call   0x40a19c
40b461:	8b 70 04             	mov    0x4(%eax),%esi
40b464:	85 f6                	test   %esi,%esi
40b466:	74 0a                	je     0x40b472
40b468:	8b ce                	mov    %esi,%ecx
40b46a:	ff 15 54 41 42 00    	call   *0x424154
40b470:	ff d6                	call   *%esi
40b472:	e8 9b 6e 00 00       	call   0x412312
40b477:	cc                   	int3
40b478:	55                   	push   %ebp
40b479:	8b ec                	mov    %esp,%ebp
40b47b:	8b 45 10             	mov    0x10(%ebp),%eax
40b47e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b481:	81 78 04 80 00 00 00 	cmpl   $0x80,0x4(%eax)
40b488:	7f 06                	jg     0x40b490
40b48a:	0f be 41 08          	movsbl 0x8(%ecx),%eax
40b48e:	5d                   	pop    %ebp
40b48f:	c3                   	ret
40b490:	8b 41 08             	mov    0x8(%ecx),%eax
40b493:	5d                   	pop    %ebp
40b494:	c3                   	ret
40b495:	55                   	push   %ebp
40b496:	8b ec                	mov    %esp,%ebp
40b498:	8b 45 08             	mov    0x8(%ebp),%eax
40b49b:	8b 4d 10             	mov    0x10(%ebp),%ecx
40b49e:	89 48 08             	mov    %ecx,0x8(%eax)
40b4a1:	5d                   	pop    %ebp
40b4a2:	c3                   	ret
40b4a3:	cc                   	int3
40b4a4:	cc                   	int3
40b4a5:	cc                   	int3
40b4a6:	cc                   	int3
40b4a7:	cc                   	int3
40b4a8:	cc                   	int3
40b4a9:	cc                   	int3
40b4aa:	cc                   	int3
40b4ab:	cc                   	int3
40b4ac:	cc                   	int3
40b4ad:	cc                   	int3
40b4ae:	cc                   	int3
40b4af:	cc                   	int3
40b4b0:	53                   	push   %ebx
40b4b1:	51                   	push   %ecx
40b4b2:	bb 50 30 43 00       	mov    $0x433050,%ebx
40b4b7:	e9 0f 00 00 00       	jmp    0x40b4cb
40b4bc:	cc                   	int3
40b4bd:	cc                   	int3
40b4be:	cc                   	int3
40b4bf:	cc                   	int3
40b4c0:	53                   	push   %ebx
40b4c1:	51                   	push   %ecx
40b4c2:	bb 50 30 43 00       	mov    $0x433050,%ebx
40b4c7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40b4cb:	89 4b 08             	mov    %ecx,0x8(%ebx)
40b4ce:	89 43 04             	mov    %eax,0x4(%ebx)
40b4d1:	89 6b 0c             	mov    %ebp,0xc(%ebx)
40b4d4:	55                   	push   %ebp
40b4d5:	51                   	push   %ecx
40b4d6:	50                   	push   %eax
40b4d7:	58                   	pop    %eax
40b4d8:	59                   	pop    %ecx
40b4d9:	5d                   	pop    %ebp
40b4da:	59                   	pop    %ecx
40b4db:	5b                   	pop    %ebx
40b4dc:	c2 04 00             	ret    $0x4
40b4df:	cc                   	int3
40b4e0:	ff d0                	call   *%eax
40b4e2:	c3                   	ret
40b4e3:	6a 0c                	push   $0xc
40b4e5:	68 98 14 43 00       	push   $0x431498
40b4ea:	e8 d1 ca ff ff       	call   0x407fc0
40b4ef:	8b 75 08             	mov    0x8(%ebp),%esi
40b4f2:	85 f6                	test   %esi,%esi
40b4f4:	75 16                	jne    0x40b50c
40b4f6:	e8 00 39 00 00       	call   0x40edfb
40b4fb:	6a 16                	push   $0x16
40b4fd:	5e                   	pop    %esi
40b4fe:	89 30                	mov    %esi,(%eax)
40b500:	e8 7c 1b 00 00       	call   0x40d081
40b505:	8b c6                	mov    %esi,%eax
40b507:	e9 c5 00 00 00       	jmp    0x40b5d1
40b50c:	33 db                	xor    %ebx,%ebx
40b50e:	89 1e                	mov    %ebx,(%esi)
40b510:	8b 7d 0c             	mov    0xc(%ebp),%edi
40b513:	85 ff                	test   %edi,%edi
40b515:	75 11                	jne    0x40b528
40b517:	e8 df 38 00 00       	call   0x40edfb
40b51c:	6a 09                	push   $0x9
40b51e:	59                   	pop    %ecx
40b51f:	89 08                	mov    %ecx,(%eax)
40b521:	8b c1                	mov    %ecx,%eax
40b523:	e9 a9 00 00 00       	jmp    0x40b5d1
40b528:	39 5d 10             	cmp    %ebx,0x10(%ebp)
40b52b:	74 c9                	je     0x40b4f6
40b52d:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40b530:	74 c4                	je     0x40b4f6
40b532:	38 1f                	cmp    %bl,(%edi)
40b534:	75 0c                	jne    0x40b542
40b536:	e8 c0 38 00 00       	call   0x40edfb
40b53b:	6a 16                	push   $0x16
40b53d:	5e                   	pop    %esi
40b53e:	89 30                	mov    %esi,(%eax)
40b540:	eb c3                	jmp    0x40b505
40b542:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40b545:	ff 75 14             	push   0x14(%ebp)
40b548:	e8 39 02 00 00       	call   0x40b786
40b54d:	59                   	pop    %ecx
40b54e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b551:	8b 45 14             	mov    0x14(%ebp),%eax
40b554:	8b 40 0c             	mov    0xc(%eax),%eax
40b557:	90                   	nop
40b558:	c1 e8 0d             	shr    $0xd,%eax
40b55b:	a8 01                	test   $0x1,%al
40b55d:	74 09                	je     0x40b568
40b55f:	ff 75 14             	push   0x14(%ebp)
40b562:	e8 32 1c 00 00       	call   0x40d199
40b567:	59                   	pop    %ecx
40b568:	8b 45 14             	mov    0x14(%ebp),%eax
40b56b:	89 18                	mov    %ebx,(%eax)
40b56d:	8b 45 14             	mov    0x14(%ebp),%eax
40b570:	89 58 04             	mov    %ebx,0x4(%eax)
40b573:	8b 45 14             	mov    0x14(%ebp),%eax
40b576:	89 58 08             	mov    %ebx,0x8(%eax)
40b579:	33 c9                	xor    %ecx,%ecx
40b57b:	8b 45 14             	mov    0x14(%ebp),%eax
40b57e:	83 c0 0c             	add    $0xc,%eax
40b581:	f0 21 08             	lock and %ecx,(%eax)
40b584:	b9 00 20 00 00       	mov    $0x2000,%ecx
40b589:	8b 45 14             	mov    0x14(%ebp),%eax
40b58c:	83 c0 0c             	add    $0xc,%eax
40b58f:	f0 09 08             	lock or %ecx,(%eax)
40b592:	ff 75 14             	push   0x14(%ebp)
40b595:	ff 75 18             	push   0x18(%ebp)
40b598:	ff 75 10             	push   0x10(%ebp)
40b59b:	57                   	push   %edi
40b59c:	e8 02 7b 00 00       	call   0x4130a3
40b5a1:	83 c4 10             	add    $0x10,%esp
40b5a4:	89 06                	mov    %eax,(%esi)
40b5a6:	85 c0                	test   %eax,%eax
40b5a8:	75 18                	jne    0x40b5c2
40b5aa:	b9 ff df ff ff       	mov    $0xffffdfff,%ecx
40b5af:	8b 45 14             	mov    0x14(%ebp),%eax
40b5b2:	83 c0 0c             	add    $0xc,%eax
40b5b5:	f0 21 08             	lock and %ecx,(%eax)
40b5b8:	e8 3e 38 00 00       	call   0x40edfb
40b5bd:	8b 00                	mov    (%eax),%eax
40b5bf:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40b5c2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40b5c9:	e8 13 00 00 00       	call   0x40b5e1
40b5ce:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40b5d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b5d4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b5db:	59                   	pop    %ecx
40b5dc:	5f                   	pop    %edi
40b5dd:	5e                   	pop    %esi
40b5de:	5b                   	pop    %ebx
40b5df:	c9                   	leave
40b5e0:	c3                   	ret
40b5e1:	ff 75 14             	push   0x14(%ebp)
40b5e4:	e8 b1 01 00 00       	call   0x40b79a
40b5e9:	59                   	pop    %ecx
40b5ea:	c3                   	ret
40b5eb:	8b ff                	mov    %edi,%edi
40b5ed:	55                   	push   %ebp
40b5ee:	8b ec                	mov    %esp,%ebp
40b5f0:	51                   	push   %ecx
40b5f1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b5f5:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b5f8:	6a 40                	push   $0x40
40b5fa:	ff 75 10             	push   0x10(%ebp)
40b5fd:	ff 75 0c             	push   0xc(%ebp)
40b600:	ff 75 08             	push   0x8(%ebp)
40b603:	50                   	push   %eax
40b604:	e8 da fe ff ff       	call   0x40b4e3
40b609:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b60c:	83 c4 14             	add    $0x14,%esp
40b60f:	c9                   	leave
40b610:	c3                   	ret
40b611:	8b ff                	mov    %edi,%edi
40b613:	55                   	push   %ebp
40b614:	8b ec                	mov    %esp,%ebp
40b616:	5d                   	pop    %ebp
40b617:	e9 92 7a 00 00       	jmp    0x4130ae
40b61c:	a1 14 46 43 00       	mov    0x434614,%eax
40b621:	56                   	push   %esi
40b622:	6a 03                	push   $0x3
40b624:	5e                   	pop    %esi
40b625:	85 c0                	test   %eax,%eax
40b627:	75 07                	jne    0x40b630
40b629:	b8 00 02 00 00       	mov    $0x200,%eax
40b62e:	eb 06                	jmp    0x40b636
40b630:	3b c6                	cmp    %esi,%eax
40b632:	7d 07                	jge    0x40b63b
40b634:	8b c6                	mov    %esi,%eax
40b636:	a3 14 46 43 00       	mov    %eax,0x434614
40b63b:	6a 04                	push   $0x4
40b63d:	50                   	push   %eax
40b63e:	e8 6b 7a 00 00       	call   0x4130ae
40b643:	6a 00                	push   $0x0
40b645:	a3 18 46 43 00       	mov    %eax,0x434618
40b64a:	e8 bc 7a 00 00       	call   0x41310b
40b64f:	83 c4 0c             	add    $0xc,%esp
40b652:	83 3d 18 46 43 00 00 	cmpl   $0x0,0x434618
40b659:	75 2b                	jne    0x40b686
40b65b:	6a 04                	push   $0x4
40b65d:	56                   	push   %esi
40b65e:	89 35 14 46 43 00    	mov    %esi,0x434614
40b664:	e8 45 7a 00 00       	call   0x4130ae
40b669:	6a 00                	push   $0x0
40b66b:	a3 18 46 43 00       	mov    %eax,0x434618
40b670:	e8 96 7a 00 00       	call   0x41310b
40b675:	83 c4 0c             	add    $0xc,%esp
40b678:	83 3d 18 46 43 00 00 	cmpl   $0x0,0x434618
40b67f:	75 05                	jne    0x40b686
40b681:	83 c8 ff             	or     $0xffffffff,%eax
40b684:	5e                   	pop    %esi
40b685:	c3                   	ret
40b686:	57                   	push   %edi
40b687:	33 ff                	xor    %edi,%edi
40b689:	be 60 30 43 00       	mov    $0x433060,%esi
40b68e:	6a 00                	push   $0x0
40b690:	68 a0 0f 00 00       	push   $0xfa0
40b695:	8d 46 20             	lea    0x20(%esi),%eax
40b698:	50                   	push   %eax
40b699:	e8 f4 7f 00 00       	call   0x413692
40b69e:	a1 18 46 43 00       	mov    0x434618,%eax
40b6a3:	8b d7                	mov    %edi,%edx
40b6a5:	c1 fa 06             	sar    $0x6,%edx
40b6a8:	89 34 b8             	mov    %esi,(%eax,%edi,4)
40b6ab:	8b c7                	mov    %edi,%eax
40b6ad:	83 e0 3f             	and    $0x3f,%eax
40b6b0:	6b c8 38             	imul   $0x38,%eax,%ecx
40b6b3:	8b 04 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%eax
40b6ba:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40b6be:	83 f8 ff             	cmp    $0xffffffff,%eax
40b6c1:	74 09                	je     0x40b6cc
40b6c3:	83 f8 fe             	cmp    $0xfffffffe,%eax
40b6c6:	74 04                	je     0x40b6cc
40b6c8:	85 c0                	test   %eax,%eax
40b6ca:	75 07                	jne    0x40b6d3
40b6cc:	c7 46 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%esi)
40b6d3:	83 c6 38             	add    $0x38,%esi
40b6d6:	47                   	inc    %edi
40b6d7:	81 fe 08 31 43 00    	cmp    $0x433108,%esi
40b6dd:	75 af                	jne    0x40b68e
40b6df:	5f                   	pop    %edi
40b6e0:	33 c0                	xor    %eax,%eax
40b6e2:	5e                   	pop    %esi
40b6e3:	c3                   	ret
40b6e4:	8b ff                	mov    %edi,%edi
40b6e6:	55                   	push   %ebp
40b6e7:	8b ec                	mov    %esp,%ebp
40b6e9:	6b 45 08 38          	imul   $0x38,0x8(%ebp),%eax
40b6ed:	05 60 30 43 00       	add    $0x433060,%eax
40b6f2:	5d                   	pop    %ebp
40b6f3:	c3                   	ret
40b6f4:	8b ff                	mov    %edi,%edi
40b6f6:	56                   	push   %esi
40b6f7:	e8 82 1e 00 00       	call   0x40d57e
40b6fc:	e8 84 81 00 00       	call   0x413885
40b701:	33 f6                	xor    %esi,%esi
40b703:	a1 18 46 43 00       	mov    0x434618,%eax
40b708:	ff 34 06             	push   (%esi,%eax,1)
40b70b:	e8 20 82 00 00       	call   0x413930
40b710:	a1 18 46 43 00       	mov    0x434618,%eax
40b715:	59                   	pop    %ecx
40b716:	8b 04 06             	mov    (%esi,%eax,1),%eax
40b719:	83 c0 20             	add    $0x20,%eax