45573d:	8b 55 cc             	mov    -0x34(%ebp),%edx
455740:	6b c0 1e             	imul   $0x1e,%eax,%eax
455743:	80 bc 10 20 76 4b 00 	cmpb   $0x0,0x4b7620(%eax,%edx,1)
45574a:	00
45574b:	74 90                	je     0x4556dd
45574d:	0f b6 04 8d a1 78 4b 	movzbl 0x4b78a1(,%ecx,4),%eax
455754:	00
455755:	6b c0 1e             	imul   $0x1e,%eax,%eax
455758:	80 bc 10 20 76 4b 00 	cmpb   $0x0,0x4b7620(%eax,%edx,1)
45575f:	00
455760:	0f 84 77 ff ff ff    	je     0x4556dd
455766:	e9 5d ff ff ff       	jmp    0x4556c8
45576b:	85 db                	test   %ebx,%ebx
45576d:	74 48                	je     0x4557b7
45576f:	0f b6 04 8d 94 78 4b 	movzbl 0x4b7894(,%ecx,4),%eax
455776:	00
455777:	8b 77 0c             	mov    0xc(%edi),%esi
45577a:	6b c0 1e             	imul   $0x1e,%eax,%eax
45577d:	80 bc 30 20 76 4b 00 	cmpb   $0x0,0x4b7620(%eax,%esi,1)
455784:	00
455785:	74 2a                	je     0x4557b1
455787:	0f b6 04 8d 95 78 4b 	movzbl 0x4b7895(,%ecx,4),%eax
45578e:	00
45578f:	6b c0 1e             	imul   $0x1e,%eax,%eax
455792:	80 bc 30 20 76 4b 00 	cmpb   $0x0,0x4b7620(%eax,%esi,1)
455799:	00
45579a:	74 15                	je     0x4557b1
45579c:	0f b6 04 8d 97 78 4b 	movzbl 0x4b7897(,%ecx,4),%eax
4557a3:	00
4557a4:	3b f0                	cmp    %eax,%esi
4557a6:	75 04                	jne    0x4557ac
4557a8:	85 d2                	test   %edx,%edx
4557aa:	75 05                	jne    0x4557b1
4557ac:	33 c0                	xor    %eax,%eax
4557ae:	40                   	inc    %eax
4557af:	eb 02                	jmp    0x4557b3
4557b1:	33 c0                	xor    %eax,%eax
4557b3:	3b d0                	cmp    %eax,%edx
4557b5:	74 0a                	je     0x4557c1
4557b7:	33 f6                	xor    %esi,%esi
4557b9:	85 f6                	test   %esi,%esi
4557bb:	0f 84 07 35 fc ff    	je     0x418cc8
4557c1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4557c4:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
4557c8:	0f 84 81 33 fc ff    	je     0x418b4f
4557ce:	e9 ec 33 fc ff       	jmp    0x418bbf
4557d3:	8b 45 c8             	mov    -0x38(%ebp),%eax
4557d6:	8b d3                	mov    %ebx,%edx
4557d8:	8b f7                	mov    %edi,%esi
4557da:	e9 09 33 fc ff       	jmp    0x418ae8
4557df:	74 33                	je     0x455814
4557e1:	83 e8 06             	sub    $0x6,%eax
4557e4:	74 1d                	je     0x455803
4557e6:	48                   	dec    %eax
4557e7:	74 1d                	je     0x455806
4557e9:	48                   	dec    %eax
4557ea:	74 09                	je     0x4557f5
4557ec:	48                   	dec    %eax
4557ed:	0f 85 d5 34 fc ff    	jne    0x418cc8
4557f3:	eb 03                	jmp    0x4557f8
4557f5:	33 ff                	xor    %edi,%edi
4557f7:	47                   	inc    %edi
4557f8:	8b 45 08             	mov    0x8(%ebp),%eax
4557fb:	8b 48 08             	mov    0x8(%eax),%ecx
4557fe:	e9 25 33 fc ff       	jmp    0x418b28
455803:	33 ff                	xor    %edi,%edi
455805:	47                   	inc    %edi
455806:	8b 45 08             	mov    0x8(%ebp),%eax
455809:	8b 48 08             	mov    0x8(%eax),%ecx
45580c:	83 c1 40             	add    $0x40,%ecx
45580f:	e9 14 33 fc ff       	jmp    0x418b28
455814:	33 ff                	xor    %edi,%edi
455816:	47                   	inc    %edi
455817:	8b 45 08             	mov    0x8(%ebp),%eax
45581a:	8b 48 08             	mov    0x8(%eax),%ecx
45581d:	81 c1 a0 00 00 00    	add    $0xa0,%ecx
455823:	e9 00 33 fc ff       	jmp    0x418b28
455828:	83 f8 70             	cmp    $0x70,%eax
45582b:	0f 85 97 34 fc ff    	jne    0x418cc8
455831:	8d 45 c0             	lea    -0x40(%ebp),%eax
455834:	8b cb                	mov    %ebx,%ecx
455836:	3b f0                	cmp    %eax,%esi
455838:	74 03                	je     0x45583d
45583a:	8b 4d 10             	mov    0x10(%ebp),%ecx
45583d:	8b 46 08             	mov    0x8(%esi),%eax
455840:	03 c0                	add    %eax,%eax
455842:	2b c8                	sub    %eax,%ecx
455844:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
455848:	a8 04                	test   $0x4,%al
45584a:	0f 85 78 34 fc ff    	jne    0x418cc8
455850:	a8 02                	test   $0x2,%al
455852:	75 08                	jne    0x45585c
455854:	39 7d c4             	cmp    %edi,-0x3c(%ebp)
455857:	e9 ed 32 fc ff       	jmp    0x418b49
45585c:	83 c1 04             	add    $0x4,%ecx
45585f:	e9 c4 32 fc ff       	jmp    0x418b28
455864:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
455868:	f7 d0                	not    %eax
45586a:	22 02                	and    (%edx),%al
45586c:	42                   	inc    %edx
45586d:	84 c0                	test   %al,%al
45586f:	0f 85 53 34 fc ff    	jne    0x418cc8
455875:	3b d6                	cmp    %esi,%edx
455877:	72 eb                	jb     0x455864
455879:	e9 c7 32 fc ff       	jmp    0x418b45
45587e:	33 c0                	xor    %eax,%eax
455880:	39 45 f0             	cmp    %eax,-0x10(%ebp)
455883:	0f 94 c0             	sete   %al
455886:	e9 c7 32 fc ff       	jmp    0x418b52
45588b:	33 c0                	xor    %eax,%eax
45588d:	39 47 04             	cmp    %eax,0x4(%edi)
455890:	0f 95 c0             	setne  %al
455893:	e9 ba 32 fc ff       	jmp    0x418b52
455898:	92                   	xchg   %eax,%edx
455899:	53                   	push   %ebx
45589a:	45                   	inc    %ebp
45589b:	00 58 53             	add    %bl,0x53(%eax)
45589e:	45                   	inc    %ebp
45589f:	00 c2                	add    %al,%dl
4558a1:	53                   	push   %ebx
4558a2:	45                   	inc    %ebp
4558a3:	00 aa 53 45 00 f5    	add    %ch,-0xaffbaad(%edx)
4558a9:	53                   	push   %ebx
4558aa:	45                   	inc    %ebp
4558ab:	00 dd                	add    %bl,%ch
4558ad:	53                   	push   %ebx
4558ae:	45                   	inc    %ebp
4558af:	00 36                	add    %dh,(%esi)
4558b1:	53                   	push   %ebx
4558b2:	45                   	inc    %ebp
4558b3:	00 f6                	add    %dh,%dh
4558b5:	54                   	push   %esp
4558b6:	45                   	inc    %ebp
4558b7:	00 83 54 45 00 10    	add    %al,0x10004554(%ebx)
4558bd:	54                   	push   %esp
4558be:	45                   	inc    %ebp
4558bf:	00 32                	add    %dh,(%edx)
4558c1:	55                   	push   %ebp
4558c2:	45                   	inc    %ebp
4558c3:	00 1b                	add    %bl,(%ebx)
4558c5:	8c 41 00             	mov    %es,0x0(%ecx)
4558c8:	04 53                	add    $0x53,%al
4558ca:	45                   	inc    %ebp
4558cb:	00 1f                	add    %bl,(%edi)
4558cd:	53                   	push   %ebx
4558ce:	45                   	inc    %ebp
4558cf:	00 c8                	add    %cl,%al
4558d1:	8c 41 00             	mov    %es,0x0(%ecx)
4558d4:	00 01                	add    %al,(%ecx)
4558d6:	02 03                	add    (%ebx),%al
4558d8:	04 05                	add    $0x5,%al
4558da:	0e                   	push   %cs
4558db:	0e                   	push   %cs
4558dc:	0e                   	push   %cs
4558dd:	06                   	push   %es
4558de:	06                   	push   %es
4558df:	07                   	pop    %es
4558e0:	08 09                	or     %cl,(%ecx)
4558e2:	0a 07                	or     (%edi),%al
4558e4:	0e                   	push   %cs
4558e5:	07                   	pop    %es
4558e6:	0b 07                	or     (%edi),%eax
4558e8:	0e                   	push   %cs
4558e9:	0e                   	push   %cs
4558ea:	0e                   	push   %cs
4558eb:	0c 0e                	or     $0xe,%al
4558ed:	0d 8b ff b9 57       	or     $0x57b9ff8b,%eax
4558f2:	45                   	inc    %ebp
4558f3:	00 42 56             	add    %al,0x56(%edx)
4558f6:	45                   	inc    %ebp
4558f7:	00 55 56             	add    %dl,0x56(%ebp)
4558fa:	45                   	inc    %ebp
4558fb:	00 6a 56             	add    %ch,0x56(%edx)
4558fe:	45                   	inc    %ebp
4558ff:	00 8f 56 45 00 99    	add    %cl,-0x66ffbaaa(%edi)
455905:	56                   	push   %esi
455906:	45                   	inc    %ebp
455907:	00 e6                	add    %ah,%dh
455909:	56                   	push   %esi
45590a:	45                   	inc    %ebp
45590b:	00 2d 57 45 00 6b    	add    %ch,0x6b004557
455911:	57                   	push   %edi
455912:	45                   	inc    %ebp
455913:	00 00                	add    %al,(%eax)
455915:	01 02                	add    %eax,(%edx)
455917:	03 04 05 05 05 06 06 	add    0x6060505(,%eax,1),%eax
45591e:	06                   	push   %es
45591f:	07                   	pop    %es
455920:	07                   	pop    %es
455921:	07                   	pop    %es
455922:	08 08                	or     %cl,(%eax)
455924:	08 6a 1e             	or     %ch,0x1e(%edx)
455927:	5a                   	pop    %edx
455928:	e9 2e 35 fc ff       	jmp    0x418e5b
45592d:	0f b7 06             	movzwl (%esi),%eax
455930:	83 f8 09             	cmp    $0x9,%eax
455933:	74 35                	je     0x45596a
455935:	89 47 08             	mov    %eax,0x8(%edi)
455938:	0f b7 46 02          	movzwl 0x2(%esi),%eax
45593c:	eb 0b                	jmp    0x455949
45593e:	0f b7 46 04          	movzwl 0x4(%esi),%eax
455942:	89 47 08             	mov    %eax,0x8(%edi)
455945:	0f b7 46 06          	movzwl 0x6(%esi),%eax
455949:	89 47 0c             	mov    %eax,0xc(%edi)
45594c:	eb 14                	jmp    0x455962
45594e:	6a 10                	push   $0x10
455950:	33 c0                	xor    %eax,%eax
455952:	5a                   	pop    %edx
455953:	66 3b ca             	cmp    %dx,%cx
455956:	0f 95 c0             	setne  %al
455959:	8d 04 45 1d 00 00 00 	lea    0x1d(,%eax,2),%eax
455960:	89 07                	mov    %eax,(%edi)
455962:	8d 46 04             	lea    0x4(%esi),%eax
455965:	e9 23 34 fc ff       	jmp    0x418d8d
45596a:	0f b7 46 02          	movzwl 0x2(%esi),%eax
45596e:	8d 57 08             	lea    0x8(%edi),%edx
455971:	8d 1c 85 d0 45 4a 00 	lea    0x4a45d0(,%eax,4),%ebx
455978:	8d 47 20             	lea    0x20(%edi),%eax
45597b:	3b d0                	cmp    %eax,%edx
45597d:	73 bf                	jae    0x45593e
45597f:	8b 03                	mov    (%ebx),%eax
455981:	89 02                	mov    %eax,(%edx)
455983:	83 c2 04             	add    $0x4,%edx
455986:	8b 03                	mov    (%ebx),%eax
455988:	83 c3 04             	add    $0x4,%ebx
45598b:	83 f8 ff             	cmp    $0xffffffff,%eax
45598e:	75 e8                	jne    0x455978
455990:	eb bc                	jmp    0x45594e
455992:	0f b7 16             	movzwl (%esi),%edx
455995:	4a                   	dec    %edx
455996:	8d 14 56             	lea    (%esi,%edx,2),%edx
455999:	e9 c1 33 fc ff       	jmp    0x418d5f
45599e:	33 c9                	xor    %ecx,%ecx
4559a0:	33 c0                	xor    %eax,%eax
4559a2:	66 39 42 02          	cmp    %ax,0x2(%edx)
4559a6:	0f 94 c1             	sete   %cl
4559a9:	83 c2 06             	add    $0x6,%edx
4559ac:	89 4f 04             	mov    %ecx,0x4(%edi)
4559af:	e9 ce 33 fc ff       	jmp    0x418d82
4559b4:	33 c0                	xor    %eax,%eax
4559b6:	66 3b ca             	cmp    %dx,%cx
4559b9:	0f 95 c0             	setne  %al
4559bc:	8d 04 45 1d 00 00 00 	lea    0x1d(,%eax,2),%eax
4559c3:	89 07                	mov    %eax,(%edi)
4559c5:	0f b7 0e             	movzwl (%esi),%ecx
4559c8:	83 c6 02             	add    $0x2,%esi
4559cb:	85 db                	test   %ebx,%ebx
4559cd:	74 28                	je     0x4559f7
4559cf:	8b c1                	mov    %ecx,%eax
4559d1:	25 00 fc 00 00       	and    $0xfc00,%eax
4559d6:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4559db:	75 1a                	jne    0x4559f7
4559dd:	0f b7 06             	movzwl (%esi),%eax
4559e0:	ba ff 03 00 00       	mov    $0x3ff,%edx
4559e5:	23 ca                	and    %edx,%ecx
4559e7:	23 c2                	and    %edx,%eax
4559e9:	c1 e1 0a             	shl    $0xa,%ecx
4559ec:	0b c8                	or     %eax,%ecx
4559ee:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4559f4:	83 c6 02             	add    $0x2,%esi
4559f7:	b8 80 00 00 00       	mov    $0x80,%eax
4559fc:	89 4f 08             	mov    %ecx,0x8(%edi)
4559ff:	3b c8                	cmp    %eax,%ecx
455a01:	72 35                	jb     0x455a38
455a03:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
455a09:	73 04                	jae    0x455a0f
455a0b:	85 db                	test   %ebx,%ebx
455a0d:	74 29                	je     0x455a38
455a0f:	8b c1                	mov    %ecx,%eax
455a11:	bb 80 00 00 00       	mov    $0x80,%ebx
455a16:	99                   	cltd
455a17:	f7 fb                	idiv   %ebx
455a19:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
455a20:	c1 e0 07             	shl    $0x7,%eax
455a23:	03 c2                	add    %edx,%eax
455a25:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
455a2c:	00
455a2d:	8b 04 c5 54 2f 4a 00 	mov    0x4a2f54(,%eax,8),%eax
455a34:	03 c1                	add    %ecx,%eax
455a36:	eb 07                	jmp    0x455a3f
455a38:	8b 45 08             	mov    0x8(%ebp),%eax
455a3b:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
455a3f:	89 47 0c             	mov    %eax,0xc(%edi)
455a42:	3b c8                	cmp    %eax,%ecx
455a44:	0f 84 9d 33 fc ff    	je     0x418de7
455a4a:	83 4f 10 ff          	orl    $0xffffffff,0x10(%edi)
455a4e:	e9 98 33 fc ff       	jmp    0x418deb
455a53:	0f b7 06             	movzwl (%esi),%eax
455a56:	ba ff 03 00 00       	mov    $0x3ff,%edx
455a5b:	23 ca                	and    %edx,%ecx
455a5d:	23 c2                	and    %edx,%eax
455a5f:	c1 e1 0a             	shl    $0xa,%ecx
455a62:	0b c8                	or     %eax,%ecx
455a64:	81 c1 00 00 01 00    	add    $0x10000,%ecx
455a6a:	83 c6 02             	add    $0x2,%esi
455a6d:	e9 72 33 fc ff       	jmp    0x418de4
455a72:	83 f8 24             	cmp    $0x24,%eax
455a75:	0f 8e a3 34 fc ff    	jle    0x418f1e
455a7b:	83 f8 29             	cmp    $0x29,%eax
455a7e:	74 0e                	je     0x455a8e
455a80:	83 f8 2b             	cmp    $0x2b,%eax
455a83:	0f 85 9f 34 fc ff    	jne    0x418f28
455a89:	e9 90 34 fc ff       	jmp    0x418f1e
455a8e:	83 c1 02             	add    $0x2,%ecx
455a91:	e9 88 34 fc ff       	jmp    0x418f1e
455a96:	85 f6                	test   %esi,%esi
455a98:	79 51                	jns    0x455aeb
455a9a:	33 f6                	xor    %esi,%esi
455a9c:	0f b7 79 02          	movzwl 0x2(%ecx),%edi
455aa0:	eb 55                	jmp    0x455af7
455aa2:	3d 86 00 00 00       	cmp    $0x86,%eax
455aa7:	7e 0e                	jle    0x455ab7
455aa9:	05 76 ff ff ff       	add    $0xffffff76,%eax
455aae:	83 f8 01             	cmp    $0x1,%eax
455ab1:	0f 87 71 34 fc ff    	ja     0x418f28
455ab7:	33 c0                	xor    %eax,%eax
455ab9:	66 3b 55 fc          	cmp    -0x4(%ebp),%dx
455abd:	8d 55 f8             	lea    -0x8(%ebp),%edx
455ac0:	0f 94 c0             	sete   %al
455ac3:	50                   	push   %eax
455ac4:	e8 ec 33 fc ff       	call   0x418eb5
455ac9:	59                   	pop    %ecx
455aca:	8b 4d f8             	mov    -0x8(%ebp),%ecx
455acd:	85 c9                	test   %ecx,%ecx
455acf:	0f 88 53 34 fc ff    	js     0x418f28
455ad5:	85 f6                	test   %esi,%esi
455ad7:	79 06                	jns    0x455adf
455ad9:	8b f8                	mov    %eax,%edi
455adb:	8b f1                	mov    %ecx,%esi
455add:	eb 18                	jmp    0x455af7
455adf:	3b f8                	cmp    %eax,%edi
455ae1:	0f 85 41 34 fc ff    	jne    0x418f28
455ae7:	3b f1                	cmp    %ecx,%esi
455ae9:	eb 06                	jmp    0x455af1
455aeb:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
455aef:	3b f8                	cmp    %eax,%edi
455af1:	0f 85 31 34 fc ff    	jne    0x418f28
455af7:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
455afb:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
455afe:	66 83 3b 77          	cmpw   $0x77,(%ebx)
455b02:	0f 84 cb 33 fc ff    	je     0x418ed3
455b08:	8b 45 f4             	mov    -0xc(%ebp),%eax
455b0b:	89 30                	mov    %esi,(%eax)
455b0d:	8b c7                	mov    %edi,%eax
455b0f:	e9 16 34 fc ff       	jmp    0x418f2a
455b14:	83 c6 04             	add    $0x4,%esi
455b17:	66 83 3e 76          	cmpw   $0x76,(%esi)
455b1b:	75 03                	jne    0x455b20
455b1d:	83 c6 08             	add    $0x8,%esi
455b20:	0f b7 06             	movzwl (%esi),%eax