aa8639:	66 3b f1             	cmp    %cx,%si
aa863c:	0f 82 c1 00 00 00    	jb     0xaa8703
aa8642:	8d 41 0a             	lea    0xa(%ecx),%eax
aa8645:	66 3b f0             	cmp    %ax,%si
aa8648:	0f 82 21 ff ff ff    	jb     0xaa856f
aa864e:	8d 48 76             	lea    0x76(%eax),%ecx
aa8651:	66 3b f1             	cmp    %cx,%si
aa8654:	0f 82 a9 00 00 00    	jb     0xaa8703
aa865a:	8d 41 0a             	lea    0xa(%ecx),%eax
aa865d:	66 3b f0             	cmp    %ax,%si
aa8660:	0f 82 09 ff ff ff    	jb     0xaa856f
aa8666:	b9 50 0e 00 00       	mov    $0xe50,%ecx
aa866b:	66 3b f1             	cmp    %cx,%si
aa866e:	0f 82 8f 00 00 00    	jb     0xaa8703
aa8674:	8d 41 0a             	lea    0xa(%ecx),%eax
aa8677:	66 3b f0             	cmp    %ax,%si
aa867a:	0f 82 ef fe ff ff    	jb     0xaa856f
aa8680:	8d 48 76             	lea    0x76(%eax),%ecx
aa8683:	66 3b f1             	cmp    %cx,%si
aa8686:	72 7b                	jb     0xaa8703
aa8688:	8d 41 0a             	lea    0xa(%ecx),%eax
aa868b:	66 3b f0             	cmp    %ax,%si
aa868e:	0f 82 db fe ff ff    	jb     0xaa856f
aa8694:	83 c1 50             	add    $0x50,%ecx
aa8697:	66 3b f1             	cmp    %cx,%si
aa869a:	72 67                	jb     0xaa8703
aa869c:	83 c0 50             	add    $0x50,%eax
aa869f:	66 3b f0             	cmp    %ax,%si
aa86a2:	0f 82 c7 fe ff ff    	jb     0xaa856f
aa86a8:	b9 40 10 00 00       	mov    $0x1040,%ecx
aa86ad:	66 3b f1             	cmp    %cx,%si
aa86b0:	72 51                	jb     0xaa8703
aa86b2:	8d 41 0a             	lea    0xa(%ecx),%eax
aa86b5:	66 3b f0             	cmp    %ax,%si
aa86b8:	0f 82 b1 fe ff ff    	jb     0xaa856f
aa86be:	b9 e0 17 00 00       	mov    $0x17e0,%ecx
aa86c3:	66 3b f1             	cmp    %cx,%si
aa86c6:	72 3b                	jb     0xaa8703
aa86c8:	8d 41 0a             	lea    0xa(%ecx),%eax
aa86cb:	66 3b f0             	cmp    %ax,%si
aa86ce:	0f 82 9b fe ff ff    	jb     0xaa856f
aa86d4:	83 c1 30             	add    $0x30,%ecx
aa86d7:	66 3b f1             	cmp    %cx,%si
aa86da:	72 27                	jb     0xaa8703
aa86dc:	83 c0 30             	add    $0x30,%eax
aa86df:	66 3b f0             	cmp    %ax,%si
aa86e2:	73 1f                	jae    0xaa8703
aa86e4:	e9 86 fe ff ff       	jmp    0xaa856f
aa86e9:	b8 1a ff 00 00       	mov    $0xff1a,%eax
aa86ee:	66 3b f0             	cmp    %ax,%si
aa86f1:	73 0a                	jae    0xaa86fd
aa86f3:	0f b7 c6             	movzwl %si,%eax
aa86f6:	2d 10 ff 00 00       	sub    $0xff10,%eax
aa86fb:	eb 02                	jmp    0xaa86ff
aa86fd:	8b c7                	mov    %edi,%eax
aa86ff:	3b c7                	cmp    %edi,%eax
aa8701:	75 2d                	jne    0xaa8730
aa8703:	6a 41                	push   $0x41
aa8705:	58                   	pop    %eax
aa8706:	66 3b c6             	cmp    %si,%ax
aa8709:	77 08                	ja     0xaa8713
aa870b:	6a 5a                	push   $0x5a
aa870d:	58                   	pop    %eax
aa870e:	66 3b f0             	cmp    %ax,%si
aa8711:	76 08                	jbe    0xaa871b
aa8713:	8d 46 9f             	lea    -0x61(%esi),%eax
aa8716:	66 3b c2             	cmp    %dx,%ax
aa8719:	77 13                	ja     0xaa872e
aa871b:	8d 46 9f             	lea    -0x61(%esi),%eax
aa871e:	66 3b c2             	cmp    %dx,%ax
aa8721:	0f b7 c6             	movzwl %si,%eax
aa8724:	77 03                	ja     0xaa8729
aa8726:	83 e8 20             	sub    $0x20,%eax
aa8729:	83 c0 c9             	add    $0xffffffc9,%eax
aa872c:	eb 02                	jmp    0xaa8730
aa872e:	8b c7                	mov    %edi,%eax
aa8730:	85 c0                	test   %eax,%eax
aa8732:	74 0c                	je     0xaa8740
aa8734:	85 db                	test   %ebx,%ebx
aa8736:	75 47                	jne    0xaa877f
aa8738:	6a 0a                	push   $0xa
aa873a:	5b                   	pop    %ebx
aa873b:	89 5d 2c             	mov    %ebx,0x2c(%ebp)
aa873e:	eb 3f                	jmp    0xaa877f
aa8740:	8d 4d 0c             	lea    0xc(%ebp),%ecx
aa8743:	e8 ea 57 99 ff       	call   0x43df32
aa8748:	0f b7 c0             	movzwl %ax,%eax
aa874b:	83 f8 78             	cmp    $0x78,%eax
aa874e:	74 1a                	je     0xaa876a
aa8750:	83 f8 58             	cmp    $0x58,%eax
aa8753:	74 15                	je     0xaa876a
aa8755:	85 db                	test   %ebx,%ebx
aa8757:	75 06                	jne    0xaa875f
aa8759:	6a 08                	push   $0x8
aa875b:	5b                   	pop    %ebx
aa875c:	89 5d 2c             	mov    %ebx,0x2c(%ebp)
aa875f:	50                   	push   %eax
aa8760:	8d 4d 0c             	lea    0xc(%ebp),%ecx
aa8763:	e8 16 44 98 ff       	call   0x42cb7e
aa8768:	eb 15                	jmp    0xaa877f
aa876a:	85 db                	test   %ebx,%ebx
aa876c:	75 06                	jne    0xaa8774
aa876e:	6a 10                	push   $0x10
aa8770:	5b                   	pop    %ebx
aa8771:	89 5d 2c             	mov    %ebx,0x2c(%ebp)
aa8774:	8d 4d 0c             	lea    0xc(%ebp),%ecx
aa8777:	e8 b6 57 99 ff       	call   0x43df32
aa877c:	0f b7 f0             	movzwl %ax,%esi
aa877f:	8b c3                	mov    %ebx,%eax
aa8781:	99                   	cltd
aa8782:	8b ca                	mov    %edx,%ecx
aa8784:	89 45 d8             	mov    %eax,-0x28(%ebp)
aa8787:	51                   	push   %ecx
aa8788:	50                   	push   %eax
aa8789:	57                   	push   %edi
aa878a:	57                   	push   %edi
aa878b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
aa878e:	e8 2e d5 96 ff       	call   0x415cc1
aa8793:	89 45 e8             	mov    %eax,-0x18(%ebp)
aa8796:	8b c2                	mov    %edx,%eax
aa8798:	89 4d e0             	mov    %ecx,-0x20(%ebp)
aa879b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
aa879e:	89 45 f4             	mov    %eax,-0xc(%ebp)
aa87a1:	6a 30                	push   $0x30
aa87a3:	59                   	pop    %ecx
aa87a4:	66 3b f1             	cmp    %cx,%si
aa87a7:	0f 82 8e 01 00 00    	jb     0xaa893b
aa87ad:	6a 3a                	push   $0x3a
aa87af:	5a                   	pop    %edx
aa87b0:	66 3b f2             	cmp    %dx,%si
aa87b3:	0f 82 74 01 00 00    	jb     0xaa892d
aa87b9:	b9 10 ff 00 00       	mov    $0xff10,%ecx
aa87be:	66 3b f1             	cmp    %cx,%si
aa87c1:	0f 83 5c 01 00 00    	jae    0xaa8923
aa87c7:	b9 60 06 00 00       	mov    $0x660,%ecx
aa87cc:	66 3b f1             	cmp    %cx,%si
aa87cf:	0f 82 66 01 00 00    	jb     0xaa893b
aa87d5:	8d 51 0a             	lea    0xa(%ecx),%edx
aa87d8:	66 3b f2             	cmp    %dx,%si
aa87db:	0f 82 4c 01 00 00    	jb     0xaa892d
aa87e1:	b9 f0 06 00 00       	mov    $0x6f0,%ecx
aa87e6:	66 3b f1             	cmp    %cx,%si
aa87e9:	0f 82 4c 01 00 00    	jb     0xaa893b
aa87ef:	8d 51 0a             	lea    0xa(%ecx),%edx
aa87f2:	66 3b f2             	cmp    %dx,%si
aa87f5:	0f 82 32 01 00 00    	jb     0xaa892d
aa87fb:	b9 66 09 00 00       	mov    $0x966,%ecx
aa8800:	66 3b f1             	cmp    %cx,%si
aa8803:	0f 82 32 01 00 00    	jb     0xaa893b
aa8809:	8d 51 0a             	lea    0xa(%ecx),%edx
aa880c:	66 3b f2             	cmp    %dx,%si
aa880f:	0f 82 18 01 00 00    	jb     0xaa892d
aa8815:	8d 4a 76             	lea    0x76(%edx),%ecx
aa8818:	66 3b f1             	cmp    %cx,%si
aa881b:	0f 82 1a 01 00 00    	jb     0xaa893b
aa8821:	8d 51 0a             	lea    0xa(%ecx),%edx
aa8824:	66 3b f2             	cmp    %dx,%si
aa8827:	0f 82 00 01 00 00    	jb     0xaa892d
aa882d:	8d 4a 76             	lea    0x76(%edx),%ecx
aa8830:	66 3b f1             	cmp    %cx,%si
aa8833:	0f 82 02 01 00 00    	jb     0xaa893b
aa8839:	8d 51 0a             	lea    0xa(%ecx),%edx
aa883c:	66 3b f2             	cmp    %dx,%si
aa883f:	0f 82 e8 00 00 00    	jb     0xaa892d
aa8845:	8d 4a 76             	lea    0x76(%edx),%ecx
aa8848:	66 3b f1             	cmp    %cx,%si
aa884b:	0f 82 ea 00 00 00    	jb     0xaa893b
aa8851:	8d 51 0a             	lea    0xa(%ecx),%edx
aa8854:	66 3b f2             	cmp    %dx,%si
aa8857:	0f 82 d0 00 00 00    	jb     0xaa892d
aa885d:	8d 4a 76             	lea    0x76(%edx),%ecx
aa8860:	66 3b f1             	cmp    %cx,%si
aa8863:	0f 82 d2 00 00 00    	jb     0xaa893b
aa8869:	8d 51 0a             	lea    0xa(%ecx),%edx
aa886c:	66 3b f2             	cmp    %dx,%si
aa886f:	0f 82 b8 00 00 00    	jb     0xaa892d
aa8875:	b9 66 0c 00 00       	mov    $0xc66,%ecx
aa887a:	66 3b f1             	cmp    %cx,%si
aa887d:	0f 82 b8 00 00 00    	jb     0xaa893b
aa8883:	8d 51 0a             	lea    0xa(%ecx),%edx
aa8886:	66 3b f2             	cmp    %dx,%si
aa8889:	0f 82 9e 00 00 00    	jb     0xaa892d
aa888f:	8d 4a 76             	lea    0x76(%edx),%ecx
aa8892:	66 3b f1             	cmp    %cx,%si
aa8895:	0f 82 a0 00 00 00    	jb     0xaa893b
aa889b:	8d 51 0a             	lea    0xa(%ecx),%edx
aa889e:	66 3b f2             	cmp    %dx,%si
aa88a1:	0f 82 86 00 00 00    	jb     0xaa892d
aa88a7:	8d 4a 76             	lea    0x76(%edx),%ecx
aa88aa:	66 3b f1             	cmp    %cx,%si
aa88ad:	0f 82 88 00 00 00    	jb     0xaa893b
aa88b3:	8d 51 0a             	lea    0xa(%ecx),%edx
aa88b6:	66 3b f2             	cmp    %dx,%si
aa88b9:	72 72                	jb     0xaa892d
aa88bb:	b9 50 0e 00 00       	mov    $0xe50,%ecx
aa88c0:	66 3b f1             	cmp    %cx,%si
aa88c3:	72 76                	jb     0xaa893b
aa88c5:	8d 51 0a             	lea    0xa(%ecx),%edx
aa88c8:	66 3b f2             	cmp    %dx,%si
aa88cb:	72 60                	jb     0xaa892d
aa88cd:	8d 4a 76             	lea    0x76(%edx),%ecx
aa88d0:	66 3b f1             	cmp    %cx,%si
aa88d3:	72 66                	jb     0xaa893b
aa88d5:	8d 51 0a             	lea    0xa(%ecx),%edx
aa88d8:	66 3b f2             	cmp    %dx,%si
aa88db:	72 50                	jb     0xaa892d
aa88dd:	83 c1 50             	add    $0x50,%ecx
aa88e0:	66 3b f1             	cmp    %cx,%si
aa88e3:	72 56                	jb     0xaa893b
aa88e5:	83 c2 50             	add    $0x50,%edx
aa88e8:	66 3b f2             	cmp    %dx,%si
aa88eb:	72 40                	jb     0xaa892d
aa88ed:	b9 40 10 00 00       	mov    $0x1040,%ecx
aa88f2:	66 3b f1             	cmp    %cx,%si
aa88f5:	72 44                	jb     0xaa893b
aa88f7:	8d 51 0a             	lea    0xa(%ecx),%edx
aa88fa:	66 3b f2             	cmp    %dx,%si
aa88fd:	72 2e                	jb     0xaa892d
aa88ff:	b9 e0 17 00 00       	mov    $0x17e0,%ecx
aa8904:	66 3b f1             	cmp    %cx,%si
aa8907:	72 32                	jb     0xaa893b
aa8909:	8d 51 0a             	lea    0xa(%ecx),%edx
aa890c:	66 3b f2             	cmp    %dx,%si
aa890f:	72 1c                	jb     0xaa892d
aa8911:	83 c1 30             	add    $0x30,%ecx
aa8914:	66 3b f1             	cmp    %cx,%si
aa8917:	72 22                	jb     0xaa893b
aa8919:	83 c2 30             	add    $0x30,%edx
aa891c:	66 3b f2             	cmp    %dx,%si
aa891f:	73 1a                	jae    0xaa893b
aa8921:	eb 0a                	jmp    0xaa892d
aa8923:	ba 1a ff 00 00       	mov    $0xff1a,%edx
aa8928:	66 3b f2             	cmp    %dx,%si
aa892b:	73 05                	jae    0xaa8932
aa892d:	0f b7 fe             	movzwl %si,%edi
aa8930:	2b f9                	sub    %ecx,%edi
aa8932:	83 c9 ff             	or     $0xffffffff,%ecx
aa8935:	3b f9                	cmp    %ecx,%edi
aa8937:	75 3d                	jne    0xaa8976
aa8939:	0b f9                	or     %ecx,%edi
aa893b:	6a 41                	push   $0x41
aa893d:	58                   	pop    %eax
aa893e:	66 3b c6             	cmp    %si,%ax
aa8941:	77 08                	ja     0xaa894b
aa8943:	6a 5a                	push   $0x5a
aa8945:	58                   	pop    %eax
aa8946:	66 3b f0             	cmp    %ax,%si
aa8949:	76 0d                	jbe    0xaa8958
aa894b:	6a 19                	push   $0x19
aa894d:	8d 46 9f             	lea    -0x61(%esi),%eax
aa8950:	59                   	pop    %ecx
aa8951:	66 3b c1             	cmp    %cx,%ax
aa8954:	77 16                	ja     0xaa896c
aa8956:	eb 03                	jmp    0xaa895b
aa8958:	6a 19                	push   $0x19
aa895a:	59                   	pop    %ecx
aa895b:	8d 46 9f             	lea    -0x61(%esi),%eax
aa895e:	0f b7 fe             	movzwl %si,%edi
aa8961:	66 3b c1             	cmp    %cx,%ax
aa8964:	77 03                	ja     0xaa8969
aa8966:	83 ef 20             	sub    $0x20,%edi
aa8969:	83 c7 c9             	add    $0xffffffc9,%edi
aa896c:	8b 45 f4             	mov    -0xc(%ebp),%eax
aa896f:	83 c9 ff             	or     $0xffffffff,%ecx
aa8972:	3b f9                	cmp    %ecx,%edi
aa8974:	74 72                	je     0xaa89e8
aa8976:	3b 7d 2c             	cmp    0x2c(%ebp),%edi
aa8979:	73 6d                	jae    0xaa89e8
aa897b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
aa897e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
aa8981:	83 c9 08             	or     $0x8,%ecx
aa8984:	89 4d fc             	mov    %ecx,-0x4(%ebp)
aa8987:	3b d8                	cmp    %eax,%ebx
aa8989:	72 2b                	jb     0xaa89b6
aa898b:	8b 45 f8             	mov    -0x8(%ebp),%eax
aa898e:	8b 55 e8             	mov    -0x18(%ebp),%edx
aa8991:	77 04                	ja     0xaa8997
aa8993:	3b c2                	cmp    %edx,%eax
aa8995:	72 1f                	jb     0xaa89b6
aa8997:	3b c2                	cmp    %edx,%eax
aa8999:	75 13                	jne    0xaa89ae
aa899b:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
aa899e:	75 0e                	jne    0xaa89ae
aa89a0:	33 c0                	xor    %eax,%eax
aa89a2:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
aa89a5:	72 0f                	jb     0xaa89b6
aa89a7:	77 05                	ja     0xaa89ae
aa89a9:	3b 7d e0             	cmp    -0x20(%ebp),%edi
aa89ac:	76 08                	jbe    0xaa89b6
aa89ae:	83 c9 04             	or     $0x4,%ecx
aa89b1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
aa89b4:	eb 1c                	jmp    0xaa89d2
aa89b6:	53                   	push   %ebx
aa89b7:	ff 75 f8             	push   -0x8(%ebp)
aa89ba:	ff 75 dc             	push   -0x24(%ebp)
aa89bd:	ff 75 d8             	push   -0x28(%ebp)
aa89c0:	e8 26 20 98 ff       	call   0x42a9eb
aa89c5:	03 c7                	add    %edi,%eax
aa89c7:	8b da                	mov    %edx,%ebx
aa89c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
aa89cc:	83 d3 00             	adc    $0x0,%ebx
aa89cf:	89 5d f0             	mov    %ebx,-0x10(%ebp)
aa89d2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
aa89d5:	e8 58 55 99 ff       	call   0x43df32
aa89da:	0f b7 f0             	movzwl %ax,%esi
aa89dd:	83 cf ff             	or     $0xffffffff,%edi
aa89e0:	8b 45 f4             	mov    -0xc(%ebp),%eax
aa89e3:	e9 b9 fd ff ff       	jmp    0xaa87a1
aa89e8:	56                   	push   %esi
aa89e9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
aa89ec:	e8 8d 41 98 ff       	call   0x42cb7e
aa89f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
aa89f4:	5f                   	pop    %edi
aa89f5:	a8 08                	test   $0x8,%al
aa89f7:	75 17                	jne    0xaa8a10
aa89f9:	ff 75 d4             	push   -0x2c(%ebp)
aa89fc:	8d 4d 0c             	lea    0xc(%ebp),%ecx
aa89ff:	ff 75 d0             	push   -0x30(%ebp)
aa8a02:	e8 16 cf 98 ff       	call   0x43591d
aa8a07:	33 c0                	xor    %eax,%eax
aa8a09:	89 45 ec             	mov    %eax,-0x14(%ebp)
aa8a0c:	8b d8                	mov    %eax,%ebx
aa8a0e:	eb 44                	jmp    0xaa8a54
aa8a10:	8b 5d f0             	mov    -0x10(%ebp),%ebx
aa8a13:	8b 75 f8             	mov    -0x8(%ebp),%esi
aa8a16:	53                   	push   %ebx
aa8a17:	56                   	push   %esi
aa8a18:	50                   	push   %eax
aa8a19:	e8 93 8d 96 ff       	call   0x4117b1
aa8a1e:	83 c4 0c             	add    $0xc,%esp
aa8a21:	84 c0                	test   %al,%al
aa8a23:	74 34                	je     0xaa8a59
aa8a25:	e8 45 5e 99 ff       	call   0x43e86f
aa8a2a:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
aa8a30:	8b 45 fc             	mov    -0x4(%ebp),%eax
aa8a33:	a8 01                	test   $0x1,%al
aa8a35:	75 09                	jne    0xaa8a40
aa8a37:	83 c8 ff             	or     $0xffffffff,%eax
aa8a3a:	8b f0                	mov    %eax,%esi
aa8a3c:	8b d8                	mov    %eax,%ebx
aa8a3e:	eb 26                	jmp    0xaa8a66
aa8a40:	a8 02                	test   $0x2,%al
aa8a42:	74 0b                	je     0xaa8a4f
aa8a44:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
aa8a48:	bb 00 00 00 80       	mov    $0x80000000,%ebx
aa8a4d:	eb 05                	jmp    0xaa8a54
aa8a4f:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
aa8a54:	8b 55 ec             	mov    -0x14(%ebp),%edx
aa8a57:	eb 0f                	jmp    0xaa8a68
aa8a59:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)