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
455b23:	3d 8d 00 00 00       	cmp    $0x8d,%eax
455b28:	7c 16                	jl     0x455b40
455b2a:	3d 91 00 00 00       	cmp    $0x91,%eax
455b2f:	0f 8e 03 35 fc ff    	jle    0x419038
455b35:	3d 9d 00 00 00       	cmp    $0x9d,%eax
455b3a:	0f 84 f8 34 fc ff    	je     0x419038
455b40:	ff 75 0c             	push   0xc(%ebp)
455b43:	8b d3                	mov    %ebx,%edx
455b45:	8b ce                	mov    %esi,%ecx
455b47:	57                   	push   %edi
455b48:	e8 30 34 fc ff       	call   0x418f7d
455b4d:	59                   	pop    %ecx
455b4e:	59                   	pop    %ecx
455b4f:	85 c0                	test   %eax,%eax
455b51:	0f 84 e1 34 fc ff    	je     0x419038
455b57:	6a 77                	push   $0x77
455b59:	59                   	pop    %ecx
455b5a:	0f b7 46 02          	movzwl 0x2(%esi),%eax
455b5e:	8d 34 46             	lea    (%esi,%eax,2),%esi
455b61:	66 39 0e             	cmp    %cx,(%esi)
455b64:	74 f4                	je     0x455b5a
455b66:	8d 4e 04             	lea    0x4(%esi),%ecx
455b69:	33 d2                	xor    %edx,%edx
455b6b:	e8 03 2b fc ff       	call   0x418673
455b70:	8b f0                	mov    %eax,%esi
455b72:	0f b7 06             	movzwl (%esi),%eax
455b75:	e9 36 34 fc ff       	jmp    0x418fb0
455b7a:	66 83 7e 02 0c       	cmpw   $0xc,0x2(%esi)
455b7f:	0f 85 b3 34 fc ff    	jne    0x419038
455b85:	85 5f 50             	test   %ebx,0x50(%edi)
455b88:	0f 85 aa 34 fc ff    	jne    0x419038
455b8e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
455b92:	0f 8f a0 34 fc ff    	jg     0x419038
455b98:	83 7f 70 00          	cmpl   $0x0,0x70(%edi)
455b9c:	e9 91 34 fc ff       	jmp    0x419032
455ba1:	ff 75 0c             	push   0xc(%ebp)
455ba4:	0b d3                	or     %ebx,%edx
455ba6:	eb 02                	jmp    0x455baa
455ba8:	8b d3                	mov    %ebx,%edx
455baa:	57                   	push   %edi
455bab:	8b ce                	mov    %esi,%ecx
455bad:	e8 cb 33 fc ff       	call   0x418f7d
455bb2:	59                   	pop    %ecx
455bb3:	59                   	pop    %ecx
455bb4:	85 c0                	test   %eax,%eax
455bb6:	0f 84 7c 34 fc ff    	je     0x419038
455bbc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455bbf:	6a 77                	push   $0x77
455bc1:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
455bc5:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
455bc8:	58                   	pop    %eax
455bc9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
455bcc:	66 39 01             	cmp    %ax,(%ecx)
455bcf:	0f 84 b7 33 fc ff    	je     0x418f8c
455bd5:	33 c0                	xor    %eax,%eax
455bd7:	40                   	inc    %eax
455bd8:	e9 5d 34 fc ff       	jmp    0x41903a
455bdd:	6a 48                	push   $0x48
455bdf:	58                   	pop    %eax
455be0:	66 3b c8             	cmp    %ax,%cx
455be3:	0f 83 93 34 fc ff    	jae    0x41907c
455be9:	6a 3b                	push   $0x3b
455beb:	58                   	pop    %eax
455bec:	66 3b c8             	cmp    %ax,%cx
455bef:	0f 83 87 34 fc ff    	jae    0x41907c
455bf5:	6a 2e                	push   $0x2e
455bf7:	5a                   	pop    %edx
455bf8:	66 3b ca             	cmp    %dx,%cx
455bfb:	1b c0                	sbb    %eax,%eax
455bfd:	83 e0 f3             	and    $0xfffffff3,%eax
455c00:	03 c2                	add    %edx,%eax
455c02:	c3                   	ret
455c03:	8b 4e 08             	mov    0x8(%esi),%ecx
455c06:	8b 79 10             	mov    0x10(%ecx),%edi
455c09:	85 c9                	test   %ecx,%ecx
455c0b:	74 06                	je     0x455c13
455c0d:	51                   	push   %ecx
455c0e:	e8 d3 9f fc ff       	call   0x41fbe6
455c13:	89 7e 08             	mov    %edi,0x8(%esi)
455c16:	c6 46 0d 00          	movb   $0x0,0xd(%esi)
455c1a:	e9 16 9f fc ff       	jmp    0x41fb35
455c1f:	83 f8 61             	cmp    $0x61,%eax
455c22:	0f 82 6f a0 fc ff    	jb     0x41fc97
455c28:	83 f8 66             	cmp    $0x66,%eax
455c2b:	0f 87 66 a0 fc ff    	ja     0x41fc97
455c31:	83 e8 57             	sub    $0x57,%eax
455c34:	e9 0d a0 fc ff       	jmp    0x41fc46
455c39:	dc 25 a8 4b 4a 00    	fsubl  0x4a4ba8
455c3f:	dd 5d f8             	fstpl  -0x8(%ebp)
455c42:	8b 7d f8             	mov    -0x8(%ebp),%edi
455c45:	2b 7d 10             	sub    0x10(%ebp),%edi
455c48:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455c4b:	1b 4d 14             	sbb    0x14(%ebp),%ecx
455c4e:	83 ef 0a             	sub    $0xa,%edi
455c51:	83 d9 00             	sbb    $0x0,%ecx
455c54:	2b 5d 10             	sub    0x10(%ebp),%ebx
455c57:	1b 45 14             	sbb    0x14(%ebp),%eax
455c5a:	3b c1                	cmp    %ecx,%eax
455c5c:	0f 8c f4 a0 fc ff    	jl     0x41fd56
455c62:	7f 08                	jg     0x455c6c
455c64:	3b df                	cmp    %edi,%ebx
455c66:	0f 82 ea a0 fc ff    	jb     0x41fd56
455c6c:	83 c6 ff             	add    $0xffffffff,%esi
455c6f:	83 d2 ff             	adc    $0xffffffff,%edx
455c72:	e9 df a0 fc ff       	jmp    0x41fd56
455c77:	8b 4e 04             	mov    0x4(%esi),%ecx
455c7a:	8b 79 30             	mov    0x30(%ecx),%edi
455c7d:	85 c9                	test   %ecx,%ecx
455c7f:	74 06                	je     0x455c87
455c81:	51                   	push   %ecx
455c82:	e8 07 0f 00 00       	call   0x456b8e
455c87:	89 7e 04             	mov    %edi,0x4(%esi)
455c8a:	c6 46 09 00          	movb   $0x0,0x9(%esi)
455c8e:	e9 4a a1 fc ff       	jmp    0x41fddd
455c93:	ff 75 08             	push   0x8(%ebp)
455c96:	8b 4e 04             	mov    0x4(%esi),%ecx
455c99:	e8 10 49 02 00       	call   0x47a5ae
455c9e:	c6 46 09 00          	movb   $0x0,0x9(%esi)
455ca2:	e9 b2 a1 fc ff       	jmp    0x41fe59
455ca7:	8b 4e 04             	mov    0x4(%esi),%ecx
455caa:	8b 79 38             	mov    0x38(%ecx),%edi
455cad:	85 c9                	test   %ecx,%ecx
455caf:	74 06                	je     0x455cb7
455cb1:	51                   	push   %ecx
455cb2:	e8 65 a3 fc ff       	call   0x42001c
455cb7:	89 7e 04             	mov    %edi,0x4(%esi)
455cba:	c6 46 09 00          	movb   $0x0,0x9(%esi)
455cbe:	e9 f3 a2 fc ff       	jmp    0x41ffb6
455cc3:	ff 75 08             	push   0x8(%ebp)
455cc6:	8b 4e 04             	mov    0x4(%esi),%ecx
455cc9:	e8 a3 40 01 00       	call   0x469d71
455cce:	c6 46 09 00          	movb   $0x0,0x9(%esi)
455cd2:	e9 3a a3 fc ff       	jmp    0x420011
455cd7:	8b 45 08             	mov    0x8(%ebp),%eax
455cda:	8b 56 04             	mov    0x4(%esi),%edx
455cdd:	8b 00                	mov    (%eax),%eax
455cdf:	89 02                	mov    %eax,(%edx)
455ce1:	c6 46 09 00          	movb   $0x0,0x9(%esi)
455ce5:	e9 e8 a3 fc ff       	jmp    0x4200d2
455cea:	8b 47 04             	mov    0x4(%edi),%eax
455ced:	50                   	push   %eax
455cee:	8b 70 04             	mov    0x4(%eax),%esi
455cf1:	e8 76 b3 fc ff       	call   0x42106c
455cf6:	59                   	pop    %ecx
455cf7:	89 77 04             	mov    %esi,0x4(%edi)
455cfa:	c6 47 09 00          	movb   $0x0,0x9(%edi)
455cfe:	e9 f6 a3 fc ff       	jmp    0x4200f9
455d03:	8b 70 04             	mov    0x4(%eax),%esi
455d06:	50                   	push   %eax
455d07:	e8 60 b3 fc ff       	call   0x42106c
455d0c:	8b c6                	mov    %esi,%eax
455d0e:	59                   	pop    %ecx
455d0f:	85 f6                	test   %esi,%esi
455d11:	75 f0                	jne    0x455d03
455d13:	5e                   	pop    %esi
455d14:	c3                   	ret
455d15:	8b 09                	mov    (%ecx),%ecx
455d17:	e8 be cc 01 00       	call   0x4729da
455d1c:	8d 45 f8             	lea    -0x8(%ebp),%eax
455d1f:	50                   	push   %eax
455d20:	8d 4d fc             	lea    -0x4(%ebp),%ecx
455d23:	e8 c2 0f 00 00       	call   0x456cea
455d28:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455d2b:	e9 07 a4 fc ff       	jmp    0x420137
455d30:	8b 71 04             	mov    0x4(%ecx),%esi
455d33:	51                   	push   %ecx
455d34:	e8 69 bc 01 00       	call   0x4719a2
455d39:	8b ce                	mov    %esi,%ecx
455d3b:	85 f6                	test   %esi,%esi
455d3d:	75 f1                	jne    0x455d30
455d3f:	5e                   	pop    %esi
455d40:	e9 94 a4 fc ff       	jmp    0x4201d9
455d45:	8d 4d e0             	lea    -0x20(%ebp),%ecx
455d48:	e8 17 fd fa ff       	call   0x405a64
455d4d:	32 c0                	xor    %al,%al