411504:	8b 5b 10             	mov    0x10(%ebx),%ebx
411507:	85 db                	test   %ebx,%ebx
411509:	0f 88 51 93 01 00    	js     0x42a860
41150f:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
411516:	0f 85 28 93 01 00    	jne    0x42a844
41151c:	33 c9                	xor    %ecx,%ecx
41151e:	83 bf 6c 06 00 00 00 	cmpl   $0x0,0x66c(%edi)
411525:	0f 85 24 93 01 00    	jne    0x42a84f
41152b:	33 c0                	xor    %eax,%eax
41152d:	51                   	push   %ecx
41152e:	50                   	push   %eax
41152f:	8b 87 68 06 00 00    	mov    0x668(%edi),%eax
411535:	f7 d8                	neg    %eax
411537:	1b c0                	sbb    %eax,%eax
411539:	23 85 28 ff ff ff    	and    -0xd8(%ebp),%eax
41153f:	50                   	push   %eax
411540:	ff 77 38             	push   0x38(%edi)
411543:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
411549:	6a 01                	push   $0x1
41154b:	ff 35 94 09 45 00    	push   0x450994
411551:	ff 15 24 10 45 00    	call   *0x451024
411557:	83 c4 1c             	add    $0x1c,%esp
41155a:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
411560:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
411566:	8b bd 18 ff ff ff    	mov    -0xe8(%ebp),%edi
41156c:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
411572:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
411579:	00 00 00
41157c:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
411582:	50                   	push   %eax
411583:	57                   	push   %edi
411584:	ff 15 5c 30 45 00    	call   *0x45305c
41158a:	85 c0                	test   %eax,%eax
41158c:	78 31                	js     0x4115bf
41158e:	85 ff                	test   %edi,%edi
411590:	74 0d                	je     0x41159f
411592:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
411599:	0f 85 1b 93 01 00    	jne    0x42a8ba
41159f:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
4115a5:	85 c9                	test   %ecx,%ecx
4115a7:	74 16                	je     0x4115bf
4115a9:	8b 01                	mov    (%ecx),%eax
4115ab:	51                   	push   %ecx
4115ac:	8b 78 08             	mov    0x8(%eax),%edi
4115af:	8b cf                	mov    %edi,%ecx
4115b1:	ff 15 c4 12 45 00    	call   *0x4512c4
4115b7:	ff d7                	call   *%edi
4115b9:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
4115bf:	85 ff                	test   %edi,%edi
4115c1:	74 10                	je     0x4115d3
4115c3:	8b 07                	mov    (%edi),%eax
4115c5:	57                   	push   %edi
4115c6:	8b 78 08             	mov    0x8(%eax),%edi
4115c9:	8b cf                	mov    %edi,%ecx
4115cb:	ff 15 c4 12 45 00    	call   *0x4512c4
4115d1:	ff d7                	call   *%edi
4115d3:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
4115d9:	8b 01                	mov    (%ecx),%eax
4115db:	8b 78 08             	mov    0x8(%eax),%edi
4115de:	51                   	push   %ecx
4115df:	81 ff 70 16 41 00    	cmp    $0x411670,%edi
4115e5:	0f 85 34 93 01 00    	jne    0x42a91f
4115eb:	e8 80 00 00 00       	call   0x411670
4115f0:	8b 06                	mov    (%esi),%eax
4115f2:	8b 78 08             	mov    0x8(%eax),%edi
4115f5:	56                   	push   %esi
4115f6:	81 ff 40 17 41 00    	cmp    $0x411740,%edi
4115fc:	0f 85 36 93 01 00    	jne    0x42a938
411602:	e8 39 01 00 00       	call   0x411740
411607:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
41160d:	8b 08                	mov    (%eax),%ecx
41160f:	50                   	push   %eax
411610:	8b 71 08             	mov    0x8(%ecx),%esi
411613:	8b ce                	mov    %esi,%ecx
411615:	ff 15 c4 12 45 00    	call   *0x4512c4
41161b:	ff d6                	call   *%esi
41161d:	85 db                	test   %ebx,%ebx
41161f:	0f 88 6e 93 01 00    	js     0x42a993
411625:	a1 00 f0 44 00       	mov    0x44f000,%eax
41162a:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
41162f:	74 0a                	je     0x41163b
411631:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
411635:	0f 85 6c 93 01 00    	jne    0x42a9a7
41163b:	8b c3                	mov    %ebx,%eax
41163d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411640:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411647:	59                   	pop    %ecx
411648:	5f                   	pop    %edi
411649:	5e                   	pop    %esi
41164a:	5b                   	pop    %ebx
41164b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41164e:	33 cd                	xor    %ebp,%ecx
411650:	e8 bb dc 00 00       	call   0x41f310
411655:	8b e5                	mov    %ebp,%esp
411657:	5d                   	pop    %ebp
411658:	c2 30 00             	ret    $0x30
41165b:	83 bf 64 06 00 00 00 	cmpl   $0x0,0x664(%edi)
411662:	0f 84 60 f8 ff ff    	je     0x410ec8
411668:	e9 62 89 01 00       	jmp    0x429fcf
41166d:	cc                   	int3
41166e:	cc                   	int3
41166f:	cc                   	int3
411670:	8b ff                	mov    %edi,%edi
411672:	55                   	push   %ebp
411673:	8b ec                	mov    %esp,%ebp
411675:	6a ff                	push   $0xffffffff
411677:	68 c0 34 42 00       	push   $0x4234c0
41167c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411682:	50                   	push   %eax
411683:	53                   	push   %ebx
411684:	56                   	push   %esi
411685:	57                   	push   %edi
411686:	a1 54 02 45 00       	mov    0x450254,%eax
41168b:	33 c5                	xor    %ebp,%eax
41168d:	50                   	push   %eax
41168e:	8d 45 f4             	lea    -0xc(%ebp),%eax
411691:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411697:	8b 75 08             	mov    0x8(%ebp),%esi
41169a:	83 cb ff             	or     $0xffffffff,%ebx
41169d:	f0 0f c1 5e 04       	lock xadd %ebx,0x4(%esi)
4116a2:	4b                   	dec    %ebx
4116a3:	75 7c                	jne    0x411721
4116a5:	85 f6                	test   %esi,%esi
4116a7:	74 78                	je     0x411721
4116a9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4116b0:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
4116b4:	c7 06 d8 13 40 00    	movl   $0x4013d8,(%esi)
4116ba:	0f 84 0c 93 01 00    	je     0x42a9cc
4116c0:	8b 4e 14             	mov    0x14(%esi),%ecx
4116c3:	85 c9                	test   %ecx,%ecx
4116c5:	74 17                	je     0x4116de
4116c7:	8b 01                	mov    (%ecx),%eax
4116c9:	51                   	push   %ecx
4116ca:	8b 78 08             	mov    0x8(%eax),%edi
4116cd:	81 ff 40 17 41 00    	cmp    $0x411740,%edi
4116d3:	0f 85 12 93 01 00    	jne    0x42a9eb
4116d9:	e8 62 00 00 00       	call   0x411740
4116de:	f0 ff 0d 74 0a 45 00 	lock decl 0x450a74
4116e5:	f0 ff 0d 7c 0b 45 00 	lock decl 0x450b7c
4116ec:	83 3d c0 0a 45 00 00 	cmpl   $0x0,0x450ac0
4116f3:	0f 84 01 93 01 00    	je     0x42a9fa
4116f9:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
411700:	a1 80 0b 45 00       	mov    0x450b80,%eax
411705:	8b 40 04             	mov    0x4(%eax),%eax
411708:	85 c0                	test   %eax,%eax
41170a:	74 0e                	je     0x41171a
41170c:	56                   	push   %esi
41170d:	6a 00                	push   $0x0
41170f:	50                   	push   %eax
411710:	ff 15 70 10 45 00    	call   *0x451070
411716:	85 c0                	test   %eax,%eax
411718:	74 1d                	je     0x411737
41171a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
411721:	8b c3                	mov    %ebx,%eax
411723:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411726:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41172d:	59                   	pop    %ecx
41172e:	5f                   	pop    %edi
41172f:	5e                   	pop    %esi
411730:	5b                   	pop    %ebx
411731:	8b e5                	mov    %ebp,%esp
411733:	5d                   	pop    %ebp
411734:	c2 04 00             	ret    $0x4
411737:	ff 15 54 10 45 00    	call   *0x451054
41173d:	eb db                	jmp    0x41171a
41173f:	cc                   	int3
411740:	8b ff                	mov    %edi,%edi
411742:	55                   	push   %ebp
411743:	8b ec                	mov    %esp,%ebp
411745:	56                   	push   %esi
411746:	8b 75 08             	mov    0x8(%ebp),%esi
411749:	57                   	push   %edi
41174a:	83 cf ff             	or     $0xffffffff,%edi
41174d:	f0 0f c1 7e 04       	lock xadd %edi,0x4(%esi)
411752:	4f                   	dec    %edi
411753:	75 20                	jne    0x411775
411755:	85 f6                	test   %esi,%esi
411757:	74 1c                	je     0x411775
411759:	8b 06                	mov    (%esi),%eax
41175b:	53                   	push   %ebx
41175c:	6a 01                	push   $0x1
41175e:	8b 58 10             	mov    0x10(%eax),%ebx
411761:	81 fb 80 17 41 00    	cmp    $0x411780,%ebx
411767:	0f 85 a8 92 01 00    	jne    0x42aa15
41176d:	8b ce                	mov    %esi,%ecx
41176f:	e8 0c 00 00 00       	call   0x411780
411774:	5b                   	pop    %ebx
411775:	8b c7                	mov    %edi,%eax
411777:	5f                   	pop    %edi
411778:	5e                   	pop    %esi
411779:	5d                   	pop    %ebp
41177a:	c2 04 00             	ret    $0x4
41177d:	cc                   	int3
41177e:	cc                   	int3
41177f:	cc                   	int3
411780:	8b ff                	mov    %edi,%edi
411782:	55                   	push   %ebp
411783:	8b ec                	mov    %esp,%ebp
411785:	6a ff                	push   $0xffffffff
411787:	68 e0 34 42 00       	push   $0x4234e0
41178c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411792:	50                   	push   %eax
411793:	56                   	push   %esi
411794:	a1 54 02 45 00       	mov    0x450254,%eax
411799:	33 c5                	xor    %ebp,%eax
41179b:	50                   	push   %eax
41179c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41179f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4117a5:	8b f1                	mov    %ecx,%esi
4117a7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4117ae:	8b 46 0c             	mov    0xc(%esi),%eax
4117b1:	c7 06 ec 13 40 00    	movl   $0x4013ec,(%esi)
4117b7:	85 c0                	test   %eax,%eax
4117b9:	74 07                	je     0x4117c2
4117bb:	50                   	push   %eax
4117bc:	ff 15 5c 10 45 00    	call   *0x45105c
4117c2:	8b 46 14             	mov    0x14(%esi),%eax
4117c5:	85 c0                	test   %eax,%eax
4117c7:	0f 85 59 92 01 00    	jne    0x42aa26
4117cd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4117d1:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4117d8:	74 28                	je     0x411802
4117da:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4117e1:	a1 80 0b 45 00       	mov    0x450b80,%eax
4117e6:	8b 40 04             	mov    0x4(%eax),%eax
4117e9:	85 c0                	test   %eax,%eax
4117eb:	74 0e                	je     0x4117fb
4117ed:	56                   	push   %esi
4117ee:	6a 00                	push   $0x0
4117f0:	50                   	push   %eax
4117f1:	ff 15 70 10 45 00    	call   *0x451070
4117f7:	85 c0                	test   %eax,%eax
4117f9:	74 1b                	je     0x411816
4117fb:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
411802:	8b c6                	mov    %esi,%eax
411804:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411807:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41180e:	59                   	pop    %ecx
41180f:	5e                   	pop    %esi
411810:	8b e5                	mov    %ebp,%esp
411812:	5d                   	pop    %ebp
411813:	c2 04 00             	ret    $0x4
411816:	ff 15 54 10 45 00    	call   *0x451054
41181c:	eb dd                	jmp    0x4117fb
41181e:	cc                   	int3
41181f:	cc                   	int3
411820:	8b ff                	mov    %edi,%edi
411822:	55                   	push   %ebp
411823:	8b ec                	mov    %esp,%ebp
411825:	6a ff                	push   $0xffffffff
411827:	68 48 35 42 00       	push   $0x423548
41182c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411832:	50                   	push   %eax
411833:	83 ec 08             	sub    $0x8,%esp
411836:	53                   	push   %ebx
411837:	56                   	push   %esi
411838:	57                   	push   %edi
411839:	a1 54 02 45 00       	mov    0x450254,%eax
41183e:	33 c5                	xor    %ebp,%eax
411840:	50                   	push   %eax
411841:	8d 45 f4             	lea    -0xc(%ebp),%eax
411844:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41184a:	8b d9                	mov    %ecx,%ebx
41184c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41184f:	8b 4d 20             	mov    0x20(%ebp),%ecx
411852:	8b 55 14             	mov    0x14(%ebp),%edx
411855:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41185c:	c7 43 58 04 14 40 00 	movl   $0x401404,0x58(%ebx)
411863:	c7 43 5c 00 00 00 00 	movl   $0x0,0x5c(%ebx)
41186a:	c7 43 60 00 00 00 00 	movl   $0x0,0x60(%ebx)
411871:	c7 43 64 00 00 00 00 	movl   $0x0,0x64(%ebx)
411878:	c7 43 68 00 00 00 00 	movl   $0x0,0x68(%ebx)
41187f:	89 53 6c             	mov    %edx,0x6c(%ebx)
411882:	8b 01                	mov    (%ecx),%eax
411884:	89 43 70             	mov    %eax,0x70(%ebx)
411887:	8b 41 04             	mov    0x4(%ecx),%eax
41188a:	89 43 74             	mov    %eax,0x74(%ebx)
41188d:	8b 41 08             	mov    0x8(%ecx),%eax
411890:	89 43 78             	mov    %eax,0x78(%ebx)
411893:	8b 41 0c             	mov    0xc(%ecx),%eax
411896:	89 43 7c             	mov    %eax,0x7c(%ebx)
411899:	c7 83 80 00 00 00 01 	movl   $0x1,0x80(%ebx)
4118a0:	00 00 00
4118a3:	85 d2                	test   %edx,%edx
4118a5:	74 10                	je     0x4118b7
4118a7:	8b 02                	mov    (%edx),%eax
4118a9:	52                   	push   %edx
4118aa:	8b 70 04             	mov    0x4(%eax),%esi
4118ad:	8b ce                	mov    %esi,%ecx
4118af:	ff 15 c4 12 45 00    	call   *0x4512c4
4118b5:	ff d6                	call   *%esi
4118b7:	8d b3 84 00 00 00    	lea    0x84(%ebx),%esi
4118bd:	c7 45 fc 18 00 00 00 	movl   $0x18,-0x4(%ebp)
4118c4:	89 75 f0             	mov    %esi,-0x10(%ebp)
4118c7:	8d 7e 08             	lea    0x8(%esi),%edi
4118ca:	6a 00                	push   $0x0
4118cc:	c7 06 34 14 40 00    	movl   $0x401434,(%esi)
4118d2:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4118d9:	57                   	push   %edi
4118da:	66 c7 47 18 00 00    	movw   $0x0,0x18(%edi)
4118e0:	ff 15 50 11 45 00    	call   *0x451150
4118e6:	85 c0                	test   %eax,%eax
4118e8:	0f 84 51 91 01 00    	je     0x42aa3f
4118ee:	b0 01                	mov    $0x1,%al
4118f0:	88 47 18             	mov    %al,0x18(%edi)
4118f3:	3c 01                	cmp    $0x1,%al
4118f5:	0f 85 4b 91 01 00    	jne    0x42aa46
4118fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4118fe:	c6 45 fc 19          	movb   $0x19,-0x4(%ebp)
411902:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
411909:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
411910:	89 4e 2c             	mov    %ecx,0x2c(%esi)
411913:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
411917:	8b 45 10             	mov    0x10(%ebp),%eax
41191a:	c7 06 80 17 40 00    	movl   $0x401780,(%esi)
411920:	8d b3 f0 00 00 00    	lea    0xf0(%ebx),%esi
411926:	c7 03 6c 14 40 00    	movl   $0x40146c,(%ebx)
41192c:	8d 7e 08             	lea    0x8(%esi),%edi
41192f:	c7 43 04 d8 14 40 00 	movl   $0x4014d8,0x4(%ebx)
411936:	c7 43 08 f0 14 40 00 	movl   $0x4014f0,0x8(%ebx)
41193d:	c7 43 0c 04 15 40 00 	movl   $0x401504,0xc(%ebx)
411944:	c7 43 10 1c 15 40 00 	movl   $0x40151c,0x10(%ebx)
41194b:	c7 43 14 30 15 40 00 	movl   $0x401530,0x14(%ebx)
411952:	c7 43 18 44 15 40 00 	movl   $0x401544,0x18(%ebx)
411959:	c7 43 1c 5c 15 40 00 	movl   $0x40155c,0x1c(%ebx)
411960:	c7 43 20 70 15 40 00 	movl   $0x401570,0x20(%ebx)
411967:	c7 43 24 98 15 40 00 	movl   $0x401598,0x24(%ebx)
41196e:	c7 43 28 04 16 40 00 	movl   $0x401604,0x28(%ebx)
411975:	c7 43 2c 1c 16 40 00 	movl   $0x40161c,0x2c(%ebx)
41197c:	c7 43 30 30 16 40 00 	movl   $0x401630,0x30(%ebx)
411983:	c7 43 34 48 16 40 00 	movl   $0x401648,0x34(%ebx)
41198a:	c7 43 38 5c 16 40 00 	movl   $0x40165c,0x38(%ebx)
411991:	c7 43 3c 74 16 40 00 	movl   $0x401674,0x3c(%ebx)
411998:	c7 43 40 88 16 40 00 	movl   $0x401688,0x40(%ebx)
41199f:	c7 43 44 b8 16 40 00 	movl   $0x4016b8,0x44(%ebx)
4119a6:	c7 43 48 cc 16 40 00 	movl   $0x4016cc,0x48(%ebx)
4119ad:	c7 43 4c e0 16 40 00 	movl   $0x4016e0,0x4c(%ebx)
4119b4:	c7 43 50 f8 16 40 00 	movl   $0x4016f8,0x50(%ebx)
4119bb:	c7 43 54 24 17 40 00 	movl   $0x401724,0x54(%ebx)
4119c2:	c7 43 58 50 17 40 00 	movl   $0x401750,0x58(%ebx)
4119c9:	c7 83 b4 00 00 00 00 	movl   $0x0,0xb4(%ebx)
4119d0:	00 00 00
4119d3:	c7 83 b8 00 00 00 00 	movl   $0x0,0xb8(%ebx)
4119da:	00 00 00
4119dd:	c7 83 bc 00 00 00 00 	movl   $0x0,0xbc(%ebx)
4119e4:	00 00 00
4119e7:	c7 83 c0 00 00 00 00 	movl   $0x0,0xc0(%ebx)
4119ee:	00 00 00
4119f1:	c7 83 c4 00 00 00 00 	movl   $0x0,0xc4(%ebx)
4119f8:	00 00 00