4163e8:	53                   	push   %ebx
4163e9:	57                   	push   %edi
4163ea:	8b 7d 10             	mov    0x10(%ebp),%edi
4163ed:	33 db                	xor    %ebx,%ebx
4163ef:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4163f2:	38 1f                	cmp    %bl,(%edi)
4163f4:	0f 84 a1 00 00 00    	je     0x41649b
4163fa:	56                   	push   %esi
4163fb:	8b 75 08             	mov    0x8(%ebp),%esi
4163fe:	8b 16                	mov    (%esi),%edx
416400:	8b 42 10             	mov    0x10(%edx),%eax
416403:	2b c3                	sub    %ebx,%eax
416405:	0f 84 a4 00 00 00    	je     0x4164af
41640b:	83 e8 01             	sub    $0x1,%eax
41640e:	0f 85 8f 00 00 00    	jne    0x4164a3
416414:	8b 55 0c             	mov    0xc(%ebp),%edx
416417:	88 1f                	mov    %bl,(%edi)
416419:	8b 42 10             	mov    0x10(%edx),%eax
41641c:	2b c3                	sub    %ebx,%eax
41641e:	74 7a                	je     0x41649a
416420:	83 e8 01             	sub    $0x1,%eax
416423:	0f 84 85 ed 00 00    	je     0x4251ae
416429:	83 e8 01             	sub    $0x1,%eax
41642c:	0f 85 b9 00 00 00    	jne    0x4164eb
416432:	8b 3e                	mov    (%esi),%edi
416434:	8b 47 04             	mov    0x4(%edi),%eax
416437:	8b 7f 0c             	mov    0xc(%edi),%edi
41643a:	8b 48 08             	mov    0x8(%eax),%ecx
41643d:	85 ff                	test   %edi,%edi
41643f:	74 7c                	je     0x4164bd
416441:	8b 06                	mov    (%esi),%eax
416443:	39 47 04             	cmp    %eax,0x4(%edi)
416446:	74 70                	je     0x4164b8
416448:	89 4f 08             	mov    %ecx,0x8(%edi)
41644b:	8b 06                	mov    (%esi),%eax
41644d:	89 48 0c             	mov    %ecx,0xc(%eax)
416450:	89 4a 0c             	mov    %ecx,0xc(%edx)
416453:	8b 41 04             	mov    0x4(%ecx),%eax
416456:	85 c0                	test   %eax,%eax
416458:	0f 85 37 ed 00 00    	jne    0x425195
41645e:	8b 41 08             	mov    0x8(%ecx),%eax
416461:	89 45 fc             	mov    %eax,-0x4(%ebp)
416464:	85 c0                	test   %eax,%eax
416466:	75 5c                	jne    0x4164c4
416468:	8b 06                	mov    (%esi),%eax
41646a:	8b 55 fc             	mov    -0x4(%ebp),%edx
41646d:	89 50 04             	mov    %edx,0x4(%eax)
416470:	8b 55 0c             	mov    0xc(%ebp),%edx
416473:	8b 41 04             	mov    0x4(%ecx),%eax
416476:	89 42 08             	mov    %eax,0x8(%edx)
416479:	89 51 04             	mov    %edx,0x4(%ecx)
41647c:	8b 06                	mov    (%esi),%eax
41647e:	89 41 08             	mov    %eax,0x8(%ecx)
416481:	8b 41 10             	mov    0x10(%ecx),%eax
416484:	89 79 0c             	mov    %edi,0xc(%ecx)
416487:	83 e8 00             	sub    $0x0,%eax
41648a:	75 48                	jne    0x4164d4
41648c:	21 5a 10             	and    %ebx,0x10(%edx)
41648f:	8b 06                	mov    (%esi),%eax
416491:	21 58 10             	and    %ebx,0x10(%eax)
416494:	83 61 10 00          	andl   $0x0,0x10(%ecx)
416498:	89 0e                	mov    %ecx,(%esi)
41649a:	5e                   	pop    %esi
41649b:	5f                   	pop    %edi
41649c:	8b c3                	mov    %ebx,%eax
41649e:	5b                   	pop    %ebx
41649f:	c9                   	leave
4164a0:	c2 0c 00             	ret    $0xc
4164a3:	83 e8 01             	sub    $0x1,%eax
4164a6:	75 43                	jne    0x4164eb
4164a8:	21 5a 10             	and    %ebx,0x10(%edx)
4164ab:	88 1f                	mov    %bl,(%edi)
4164ad:	eb eb                	jmp    0x41649a
4164af:	c7 42 10 01 00 00 00 	movl   $0x1,0x10(%edx)
4164b6:	eb e2                	jmp    0x41649a
4164b8:	89 4f 04             	mov    %ecx,0x4(%edi)
4164bb:	eb 8e                	jmp    0x41644b
4164bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4164c0:	89 08                	mov    %ecx,(%eax)
4164c2:	eb 87                	jmp    0x41644b
4164c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4164c7:	8b 06                	mov    (%esi),%eax
4164c9:	89 42 0c             	mov    %eax,0xc(%edx)
4164cc:	8b 41 08             	mov    0x8(%ecx),%eax
4164cf:	89 45 fc             	mov    %eax,-0x4(%ebp)
4164d2:	eb 94                	jmp    0x416468
4164d4:	83 e8 01             	sub    $0x1,%eax
4164d7:	0f 84 c0 ec 00 00    	je     0x42519d
4164dd:	83 e8 01             	sub    $0x1,%eax
4164e0:	75 10                	jne    0x4164f2
4164e2:	c7 42 10 01 00 00 00 	movl   $0x1,0x10(%edx)
4164e9:	eb a4                	jmp    0x41648f
4164eb:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4164f0:	eb a8                	jmp    0x41649a
4164f2:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4164f7:	eb 9b                	jmp    0x416494
4164f9:	8b ff                	mov    %edi,%edi
4164fb:	55                   	push   %ebp
4164fc:	8b ec                	mov    %esp,%ebp
4164fe:	51                   	push   %ecx
4164ff:	51                   	push   %ecx
416500:	53                   	push   %ebx
416501:	57                   	push   %edi
416502:	8b 7d 10             	mov    0x10(%ebp),%edi
416505:	33 db                	xor    %ebx,%ebx
416507:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41650a:	38 1f                	cmp    %bl,(%edi)
41650c:	74 15                	je     0x416523
41650e:	56                   	push   %esi
41650f:	8b 75 08             	mov    0x8(%ebp),%esi
416512:	8b 16                	mov    (%esi),%edx
416514:	8b 42 10             	mov    0x10(%edx),%eax
416517:	2b c3                	sub    %ebx,%eax
416519:	75 10                	jne    0x41652b
41651b:	c7 42 10 02 00 00 00 	movl   $0x2,0x10(%edx)
416522:	5e                   	pop    %esi
416523:	5f                   	pop    %edi
416524:	8b c3                	mov    %ebx,%eax
416526:	5b                   	pop    %ebx
416527:	c9                   	leave
416528:	c2 0c 00             	ret    $0xc
41652b:	83 e8 01             	sub    $0x1,%eax
41652e:	0f 84 9a 00 00 00    	je     0x4165ce
416534:	83 e8 01             	sub    $0x1,%eax
416537:	0f 85 bb ec 00 00    	jne    0x4251f8
41653d:	8b 55 0c             	mov    0xc(%ebp),%edx
416540:	88 1f                	mov    %bl,(%edi)
416542:	8b 42 10             	mov    0x10(%edx),%eax
416545:	83 e8 00             	sub    $0x0,%eax
416548:	74 d8                	je     0x416522
41654a:	83 e8 01             	sub    $0x1,%eax
41654d:	0f 85 85 00 00 00    	jne    0x4165d8
416553:	8b 0e                	mov    (%esi),%ecx
416555:	8b 41 08             	mov    0x8(%ecx),%eax
416558:	8b 78 04             	mov    0x4(%eax),%edi
41655b:	8b 41 0c             	mov    0xc(%ecx),%eax
41655e:	89 45 f8             	mov    %eax,-0x8(%ebp)
416561:	85 c0                	test   %eax,%eax
416563:	0f 84 b7 00 00 00    	je     0x416620
416569:	39 48 04             	cmp    %ecx,0x4(%eax)
41656c:	0f 84 a5 ec 00 00    	je     0x425217
416572:	89 78 08             	mov    %edi,0x8(%eax)
416575:	8b 06                	mov    (%esi),%eax
416577:	89 78 0c             	mov    %edi,0xc(%eax)
41657a:	89 7a 0c             	mov    %edi,0xc(%edx)
41657d:	8b 47 08             	mov    0x8(%edi),%eax
416580:	85 c0                	test   %eax,%eax
416582:	0f 85 97 ec 00 00    	jne    0x42521f
416588:	8b 4f 04             	mov    0x4(%edi),%ecx
41658b:	85 c9                	test   %ecx,%ecx
41658d:	0f 85 94 ec 00 00    	jne    0x425227
416593:	8b 47 08             	mov    0x8(%edi),%eax
416596:	89 42 04             	mov    %eax,0x4(%edx)
416599:	8b 0e                	mov    (%esi),%ecx
41659b:	8b 47 04             	mov    0x4(%edi),%eax
41659e:	89 41 08             	mov    %eax,0x8(%ecx)
4165a1:	33 c9                	xor    %ecx,%ecx
4165a3:	89 57 08             	mov    %edx,0x8(%edi)
4165a6:	8b 06                	mov    (%esi),%eax
4165a8:	89 47 04             	mov    %eax,0x4(%edi)
4165ab:	8b 45 f8             	mov    -0x8(%ebp),%eax
4165ae:	89 47 0c             	mov    %eax,0xc(%edi)
4165b1:	8b 47 10             	mov    0x10(%edi),%eax
4165b4:	2b c1                	sub    %ecx,%eax
4165b6:	0f 85 75 ec 00 00    	jne    0x425231
4165bc:	89 4a 10             	mov    %ecx,0x10(%edx)
4165bf:	8b 06                	mov    (%esi),%eax
4165c1:	89 48 10             	mov    %ecx,0x10(%eax)
4165c4:	89 4f 10             	mov    %ecx,0x10(%edi)
4165c7:	89 3e                	mov    %edi,(%esi)
4165c9:	e9 54 ff ff ff       	jmp    0x416522
4165ce:	21 5a 10             	and    %ebx,0x10(%edx)
4165d1:	88 1f                	mov    %bl,(%edi)
4165d3:	e9 4a ff ff ff       	jmp    0x416522
4165d8:	83 e8 01             	sub    $0x1,%eax
4165db:	0f 85 17 ec 00 00    	jne    0x4251f8
4165e1:	8b 06                	mov    (%esi),%eax
4165e3:	8b 78 0c             	mov    0xc(%eax),%edi
4165e6:	85 ff                	test   %edi,%edi
4165e8:	0f 85 14 ec 00 00    	jne    0x425202
4165ee:	89 11                	mov    %edx,(%ecx)
4165f0:	8b 4a 04             	mov    0x4(%edx),%ecx
4165f3:	85 c9                	test   %ecx,%ecx
4165f5:	74 05                	je     0x4165fc
4165f7:	8b 06                	mov    (%esi),%eax
4165f9:	89 41 0c             	mov    %eax,0xc(%ecx)
4165fc:	8b 06                	mov    (%esi),%eax
4165fe:	21 58 10             	and    %ebx,0x10(%eax)
416601:	8b 0e                	mov    (%esi),%ecx
416603:	8b 42 04             	mov    0x4(%edx),%eax
416606:	89 41 08             	mov    %eax,0x8(%ecx)
416609:	8b 06                	mov    (%esi),%eax
41660b:	89 50 0c             	mov    %edx,0xc(%eax)
41660e:	21 5a 10             	and    %ebx,0x10(%edx)
416611:	8b 06                	mov    (%esi),%eax
416613:	89 42 04             	mov    %eax,0x4(%edx)
416616:	89 7a 0c             	mov    %edi,0xc(%edx)
416619:	89 16                	mov    %edx,(%esi)
41661b:	e9 02 ff ff ff       	jmp    0x416522
416620:	8b 45 fc             	mov    -0x4(%ebp),%eax
416623:	89 38                	mov    %edi,(%eax)
416625:	e9 4b ff ff ff       	jmp    0x416575
41662a:	cc                   	int3
41662b:	cc                   	int3
41662c:	cc                   	int3
41662d:	cc                   	int3
41662e:	cc                   	int3
41662f:	cc                   	int3
416630:	8b ff                	mov    %edi,%edi
416632:	55                   	push   %ebp
416633:	8b ec                	mov    %esp,%ebp
416635:	56                   	push   %esi
416636:	8b 75 08             	mov    0x8(%ebp),%esi
416639:	57                   	push   %edi
41663a:	33 ff                	xor    %edi,%edi
41663c:	f0 ff 46 54          	lock incl 0x54(%esi)
416640:	33 d2                	xor    %edx,%edx
416642:	8d 4e 28             	lea    0x28(%esi),%ecx
416645:	42                   	inc    %edx
416646:	33 c0                	xor    %eax,%eax
416648:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
41664c:	85 c0                	test   %eax,%eax
41664e:	75 13                	jne    0x416663
416650:	50                   	push   %eax
416651:	50                   	push   %eax
416652:	68 33 10 04 80       	push   $0x80041033
416657:	8d 4e fc             	lea    -0x4(%esi),%ecx
41665a:	33 d2                	xor    %edx,%edx
41665c:	e8 14 00 00 00       	call   0x416675
416661:	8b f8                	mov    %eax,%edi
416663:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
416667:	0f 85 f5 eb 00 00    	jne    0x425262
41666d:	8b c7                	mov    %edi,%eax
41666f:	5f                   	pop    %edi
416670:	5e                   	pop    %esi
416671:	5d                   	pop    %ebp
416672:	c2 10 00             	ret    $0x10
416675:	8b ff                	mov    %edi,%edi
416677:	55                   	push   %ebp
416678:	8b ec                	mov    %esp,%ebp
41667a:	53                   	push   %ebx
41667b:	56                   	push   %esi
41667c:	57                   	push   %edi
41667d:	33 ff                	xor    %edi,%edi
41667f:	8b da                	mov    %edx,%ebx
416681:	8b f1                	mov    %ecx,%esi
416683:	39 7d 0c             	cmp    %edi,0xc(%ebp)
416686:	0f 85 3b df 00 00    	jne    0x4245c7
41668c:	ff 75 10             	push   0x10(%ebp)
41668f:	8b 46 34             	mov    0x34(%esi),%eax
416692:	57                   	push   %edi
416693:	ff 75 08             	push   0x8(%ebp)
416696:	8b 30                	mov    (%eax),%esi
416698:	53                   	push   %ebx
416699:	50                   	push   %eax
41669a:	8b 4e 10             	mov    0x10(%esi),%ecx
41669d:	ff 15 c4 12 45 00    	call   *0x4512c4
4166a3:	ff 56 10             	call   *0x10(%esi)
4166a6:	57                   	push   %edi
4166a7:	8b f0                	mov    %eax,%esi
4166a9:	ff 15 0c 30 45 00    	call   *0x45300c
4166af:	5f                   	pop    %edi
4166b0:	8b c6                	mov    %esi,%eax
4166b2:	5e                   	pop    %esi
4166b3:	5b                   	pop    %ebx
4166b4:	5d                   	pop    %ebp
4166b5:	c2 0c 00             	ret    $0xc
4166b8:	8b 02                	mov    (%edx),%eax
4166ba:	39 01                	cmp    %eax,(%ecx)
4166bc:	75 03                	jne    0x4166c1
4166be:	33 c0                	xor    %eax,%eax
4166c0:	c3                   	ret
4166c1:	1b c0                	sbb    %eax,%eax
4166c3:	83 e0 fe             	and    $0xfffffffe,%eax
4166c6:	40                   	inc    %eax
4166c7:	c3                   	ret
4166c8:	cc                   	int3
4166c9:	cc                   	int3
4166ca:	cc                   	int3
4166cb:	cc                   	int3
4166cc:	cc                   	int3
4166cd:	cc                   	int3
4166ce:	cc                   	int3
4166cf:	cc                   	int3
4166d0:	8b ff                	mov    %edi,%edi
4166d2:	55                   	push   %ebp
4166d3:	8b ec                	mov    %esp,%ebp
4166d5:	56                   	push   %esi
4166d6:	57                   	push   %edi
4166d7:	8b 7d 08             	mov    0x8(%ebp),%edi
4166da:	33 f6                	xor    %esi,%esi
4166dc:	85 ff                	test   %edi,%edi
4166de:	74 51                	je     0x416731
4166e0:	8b 07                	mov    (%edi),%eax
4166e2:	8b 70 14             	mov    0x14(%eax),%esi
4166e5:	8b ce                	mov    %esi,%ecx
4166e7:	ff 15 c4 12 45 00    	call   *0x4512c4
4166ed:	8b cf                	mov    %edi,%ecx
4166ef:	ff d6                	call   *%esi
4166f1:	85 c0                	test   %eax,%eax
4166f3:	75 10                	jne    0x416705
4166f5:	ff 77 38             	push   0x38(%edi)
4166f8:	ff 15 4c 11 45 00    	call   *0x45114c
4166fe:	8b cf                	mov    %edi,%ecx
416700:	e8 3b 00 00 00       	call   0x416740
416705:	8b 07                	mov    (%edi),%eax
416707:	53                   	push   %ebx
416708:	8b 70 18             	mov    0x18(%eax),%esi
41670b:	8b ce                	mov    %esi,%ecx
41670d:	ff 15 c4 12 45 00    	call   *0x4512c4
416713:	8b cf                	mov    %edi,%ecx
416715:	ff d6                	call   *%esi
416717:	8b 0f                	mov    (%edi),%ecx
416719:	8b f0                	mov    %eax,%esi
41671b:	57                   	push   %edi
41671c:	8b 59 10             	mov    0x10(%ecx),%ebx
41671f:	81 fb e0 98 41 00    	cmp    $0x4198e0,%ebx
416725:	0f 85 52 eb 00 00    	jne    0x42527d
41672b:	e8 b0 31 00 00       	call   0x4198e0
416730:	5b                   	pop    %ebx
416731:	5f                   	pop    %edi
416732:	8b c6                	mov    %esi,%eax
416734:	5e                   	pop    %esi
416735:	5d                   	pop    %ebp
416736:	c2 04 00             	ret    $0x4
416739:	cc                   	int3
41673a:	cc                   	int3
41673b:	cc                   	int3
41673c:	cc                   	int3
41673d:	cc                   	int3
41673e:	cc                   	int3
41673f:	cc                   	int3
416740:	8b ff                	mov    %edi,%edi
416742:	55                   	push   %ebp
416743:	8b ec                	mov    %esp,%ebp
416745:	6a ff                	push   $0xffffffff
416747:	68 98 2c 42 00       	push   $0x422c98
41674c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
416752:	50                   	push   %eax
416753:	83 ec 48             	sub    $0x48,%esp
416756:	53                   	push   %ebx
416757:	56                   	push   %esi
416758:	57                   	push   %edi
416759:	a1 54 02 45 00       	mov    0x450254,%eax
41675e:	33 c5                	xor    %ebp,%eax
416760:	50                   	push   %eax
416761:	8d 45 f4             	lea    -0xc(%ebp),%eax
416764:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41676a:	8b f9                	mov    %ecx,%edi
41676c:	89 7d e8             	mov    %edi,-0x18(%ebp)