af6517:	89 1e                	mov    %ebx,(%esi)
af6519:	5f                   	pop    %edi
af651a:	5e                   	pop    %esi
af651b:	5b                   	pop    %ebx
af651c:	8b e5                	mov    %ebp,%esp
af651e:	5d                   	pop    %ebp
af651f:	c2 04 00             	ret    $0x4
af6522:	cc                   	int3
af6523:	cc                   	int3
af6524:	cc                   	int3
af6525:	cc                   	int3
af6526:	cc                   	int3
af6527:	cc                   	int3
af6528:	cc                   	int3
af6529:	cc                   	int3
af652a:	cc                   	int3
af652b:	cc                   	int3
af652c:	cc                   	int3
af652d:	cc                   	int3
af652e:	cc                   	int3
af652f:	cc                   	int3
af6530:	cc                   	int3
af6531:	cc                   	int3
af6532:	cc                   	int3
af6533:	cc                   	int3
af6534:	cc                   	int3
af6535:	cc                   	int3
af6536:	cc                   	int3
af6537:	cc                   	int3
af6538:	cc                   	int3
af6539:	cc                   	int3
af653a:	cc                   	int3
af653b:	cc                   	int3
af653c:	cc                   	int3
af653d:	cc                   	int3
af653e:	cc                   	int3
af653f:	cc                   	int3
af6540:	cc                   	int3
af6541:	cc                   	int3
af6542:	55                   	push   %ebp
af6543:	8b ec                	mov    %esp,%ebp
af6545:	51                   	push   %ecx
af6546:	53                   	push   %ebx
af6547:	56                   	push   %esi
af6548:	8b 75 08             	mov    0x8(%ebp),%esi
af654b:	57                   	push   %edi
af654c:	8b f9                	mov    %ecx,%edi
af654e:	8b 1f                	mov    (%edi),%ebx
af6550:	3b f3                	cmp    %ebx,%esi
af6552:	74 58                	je     0xaf65ac
af6554:	56                   	push   %esi
af6555:	e8 fd 93 91 ff       	call   0x40f957
af655a:	33 c9                	xor    %ecx,%ecx
af655c:	8b c6                	mov    %esi,%eax
af655e:	6a 04                	push   $0x4
af6560:	5a                   	pop    %edx
af6561:	f7 e2                	mul    %edx
af6563:	0f 90 c1             	seto   %cl
af6566:	f7 d9                	neg    %ecx
af6568:	0b c8                	or     %eax,%ecx
af656a:	51                   	push   %ecx
af656b:	e8 27 f2 93 ff       	call   0x435797
af6570:	59                   	pop    %ecx
af6571:	8b d0                	mov    %eax,%edx
af6573:	33 c9                	xor    %ecx,%ecx
af6575:	89 55 fc             	mov    %edx,-0x4(%ebp)
af6578:	85 db                	test   %ebx,%ebx
af657a:	74 0e                	je     0xaf658a
af657c:	8b 47 08             	mov    0x8(%edi),%eax
af657f:	8b 04 88             	mov    (%eax,%ecx,4),%eax
af6582:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
af6585:	41                   	inc    %ecx
af6586:	3b cb                	cmp    %ebx,%ecx
af6588:	72 f2                	jb     0xaf657c
af658a:	2b f3                	sub    %ebx,%esi
af658c:	8d 04 9a             	lea    (%edx,%ebx,4),%eax
af658f:	c1 e6 02             	shl    $0x2,%esi
af6592:	56                   	push   %esi
af6593:	6a 00                	push   $0x0
af6595:	50                   	push   %eax
af6596:	e8 1d e2 91 ff       	call   0x4147b8
af659b:	ff 77 08             	push   0x8(%edi)
af659e:	e8 6f 80 94 ff       	call   0x43e612
af65a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
af65a6:	83 c4 10             	add    $0x10,%esp
af65a9:	89 47 08             	mov    %eax,0x8(%edi)
af65ac:	5f                   	pop    %edi
af65ad:	5e                   	pop    %esi
af65ae:	5b                   	pop    %ebx
af65af:	8b e5                	mov    %ebp,%esp
af65b1:	5d                   	pop    %ebp
af65b2:	c2 04 00             	ret    $0x4
af65b5:	cc                   	int3
af65b6:	cc                   	int3
af65b7:	cc                   	int3
af65b8:	cc                   	int3
af65b9:	cc                   	int3
af65ba:	cc                   	int3
af65bb:	cc                   	int3
af65bc:	cc                   	int3
af65bd:	cc                   	int3
af65be:	cc                   	int3
af65bf:	cc                   	int3
af65c0:	cc                   	int3
af65c1:	cc                   	int3
af65c2:	cc                   	int3
af65c3:	cc                   	int3
af65c4:	cc                   	int3
af65c5:	cc                   	int3
af65c6:	cc                   	int3
af65c7:	cc                   	int3
af65c8:	cc                   	int3
af65c9:	cc                   	int3
af65ca:	cc                   	int3
af65cb:	cc                   	int3
af65cc:	cc                   	int3
af65cd:	cc                   	int3
af65ce:	cc                   	int3
af65cf:	cc                   	int3
af65d0:	cc                   	int3
af65d1:	8b 81 94 01 00 00    	mov    0x194(%ecx),%eax
af65d7:	b9 00 00 00 a0       	mov    $0xa0000000,%ecx
af65dc:	23 c1                	and    %ecx,%eax
af65de:	3b c1                	cmp    %ecx,%eax
af65e0:	0f 94 c0             	sete   %al
af65e3:	c3                   	ret
af65e4:	cc                   	int3
af65e5:	cc                   	int3
af65e6:	cc                   	int3
af65e7:	cc                   	int3
af65e8:	8b 49 1c             	mov    0x1c(%ecx),%ecx
af65eb:	33 c0                	xor    %eax,%eax
af65ed:	85 c9                	test   %ecx,%ecx
af65ef:	0f 9f c0             	setg   %al
af65f2:	c3                   	ret
af65f3:	cc                   	int3
af65f4:	cc                   	int3
af65f5:	8b 89 b8 01 00 00    	mov    0x1b8(%ecx),%ecx
af65fb:	33 c0                	xor    %eax,%eax
af65fd:	85 c9                	test   %ecx,%ecx
af65ff:	0f 9f c0             	setg   %al
af6602:	c3                   	ret
af6603:	cc                   	int3
af6604:	cc                   	int3
af6605:	cc                   	int3
af6606:	55                   	push   %ebp
af6607:	8b ec                	mov    %esp,%ebp
af6609:	56                   	push   %esi
af660a:	8b 75 08             	mov    0x8(%ebp),%esi
af660d:	ba c5 9d 1c 81       	mov    $0x811c9dc5,%edx
af6612:	33 c9                	xor    %ecx,%ecx
af6614:	0f b6 04 31          	movzbl (%ecx,%esi,1),%eax
af6618:	33 c2                	xor    %edx,%eax
af661a:	69 d0 93 01 00 01    	imul   $0x1000193,%eax,%edx
af6620:	41                   	inc    %ecx
af6621:	83 f9 04             	cmp    $0x4,%ecx
af6624:	72 ee                	jb     0xaf6614
af6626:	8b c2                	mov    %edx,%eax
af6628:	33 d2                	xor    %edx,%edx
af662a:	f7 75 0c             	divl   0xc(%ebp)
af662d:	5e                   	pop    %esi
af662e:	8b c2                	mov    %edx,%eax
af6630:	5d                   	pop    %ebp
af6631:	c3                   	ret
af6632:	cc                   	int3
af6633:	cc                   	int3
af6634:	cc                   	int3
af6635:	cc                   	int3
af6636:	cc                   	int3
af6637:	cc                   	int3
af6638:	cc                   	int3
af6639:	cc                   	int3
af663a:	cc                   	int3
af663b:	cc                   	int3
af663c:	cc                   	int3
af663d:	8b 41 1c             	mov    0x1c(%ecx),%eax
af6640:	c3                   	ret
af6641:	8b 81 74 01 00 00    	mov    0x174(%ecx),%eax
af6647:	c3                   	ret
af6648:	8b 81 b8 00 00 00    	mov    0xb8(%ecx),%eax
af664e:	c3                   	ret
af664f:	8b 81 94 01 00 00    	mov    0x194(%ecx),%eax
af6655:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
af665a:	23 c1                	and    %ecx,%eax
af665c:	3b c1                	cmp    %ecx,%eax
af665e:	0f 94 c0             	sete   %al
af6661:	c3                   	ret
af6662:	cc                   	int3
af6663:	cc                   	int3
af6664:	cc                   	int3
af6665:	cc                   	int3
af6666:	c3                   	ret
af6667:	f0 ff 81 88 01 00 00 	lock incl 0x188(%ecx)
af666e:	c3                   	ret
af666f:	cc                   	int3
af6670:	cc                   	int3
af6671:	55                   	push   %ebp
af6672:	8b ec                	mov    %esp,%ebp
af6674:	8b 45 08             	mov    0x8(%ebp),%eax
af6677:	83 61 0c 00          	andl   $0x0,0xc(%ecx)
af667b:	89 41 04             	mov    %eax,0x4(%ecx)
af667e:	8b 45 0c             	mov    0xc(%ebp),%eax
af6681:	89 41 08             	mov    %eax,0x8(%ecx)
af6684:	5d                   	pop    %ebp
af6685:	c2 08 00             	ret    $0x8
af6688:	cc                   	int3
af6689:	cc                   	int3
af668a:	cc                   	int3
af668b:	cc                   	int3
af668c:	cc                   	int3
af668d:	6a 58                	push   $0x58
af668f:	b8 3a ea bb 00       	mov    $0xbbea3a,%eax
af6694:	e8 f2 3b 91 ff       	call   0x40a28b
af6699:	8b d9                	mov    %ecx,%ebx
af669b:	89 5d bc             	mov    %ebx,-0x44(%ebp)
af669e:	33 ff                	xor    %edi,%edi
af66a0:	89 bb b4 01 00 00    	mov    %edi,0x1b4(%ebx)
af66a6:	89 7b 14             	mov    %edi,0x14(%ebx)
af66a9:	89 7b 2c             	mov    %edi,0x2c(%ebx)
af66ac:	e8 16 1c 93 ff       	call   0x4282c7
af66b1:	89 83 a8 01 00 00    	mov    %eax,0x1a8(%ebx)
af66b7:	e8 0a 33 91 ff       	call   0x4099c6
af66bc:	89 83 74 01 00 00    	mov    %eax,0x174(%ebx)
af66c2:	e8 0d 3e 91 ff       	call   0x40a4d4
af66c7:	89 43 2c             	mov    %eax,0x2c(%ebx)
af66ca:	e8 51 fe 93 ff       	call   0x436520
af66cf:	6a 10                	push   $0x10
af66d1:	33 c9                	xor    %ecx,%ecx
af66d3:	5a                   	pop    %edx
af66d4:	8d 70 01             	lea    0x1(%eax),%esi
af66d7:	8b c6                	mov    %esi,%eax
af66d9:	89 73 28             	mov    %esi,0x28(%ebx)
af66dc:	f7 e2                	mul    %edx
af66de:	6a 04                	push   $0x4
af66e0:	5a                   	pop    %edx
af66e1:	0f 90 c1             	seto   %cl
af66e4:	89 75 c8             	mov    %esi,-0x38(%ebp)
af66e7:	f7 d9                	neg    %ecx
af66e9:	0b c8                	or     %eax,%ecx
af66eb:	33 c0                	xor    %eax,%eax
af66ed:	03 ca                	add    %edx,%ecx
af66ef:	0f 92 c0             	setb   %al
af66f2:	f7 d8                	neg    %eax
af66f4:	0b c1                	or     %ecx,%eax
af66f6:	50                   	push   %eax
af66f7:	e8 9b f0 93 ff       	call   0x435797
af66fc:	59                   	pop    %ecx
af66fd:	89 45 cc             	mov    %eax,-0x34(%ebp)
af6700:	89 7d fc             	mov    %edi,-0x4(%ebp)
af6703:	85 c0                	test   %eax,%eax
af6705:	74 18                	je     0xaf671f
af6707:	68 da 94 40 00       	push   $0x4094da
af670c:	68 9a 52 40 00       	push   $0x40529a
af6711:	56                   	push   %esi
af6712:	8d 78 04             	lea    0x4(%eax),%edi
af6715:	89 30                	mov    %esi,(%eax)
af6717:	6a 10                	push   $0x10
af6719:	57                   	push   %edi
af671a:	e8 e9 d2 90 ff       	call   0x403a08
af671f:	8b 43 2c             	mov    0x2c(%ebx),%eax
af6722:	33 c9                	xor    %ecx,%ecx
af6724:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
af6728:	6a 04                	push   $0x4
af672a:	5e                   	pop    %esi
af672b:	f7 e6                	mul    %esi
af672d:	89 7b 1c             	mov    %edi,0x1c(%ebx)
af6730:	0f 90 c1             	seto   %cl
af6733:	f7 d9                	neg    %ecx
af6735:	0b c8                	or     %eax,%ecx
af6737:	51                   	push   %ecx
af6738:	e8 5a f0 93 ff       	call   0x435797
af673d:	89 43 24             	mov    %eax,0x24(%ebx)
af6740:	33 c9                	xor    %ecx,%ecx
af6742:	8b 43 2c             	mov    0x2c(%ebx),%eax
af6745:	f7 e6                	mul    %esi
af6747:	0f 90 c1             	seto   %cl
af674a:	f7 d9                	neg    %ecx
af674c:	0b c8                	or     %eax,%ecx
af674e:	51                   	push   %ecx
af674f:	e8 43 f0 93 ff       	call   0x435797
af6754:	89 43 20             	mov    %eax,0x20(%ebx)
af6757:	8b 43 2c             	mov    0x2c(%ebx),%eax
af675a:	c1 e0 02             	shl    $0x2,%eax
af675d:	50                   	push   %eax
af675e:	6a 00                	push   $0x0
af6760:	ff 73 24             	push   0x24(%ebx)
af6763:	e8 50 e0 91 ff       	call   0x4147b8
af6768:	8b 43 2c             	mov    0x2c(%ebx),%eax
af676b:	c1 e0 02             	shl    $0x2,%eax
af676e:	50                   	push   %eax
af676f:	6a 00                	push   $0x0
af6771:	ff 73 20             	push   0x20(%ebx)
af6774:	e8 3f e0 91 ff       	call   0x4147b8
af6779:	8b 03                	mov    (%ebx),%eax
af677b:	83 c4 20             	add    $0x20,%esp
af677e:	8b 70 24             	mov    0x24(%eax),%esi
af6781:	8b ce                	mov    %esi,%ecx
af6783:	e8 dd 5e 93 ff       	call   0x42c665
af6788:	8b cb                	mov    %ebx,%ecx
af678a:	ff d6                	call   *%esi
af678c:	33 f6                	xor    %esi,%esi
af678e:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
af6794:	89 75 ec             	mov    %esi,-0x14(%ebp)
af6797:	89 75 d4             	mov    %esi,-0x2c(%ebp)
af679a:	80 48 30 04          	orb    $0x4,0x30(%eax)
af679e:	e8 f7 ad 91 ff       	call   0x41159a
af67a3:	33 ff                	xor    %edi,%edi
af67a5:	89 45 dc             	mov    %eax,-0x24(%ebp)
af67a8:	39 73 28             	cmp    %esi,0x28(%ebx)
af67ab:	7e 26                	jle    0xaf67d3
af67ad:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
af67b0:	ff 73 2c             	push   0x2c(%ebx)
af67b3:	03 ce                	add    %esi,%ecx
af67b5:	e8 9d 91 91 ff       	call   0x40f957
af67ba:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
af67bd:	ff 75 dc             	push   -0x24(%ebp)
af67c0:	83 c1 08             	add    $0x8,%ecx
af67c3:	03 ce                	add    %esi,%ecx
af67c5:	e8 8d 91 91 ff       	call   0x40f957
af67ca:	47                   	inc    %edi
af67cb:	83 c6 10             	add    $0x10,%esi
af67ce:	3b 7b 28             	cmp    0x28(%ebx),%edi
af67d1:	7c da                	jl     0xaf67ad
af67d3:	8b bb a8 01 00 00    	mov    0x1a8(%ebx),%edi
af67d9:	8b 07                	mov    (%edi),%eax
af67db:	8b 70 10             	mov    0x10(%eax),%esi
af67de:	8b ce                	mov    %esi,%ecx
af67e0:	e8 80 5e 93 ff       	call   0x42c665
af67e5:	8b cf                	mov    %edi,%ecx
af67e7:	ff d6                	call   *%esi
af67e9:	8b f0                	mov    %eax,%esi
af67eb:	89 75 f0             	mov    %esi,-0x10(%ebp)
af67ee:	85 f6                	test   %esi,%esi
af67f0:	0f 84 17 02 00 00    	je     0xaf6a0d
af67f6:	8b 7d ec             	mov    -0x14(%ebp),%edi
af67f9:	ff 75 dc             	push   -0x24(%ebp)
af67fc:	8d 4d ac             	lea    -0x54(%ebp),%ecx
af67ff:	e8 ff 38 93 ff       	call   0x42a103
af6804:	8b 06                	mov    (%esi),%eax
af6806:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
af680d:	8b 70 04             	mov    0x4(%eax),%esi
af6810:	8b ce                	mov    %esi,%ecx
af6812:	e8 4e 5e 93 ff       	call   0x42c665
af6817:	8b 4d f0             	mov    -0x10(%ebp),%ecx
af681a:	ff d6                	call   *%esi
af681c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
af681f:	8b 45 f0             	mov    -0x10(%ebp),%eax
af6822:	8b 08                	mov    (%eax),%ecx
af6824:	8b 71 08             	mov    0x8(%ecx),%esi
af6827:	8b ce                	mov    %esi,%ecx