4153af:	0f 84 af 76 01 00    	je     0x42ca64
4153b5:	89 87 b4 00 00 00    	mov    %eax,0xb4(%edi)
4153bb:	85 c0                	test   %eax,%eax
4153bd:	0f 84 ce 76 01 00    	je     0x42ca91
4153c3:	80 bf d0 00 00 00 00 	cmpb   $0x0,0xd0(%edi)
4153ca:	0f 84 c1 76 01 00    	je     0x42ca91
4153d0:	8b 87 dc 00 00 00    	mov    0xdc(%edi),%eax
4153d6:	33 c9                	xor    %ecx,%ecx
4153d8:	c7 87 e0 00 00 00 01 	movl   $0x1,0xe0(%edi)
4153df:	00 00 00
4153e2:	85 c0                	test   %eax,%eax
4153e4:	74 22                	je     0x415408
4153e6:	eb 08                	jmp    0x4153f0
4153e8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4153ef:	90                   	nop
4153f0:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
4153f6:	c7 04 88 00 00 00 00 	movl   $0x0,(%eax,%ecx,4)
4153fd:	41                   	inc    %ecx
4153fe:	8b 87 dc 00 00 00    	mov    0xdc(%edi),%eax
415404:	3b c8                	cmp    %eax,%ecx
415406:	72 e8                	jb     0x4153f0
415408:	33 db                	xor    %ebx,%ebx
41540a:	85 c0                	test   %eax,%eax
41540c:	0f 84 c8 00 00 00    	je     0x4154da
415412:	a1 80 0b 45 00       	mov    0x450b80,%eax
415417:	8b 48 08             	mov    0x8(%eax),%ecx
41541a:	8b 40 04             	mov    0x4(%eax),%eax
41541d:	83 e1 05             	and    $0x5,%ecx
415420:	83 c9 08             	or     $0x8,%ecx
415423:	85 c0                	test   %eax,%eax
415425:	0f 84 4c 76 01 00    	je     0x42ca77
41542b:	6a 10                	push   $0x10
41542d:	51                   	push   %ecx
41542e:	50                   	push   %eax
41542f:	ff 15 78 10 45 00    	call   *0x451078
415435:	8b f0                	mov    %eax,%esi
415437:	85 f6                	test   %esi,%esi
415439:	0f 84 32 76 01 00    	je     0x42ca71
41543f:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
415445:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41544c:	85 f6                	test   %esi,%esi
41544e:	0f 84 2a 76 01 00    	je     0x42ca7e
415454:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
41545a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
415460:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
415467:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
41546e:	89 46 0c             	mov    %eax,0xc(%esi)
415471:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
415478:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
41547e:	89 34 98             	mov    %esi,(%eax,%ebx,4)
415481:	85 f6                	test   %esi,%esi
415483:	0f 84 02 76 01 00    	je     0x42ca8b
415489:	8b 46 0c             	mov    0xc(%esi),%eax
41548c:	8b 48 08             	mov    0x8(%eax),%ecx
41548f:	8b 40 04             	mov    0x4(%eax),%eax
415492:	83 e1 05             	and    $0x5,%ecx
415495:	83 c9 08             	or     $0x8,%ecx
415498:	85 c0                	test   %eax,%eax
41549a:	0f 84 eb 75 01 00    	je     0x42ca8b
4154a0:	68 84 00 00 00       	push   $0x84
4154a5:	51                   	push   %ecx
4154a6:	50                   	push   %eax
4154a7:	ff 15 78 10 45 00    	call   *0x451078
4154ad:	8b c8                	mov    %eax,%ecx
4154af:	85 c9                	test   %ecx,%ecx
4154b1:	0f 84 ce 75 01 00    	je     0x42ca85
4154b7:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4154bd:	43                   	inc    %ebx
4154be:	8b 06                	mov    (%esi),%eax
4154c0:	89 01                	mov    %eax,(%ecx)
4154c2:	83 46 08 20          	addl   $0x20,0x8(%esi)
4154c6:	89 0e                	mov    %ecx,(%esi)
4154c8:	3b 9f dc 00 00 00    	cmp    0xdc(%edi),%ebx
4154ce:	0f 82 3e ff ff ff    	jb     0x415412
4154d4:	8b b5 50 ff ff ff    	mov    -0xb0(%ebp),%esi
4154da:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
4154e0:	85 c0                	test   %eax,%eax
4154e2:	0f 85 c4 00 00 00    	jne    0x4155ac
4154e8:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
4154ee:	85 c0                	test   %eax,%eax
4154f0:	0f 85 af 75 01 00    	jne    0x42caa5
4154f6:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
4154fc:	85 c0                	test   %eax,%eax
4154fe:	74 15                	je     0x415515
415500:	50                   	push   %eax
415501:	ff 15 10 30 45 00    	call   *0x453010
415507:	89 87 00 01 00 00    	mov    %eax,0x100(%edi)
41550d:	85 c0                	test   %eax,%eax
41550f:	0f 84 af 75 01 00    	je     0x42cac4
415515:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
41551b:	85 c0                	test   %eax,%eax
41551d:	0f 85 ab 75 01 00    	jne    0x42cace
415523:	33 db                	xor    %ebx,%ebx
415525:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
41552b:	85 c9                	test   %ecx,%ecx
41552d:	0f 85 c3 75 01 00    	jne    0x42caf6
415533:	85 db                	test   %ebx,%ebx
415535:	78 18                	js     0x41554f
415537:	6a 00                	push   $0x0
415539:	6a 00                	push   $0x0
41553b:	6a 01                	push   $0x1
41553d:	6a 00                	push   $0x0
41553f:	ff 15 34 11 45 00    	call   *0x451134
415545:	89 87 ec 00 00 00    	mov    %eax,0xec(%edi)
41554b:	85 c0                	test   %eax,%eax
41554d:	74 77                	je     0x4155c6
41554f:	8b 06                	mov    (%esi),%eax
415551:	6a 00                	push   $0x0
415553:	53                   	push   %ebx
415554:	ff b5 50 ff ff ff    	push   -0xb0(%ebp)
41555a:	8b 70 0c             	mov    0xc(%eax),%esi
41555d:	81 fe d0 55 41 00    	cmp    $0x4155d0,%esi
415563:	0f 85 c0 75 01 00    	jne    0x42cb29
415569:	e8 62 00 00 00       	call   0x4155d0
41556e:	85 db                	test   %ebx,%ebx
415570:	0f 88 c2 75 01 00    	js     0x42cb38
415576:	a1 00 f0 44 00       	mov    0x44f000,%eax
41557b:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
415580:	74 0a                	je     0x41558c
415582:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
415586:	0f 85 c0 75 01 00    	jne    0x42cb4c
41558c:	8b c3                	mov    %ebx,%eax
41558e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
415591:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
415598:	59                   	pop    %ecx
415599:	5f                   	pop    %edi
41559a:	5e                   	pop    %esi
41559b:	5b                   	pop    %ebx
41559c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41559f:	33 cd                	xor    %ebp,%ecx
4155a1:	e8 6a 9d 00 00       	call   0x41f310
4155a6:	8b e5                	mov    %ebp,%esp
4155a8:	5d                   	pop    %ebp
4155a9:	c2 28 00             	ret    $0x28
4155ac:	50                   	push   %eax
4155ad:	ff 15 10 30 45 00    	call   *0x453010
4155b3:	89 87 fc 00 00 00    	mov    %eax,0xfc(%edi)
4155b9:	85 c0                	test   %eax,%eax
4155bb:	0f 85 27 ff ff ff    	jne    0x4154e8
4155c1:	e9 d5 74 01 00       	jmp    0x42ca9b
4155c6:	bb 06 10 04 80       	mov    $0x80041006,%ebx
4155cb:	eb 82                	jmp    0x41554f
4155cd:	cc                   	int3
4155ce:	cc                   	int3
4155cf:	cc                   	int3
4155d0:	8b ff                	mov    %edi,%edi
4155d2:	55                   	push   %ebp
4155d3:	8b ec                	mov    %esp,%ebp
4155d5:	56                   	push   %esi
4155d6:	8b 75 08             	mov    0x8(%ebp),%esi
4155d9:	57                   	push   %edi
4155da:	ff 46 0c             	incl   0xc(%esi)
4155dd:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
4155e1:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
4155e8:	74 4b                	je     0x415635
4155ea:	8b 4e 14             	mov    0x14(%esi),%ecx
4155ed:	ff 75 10             	push   0x10(%ebp)
4155f0:	ff 75 0c             	push   0xc(%ebp)
4155f3:	8b 01                	mov    (%ecx),%eax
4155f5:	51                   	push   %ecx
4155f6:	8b 78 0c             	mov    0xc(%eax),%edi
4155f9:	81 ff 40 56 41 00    	cmp    $0x415640,%edi
4155ff:	0f 85 6c 75 01 00    	jne    0x42cb71
415605:	e8 36 00 00 00       	call   0x415640
41560a:	8b f8                	mov    %eax,%edi
41560c:	ff 4e 0c             	decl   0xc(%esi)
41560f:	85 ff                	test   %edi,%edi
415611:	0f 88 69 75 01 00    	js     0x42cb80
415617:	a1 00 f0 44 00       	mov    0x44f000,%eax
41561c:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
415621:	74 0a                	je     0x41562d
415623:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
415627:	0f 85 67 75 01 00    	jne    0x42cb94
41562d:	8b c7                	mov    %edi,%eax
41562f:	5f                   	pop    %edi
415630:	5e                   	pop    %esi
415631:	5d                   	pop    %ebp
415632:	c2 0c 00             	ret    $0xc
415635:	bf 33 10 04 80       	mov    $0x80041033,%edi
41563a:	eb d0                	jmp    0x41560c
41563c:	cc                   	int3
41563d:	cc                   	int3
41563e:	cc                   	int3
41563f:	cc                   	int3
415640:	8b ff                	mov    %edi,%edi
415642:	55                   	push   %ebp
415643:	8b ec                	mov    %esp,%ebp
415645:	56                   	push   %esi
415646:	57                   	push   %edi
415647:	8b 7d 08             	mov    0x8(%ebp),%edi
41564a:	33 f6                	xor    %esi,%esi
41564c:	39 77 14             	cmp    %esi,0x14(%edi)
41564f:	0f 85 64 75 01 00    	jne    0x42cbb9
415655:	8b 45 0c             	mov    0xc(%ebp),%eax
415658:	85 f6                	test   %esi,%esi
41565a:	78 32                	js     0x41568e
41565c:	89 47 10             	mov    %eax,0x10(%edi)
41565f:	ff 77 0c             	push   0xc(%edi)
415662:	ff 15 4c 11 45 00    	call   *0x45114c
415668:	85 f6                	test   %esi,%esi
41566a:	0f 88 71 75 01 00    	js     0x42cbe1
415670:	a1 00 f0 44 00       	mov    0x44f000,%eax
415675:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
41567a:	74 0a                	je     0x415686
41567c:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
415680:	0f 85 6f 75 01 00    	jne    0x42cbf5
415686:	5f                   	pop    %edi
415687:	8b c6                	mov    %esi,%eax
415689:	5e                   	pop    %esi
41568a:	5d                   	pop    %ebp
41568b:	c2 0c 00             	ret    $0xc
41568e:	8b c6                	mov    %esi,%eax
415690:	eb ca                	jmp    0x41565c
415692:	cc                   	int3
415693:	cc                   	int3
415694:	cc                   	int3
415695:	cc                   	int3
415696:	cc                   	int3
415697:	cc                   	int3
415698:	cc                   	int3
415699:	cc                   	int3
41569a:	cc                   	int3
41569b:	cc                   	int3
41569c:	cc                   	int3
41569d:	cc                   	int3
41569e:	cc                   	int3
41569f:	cc                   	int3
4156a0:	8b ff                	mov    %edi,%edi
4156a2:	55                   	push   %ebp
4156a3:	8b ec                	mov    %esp,%ebp
4156a5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4156a8:	56                   	push   %esi
4156a9:	85 c9                	test   %ecx,%ecx
4156ab:	0f 84 93 75 01 00    	je     0x42cc44
4156b1:	8b 45 08             	mov    0x8(%ebp),%eax
4156b4:	8b 31                	mov    (%ecx),%esi
4156b6:	05 94 00 00 00       	add    $0x94,%eax
4156bb:	50                   	push   %eax
4156bc:	68 f8 6b 40 00       	push   $0x406bf8
4156c1:	51                   	push   %ecx
4156c2:	8b 0e                	mov    (%esi),%ecx
4156c4:	ff 15 c4 12 45 00    	call   *0x4512c4
4156ca:	ff 16                	call   *(%esi)
4156cc:	8b f0                	mov    %eax,%esi
4156ce:	85 f6                	test   %esi,%esi
4156d0:	0f 88 42 75 01 00    	js     0x42cc18
4156d6:	a1 00 f0 44 00       	mov    0x44f000,%eax
4156db:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4156e0:	74 0a                	je     0x4156ec
4156e2:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4156e6:	0f 85 40 75 01 00    	jne    0x42cc2c
4156ec:	8b c6                	mov    %esi,%eax
4156ee:	5e                   	pop    %esi
4156ef:	5d                   	pop    %ebp
4156f0:	c2 08 00             	ret    $0x8
4156f3:	cc                   	int3
4156f4:	cc                   	int3
4156f5:	cc                   	int3
4156f6:	cc                   	int3
4156f7:	cc                   	int3
4156f8:	cc                   	int3
4156f9:	cc                   	int3
4156fa:	cc                   	int3
4156fb:	cc                   	int3
4156fc:	cc                   	int3
4156fd:	cc                   	int3
4156fe:	cc                   	int3
4156ff:	cc                   	int3
415700:	8b ff                	mov    %edi,%edi
415702:	55                   	push   %ebp
415703:	8b ec                	mov    %esp,%ebp
415705:	51                   	push   %ecx
415706:	51                   	push   %ecx
415707:	53                   	push   %ebx
415708:	56                   	push   %esi
415709:	57                   	push   %edi
41570a:	8b 7d 08             	mov    0x8(%ebp),%edi
41570d:	83 cb ff             	or     $0xffffffff,%ebx
415710:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
415715:	4b                   	dec    %ebx
415716:	89 5d f8             	mov    %ebx,-0x8(%ebp)
415719:	8b 5f 14             	mov    0x14(%edi),%ebx
41571c:	0f 85 a8 75 01 00    	jne    0x42ccca
415722:	8b 47 28             	mov    0x28(%edi),%eax
415725:	89 45 fc             	mov    %eax,-0x4(%ebp)
415728:	c7 47 28 ac b1 ba ba 	movl   $0xbabab1ac,0x28(%edi)
41572f:	85 db                	test   %ebx,%ebx
415731:	74 3a                	je     0x41576d
415733:	8b 03                	mov    (%ebx),%eax
415735:	8d 4f 18             	lea    0x18(%edi),%ecx
415738:	51                   	push   %ecx
415739:	8b 70 2c             	mov    0x2c(%eax),%esi
41573c:	81 fe f0 57 41 00    	cmp    $0x4157f0,%esi
415742:	0f 85 51 75 01 00    	jne    0x42cc99
415748:	8b cb                	mov    %ebx,%ecx
41574a:	e8 a1 00 00 00       	call   0x4157f0
41574f:	8b 77 14             	mov    0x14(%edi),%esi
415752:	8b 06                	mov    (%esi),%eax
415754:	8b 58 1c             	mov    0x1c(%eax),%ebx
415757:	81 fb 10 42 41 00    	cmp    $0x414210,%ebx
41575d:	0f 85 47 75 01 00    	jne    0x42ccaa
415763:	8b ce                	mov    %esi,%ecx
415765:	e8 a6 ea ff ff       	call   0x414210
41576a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41576d:	83 f8 01             	cmp    $0x1,%eax
415770:	75 11                	jne    0x415783
415772:	8b 07                	mov    (%edi),%eax
415774:	8b 70 14             	mov    0x14(%eax),%esi
415777:	8b ce                	mov    %esi,%ecx
415779:	ff 15 c4 12 45 00    	call   *0x4512c4
41577f:	8b cf                	mov    %edi,%ecx
415781:	ff d6                	call   *%esi
415783:	8b 07                	mov    (%edi),%eax
415785:	57                   	push   %edi
415786:	8b 70 28             	mov    0x28(%eax),%esi
415789:	81 fe b0 57 41 00    	cmp    $0x4157b0,%esi
41578f:	0f 85 26 75 01 00    	jne    0x42ccbb
415795:	e8 16 00 00 00       	call   0x4157b0
41579a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41579d:	5f                   	pop    %edi
41579e:	5e                   	pop    %esi
41579f:	5b                   	pop    %ebx
4157a0:	c9                   	leave
4157a1:	c2 04 00             	ret    $0x4
4157a4:	cc                   	int3
4157a5:	cc                   	int3
4157a6:	cc                   	int3
4157a7:	cc                   	int3
4157a8:	cc                   	int3
4157a9:	cc                   	int3
4157aa:	cc                   	int3
4157ab:	cc                   	int3
4157ac:	cc                   	int3
4157ad:	cc                   	int3
4157ae:	cc                   	int3
4157af:	cc                   	int3
4157b0:	8b ff                	mov    %edi,%edi
4157b2:	55                   	push   %ebp
4157b3:	8b ec                	mov    %esp,%ebp
4157b5:	53                   	push   %ebx
4157b6:	57                   	push   %edi
4157b7:	8b 7d 08             	mov    0x8(%ebp),%edi
4157ba:	83 cb ff             	or     $0xffffffff,%ebx
4157bd:	f0 0f c1 5f 0c       	lock xadd %ebx,0xc(%edi)
4157c2:	4b                   	dec    %ebx
4157c3:	75 19                	jne    0x4157de
4157c5:	85 ff                	test   %edi,%edi
4157c7:	74 15                	je     0x4157de
4157c9:	8b 17                	mov    (%edi),%edx
4157cb:	56                   	push   %esi