a90774:	ff 76 2c             	push   0x2c(%esi)
a90777:	0f b7 46 32          	movzwl 0x32(%esi),%eax
a9077b:	50                   	push   %eax
a9077c:	ff 76 04             	push   0x4(%esi)
a9077f:	ff 36                	push   (%esi)
a90781:	e8 23 72 98 ff       	call   0x4179a9
a90786:	83 c4 10             	add    $0x10,%esp
a90789:	89 5e 34             	mov    %ebx,0x34(%esi)
a9078c:	84 c0                	test   %al,%al
a9078e:	0f b7 07             	movzwl (%edi),%eax
a90791:	74 0b                	je     0xa9079e
a90793:	d1 e8                	shr    $1,%eax
a90795:	89 46 38             	mov    %eax,0x38(%esi)
a90798:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
a9079c:	eb 17                	jmp    0xa907b5
a9079e:	89 46 38             	mov    %eax,0x38(%esi)
a907a1:	eb 0e                	jmp    0xa907b1
a907a3:	c7 46 34 c0 e7 c7 00 	movl   $0xc7e7c0,0x34(%esi)
a907aa:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
a907b1:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
a907b5:	5f                   	pop    %edi
a907b6:	5e                   	pop    %esi
a907b7:	b0 01                	mov    $0x1,%al
a907b9:	5b                   	pop    %ebx
a907ba:	c3                   	ret
a907bb:	cc                   	int3
a907bc:	cc                   	int3
a907bd:	cc                   	int3
a907be:	cc                   	int3
a907bf:	cc                   	int3
a907c0:	cc                   	int3
a907c1:	cc                   	int3
a907c2:	cc                   	int3
a907c3:	cc                   	int3
a907c4:	cc                   	int3
a907c5:	cc                   	int3
a907c6:	cc                   	int3
a907c7:	cc                   	int3
a907c8:	cc                   	int3
a907c9:	cc                   	int3
a907ca:	cc                   	int3
a907cb:	cc                   	int3
a907cc:	cc                   	int3
a907cd:	cc                   	int3
a907ce:	cc                   	int3
a907cf:	cc                   	int3
a907d0:	cc                   	int3
a907d1:	cc                   	int3
a907d2:	cc                   	int3
a907d3:	8b ff                	mov    %edi,%edi
a907d5:	53                   	push   %ebx
a907d6:	56                   	push   %esi
a907d7:	8b f1                	mov    %ecx,%esi
a907d9:	57                   	push   %edi
a907da:	83 46 14 04          	addl   $0x4,0x14(%esi)
a907de:	8b 46 14             	mov    0x14(%esi),%eax
a907e1:	8b 78 fc             	mov    -0x4(%eax),%edi
a907e4:	85 ff                	test   %edi,%edi
a907e6:	74 36                	je     0xa9081e
a907e8:	8b 5f 04             	mov    0x4(%edi),%ebx
a907eb:	85 db                	test   %ebx,%ebx
a907ed:	74 2f                	je     0xa9081e
a907ef:	ff 76 2c             	push   0x2c(%esi)
a907f2:	0f b7 46 32          	movzwl 0x32(%esi),%eax
a907f6:	50                   	push   %eax
a907f7:	ff 76 04             	push   0x4(%esi)
a907fa:	ff 36                	push   (%esi)
a907fc:	e8 a8 71 98 ff       	call   0x4179a9
a90801:	83 c4 10             	add    $0x10,%esp
a90804:	89 5e 34             	mov    %ebx,0x34(%esi)
a90807:	84 c0                	test   %al,%al
a90809:	0f b7 07             	movzwl (%edi),%eax
a9080c:	74 0b                	je     0xa90819
a9080e:	d1 e8                	shr    $1,%eax
a90810:	89 46 38             	mov    %eax,0x38(%esi)
a90813:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
a90817:	eb 17                	jmp    0xa90830
a90819:	89 46 38             	mov    %eax,0x38(%esi)
a9081c:	eb 0e                	jmp    0xa9082c
a9081e:	c7 46 34 c0 e7 c7 00 	movl   $0xc7e7c0,0x34(%esi)
a90825:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
a9082c:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
a90830:	5f                   	pop    %edi
a90831:	5e                   	pop    %esi
a90832:	b0 01                	mov    $0x1,%al
a90834:	5b                   	pop    %ebx
a90835:	c3                   	ret
a90836:	cc                   	int3
a90837:	cc                   	int3
a90838:	cc                   	int3
a90839:	cc                   	int3
a9083a:	cc                   	int3
a9083b:	cc                   	int3
a9083c:	cc                   	int3
a9083d:	cc                   	int3
a9083e:	cc                   	int3
a9083f:	cc                   	int3
a90840:	cc                   	int3
a90841:	cc                   	int3
a90842:	cc                   	int3
a90843:	cc                   	int3
a90844:	cc                   	int3
a90845:	cc                   	int3
a90846:	cc                   	int3
a90847:	cc                   	int3
a90848:	cc                   	int3
a90849:	cc                   	int3
a9084a:	cc                   	int3
a9084b:	cc                   	int3
a9084c:	cc                   	int3
a9084d:	cc                   	int3
a9084e:	8b ff                	mov    %edi,%edi
a90850:	55                   	push   %ebp
a90851:	8b ec                	mov    %esp,%ebp
a90853:	51                   	push   %ecx
a90854:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a90858:	8d 45 fc             	lea    -0x4(%ebp),%eax
a9085b:	56                   	push   %esi
a9085c:	50                   	push   %eax
a9085d:	8b f1                	mov    %ecx,%esi
a9085f:	e8 33 5a 99 ff       	call   0x426297
a90864:	84 c0                	test   %al,%al
a90866:	74 60                	je     0xa908c8
a90868:	8b ce                	mov    %esi,%ecx
a9086a:	e8 2a 2c 98 ff       	call   0x413499
a9086f:	84 c0                	test   %al,%al
a90871:	74 53                	je     0xa908c6
a90873:	53                   	push   %ebx
a90874:	57                   	push   %edi
a90875:	8b 7d fc             	mov    -0x4(%ebp),%edi
a90878:	85 ff                	test   %edi,%edi
a9087a:	74 36                	je     0xa908b2
a9087c:	8b 5f 04             	mov    0x4(%edi),%ebx
a9087f:	85 db                	test   %ebx,%ebx
a90881:	74 2f                	je     0xa908b2
a90883:	ff 76 2c             	push   0x2c(%esi)
a90886:	0f b7 46 32          	movzwl 0x32(%esi),%eax
a9088a:	50                   	push   %eax
a9088b:	ff 76 04             	push   0x4(%esi)
a9088e:	ff 36                	push   (%esi)
a90890:	e8 14 71 98 ff       	call   0x4179a9
a90895:	83 c4 10             	add    $0x10,%esp
a90898:	89 5e 34             	mov    %ebx,0x34(%esi)
a9089b:	84 c0                	test   %al,%al
a9089d:	0f b7 07             	movzwl (%edi),%eax
a908a0:	74 0b                	je     0xa908ad
a908a2:	d1 e8                	shr    $1,%eax
a908a4:	89 46 38             	mov    %eax,0x38(%esi)
a908a7:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
a908ab:	eb 17                	jmp    0xa908c4
a908ad:	89 46 38             	mov    %eax,0x38(%esi)
a908b0:	eb 0e                	jmp    0xa908c0
a908b2:	c7 46 34 c0 e7 c7 00 	movl   $0xc7e7c0,0x34(%esi)
a908b9:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
a908c0:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
a908c4:	5f                   	pop    %edi
a908c5:	5b                   	pop    %ebx
a908c6:	b0 01                	mov    $0x1,%al
a908c8:	5e                   	pop    %esi
a908c9:	8b e5                	mov    %ebp,%esp
a908cb:	5d                   	pop    %ebp
a908cc:	c3                   	ret
a908cd:	cc                   	int3
a908ce:	cc                   	int3
a908cf:	cc                   	int3
a908d0:	cc                   	int3
a908d1:	cc                   	int3
a908d2:	cc                   	int3
a908d3:	cc                   	int3
a908d4:	cc                   	int3
a908d5:	cc                   	int3
a908d6:	cc                   	int3
a908d7:	cc                   	int3
a908d8:	cc                   	int3
a908d9:	cc                   	int3
a908da:	cc                   	int3
a908db:	cc                   	int3
a908dc:	cc                   	int3
a908dd:	cc                   	int3
a908de:	cc                   	int3
a908df:	cc                   	int3
a908e0:	cc                   	int3
a908e1:	cc                   	int3
a908e2:	cc                   	int3
a908e3:	cc                   	int3
a908e4:	cc                   	int3
a908e5:	cc                   	int3
a908e6:	cc                   	int3
a908e7:	cc                   	int3
a908e8:	cc                   	int3
a908e9:	cc                   	int3
a908ea:	cc                   	int3
a908eb:	cc                   	int3
a908ec:	8b ff                	mov    %edi,%edi
a908ee:	53                   	push   %ebx
a908ef:	56                   	push   %esi
a908f0:	8b f1                	mov    %ecx,%esi
a908f2:	57                   	push   %edi
a908f3:	83 46 14 04          	addl   $0x4,0x14(%esi)
a908f7:	8b 46 14             	mov    0x14(%esi),%eax
a908fa:	8b 78 fc             	mov    -0x4(%eax),%edi
a908fd:	85 ff                	test   %edi,%edi
a908ff:	74 36                	je     0xa90937
a90901:	8b 5f 04             	mov    0x4(%edi),%ebx
a90904:	85 db                	test   %ebx,%ebx
a90906:	74 2f                	je     0xa90937
a90908:	ff 76 2c             	push   0x2c(%esi)
a9090b:	0f b7 46 32          	movzwl 0x32(%esi),%eax
a9090f:	50                   	push   %eax
a90910:	ff 76 04             	push   0x4(%esi)
a90913:	ff 36                	push   (%esi)
a90915:	e8 8f 70 98 ff       	call   0x4179a9
a9091a:	83 c4 10             	add    $0x10,%esp
a9091d:	89 5e 34             	mov    %ebx,0x34(%esi)
a90920:	84 c0                	test   %al,%al
a90922:	0f b7 07             	movzwl (%edi),%eax
a90925:	74 0b                	je     0xa90932
a90927:	d1 e8                	shr    $1,%eax
a90929:	89 46 38             	mov    %eax,0x38(%esi)
a9092c:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
a90930:	eb 17                	jmp    0xa90949
a90932:	89 46 38             	mov    %eax,0x38(%esi)
a90935:	eb 0e                	jmp    0xa90945
a90937:	c7 46 34 c0 e7 c7 00 	movl   $0xc7e7c0,0x34(%esi)
a9093e:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
a90945:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
a90949:	5f                   	pop    %edi
a9094a:	5e                   	pop    %esi
a9094b:	b0 01                	mov    $0x1,%al
a9094d:	5b                   	pop    %ebx
a9094e:	c3                   	ret
a9094f:	cc                   	int3
a90950:	cc                   	int3
a90951:	cc                   	int3
a90952:	cc                   	int3
a90953:	cc                   	int3
a90954:	cc                   	int3
a90955:	cc                   	int3
a90956:	cc                   	int3
a90957:	cc                   	int3
a90958:	cc                   	int3
a90959:	cc                   	int3
a9095a:	cc                   	int3
a9095b:	cc                   	int3
a9095c:	cc                   	int3
a9095d:	cc                   	int3
a9095e:	cc                   	int3
a9095f:	cc                   	int3
a90960:	cc                   	int3
a90961:	cc                   	int3
a90962:	cc                   	int3
a90963:	cc                   	int3
a90964:	cc                   	int3
a90965:	cc                   	int3
a90966:	cc                   	int3
a90967:	8b ff                	mov    %edi,%edi
a90969:	55                   	push   %ebp
a9096a:	8b ec                	mov    %esp,%ebp
a9096c:	51                   	push   %ecx
a9096d:	51                   	push   %ecx
a9096e:	56                   	push   %esi
a9096f:	8b f1                	mov    %ecx,%esi
a90971:	57                   	push   %edi
a90972:	83 4e 20 10          	orl    $0x10,0x20(%esi)
a90976:	8b 46 28             	mov    0x28(%esi),%eax
a90979:	85 c0                	test   %eax,%eax
a9097b:	79 1d                	jns    0xa9099a
a9097d:	8a 46 31             	mov    0x31(%esi),%al
a90980:	3c 61                	cmp    $0x61,%al
a90982:	74 0d                	je     0xa90991
a90984:	3c 41                	cmp    $0x41,%al
a90986:	74 09                	je     0xa90991
a90988:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
a9098f:	eb 1d                	jmp    0xa909ae
a90991:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
a90998:	eb 14                	jmp    0xa909ae
a9099a:	75 12                	jne    0xa909ae
a9099c:	8a 46 31             	mov    0x31(%esi),%al
a9099f:	3c 67                	cmp    $0x67,%al
a909a1:	74 04                	je     0xa909a7
a909a3:	3c 47                	cmp    $0x47,%al
a909a5:	75 07                	jne    0xa909ae
a909a7:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
a909ae:	8b 46 28             	mov    0x28(%esi),%eax
a909b1:	8d 7e 40             	lea    0x40(%esi),%edi
a909b4:	53                   	push   %ebx
a909b5:	bb 5d 01 00 00       	mov    $0x15d,%ebx
a909ba:	8b cf                	mov    %edi,%ecx
a909bc:	03 c3                	add    %ebx,%eax
a909be:	50                   	push   %eax
a909bf:	e8 c2 1d 9a ff       	call   0x432786
a909c4:	84 c0                	test   %al,%al
a909c6:	75 0c                	jne    0xa909d4
a909c8:	8b cf                	mov    %edi,%ecx
a909ca:	e8 63 35 9a ff       	call   0x433f32
a909cf:	2b c3                	sub    %ebx,%eax
a909d1:	89 46 28             	mov    %eax,0x28(%esi)
a909d4:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
a909da:	85 c0                	test   %eax,%eax
a909dc:	75 02                	jne    0xa909e0
a909de:	8b c7                	mov    %edi,%eax
a909e0:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
a909e4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a909e8:	89 46 34             	mov    %eax,0x34(%esi)
a909eb:	83 46 14 08          	addl   $0x8,0x14(%esi)
a909ef:	8b 4e 14             	mov    0x14(%esi),%ecx
a909f2:	8b 41 f8             	mov    -0x8(%ecx),%eax
a909f5:	89 45 f8             	mov    %eax,-0x8(%ebp)
a909f8:	8b 41 fc             	mov    -0x4(%ecx),%eax
a909fb:	8b cf                	mov    %edi,%ecx
a909fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
a90a00:	e8 2d 35 9a ff       	call   0x433f32
a90a05:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
a90a0b:	8b c8                	mov    %eax,%ecx
a90a0d:	85 db                	test   %ebx,%ebx
a90a0f:	75 02                	jne    0xa90a13
a90a11:	8b df                	mov    %edi,%ebx
a90a13:	ff 76 08             	push   0x8(%esi)
a90a16:	0f be 46 31          	movsbl 0x31(%esi),%eax
a90a1a:	ff 76 04             	push   0x4(%esi)
a90a1d:	ff 36                	push   (%esi)
a90a1f:	ff 76 28             	push   0x28(%esi)
a90a22:	50                   	push   %eax
a90a23:	51                   	push   %ecx
a90a24:	8b cf                	mov    %edi,%ecx
a90a26:	e8 d6 bb 99 ff       	call   0x42c601
a90a2b:	50                   	push   %eax
a90a2c:	8b cf                	mov    %edi,%ecx
a90a2e:	e8 ff 34 9a ff       	call   0x433f32
a90a33:	50                   	push   %eax
a90a34:	8d 45 f8             	lea    -0x8(%ebp),%eax
a90a37:	53                   	push   %ebx
a90a38:	50                   	push   %eax
a90a39:	e8 bf 3c 9a ff       	call   0x4346fd
a90a3e:	8b 46 20             	mov    0x20(%esi),%eax
a90a41:	83 c4 28             	add    $0x28,%esp
a90a44:	c1 e8 05             	shr    $0x5,%eax
a90a47:	5b                   	pop    %ebx
a90a48:	a8 01                	test   $0x1,%al
a90a4a:	74 13                	je     0xa90a5f
a90a4c:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
a90a50:	75 0d                	jne    0xa90a5f
a90a52:	ff 76 08             	push   0x8(%esi)
a90a55:	ff 76 34             	push   0x34(%esi)
a90a58:	e8 94 76 99 ff       	call   0x4280f1
a90a5d:	59                   	pop    %ecx
a90a5e:	59                   	pop    %ecx
a90a5f:	8a 46 31             	mov    0x31(%esi),%al
a90a62:	3c 67                	cmp    $0x67,%al
a90a64:	74 04                	je     0xa90a6a