98a528:	39 87 98 2a 00 00    	cmp    %eax,0x2a98(%edi)
98a52e:	0f 84 d5 04 00 00    	je     0x98aa09
98a534:	89 45 dc             	mov    %eax,-0x24(%ebp)
98a537:	8b 03                	mov    (%ebx),%eax
98a539:	8b b0 ac 01 00 00    	mov    0x1ac(%eax),%esi
98a53f:	8b ce                	mov    %esi,%ecx
98a541:	e8 1f 21 aa ff       	call   0x42c665
98a546:	8b cb                	mov    %ebx,%ecx
98a548:	ff d6                	call   *%esi
98a54a:	f7 d8                	neg    %eax
98a54c:	6a 05                	push   $0x5
98a54e:	ff 77 20             	push   0x20(%edi)
98a551:	1b c0                	sbb    %eax,%eax
98a553:	40                   	inc    %eax
98a554:	89 45 c4             	mov    %eax,-0x3c(%ebp)
98a557:	ff 15 5c 40 d8 00    	call   *0xd8405c
98a55d:	50                   	push   %eax
98a55e:	e8 2b b2 a9 ff       	call   0x42578e
98a563:	8b f0                	mov    %eax,%esi
98a565:	89 75 ec             	mov    %esi,-0x14(%ebp)
98a568:	85 f6                	test   %esi,%esi
98a56a:	0f 84 07 04 00 00    	je     0x98a977
98a570:	56                   	push   %esi
98a571:	68 00 30 c5 00       	push   $0xc53000
98a576:	e8 8f ba a7 ff       	call   0x40600a
98a57b:	8b f0                	mov    %eax,%esi
98a57d:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
98a584:	89 75 f0             	mov    %esi,-0x10(%ebp)
98a587:	59                   	pop    %ecx
98a588:	59                   	pop    %ecx
98a589:	85 f6                	test   %esi,%esi
98a58b:	74 4b                	je     0x98a5d8
98a58d:	8b 0e                	mov    (%esi),%ecx
98a58f:	8b b1 e4 01 00 00    	mov    0x1e4(%ecx),%esi
98a595:	8b ce                	mov    %esi,%ecx
98a597:	e8 c9 20 aa ff       	call   0x42c665
98a59c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
98a59f:	ff d6                	call   *%esi
98a5a1:	8b 75 f0             	mov    -0x10(%ebp),%esi
98a5a4:	89 45 d0             	mov    %eax,-0x30(%ebp)
98a5a7:	83 c8 ff             	or     $0xffffffff,%eax
98a5aa:	89 45 e0             	mov    %eax,-0x20(%ebp)
98a5ad:	89 45 d4             	mov    %eax,-0x2c(%ebp)
98a5b0:	33 c0                	xor    %eax,%eax
98a5b2:	39 87 d0 2a 00 00    	cmp    %eax,0x2ad0(%edi)
98a5b8:	0f 84 f3 00 00 00    	je     0x98a6b1
98a5be:	85 f6                	test   %esi,%esi
98a5c0:	74 45                	je     0x98a607
98a5c2:	8b 06                	mov    (%esi),%eax
98a5c4:	8b b0 e0 01 00 00    	mov    0x1e0(%eax),%esi
98a5ca:	8b ce                	mov    %esi,%ecx
98a5cc:	e8 94 20 aa ff       	call   0x42c665
98a5d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
98a5d4:	ff d6                	call   *%esi
98a5d6:	eb 51                	jmp    0x98a629
98a5d8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
98a5db:	68 00 77 c4 00       	push   $0xc47700
98a5e0:	e8 aa f6 a9 ff       	call   0x429c8f
98a5e5:	85 c0                	test   %eax,%eax
98a5e7:	74 be                	je     0x98a5a7
98a5e9:	8b 45 ec             	mov    -0x14(%ebp),%eax
98a5ec:	6a 02                	push   $0x2
98a5ee:	ff 70 20             	push   0x20(%eax)
98a5f1:	ff 15 5c 40 d8 00    	call   *0xd8405c
98a5f7:	50                   	push   %eax
98a5f8:	e8 91 b1 a9 ff       	call   0x42578e
98a5fd:	8b f0                	mov    %eax,%esi
98a5ff:	89 75 ec             	mov    %esi,-0x14(%ebp)
98a602:	e9 38 03 00 00       	jmp    0x98a93f
98a607:	8b 75 ec             	mov    -0x14(%ebp),%esi
98a60a:	50                   	push   %eax
98a60b:	50                   	push   %eax
98a60c:	6a 7f                	push   $0x7f
98a60e:	ff 76 20             	push   0x20(%esi)
98a611:	ff 15 20 40 d8 00    	call   *0xd84020
98a617:	89 45 e4             	mov    %eax,-0x1c(%ebp)
98a61a:	85 c0                	test   %eax,%eax
98a61c:	75 16                	jne    0x98a634
98a61e:	6a de                	push   $0xffffffde
98a620:	ff 76 20             	push   0x20(%esi)
98a623:	ff 15 10 3d d8 00    	call   *0xd83d10
98a629:	89 45 e4             	mov    %eax,-0x1c(%ebp)
98a62c:	85 c0                	test   %eax,%eax
98a62e:	0f 84 24 01 00 00    	je     0x98a758
98a634:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
98a637:	51                   	push   %ecx
98a638:	8d b7 ac 2a 00 00    	lea    0x2aac(%edi),%esi
98a63e:	50                   	push   %eax
98a63f:	8b ce                	mov    %esi,%ecx
98a641:	e8 7b be aa ff       	call   0x4364c1
98a646:	85 c0                	test   %eax,%eax
98a648:	75 59                	jne    0x98a6a3
98a64a:	ff 75 e4             	push   -0x1c(%ebp)
98a64d:	6a ff                	push   $0xffffffff
98a64f:	ff b7 a8 2a 00 00    	push   0x2aa8(%edi)
98a655:	e8 31 87 a9 ff       	call   0x422d8b
98a65a:	ff 75 e4             	push   -0x1c(%ebp)
98a65d:	8b ce                	mov    %esi,%ecx
98a65f:	89 45 e0             	mov    %eax,-0x20(%ebp)
98a662:	e8 44 c0 aa ff       	call   0x4366ab
98a667:	8b 4d e0             	mov    -0x20(%ebp),%ecx
98a66a:	89 08                	mov    %ecx,(%eax)
98a66c:	ff b7 a8 2a 00 00    	push   0x2aa8(%edi)
98a672:	e8 38 f3 aa ff       	call   0x4399af
98a677:	83 f8 01             	cmp    $0x1,%eax
98a67a:	75 2d                	jne    0x98a6a9
98a67c:	8d 87 a4 2a 00 00    	lea    0x2aa4(%edi),%eax
98a682:	85 c0                	test   %eax,%eax
98a684:	75 04                	jne    0x98a68a
98a686:	33 c9                	xor    %ecx,%ecx
98a688:	eb 03                	jmp    0x98a68d
98a68a:	8b 48 04             	mov    0x4(%eax),%ecx
98a68d:	8b 03                	mov    (%ebx),%eax
98a68f:	51                   	push   %ecx
98a690:	8b b0 6c 01 00 00    	mov    0x16c(%eax),%esi
98a696:	8b ce                	mov    %esi,%ecx
98a698:	e8 c8 1f aa ff       	call   0x42c665
98a69d:	8b cb                	mov    %ebx,%ecx
98a69f:	ff d6                	call   *%esi
98a6a1:	eb 06                	jmp    0x98a6a9
98a6a3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
98a6a6:	89 45 e0             	mov    %eax,-0x20(%ebp)
98a6a9:	ff 75 e4             	push   -0x1c(%ebp)
98a6ac:	e9 90 00 00 00       	jmp    0x98a741
98a6b1:	8b 03                	mov    (%ebx),%eax
98a6b3:	8b b0 74 01 00 00    	mov    0x174(%eax),%esi
98a6b9:	8b ce                	mov    %esi,%ecx
98a6bb:	e8 a5 1f aa ff       	call   0x42c665
98a6c0:	8b cb                	mov    %ebx,%ecx
98a6c2:	ff d6                	call   *%esi
98a6c4:	8d 8f ac 2a 00 00    	lea    0x2aac(%edi),%ecx
98a6ca:	e8 84 f9 aa ff       	call   0x43a053
98a6cf:	eb 0d                	jmp    0x98a6de
98a6d1:	6a 00                	push   $0x0
98a6d3:	ff b7 a8 2a 00 00    	push   0x2aa8(%edi)
98a6d9:	e8 8a 97 a7 ff       	call   0x403e68
98a6de:	ff b7 a8 2a 00 00    	push   0x2aa8(%edi)
98a6e4:	e8 c6 f2 aa ff       	call   0x4399af
98a6e9:	85 c0                	test   %eax,%eax
98a6eb:	7f e4                	jg     0x98a6d1
98a6ed:	8b 75 f0             	mov    -0x10(%ebp),%esi
98a6f0:	85 f6                	test   %esi,%esi
98a6f2:	74 64                	je     0x98a758
98a6f4:	8b ce                	mov    %esi,%ecx
98a6f6:	e8 0d 00 a9 ff       	call   0x41a708
98a6fb:	85 c0                	test   %eax,%eax
98a6fd:	74 59                	je     0x98a758
98a6ff:	8b ce                	mov    %esi,%ecx
98a701:	e8 76 5d aa ff       	call   0x43047c
98a706:	85 c0                	test   %eax,%eax
98a708:	74 4e                	je     0x98a758
98a70a:	8b 06                	mov    (%esi),%eax
98a70c:	8b b0 e0 01 00 00    	mov    0x1e0(%eax),%esi
98a712:	8b ce                	mov    %esi,%ecx
98a714:	e8 4c 1f aa ff       	call   0x42c665
98a719:	8b 4d f0             	mov    -0x10(%ebp),%ecx
98a71c:	ff d6                	call   *%esi
98a71e:	8b c8                	mov    %eax,%ecx
98a720:	85 c9                	test   %ecx,%ecx
98a722:	75 1c                	jne    0x98a740
98a724:	8b cf                	mov    %edi,%ecx
98a726:	e8 4a ed a8 ff       	call   0x419475
98a72b:	85 c0                	test   %eax,%eax
98a72d:	74 29                	je     0x98a758
98a72f:	50                   	push   %eax
98a730:	b9 cc ed d5 00       	mov    $0xd5edcc,%ecx
98a735:	e8 23 49 ab ff       	call   0x43f05d
98a73a:	8b c8                	mov    %eax,%ecx
98a73c:	85 c9                	test   %ecx,%ecx
98a73e:	74 18                	je     0x98a758
98a740:	51                   	push   %ecx
98a741:	8b 45 f0             	mov    -0x10(%ebp),%eax
98a744:	8b 00                	mov    (%eax),%eax
98a746:	8b b0 f0 01 00 00    	mov    0x1f0(%eax),%esi
98a74c:	8b ce                	mov    %esi,%ecx
98a74e:	e8 12 1f aa ff       	call   0x42c665
98a753:	8b 4d f0             	mov    -0x10(%ebp),%ecx
98a756:	ff d6                	call   *%esi
98a758:	e8 b8 be aa ff       	call   0x436615
98a75d:	50                   	push   %eax
98a75e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
98a761:	e8 ae f4 a7 ff       	call   0x409c14
98a766:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
98a76a:	8b 45 f0             	mov    -0x10(%ebp),%eax
98a76d:	85 c0                	test   %eax,%eax
98a76f:	74 36                	je     0x98a7a7
98a771:	8b 00                	mov    (%eax),%eax
98a773:	8d 4d c8             	lea    -0x38(%ebp),%ecx
98a776:	51                   	push   %ecx
98a777:	8b b0 dc 01 00 00    	mov    0x1dc(%eax),%esi
98a77d:	8b ce                	mov    %esi,%ecx
98a77f:	e8 e1 1e aa ff       	call   0x42c665
98a784:	8b 4d f0             	mov    -0x10(%ebp),%ecx
98a787:	ff d6                	call   *%esi
98a789:	50                   	push   %eax
98a78a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
98a78d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
98a791:	e8 57 7f a8 ff       	call   0x4126ed
98a796:	8b 4d c8             	mov    -0x38(%ebp),%ecx
98a799:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
98a79d:	8d 49 f0             	lea    -0x10(%ecx),%ecx
98a7a0:	e8 6f a4 a7 ff       	call   0x404c14
98a7a5:	eb 0c                	jmp    0x98a7b3
98a7a7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
98a7aa:	8d 45 e8             	lea    -0x18(%ebp),%eax
98a7ad:	50                   	push   %eax
98a7ae:	e8 f4 d3 a8 ff       	call   0x417ba7
98a7b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
98a7b6:	85 c0                	test   %eax,%eax
98a7b8:	75 04                	jne    0x98a7be
98a7ba:	33 c9                	xor    %ecx,%ecx
98a7bc:	eb 03                	jmp    0x98a7c1
98a7be:	8b 48 20             	mov    0x20(%eax),%ecx
98a7c1:	8b 03                	mov    (%ebx),%eax
98a7c3:	51                   	push   %ecx
98a7c4:	8b b0 1c 02 00 00    	mov    0x21c(%eax),%esi
98a7ca:	8b ce                	mov    %esi,%ecx
98a7cc:	e8 94 1e aa ff       	call   0x42c665
98a7d1:	8b cb                	mov    %ebx,%ecx
98a7d3:	ff d6                	call   *%esi
98a7d5:	8b f0                	mov    %eax,%esi
98a7d7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
98a7da:	85 f6                	test   %esi,%esi
98a7dc:	0f 88 d1 00 00 00    	js     0x98a8b3
98a7e2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
98a7e5:	e8 91 f0 a8 ff       	call   0x41987b
98a7ea:	a9 00 00 00 10       	test   $0x10000000,%eax
98a7ef:	0f 84 a6 00 00 00    	je     0x98a89b
98a7f5:	e8 1b be aa ff       	call   0x436615
98a7fa:	50                   	push   %eax
98a7fb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
98a7fe:	e8 11 f4 a7 ff       	call   0x409c14
98a803:	8b 03                	mov    (%ebx),%eax
98a805:	8d 4d d8             	lea    -0x28(%ebp),%ecx
98a808:	51                   	push   %ecx
98a809:	56                   	push   %esi
98a80a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
98a80e:	8b b0 bc 01 00 00    	mov    0x1bc(%eax),%esi
98a814:	8b ce                	mov    %esi,%ecx
98a816:	e8 4a 1e aa ff       	call   0x42c665
98a81b:	8b cb                	mov    %ebx,%ecx
98a81d:	ff d6                	call   *%esi
98a81f:	ff 75 e8             	push   -0x18(%ebp)
98a822:	8d 4d d8             	lea    -0x28(%ebp),%ecx
98a825:	e8 00 89 a7 ff       	call   0x40312a
98a82a:	85 c0                	test   %eax,%eax
98a82c:	74 21                	je     0x98a84f
98a82e:	8b 03                	mov    (%ebx),%eax
98a830:	8d 4d e8             	lea    -0x18(%ebp),%ecx
98a833:	51                   	push   %ecx
98a834:	ff 75 e4             	push   -0x1c(%ebp)
98a837:	8b b0 c0 01 00 00    	mov    0x1c0(%eax),%esi
98a83d:	8b ce                	mov    %esi,%ecx
98a83f:	e8 21 1e aa ff       	call   0x42c665
98a844:	8b cb                	mov    %ebx,%ecx
98a846:	ff d6                	call   *%esi
98a848:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
98a84f:	8b 03                	mov    (%ebx),%eax
98a851:	ff 75 e4             	push   -0x1c(%ebp)
98a854:	8b b0 c4 01 00 00    	mov    0x1c4(%eax),%esi
98a85a:	8b ce                	mov    %esi,%ecx
98a85c:	e8 04 1e aa ff       	call   0x42c665
98a861:	8b cb                	mov    %ebx,%ecx
98a863:	ff d6                	call   *%esi
98a865:	8b 4d e0             	mov    -0x20(%ebp),%ecx
98a868:	3b c1                	cmp    %ecx,%eax
98a86a:	74 1e                	je     0x98a88a
98a86c:	8b 03                	mov    (%ebx),%eax
98a86e:	51                   	push   %ecx
98a86f:	ff 75 e4             	push   -0x1c(%ebp)
98a872:	8b b0 c8 01 00 00    	mov    0x1c8(%eax),%esi
98a878:	8b ce                	mov    %esi,%ecx
98a87a:	e8 e6 1d aa ff       	call   0x42c665
98a87f:	8b cb                	mov    %ebx,%ecx
98a881:	ff d6                	call   *%esi
98a883:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
98a88a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
98a88d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
98a891:	8d 49 f0             	lea    -0x10(%ecx),%ecx
98a894:	e8 7b a3 a7 ff       	call   0x404c14
98a899:	eb 7c                	jmp    0x98a917
98a89b:	8b 03                	mov    (%ebx),%eax
98a89d:	6a 01                	push   $0x1
98a89f:	56                   	push   %esi
98a8a0:	8b b0 98 01 00 00    	mov    0x198(%eax),%esi
98a8a6:	8b ce                	mov    %esi,%ecx
98a8a8:	e8 b8 1d aa ff       	call   0x42c665
98a8ad:	8b cb                	mov    %ebx,%ecx
98a8af:	ff d6                	call   *%esi
98a8b1:	eb 5d                	jmp    0x98a910
98a8b3:	8b 45 f0             	mov    -0x10(%ebp),%eax
98a8b6:	85 c0                	test   %eax,%eax
98a8b8:	74 09                	je     0x98a8c3
98a8ba:	83 b8 2c 01 00 00 00 	cmpl   $0x0,0x12c(%eax)
98a8c1:	75 54                	jne    0x98a917
98a8c3:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
98a8c7:	74 4e                	je     0x98a917
98a8c9:	8b 03                	mov    (%ebx),%eax
98a8cb:	6a 01                	push   $0x1
98a8cd:	ff 75 e0             	push   -0x20(%ebp)
98a8d0:	ff 75 e8             	push   -0x18(%ebp)
98a8d3:	8b b0 8c 01 00 00    	mov    0x18c(%eax),%esi
98a8d9:	8b ce                	mov    %esi,%ecx
98a8db:	ff 75 ec             	push   -0x14(%ebp)
98a8de:	e8 82 1d aa ff       	call   0x42c665
98a8e3:	8b cb                	mov    %ebx,%ecx
98a8e5:	ff d6                	call   *%esi
98a8e7:	8b 3b                	mov    (%ebx),%edi
98a8e9:	8b b7 ac 01 00 00    	mov    0x1ac(%edi),%esi
98a8ef:	8b ce                	mov    %esi,%ecx
98a8f1:	e8 6f 1d aa ff       	call   0x42c665
98a8f6:	8b cb                	mov    %ebx,%ecx
98a8f8:	ff d6                	call   *%esi
98a8fa:	8b b7 14 02 00 00    	mov    0x214(%edi),%esi
98a900:	48                   	dec    %eax
98a901:	50                   	push   %eax
98a902:	8b ce                	mov    %esi,%ecx
98a904:	e8 5c 1d aa ff       	call   0x42c665
98a909:	8b cb                	mov    %ebx,%ecx
98a90b:	ff d6                	call   *%esi
98a90d:	8b 7d cc             	mov    -0x34(%ebp),%edi
98a910:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
98a917:	8b 45 ec             	mov    -0x14(%ebp),%eax
98a91a:	6a 02                	push   $0x2
98a91c:	ff 70 20             	push   0x20(%eax)
98a91f:	ff 15 5c 40 d8 00    	call   *0xd8405c
98a925:	50                   	push   %eax
98a926:	e8 63 ae a9 ff       	call   0x42578e
98a92b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
98a92e:	8b f0                	mov    %eax,%esi
98a930:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
98a934:	89 75 ec             	mov    %esi,-0x14(%ebp)
98a937:	8d 49 f0             	lea    -0x10(%ecx),%ecx
98a93a:	e8 d5 a2 a7 ff       	call   0x404c14
98a93f:	85 f6                	test   %esi,%esi
98a941:	0f 85 29 fc ff ff    	jne    0x98a570
98a947:	8b 45 dc             	mov    -0x24(%ebp),%eax
98a94a:	85 c0                	test   %eax,%eax
98a94c:	74 29                	je     0x98a977
98a94e:	8b cf                	mov    %edi,%ecx
98a950:	e8 6e 06 a9 ff       	call   0x41afc3
98a955:	85 c0                	test   %eax,%eax
98a957:	74 1e                	je     0x98a977
98a959:	8b cf                	mov    %edi,%ecx
98a95b:	e8 63 06 a9 ff       	call   0x41afc3
98a960:	8b f8                	mov    %eax,%edi
98a962:	6a 01                	push   $0x1
98a964:	8b 0f                	mov    (%edi),%ecx
98a966:	8b b1 78 01 00 00    	mov    0x178(%ecx),%esi
98a96c:	8b ce                	mov    %esi,%ecx