861510:	53                   	push   %ebx
861511:	56                   	push   %esi
861512:	57                   	push   %edi
861513:	8b 7d 08             	mov    0x8(%ebp),%edi
861516:	8b d9                	mov    %ecx,%ebx
861518:	8b cf                	mov    %edi,%ecx
86151a:	8b 47 18             	mov    0x18(%edi),%eax
86151d:	f7 d0                	not    %eax
86151f:	a8 01                	test   $0x1,%al
861521:	74 21                	je     0x861544
861523:	ff 73 0c             	push   0xc(%ebx)
861526:	e8 75 90 bb ff       	call   0x41a5a0
86152b:	8b 73 04             	mov    0x4(%ebx),%esi
86152e:	eb 0e                	jmp    0x86153e
861530:	6a 01                	push   $0x1
861532:	8d 46 08             	lea    0x8(%esi),%eax
861535:	50                   	push   %eax
861536:	57                   	push   %edi
861537:	e8 b4 64 ba ff       	call   0x4079f0
86153c:	8b 36                	mov    (%esi),%esi
86153e:	85 f6                	test   %esi,%esi
861540:	75 ee                	jne    0x861530
861542:	eb 26                	jmp    0x86156a
861544:	e8 9b 34 ba ff       	call   0x4049e4
861549:	8b f0                	mov    %eax,%esi
86154b:	85 f6                	test   %esi,%esi
86154d:	74 1b                	je     0x86156a
86154f:	6a 01                	push   $0x1
861551:	8d 45 fc             	lea    -0x4(%ebp),%eax
861554:	50                   	push   %eax
861555:	57                   	push   %edi
861556:	e8 95 64 ba ff       	call   0x4079f0
86155b:	ff 75 fc             	push   -0x4(%ebp)
86155e:	8b cb                	mov    %ebx,%ecx
861560:	e8 65 83 bc ff       	call   0x4298ca
861565:	83 ee 01             	sub    $0x1,%esi
861568:	75 e5                	jne    0x86154f
86156a:	5f                   	pop    %edi
86156b:	5e                   	pop    %esi
86156c:	5b                   	pop    %ebx
86156d:	8b e5                	mov    %ebp,%esp
86156f:	5d                   	pop    %ebp
861570:	c2 04 00             	ret    $0x4
861573:	cc                   	int3
861574:	cc                   	int3
861575:	cc                   	int3
861576:	cc                   	int3
861577:	cc                   	int3
861578:	cc                   	int3
861579:	cc                   	int3
86157a:	cc                   	int3
86157b:	cc                   	int3
86157c:	cc                   	int3
86157d:	cc                   	int3
86157e:	cc                   	int3
86157f:	cc                   	int3
861580:	cc                   	int3
861581:	cc                   	int3
861582:	cc                   	int3
861583:	cc                   	int3
861584:	cc                   	int3
861585:	cc                   	int3
861586:	cc                   	int3
861587:	cc                   	int3
861588:	cc                   	int3
861589:	cc                   	int3
86158a:	cc                   	int3
86158b:	cc                   	int3
86158c:	55                   	push   %ebp
86158d:	8b ec                	mov    %esp,%ebp
86158f:	8b 45 08             	mov    0x8(%ebp),%eax
861592:	56                   	push   %esi
861593:	8b f1                	mov    %ecx,%esi
861595:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
861599:	89 86 b0 07 00 00    	mov    %eax,0x7b0(%esi)
86159f:	74 16                	je     0x8615b7
8615a1:	6a 01                	push   $0x1
8615a3:	6a 00                	push   $0x0
8615a5:	ff 76 20             	push   0x20(%esi)
8615a8:	ff 15 e8 3d d8 00    	call   *0xd83de8
8615ae:	ff 76 20             	push   0x20(%esi)
8615b1:	ff 15 8c 3f d8 00    	call   *0xd83f8c
8615b7:	5e                   	pop    %esi
8615b8:	5d                   	pop    %ebp
8615b9:	c2 04 00             	ret    $0x4
8615bc:	cc                   	int3
8615bd:	cc                   	int3
8615be:	cc                   	int3
8615bf:	cc                   	int3
8615c0:	cc                   	int3
8615c1:	cc                   	int3
8615c2:	cc                   	int3
8615c3:	cc                   	int3
8615c4:	cc                   	int3
8615c5:	cc                   	int3
8615c6:	cc                   	int3
8615c7:	cc                   	int3
8615c8:	55                   	push   %ebp
8615c9:	8b ec                	mov    %esp,%ebp
8615cb:	8b 45 08             	mov    0x8(%ebp),%eax
8615ce:	89 81 e8 07 00 00    	mov    %eax,0x7e8(%ecx)
8615d4:	5d                   	pop    %ebp
8615d5:	c2 04 00             	ret    $0x4
8615d8:	cc                   	int3
8615d9:	cc                   	int3
8615da:	cc                   	int3
8615db:	cc                   	int3
8615dc:	55                   	push   %ebp
8615dd:	8b ec                	mov    %esp,%ebp
8615df:	56                   	push   %esi
8615e0:	8b f1                	mov    %ecx,%esi
8615e2:	57                   	push   %edi
8615e3:	8d be cc 07 00 00    	lea    0x7cc(%esi),%edi
8615e9:	8b cf                	mov    %edi,%ecx
8615eb:	e8 37 40 bb ff       	call   0x415627
8615f0:	8b 45 08             	mov    0x8(%ebp),%eax
8615f3:	85 c0                	test   %eax,%eax
8615f5:	75 05                	jne    0x8615fc
8615f7:	b8 2c 0a bd 00       	mov    $0xbd0a2c,%eax
8615fc:	50                   	push   %eax
8615fd:	8d 8e f4 07 00 00    	lea    0x7f4(%esi),%ecx
861603:	e8 82 1e bb ff       	call   0x41348a
861608:	8b 86 f4 07 00 00    	mov    0x7f4(%esi),%eax
86160e:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
861612:	74 0a                	je     0x86161e
861614:	ff 75 0c             	push   0xc(%ebp)
861617:	8b cf                	mov    %edi,%ecx
861619:	e8 2d 80 bb ff       	call   0x41964b
86161e:	5f                   	pop    %edi
86161f:	5e                   	pop    %esi
861620:	5d                   	pop    %ebp
861621:	c2 08 00             	ret    $0x8
861624:	cc                   	int3
861625:	cc                   	int3
861626:	cc                   	int3
861627:	cc                   	int3
861628:	cc                   	int3
861629:	cc                   	int3
86162a:	cc                   	int3
86162b:	cc                   	int3
86162c:	cc                   	int3
86162d:	cc                   	int3
86162e:	cc                   	int3
86162f:	cc                   	int3
861630:	cc                   	int3
861631:	cc                   	int3
861632:	cc                   	int3
861633:	cc                   	int3
861634:	cc                   	int3
861635:	cc                   	int3
861636:	55                   	push   %ebp
861637:	8b ec                	mov    %esp,%ebp
861639:	57                   	push   %edi
86163a:	8b f9                	mov    %ecx,%edi
86163c:	83 bf c0 07 00 00 00 	cmpl   $0x0,0x7c0(%edi)
861643:	74 1a                	je     0x86165f
861645:	56                   	push   %esi
861646:	6a ff                	push   $0xffffffff
861648:	8d b7 b8 07 00 00    	lea    0x7b8(%edi),%esi
86164e:	6a 00                	push   $0x0
861650:	8b ce                	mov    %esi,%ecx
861652:	e8 94 1f bd ff       	call   0x4335eb
861657:	8b ce                	mov    %esi,%ecx
861659:	e8 70 69 bd ff       	call   0x437fce
86165e:	5e                   	pop    %esi
86165f:	8d 87 b8 07 00 00    	lea    0x7b8(%edi),%eax
861665:	50                   	push   %eax
861666:	ff 75 08             	push   0x8(%ebp)
861669:	e8 99 95 bc ff       	call   0x42ac07
86166e:	ff 75 08             	push   0x8(%ebp)
861671:	8b cf                	mov    %edi,%ecx
861673:	e8 81 c5 bd ff       	call   0x43dbf9
861678:	5f                   	pop    %edi
861679:	5d                   	pop    %ebp
86167a:	c2 04 00             	ret    $0x4
86167d:	cc                   	int3
86167e:	cc                   	int3
86167f:	cc                   	int3
861680:	cc                   	int3
861681:	cc                   	int3
861682:	cc                   	int3
861683:	cc                   	int3
861684:	cc                   	int3
861685:	cc                   	int3
861686:	cc                   	int3
861687:	cc                   	int3
861688:	cc                   	int3
861689:	cc                   	int3
86168a:	cc                   	int3
86168b:	cc                   	int3
86168c:	cc                   	int3
86168d:	cc                   	int3
86168e:	55                   	push   %ebp
86168f:	8b ec                	mov    %esp,%ebp
861691:	51                   	push   %ecx
861692:	53                   	push   %ebx
861693:	56                   	push   %esi
861694:	57                   	push   %edi
861695:	8b 7d 08             	mov    0x8(%ebp),%edi
861698:	8b d9                	mov    %ecx,%ebx
86169a:	85 ff                	test   %edi,%edi
86169c:	0f 88 24 01 00 00    	js     0x8617c6
8616a2:	8b 45 0c             	mov    0xc(%ebp),%eax
8616a5:	85 c0                	test   %eax,%eax
8616a7:	78 03                	js     0x8616ac
8616a9:	89 43 10             	mov    %eax,0x10(%ebx)
8616ac:	85 ff                	test   %edi,%edi
8616ae:	75 1b                	jne    0x8616cb
8616b0:	33 f6                	xor    %esi,%esi
8616b2:	39 73 04             	cmp    %esi,0x4(%ebx)
8616b5:	74 0c                	je     0x8616c3
8616b7:	ff 73 04             	push   0x4(%ebx)
8616ba:	e8 53 cf bd ff       	call   0x43e612
8616bf:	59                   	pop    %ecx
8616c0:	89 73 04             	mov    %esi,0x4(%ebx)
8616c3:	89 73 0c             	mov    %esi,0xc(%ebx)
8616c6:	e9 ef 00 00 00       	jmp    0x8617ba
8616cb:	8b 53 04             	mov    0x4(%ebx),%edx
8616ce:	85 d2                	test   %edx,%edx
8616d0:	75 37                	jne    0x861709
8616d2:	8b 43 10             	mov    0x10(%ebx),%eax
8616d5:	89 45 fc             	mov    %eax,-0x4(%ebp)
8616d8:	3b f8                	cmp    %eax,%edi
8616da:	7e 05                	jle    0x8616e1
8616dc:	8b c7                	mov    %edi,%eax
8616de:	89 7d fc             	mov    %edi,-0x4(%ebp)
8616e1:	8b f0                	mov    %eax,%esi
8616e3:	c1 e6 02             	shl    $0x2,%esi
8616e6:	56                   	push   %esi
8616e7:	e8 ab 40 bd ff       	call   0x435797
8616ec:	56                   	push   %esi
8616ed:	6a 00                	push   $0x0
8616ef:	50                   	push   %eax
8616f0:	89 43 04             	mov    %eax,0x4(%ebx)
8616f3:	e8 c0 30 bb ff       	call   0x4147b8
8616f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
8616fb:	83 c4 10             	add    $0x10,%esp
8616fe:	89 7b 08             	mov    %edi,0x8(%ebx)
861701:	89 43 0c             	mov    %eax,0xc(%ebx)
861704:	e9 b4 00 00 00       	jmp    0x8617bd
861709:	8b 4b 0c             	mov    0xc(%ebx),%ecx
86170c:	3b f9                	cmp    %ecx,%edi
86170e:	7f 25                	jg     0x861735
861710:	8b 4b 08             	mov    0x8(%ebx),%ecx
861713:	3b f9                	cmp    %ecx,%edi
861715:	7e 16                	jle    0x86172d
861717:	8b c7                	mov    %edi,%eax
861719:	2b c1                	sub    %ecx,%eax
86171b:	c1 e0 02             	shl    $0x2,%eax
86171e:	50                   	push   %eax
86171f:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
861722:	6a 00                	push   $0x0
861724:	50                   	push   %eax
861725:	e8 8e 30 bb ff       	call   0x4147b8
86172a:	83 c4 0c             	add    $0xc,%esp
86172d:	89 7b 08             	mov    %edi,0x8(%ebx)
861730:	e9 88 00 00 00       	jmp    0x8617bd
861735:	8b 43 10             	mov    0x10(%ebx),%eax
861738:	85 c0                	test   %eax,%eax
86173a:	75 21                	jne    0x86175d
86173c:	8b 43 08             	mov    0x8(%ebx),%eax
86173f:	99                   	cltd
861740:	83 e2 07             	and    $0x7,%edx
861743:	03 c2                	add    %edx,%eax
861745:	c1 f8 03             	sar    $0x3,%eax
861748:	83 f8 04             	cmp    $0x4,%eax
86174b:	7d 05                	jge    0x861752
86174d:	6a 04                	push   $0x4
86174f:	58                   	pop    %eax
861750:	eb 0b                	jmp    0x86175d
861752:	ba 00 04 00 00       	mov    $0x400,%edx
861757:	3b c2                	cmp    %edx,%eax
861759:	7e 02                	jle    0x86175d
86175b:	8b c2                	mov    %edx,%eax
86175d:	03 c1                	add    %ecx,%eax
86175f:	89 45 fc             	mov    %eax,-0x4(%ebp)
861762:	3b f8                	cmp    %eax,%edi
861764:	7c 05                	jl     0x86176b
861766:	8b c7                	mov    %edi,%eax
861768:	89 7d fc             	mov    %edi,-0x4(%ebp)
86176b:	3b c1                	cmp    %ecx,%eax
86176d:	7c 57                	jl     0x8617c6
86176f:	8b f0                	mov    %eax,%esi
861771:	c1 e6 02             	shl    $0x2,%esi
861774:	56                   	push   %esi
861775:	e8 1d 40 bd ff       	call   0x435797
86177a:	8b 4b 08             	mov    0x8(%ebx),%ecx
86177d:	8b f8                	mov    %eax,%edi
86177f:	c1 e1 02             	shl    $0x2,%ecx
861782:	51                   	push   %ecx
861783:	ff 73 04             	push   0x4(%ebx)
861786:	56                   	push   %esi
861787:	57                   	push   %edi
861788:	e8 9f 8d bc ff       	call   0x42a52c
86178d:	8b 4b 08             	mov    0x8(%ebx),%ecx
861790:	8b 75 08             	mov    0x8(%ebp),%esi
861793:	8b c6                	mov    %esi,%eax
861795:	2b c1                	sub    %ecx,%eax
861797:	c1 e0 02             	shl    $0x2,%eax
86179a:	50                   	push   %eax
86179b:	8d 04 8f             	lea    (%edi,%ecx,4),%eax
86179e:	6a 00                	push   $0x0
8617a0:	50                   	push   %eax
8617a1:	e8 12 30 bb ff       	call   0x4147b8
8617a6:	ff 73 04             	push   0x4(%ebx)
8617a9:	e8 64 ce bd ff       	call   0x43e612
8617ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
8617b1:	83 c4 24             	add    $0x24,%esp
8617b4:	89 7b 04             	mov    %edi,0x4(%ebx)
8617b7:	89 43 0c             	mov    %eax,0xc(%ebx)
8617ba:	89 73 08             	mov    %esi,0x8(%ebx)
8617bd:	5f                   	pop    %edi
8617be:	5e                   	pop    %esi
8617bf:	5b                   	pop    %ebx
8617c0:	8b e5                	mov    %ebp,%esp
8617c2:	5d                   	pop    %ebp
8617c3:	c2 08 00             	ret    $0x8
8617c6:	e8 9b 07 bd ff       	call   0x431f66
8617cb:	cc                   	int3
8617cc:	cc                   	int3
8617cd:	cc                   	int3
8617ce:	cc                   	int3
8617cf:	cc                   	int3
8617d0:	cc                   	int3
8617d1:	cc                   	int3
8617d2:	cc                   	int3
8617d3:	cc                   	int3
8617d4:	cc                   	int3
8617d5:	cc                   	int3
8617d6:	cc                   	int3
8617d7:	cc                   	int3
8617d8:	cc                   	int3
8617d9:	cc                   	int3
8617da:	cc                   	int3
8617db:	cc                   	int3
8617dc:	cc                   	int3
8617dd:	cc                   	int3
8617de:	cc                   	int3
8617df:	cc                   	int3
8617e0:	cc                   	int3
8617e1:	cc                   	int3
8617e2:	cc                   	int3
8617e3:	cc                   	int3
8617e4:	cc                   	int3
8617e5:	cc                   	int3
8617e6:	cc                   	int3
8617e7:	cc                   	int3
8617e8:	cc                   	int3
8617e9:	cc                   	int3
8617ea:	cc                   	int3