411255:	8b d8                	mov    %eax,%ebx
411257:	85 db                	test   %ebx,%ebx
411259:	78 0d                	js     0x411268
41125b:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
411262:	0f 85 ff 92 01 00    	jne    0x42a567
411268:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
41126e:	8b 08                	mov    (%eax),%ecx
411270:	50                   	push   %eax
411271:	8b 79 08             	mov    0x8(%ecx),%edi
411274:	8b cf                	mov    %edi,%ecx
411276:	ff 15 c4 12 45 00    	call   *0x4512c4
41127c:	ff d7                	call   *%edi
41127e:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
411284:	8b 08                	mov    (%eax),%ecx
411286:	50                   	push   %eax
411287:	8b 79 08             	mov    0x8(%ecx),%edi
41128a:	8b cf                	mov    %edi,%ecx
41128c:	ff 15 c4 12 45 00    	call   *0x4512c4
411292:	ff d7                	call   *%edi
411294:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
41129a:	85 c9                	test   %ecx,%ecx
41129c:	74 10                	je     0x4112ae
41129e:	8b 01                	mov    (%ecx),%eax
4112a0:	51                   	push   %ecx
4112a1:	8b 78 08             	mov    0x8(%eax),%edi
4112a4:	8b cf                	mov    %edi,%ecx
4112a6:	ff 15 c4 12 45 00    	call   *0x4512c4
4112ac:	ff d7                	call   *%edi
4112ae:	85 db                	test   %ebx,%ebx
4112b0:	0f 88 1d 03 00 00    	js     0x4115d3
4112b6:	c7 85 48 ff ff ff 00 	movl   $0x0,-0xb8(%ebp)
4112bd:	00 00 00
4112c0:	c7 85 4c ff ff ff 00 	movl   $0x0,-0xb4(%ebp)
4112c7:	00 00 00
4112ca:	bb 03 00 00 00       	mov    $0x3,%ebx
4112cf:	c7 85 34 ff ff ff 00 	movl   $0x0,-0xcc(%ebp)
4112d6:	00 00 00
4112d9:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
4112df:	50                   	push   %eax
4112e0:	68 84 7a 40 00       	push   $0x407a84
4112e5:	ff 15 58 30 45 00    	call   *0x453058
4112eb:	85 c0                	test   %eax,%eax
4112ed:	0f 88 b4 00 00 00    	js     0x4113a7
4112f3:	ff 15 60 30 45 00    	call   *0x453060
4112f9:	85 c0                	test   %eax,%eax
4112fb:	0f 88 87 00 00 00    	js     0x411388
411301:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
411308:	00 00 00
41130b:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
411311:	50                   	push   %eax
411312:	6a 01                	push   $0x1
411314:	6a 08                	push   $0x8
411316:	ff 15 f4 10 45 00    	call   *0x4510f4
41131c:	50                   	push   %eax
41131d:	ff 15 d4 10 45 00    	call   *0x4510d4
411323:	85 c0                	test   %eax,%eax
411325:	0f 84 84 92 01 00    	je     0x42a5af
41132b:	c7 85 08 ff ff ff 00 	movl   $0x0,-0xf8(%ebp)
411332:	00 00 00
411335:	c7 85 00 ff ff ff 00 	movl   $0x0,-0x100(%ebp)
41133c:	00 00 00
41133f:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
411345:	50                   	push   %eax
411346:	6a 04                	push   $0x4
411348:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
41134e:	50                   	push   %eax
41134f:	6a 09                	push   $0x9
411351:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
411357:	ff 15 ac 11 45 00    	call   *0x4511ac
41135d:	8b f8                	mov    %eax,%edi
41135f:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
411365:	ff 15 5c 10 45 00    	call   *0x45105c
41136b:	85 ff                	test   %edi,%edi
41136d:	0f 84 0f 92 01 00    	je     0x42a582
411373:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
411379:	83 f8 02             	cmp    $0x2,%eax
41137c:	0f 85 0a 92 01 00    	jne    0x42a58c
411382:	ff 15 64 30 45 00    	call   *0x453064
411388:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
41138e:	8b 08                	mov    (%eax),%ecx
411390:	50                   	push   %eax
411391:	8b 79 08             	mov    0x8(%ecx),%edi
411394:	8b cf                	mov    %edi,%ecx
411396:	ff 15 c4 12 45 00    	call   *0x4512c4
41139c:	ff d7                	call   *%edi
41139e:	83 fb 02             	cmp    $0x2,%ebx
4113a1:	0f 84 26 92 01 00    	je     0x42a5cd
4113a7:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
4113ad:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
4113b3:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
4113ba:	00 00 00
4113bd:	8b 38                	mov    (%eax),%edi
4113bf:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
4113c5:	51                   	push   %ecx
4113c6:	68 d8 6a 40 00       	push   $0x406ad8
4113cb:	50                   	push   %eax
4113cc:	8b 3f                	mov    (%edi),%edi
4113ce:	8b cf                	mov    %edi,%ecx
4113d0:	ff 15 c4 12 45 00    	call   *0x4512c4
4113d6:	ff d7                	call   *%edi
4113d8:	8b d8                	mov    %eax,%ebx
4113da:	85 db                	test   %ebx,%ebx
4113dc:	78 60                	js     0x41143e
4113de:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
4113e5:	00 00 00
4113e8:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
4113ee:	8b 38                	mov    (%eax),%edi
4113f0:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
4113f6:	51                   	push   %ecx
4113f7:	68 a4 7a 40 00       	push   $0x407aa4
4113fc:	50                   	push   %eax
4113fd:	8b 3f                	mov    (%edi),%edi
4113ff:	8b cf                	mov    %edi,%ecx
411401:	ff 15 c4 12 45 00    	call   *0x4512c4
411407:	ff d7                	call   *%edi
411409:	8b d8                	mov    %eax,%ebx
41140b:	85 db                	test   %ebx,%ebx
41140d:	0f 89 df 91 01 00    	jns    0x42a5f2
411413:	81 fb 02 40 00 80    	cmp    $0x80004002,%ebx
411419:	75 05                	jne    0x411420
41141b:	bb 02 10 04 80       	mov    $0x80041002,%ebx
411420:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
411426:	8b 08                	mov    (%eax),%ecx
411428:	50                   	push   %eax
411429:	8b 79 08             	mov    0x8(%ecx),%edi
41142c:	8b cf                	mov    %edi,%ecx
41142e:	ff 15 c4 12 45 00    	call   *0x4512c4
411434:	ff d7                	call   *%edi
411436:	85 db                	test   %ebx,%ebx
411438:	0f 89 f4 91 01 00    	jns    0x42a632
41143e:	81 fb 02 10 04 80    	cmp    $0x80041002,%ebx
411444:	0f 85 3b 92 01 00    	jne    0x42a685
41144a:	c7 45 fc 10 00 00 00 	movl   $0x10,-0x4(%ebp)
411451:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
411457:	83 b8 6c 06 00 00 00 	cmpl   $0x0,0x66c(%eax)
41145e:	0f 85 d2 92 01 00    	jne    0x42a736
411464:	33 db                	xor    %ebx,%ebx
411466:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
41146c:	8b 12                	mov    (%edx),%edx
41146e:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
411474:	8b 38                	mov    (%eax),%edi
411476:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
41147c:	51                   	push   %ecx
41147d:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
411483:	ff b5 10 ff ff ff    	push   -0xf0(%ebp)
411489:	53                   	push   %ebx
41148a:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
411490:	6a 00                	push   $0x0
411492:	f7 da                	neg    %edx
411494:	1b d2                	sbb    %edx,%edx
411496:	23 95 28 ff ff ff    	and    -0xd8(%ebp),%edx
41149c:	52                   	push   %edx
41149d:	50                   	push   %eax
41149e:	8b 7f 0c             	mov    0xc(%edi),%edi
4114a1:	8b cf                	mov    %edi,%ecx
4114a3:	ff 15 c4 12 45 00    	call   *0x4512c4
4114a9:	ff d7                	call   *%edi
4114ab:	8b d8                	mov    %eax,%ebx
4114ad:	89 9d 20 ff ff ff    	mov    %ebx,-0xe0(%ebp)
4114b3:	a1 00 f0 44 00       	mov    0x44f000,%eax
4114b8:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4114bd:	74 0a                	je     0x4114c9
4114bf:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4114c3:	0f 85 78 92 01 00    	jne    0x42a741
4114c9:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4114d0:	8b bd 38 ff ff ff    	mov    -0xc8(%ebp),%edi
4114d6:	ff 15 64 30 45 00    	call   *0x453064
4114dc:	85 db                	test   %ebx,%ebx
4114de:	0f 88 7c 93 01 00    	js     0x42a860
4114e4:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
4114ea:	ff b7 94 06 00 00    	push   0x694(%edi)
4114f0:	ff 76 0c             	push   0xc(%esi)
4114f3:	ff 15 38 11 45 00    	call   *0x451138
4114f9:	3d 02 01 00 00       	cmp    $0x102,%eax
4114fe:	0f 84 2f 93 01 00    	je     0x42a833
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