8ef522:	ff 15 50 40 d8 00    	call   *0xd84050
8ef528:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
8ef52e:	8b c6                	mov    %esi,%eax
8ef530:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
8ef536:	5f                   	pop    %edi
8ef537:	c7 86 94 00 00 00 0a 	movl   $0xa,0x94(%esi)
8ef53e:	00 00 00
8ef541:	5e                   	pop    %esi
8ef542:	8b e5                	mov    %ebp,%esp
8ef544:	5d                   	pop    %ebp
8ef545:	c3                   	ret
8ef546:	cc                   	int3
8ef547:	cc                   	int3
8ef548:	cc                   	int3
8ef549:	cc                   	int3
8ef54a:	cc                   	int3
8ef54b:	cc                   	int3
8ef54c:	cc                   	int3
8ef54d:	cc                   	int3
8ef54e:	cc                   	int3
8ef54f:	cc                   	int3
8ef550:	cc                   	int3
8ef551:	cc                   	int3
8ef552:	cc                   	int3
8ef553:	cc                   	int3
8ef554:	cc                   	int3
8ef555:	cc                   	int3
8ef556:	cc                   	int3
8ef557:	cc                   	int3
8ef558:	cc                   	int3
8ef559:	cc                   	int3
8ef55a:	cc                   	int3
8ef55b:	cc                   	int3
8ef55c:	cc                   	int3
8ef55d:	56                   	push   %esi
8ef55e:	8b f1                	mov    %ecx,%esi
8ef560:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
8ef566:	83 e9 10             	sub    $0x10,%ecx
8ef569:	c7 06 14 c1 c4 00    	movl   $0xc4c114,(%esi)
8ef56f:	e8 a0 56 b1 ff       	call   0x404c14
8ef574:	8b ce                	mov    %esi,%ecx
8ef576:	5e                   	pop    %esi
8ef577:	e9 53 48 b4 ff       	jmp    0x433dcf
8ef57c:	cc                   	int3
8ef57d:	cc                   	int3
8ef57e:	cc                   	int3
8ef57f:	cc                   	int3
8ef580:	cc                   	int3
8ef581:	cc                   	int3
8ef582:	cc                   	int3
8ef583:	55                   	push   %ebp
8ef584:	8b ec                	mov    %esp,%ebp
8ef586:	56                   	push   %esi
8ef587:	8b f1                	mov    %ecx,%esi
8ef589:	e8 12 93 b1 ff       	call   0x4088a0
8ef58e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
8ef592:	74 1b                	je     0x8ef5af
8ef594:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
8ef598:	75 08                	jne    0x8ef5a2
8ef59a:	56                   	push   %esi
8ef59b:	e8 ef 21 b1 ff       	call   0x40178f
8ef5a0:	eb 0c                	jmp    0x8ef5ae
8ef5a2:	68 a0 00 00 00       	push   $0xa0
8ef5a7:	56                   	push   %esi
8ef5a8:	e8 2d 02 b3 ff       	call   0x41f7da
8ef5ad:	59                   	pop    %ecx
8ef5ae:	59                   	pop    %ecx
8ef5af:	8b c6                	mov    %esi,%eax
8ef5b1:	5e                   	pop    %esi
8ef5b2:	5d                   	pop    %ebp
8ef5b3:	c2 04 00             	ret    $0x4
8ef5b6:	cc                   	int3
8ef5b7:	cc                   	int3
8ef5b8:	cc                   	int3
8ef5b9:	cc                   	int3
8ef5ba:	cc                   	int3
8ef5bb:	cc                   	int3
8ef5bc:	cc                   	int3
8ef5bd:	cc                   	int3
8ef5be:	cc                   	int3
8ef5bf:	cc                   	int3
8ef5c0:	cc                   	int3
8ef5c1:	cc                   	int3
8ef5c2:	55                   	push   %ebp
8ef5c3:	8b ec                	mov    %esp,%ebp
8ef5c5:	53                   	push   %ebx
8ef5c6:	56                   	push   %esi
8ef5c7:	8b 75 08             	mov    0x8(%ebp),%esi
8ef5ca:	33 db                	xor    %ebx,%ebx
8ef5cc:	57                   	push   %edi
8ef5cd:	53                   	push   %ebx
8ef5ce:	6a 10                	push   $0x10
8ef5d0:	8b f9                	mov    %ecx,%edi
8ef5d2:	68 00 7f 00 00       	push   $0x7f00
8ef5d7:	53                   	push   %ebx
8ef5d8:	89 b7 9c 00 00 00    	mov    %esi,0x9c(%edi)
8ef5de:	ff 15 dc 3d d8 00    	call   *0xd83ddc
8ef5e4:	50                   	push   %eax
8ef5e5:	68 00 08 00 00       	push   $0x800
8ef5ea:	e8 71 cc b2 ff       	call   0x41c260
8ef5ef:	50                   	push   %eax
8ef5f0:	b9 dc ec d7 00       	mov    $0xd7ecdc,%ecx
8ef5f5:	e8 90 3e b2 ff       	call   0x41348a
8ef5fa:	8b c3                	mov    %ebx,%eax
8ef5fc:	85 f6                	test   %esi,%esi
8ef5fe:	74 03                	je     0x8ef603
8ef600:	8b 46 20             	mov    0x20(%esi),%eax
8ef603:	8b 37                	mov    (%edi),%esi
8ef605:	53                   	push   %ebx
8ef606:	53                   	push   %ebx
8ef607:	50                   	push   %eax
8ef608:	8b 4e 5c             	mov    0x5c(%esi),%ecx
8ef60b:	53                   	push   %ebx
8ef60c:	53                   	push   %ebx
8ef60d:	53                   	push   %ebx
8ef60e:	53                   	push   %ebx
8ef60f:	68 00 00 00 80       	push   $0x80000000
8ef614:	68 2c 0a bd 00       	push   $0xbd0a2c
8ef619:	ff 35 dc ec d7 00    	push   0xd7ecdc
8ef61f:	53                   	push   %ebx
8ef620:	e8 40 d0 b3 ff       	call   0x42c665
8ef625:	8b cf                	mov    %edi,%ecx
8ef627:	ff 56 5c             	call   *0x5c(%esi)
8ef62a:	5f                   	pop    %edi
8ef62b:	5e                   	pop    %esi
8ef62c:	5b                   	pop    %ebx
8ef62d:	5d                   	pop    %ebp
8ef62e:	c2 04 00             	ret    $0x4
8ef631:	cc                   	int3
8ef632:	cc                   	int3
8ef633:	cc                   	int3
8ef634:	cc                   	int3
8ef635:	cc                   	int3
8ef636:	cc                   	int3
8ef637:	cc                   	int3
8ef638:	cc                   	int3
8ef639:	cc                   	int3
8ef63a:	cc                   	int3
8ef63b:	cc                   	int3
8ef63c:	cc                   	int3
8ef63d:	cc                   	int3
8ef63e:	cc                   	int3
8ef63f:	cc                   	int3
8ef640:	cc                   	int3
8ef641:	cc                   	int3
8ef642:	cc                   	int3
8ef643:	cc                   	int3
8ef644:	cc                   	int3
8ef645:	cc                   	int3
8ef646:	cc                   	int3
8ef647:	cc                   	int3
8ef648:	cc                   	int3
8ef649:	cc                   	int3
8ef64a:	cc                   	int3
8ef64b:	cc                   	int3
8ef64c:	56                   	push   %esi
8ef64d:	8b f1                	mov    %ecx,%esi
8ef64f:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
8ef655:	e8 a8 26 b1 ff       	call   0x401d02
8ef65a:	8d 86 84 00 00 00    	lea    0x84(%esi),%eax
8ef660:	50                   	push   %eax
8ef661:	ff 15 50 40 d8 00    	call   *0xd84050
8ef667:	8b ce                	mov    %esi,%ecx
8ef669:	5e                   	pop    %esi
8ef66a:	e9 91 35 b3 ff       	jmp    0x422c00
8ef66f:	cc                   	int3
8ef670:	cc                   	int3
8ef671:	cc                   	int3
8ef672:	cc                   	int3
8ef673:	cc                   	int3
8ef674:	cc                   	int3
8ef675:	cc                   	int3
8ef676:	cc                   	int3
8ef677:	b8 5c c3 c4 00       	mov    $0xc4c35c,%eax
8ef67c:	c3                   	ret
8ef67d:	b8 ec c0 c4 00       	mov    $0xc4c0ec,%eax
8ef682:	c3                   	ret
8ef683:	b8 5c c3 c4 00       	mov    $0xc4c35c,%eax
8ef688:	c3                   	ret
8ef689:	85 c9                	test   %ecx,%ecx
8ef68b:	74 0d                	je     0x8ef69a
8ef68d:	83 79 20 00          	cmpl   $0x0,0x20(%ecx)
8ef691:	74 07                	je     0x8ef69a
8ef693:	6a 00                	push   $0x0
8ef695:	e8 fd 08 b2 ff       	call   0x40ff97
8ef69a:	c3                   	ret
8ef69b:	cc                   	int3
8ef69c:	cc                   	int3
8ef69d:	cc                   	int3
8ef69e:	cc                   	int3
8ef69f:	33 c0                	xor    %eax,%eax
8ef6a1:	40                   	inc    %eax
8ef6a2:	c2 04 00             	ret    $0x4
8ef6a5:	68 ac 00 00 00       	push   $0xac
8ef6aa:	b8 f1 4c ba 00       	mov    $0xba4cf1,%eax
8ef6af:	e8 b1 29 b4 ff       	call   0x432065
8ef6b4:	8b d9                	mov    %ecx,%ebx
8ef6b6:	53                   	push   %ebx
8ef6b7:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8ef6ba:	e8 73 f9 b2 ff       	call   0x41f032
8ef6bf:	33 c0                	xor    %eax,%eax
8ef6c1:	89 45 fc             	mov    %eax,-0x4(%ebp)
8ef6c4:	89 45 e0             	mov    %eax,-0x20(%ebp)
8ef6c7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
8ef6ca:	89 45 e8             	mov    %eax,-0x18(%ebp)
8ef6cd:	89 45 ec             	mov    %eax,-0x14(%ebp)
8ef6d0:	8d 45 e0             	lea    -0x20(%ebp),%eax
8ef6d3:	50                   	push   %eax
8ef6d4:	ff 73 20             	push   0x20(%ebx)
8ef6d7:	ff 15 54 40 d8 00    	call   *0xd84054
8ef6dd:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
8ef6e3:	e8 24 d9 b2 ff       	call   0x41d00c
8ef6e8:	e8 60 34 b2 ff       	call   0x412b4d
8ef6ed:	8b f8                	mov    %eax,%edi
8ef6ef:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
8ef6f5:	6a ff                	push   $0xffffffff
8ef6f7:	50                   	push   %eax
8ef6f8:	8b 0f                	mov    (%edi),%ecx
8ef6fa:	8b b1 d4 02 00 00    	mov    0x2d4(%ecx),%esi
8ef700:	8b ce                	mov    %esi,%ecx
8ef702:	e8 5e cf b3 ff       	call   0x42c665
8ef707:	8b cf                	mov    %edi,%ecx
8ef709:	ff d6                	call   *%esi
8ef70b:	83 bd 6c ff ff ff ff 	cmpl   $0xffffffff,-0x94(%ebp)
8ef712:	75 1c                	jne    0x8ef730
8ef714:	8b 75 90             	mov    -0x70(%ebp),%esi
8ef717:	6a 18                	push   $0x18
8ef719:	ff 15 d8 3d d8 00    	call   *0xd83dd8
8ef71f:	50                   	push   %eax
8ef720:	8d 45 e0             	lea    -0x20(%ebp),%eax
8ef723:	50                   	push   %eax
8ef724:	56                   	push   %esi
8ef725:	ff 15 c8 3d d8 00    	call   *0xd83dc8
8ef72b:	e9 8c 00 00 00       	jmp    0x8ef7bc
8ef730:	83 bd 70 ff ff ff ff 	cmpl   $0xffffffff,-0x90(%ebp)
8ef737:	75 38                	jne    0x8ef771
8ef739:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
8ef73f:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
8ef745:	e8 a0 72 b3 ff       	call   0x4269ea
8ef74a:	ff 75 80             	push   -0x80(%ebp)
8ef74d:	8d 45 e0             	lea    -0x20(%ebp),%eax
8ef750:	50                   	push   %eax
8ef751:	ff 75 90             	push   -0x70(%ebp)
8ef754:	ff 15 c8 3d d8 00    	call   *0xd83dc8
8ef75a:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
8ef760:	c7 85 7c ff ff ff dc 	movl   $0xc3a7dc,-0x84(%ebp)
8ef767:	a7 c3 00
8ef76a:	e8 c9 96 b4 ff       	call   0x438e38
8ef76f:	eb 4b                	jmp    0x8ef7bc
8ef771:	8d 45 8c             	lea    -0x74(%ebp),%eax
8ef774:	50                   	push   %eax
8ef775:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
8ef778:	e8 43 11 b2 ff       	call   0x4108c0
8ef77d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
8ef783:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
8ef787:	83 f8 ff             	cmp    $0xffffffff,%eax
8ef78a:	75 03                	jne    0x8ef78f
8ef78c:	6a 5a                	push   $0x5a
8ef78e:	58                   	pop    %eax
8ef78f:	50                   	push   %eax
8ef790:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
8ef796:	8d 75 e0             	lea    -0x20(%ebp),%esi
8ef799:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
8ef79f:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
8ef7a2:	83 ec 10             	sub    $0x10,%esp
8ef7a5:	8b fc                	mov    %esp,%edi
8ef7a7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8ef7a8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8ef7a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8ef7aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8ef7ab:	e8 ca 7a b1 ff       	call   0x40727a
8ef7b0:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
8ef7b3:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
8ef7b7:	e8 d5 08 b2 ff       	call   0x410091
8ef7bc:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
8ef7c2:	83 fe ff             	cmp    $0xffffffff,%esi
8ef7c5:	75 0a                	jne    0x8ef7d1
8ef7c7:	6a 17                	push   $0x17
8ef7c9:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8ef7cf:	8b f0                	mov    %eax,%esi
8ef7d1:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
8ef7d7:	89 7d 88             	mov    %edi,-0x78(%ebp)
8ef7da:	83 ff ff             	cmp    $0xffffffff,%edi
8ef7dd:	75 0b                	jne    0x8ef7ea
8ef7df:	6a 17                	push   $0x17
8ef7e1:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8ef7e7:	89 45 88             	mov    %eax,-0x78(%ebp)
8ef7ea:	56                   	push   %esi
8ef7eb:	56                   	push   %esi
8ef7ec:	8d 45 e0             	lea    -0x20(%ebp),%eax
8ef7ef:	50                   	push   %eax
8ef7f0:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8ef7f3:	e8 b8 4e b1 ff       	call   0x4046b0
8ef7f8:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
8ef7fe:	85 c0                	test   %eax,%eax
8ef800:	75 0c                	jne    0x8ef80e
8ef802:	6a 11                	push   $0x11
8ef804:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8ef807:	e8 69 05 b3 ff       	call   0x41fd75
8ef80c:	eb 0f                	jmp    0x8ef81d
8ef80e:	50                   	push   %eax
8ef80f:	e8 fb 3f b1 ff       	call   0x40380f
8ef814:	50                   	push   %eax
8ef815:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8ef818:	e8 c2 b4 b2 ff       	call   0x41acdf
8ef81d:	8b f8                	mov    %eax,%edi
8ef81f:	85 ff                	test   %edi,%edi
8ef821:	75 05                	jne    0x8ef828
8ef823:	e8 3e 27 b4 ff       	call   0x431f66
8ef828:	6a 01                	push   $0x1
8ef82a:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8ef82d:	e8 b6 3b b4 ff       	call   0x4333e8
8ef832:	ff 75 88             	push   -0x78(%ebp)
8ef835:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
8ef838:	e8 29 4f b4 ff       	call   0x434766
8ef83d:	68 50 de c3 00       	push   $0xc3de50
8ef842:	ff b3 80 00 00 00    	push   0x80(%ebx)
8ef848:	e8 38 bd b3 ff       	call   0x42b585
8ef84d:	59                   	pop    %ecx
8ef84e:	59                   	pop    %ecx
8ef84f:	85 c0                	test   %eax,%eax
8ef851:	74 58                	je     0x8ef8ab
8ef853:	2b 83 80 00 00 00    	sub    0x80(%ebx),%eax
8ef859:	d1 f8                	sar    $1,%eax
8ef85b:	83 f8 ff             	cmp    $0xffffffff,%eax
8ef85e:	74 4b                	je     0x8ef8ab
8ef860:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
8ef866:	f7 d8                	neg    %eax
8ef868:	50                   	push   %eax
8ef869:	50                   	push   %eax
8ef86a:	8d 45 e0             	lea    -0x20(%ebp),%eax
8ef86d:	50                   	push   %eax
8ef86e:	ff 15 ec 3d d8 00    	call   *0xd83dec
8ef874:	8b 8b 90 00 00 00    	mov    0x90(%ebx),%ecx
8ef87a:	8b 45 ec             	mov    -0x14(%ebp),%eax
8ef87d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
8ef880:	2b c6                	sub    %esi,%eax
8ef882:	2b 8b 88 00 00 00    	sub    0x88(%ebx),%ecx
8ef888:	3b c1                	cmp    %ecx,%eax
8ef88a:	7d 1b                	jge    0x8ef8a7
8ef88c:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
8ef892:	2b 83 88 00 00 00    	sub    0x88(%ebx),%eax
8ef898:	2b 45 ec             	sub    -0x14(%ebp),%eax
8ef89b:	03 c6                	add    %esi,%eax
8ef89d:	99                   	cltd
8ef89e:	2b c2                	sub    %edx,%eax
8ef8a0:	d1 f8                	sar    $1,%eax
8ef8a2:	03 f0                	add    %eax,%esi
8ef8a4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
8ef8a7:	6a 10                	push   $0x10