611f21:	c1 ea 05             	shr    $0x5,%edx
611f24:	c1 e0 04             	shl    $0x4,%eax
611f27:	0b c8                	or     %eax,%ecx
611f29:	0b ca                	or     %edx,%ecx
611f2b:	8b c1                	mov    %ecx,%eax
611f2d:	c1 e0 08             	shl    $0x8,%eax
611f30:	0b c6                	or     %esi,%eax
611f32:	c1 e0 10             	shl    $0x10,%eax
611f35:	0b c1                	or     %ecx,%eax
611f37:	5f                   	pop    %edi
611f38:	0b c6                	or     %esi,%eax
611f3a:	5e                   	pop    %esi
611f3b:	c9                   	leave
611f3c:	c3                   	ret
611f3d:	8b ff                	mov    %edi,%edi
611f3f:	55                   	push   %ebp
611f40:	8b ec                	mov    %esp,%ebp
611f42:	83 ec 20             	sub    $0x20,%esp
611f45:	57                   	push   %edi
611f46:	ff 75 08             	push   0x8(%ebp)
611f49:	e8 ca fd ff ff       	call   0x611d18
611f4e:	59                   	pop    %ecx
611f4f:	6a 07                	push   $0x7
611f51:	0f b7 d0             	movzwl %ax,%edx
611f54:	8d 7d e0             	lea    -0x20(%ebp),%edi
611f57:	59                   	pop    %ecx
611f58:	33 c0                	xor    %eax,%eax
611f5a:	f3 ab                	rep stos %eax,%es:(%edi)
611f5c:	d9 75 e0             	fnstenv -0x20(%ebp)
611f5f:	8b 45 e0             	mov    -0x20(%ebp),%eax
611f62:	33 d0                	xor    %eax,%edx
611f64:	81 e2 3f 1f 00 00    	and    $0x1f3f,%edx
611f6a:	33 c2                	xor    %edx,%eax
611f6c:	89 45 e0             	mov    %eax,-0x20(%ebp)
611f6f:	d9 65 e0             	fldenv -0x20(%ebp)
611f72:	ff 75 08             	push   0x8(%ebp)
611f75:	e8 d1 fc ff ff       	call   0x611c4b
611f7a:	83 3d c0 0b 73 00 01 	cmpl   $0x1,0x730bc0
611f81:	59                   	pop    %ecx
611f82:	0f b7 c8             	movzwl %ax,%ecx
611f85:	5f                   	pop    %edi
611f86:	7c 1b                	jl     0x611fa3
611f88:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
611f8c:	8b 45 fc             	mov    -0x4(%ebp),%eax
611f8f:	81 e1 c0 ff 00 00    	and    $0xffc0,%ecx
611f95:	25 3f 00 ff ff       	and    $0xffff003f,%eax
611f9a:	0b c1                	or     %ecx,%eax
611f9c:	89 45 fc             	mov    %eax,-0x4(%ebp)
611f9f:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
611fa3:	c9                   	leave
611fa4:	c3                   	ret
611fa5:	8b ff                	mov    %edi,%edi
611fa7:	55                   	push   %ebp
611fa8:	8b ec                	mov    %esp,%ebp
611faa:	83 ec 20             	sub    $0x20,%esp
611fad:	53                   	push   %ebx
611fae:	56                   	push   %esi
611faf:	57                   	push   %edi
611fb0:	8b 5d 08             	mov    0x8(%ebp),%ebx
611fb3:	8b cb                	mov    %ebx,%ecx
611fb5:	c1 e9 10             	shr    $0x10,%ecx
611fb8:	83 e1 3f             	and    $0x3f,%ecx
611fbb:	8b c1                	mov    %ecx,%eax
611fbd:	8b d1                	mov    %ecx,%edx
611fbf:	d1 e8                	shr    $1,%eax
611fc1:	33 f6                	xor    %esi,%esi
611fc3:	0f b6 c0             	movzbl %al,%eax
611fc6:	46                   	inc    %esi
611fc7:	23 c6                	and    %esi,%eax
611fc9:	23 d6                	and    %esi,%edx
611fcb:	c1 e0 04             	shl    $0x4,%eax
611fce:	c1 e2 05             	shl    $0x5,%edx
611fd1:	0b d0                	or     %eax,%edx
611fd3:	8b c1                	mov    %ecx,%eax
611fd5:	c1 e8 02             	shr    $0x2,%eax
611fd8:	0f b6 c0             	movzbl %al,%eax
611fdb:	23 c6                	and    %esi,%eax
611fdd:	c1 e0 03             	shl    $0x3,%eax
611fe0:	0b d0                	or     %eax,%edx
611fe2:	8b c1                	mov    %ecx,%eax
611fe4:	c1 e8 03             	shr    $0x3,%eax
611fe7:	0f b6 c0             	movzbl %al,%eax
611fea:	23 c6                	and    %esi,%eax
611fec:	c1 e0 02             	shl    $0x2,%eax
611fef:	0b d0                	or     %eax,%edx
611ff1:	8b c1                	mov    %ecx,%eax
611ff3:	c1 e8 04             	shr    $0x4,%eax
611ff6:	0f b6 c0             	movzbl %al,%eax
611ff9:	23 c6                	and    %esi,%eax
611ffb:	c1 e9 05             	shr    $0x5,%ecx
611ffe:	0b d0                	or     %eax,%edx
612000:	0f b6 c1             	movzbl %cl,%eax
612003:	23 c6                	and    %esi,%eax
612005:	8d 7d e0             	lea    -0x20(%ebp),%edi
612008:	03 c0                	add    %eax,%eax
61200a:	6a 07                	push   $0x7
61200c:	0b d0                	or     %eax,%edx
61200e:	33 c0                	xor    %eax,%eax
612010:	59                   	pop    %ecx
612011:	f3 ab                	rep stos %eax,%es:(%edi)
612013:	d9 75 e0             	fnstenv -0x20(%ebp)
612016:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
612019:	8b c1                	mov    %ecx,%eax
61201b:	33 c2                	xor    %edx,%eax
61201d:	83 e0 3f             	and    $0x3f,%eax
612020:	33 c8                	xor    %eax,%ecx
612022:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
612025:	d9 65 e0             	fldenv -0x20(%ebp)
612028:	c1 eb 18             	shr    $0x18,%ebx
61202b:	83 e3 3f             	and    $0x3f,%ebx
61202e:	8b c3                	mov    %ebx,%eax
612030:	8b cb                	mov    %ebx,%ecx
612032:	d1 e8                	shr    $1,%eax
612034:	23 ce                	and    %esi,%ecx
612036:	0f b6 c0             	movzbl %al,%eax
612039:	23 c6                	and    %esi,%eax
61203b:	c1 e1 05             	shl    $0x5,%ecx
61203e:	c1 e0 04             	shl    $0x4,%eax
612041:	0b c8                	or     %eax,%ecx
612043:	8b c3                	mov    %ebx,%eax
612045:	c1 e8 02             	shr    $0x2,%eax
612048:	0f b6 c0             	movzbl %al,%eax
61204b:	23 c6                	and    %esi,%eax
61204d:	c1 e0 03             	shl    $0x3,%eax
612050:	0b c8                	or     %eax,%ecx
612052:	8b c3                	mov    %ebx,%eax
612054:	c1 e8 03             	shr    $0x3,%eax
612057:	0f b6 c0             	movzbl %al,%eax
61205a:	23 c6                	and    %esi,%eax
61205c:	c1 e0 02             	shl    $0x2,%eax
61205f:	0b c8                	or     %eax,%ecx
612061:	8b c3                	mov    %ebx,%eax
612063:	c1 e8 04             	shr    $0x4,%eax
612066:	0f b6 c0             	movzbl %al,%eax
612069:	23 c6                	and    %esi,%eax
61206b:	0b c8                	or     %eax,%ecx
61206d:	c1 eb 05             	shr    $0x5,%ebx
612070:	0f b6 c3             	movzbl %bl,%eax
612073:	23 c6                	and    %esi,%eax
612075:	03 c0                	add    %eax,%eax
612077:	5f                   	pop    %edi
612078:	0b c8                	or     %eax,%ecx
61207a:	39 35 c0 0b 73 00    	cmp    %esi,0x730bc0
612080:	5e                   	pop    %esi
612081:	5b                   	pop    %ebx
612082:	7c 16                	jl     0x61209a
612084:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
612088:	8b 45 fc             	mov    -0x4(%ebp),%eax
61208b:	83 e1 3f             	and    $0x3f,%ecx
61208e:	83 e0 c0             	and    $0xffffffc0,%eax
612091:	0b c1                	or     %ecx,%eax
612093:	89 45 fc             	mov    %eax,-0x4(%ebp)
612096:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
61209a:	c9                   	leave
61209b:	c3                   	ret
61209c:	8b ff                	mov    %edi,%edi
61209e:	55                   	push   %ebp
61209f:	8b ec                	mov    %esp,%ebp
6120a1:	83 ec 24             	sub    $0x24,%esp
6120a4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
6120a9:	33 c5                	xor    %ebp,%eax
6120ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
6120ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
6120b1:	53                   	push   %ebx
6120b2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
6120b5:	56                   	push   %esi
6120b6:	8b 75 14             	mov    0x14(%ebp),%esi
6120b9:	89 5d dc             	mov    %ebx,-0x24(%ebp)
6120bc:	57                   	push   %edi
6120bd:	8b fb                	mov    %ebx,%edi
6120bf:	85 f6                	test   %esi,%esi
6120c1:	75 05                	jne    0x6120c8
6120c3:	be bc 14 73 00       	mov    $0x7314bc,%esi
6120c8:	33 d2                	xor    %edx,%edx
6120ca:	42                   	inc    %edx
6120cb:	85 db                	test   %ebx,%ebx
6120cd:	75 09                	jne    0x6120d8
6120cf:	bb 65 aa 68 00       	mov    $0x68aa65,%ebx
6120d4:	8b c2                	mov    %edx,%eax
6120d6:	eb 03                	jmp    0x6120db
6120d8:	8b 45 10             	mov    0x10(%ebp),%eax
6120db:	f7 df                	neg    %edi
6120dd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6120e0:	1b ff                	sbb    %edi,%edi
6120e2:	23 f9                	and    %ecx,%edi
6120e4:	85 c0                	test   %eax,%eax
6120e6:	75 08                	jne    0x6120f0
6120e8:	6a fe                	push   $0xfffffffe
6120ea:	58                   	pop    %eax
6120eb:	e9 44 01 00 00       	jmp    0x612234
6120f0:	33 c0                	xor    %eax,%eax
6120f2:	66 39 46 06          	cmp    %ax,0x6(%esi)
6120f6:	75 64                	jne    0x61215c
6120f8:	8a 0b                	mov    (%ebx),%cl
6120fa:	43                   	inc    %ebx
6120fb:	88 4d ee             	mov    %cl,-0x12(%ebp)
6120fe:	84 c9                	test   %cl,%cl
612100:	78 15                	js     0x612117
612102:	85 ff                	test   %edi,%edi
612104:	74 05                	je     0x61210b
612106:	0f b6 c1             	movzbl %cl,%eax
612109:	89 07                	mov    %eax,(%edi)
61210b:	33 c0                	xor    %eax,%eax
61210d:	84 c9                	test   %cl,%cl
61210f:	0f 95 c0             	setne  %al
612112:	e9 1d 01 00 00       	jmp    0x612234
612117:	8a c1                	mov    %cl,%al
612119:	24 e0                	and    $0xe0,%al
61211b:	3c c0                	cmp    $0xc0,%al
61211d:	75 04                	jne    0x612123
61211f:	b0 02                	mov    $0x2,%al
612121:	eb 1a                	jmp    0x61213d
612123:	8a c1                	mov    %cl,%al
612125:	24 f0                	and    $0xf0,%al
612127:	3c e0                	cmp    $0xe0,%al
612129:	75 04                	jne    0x61212f
61212b:	b0 03                	mov    $0x3,%al
61212d:	eb 0e                	jmp    0x61213d
61212f:	8a c1                	mov    %cl,%al
612131:	24 f8                	and    $0xf8,%al
612133:	3c f0                	cmp    $0xf0,%al
612135:	0f 85 f2 00 00 00    	jne    0x61222d
61213b:	b0 04                	mov    $0x4,%al
61213d:	88 45 ef             	mov    %al,-0x11(%ebp)
612140:	88 45 ed             	mov    %al,-0x13(%ebp)
612143:	6a 07                	push   $0x7
612145:	0f b6 c0             	movzbl %al,%eax
612148:	59                   	pop    %ecx
612149:	2b c8                	sub    %eax,%ecx
61214b:	0f b6 45 ee          	movzbl -0x12(%ebp),%eax
61214f:	8a 6d ed             	mov    -0x13(%ebp),%ch
612152:	d3 e2                	shl    %cl,%edx
612154:	8a 4d ef             	mov    -0x11(%ebp),%cl
612157:	4a                   	dec    %edx
612158:	23 d0                	and    %eax,%edx
61215a:	eb 25                	jmp    0x612181
61215c:	8a 4e 04             	mov    0x4(%esi),%cl
61215f:	8b 16                	mov    (%esi),%edx
612161:	8a c1                	mov    %cl,%al
612163:	8a 6e 06             	mov    0x6(%esi),%ch
612166:	2c 02                	sub    $0x2,%al
612168:	3c 02                	cmp    $0x2,%al
61216a:	0f 87 bd 00 00 00    	ja     0x61222d
612170:	80 fd 01             	cmp    $0x1,%ch
612173:	0f 82 b4 00 00 00    	jb     0x61222d
612179:	3a e9                	cmp    %cl,%ch
61217b:	0f 83 ac 00 00 00    	jae    0x61222d
612181:	0f b6 c5             	movzbl %ch,%eax
612184:	89 45 e0             	mov    %eax,-0x20(%ebp)
612187:	8b 45 e4             	mov    -0x1c(%ebp),%eax
61218a:	39 45 e0             	cmp    %eax,-0x20(%ebp)
61218d:	73 06                	jae    0x612195
61218f:	8b 45 e0             	mov    -0x20(%ebp),%eax
612192:	89 45 e4             	mov    %eax,-0x1c(%ebp)
612195:	8b 45 dc             	mov    -0x24(%ebp),%eax
612198:	89 5d e8             	mov    %ebx,-0x18(%ebp)
61219b:	29 45 e8             	sub    %eax,-0x18(%ebp)
61219e:	eb 19                	jmp    0x6121b9
6121a0:	8a 23                	mov    (%ebx),%ah
6121a2:	43                   	inc    %ebx
6121a3:	ff 45 e8             	incl   -0x18(%ebp)
6121a6:	8a c4                	mov    %ah,%al
6121a8:	24 c0                	and    $0xc0,%al
6121aa:	3c 80                	cmp    $0x80,%al
6121ac:	75 7f                	jne    0x61222d
6121ae:	0f b6 c4             	movzbl %ah,%eax
6121b1:	83 e0 3f             	and    $0x3f,%eax
6121b4:	c1 e2 06             	shl    $0x6,%edx
6121b7:	0b d0                	or     %eax,%edx
6121b9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
6121bc:	39 45 e8             	cmp    %eax,-0x18(%ebp)
6121bf:	72 df                	jb     0x6121a0
6121c1:	8b 5d e0             	mov    -0x20(%ebp),%ebx
6121c4:	3b c3                	cmp    %ebx,%eax
6121c6:	73 18                	jae    0x6121e0
6121c8:	2a 6d e4             	sub    -0x1c(%ebp),%ch
6121cb:	0f b6 c1             	movzbl %cl,%eax
6121ce:	66 89 46 04          	mov    %ax,0x4(%esi)
6121d2:	0f b6 c5             	movzbl %ch,%eax
6121d5:	89 16                	mov    %edx,(%esi)
6121d7:	66 89 46 06          	mov    %ax,0x6(%esi)
6121db:	e9 08 ff ff ff       	jmp    0x6120e8
6121e0:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
6121e6:	72 08                	jb     0x6121f0
6121e8:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
6121ee:	76 3d                	jbe    0x61222d
6121f0:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
6121f6:	77 35                	ja     0x61222d
6121f8:	0f b6 c1             	movzbl %cl,%eax
6121fb:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
612202:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
612209:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
612210:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
612214:	72 17                	jb     0x61222d
612216:	85 ff                	test   %edi,%edi
612218:	74 02                	je     0x61221c
61221a:	89 17                	mov    %edx,(%edi)
61221c:	83 26 00             	andl   $0x0,(%esi)
61221f:	83 66 04 00          	andl   $0x0,0x4(%esi)
612223:	f7 da                	neg    %edx
612225:	1b d2                	sbb    %edx,%edx
612227:	23 d3                	and    %ebx,%edx
612229:	8b c2                	mov    %edx,%eax
61222b:	eb 07                	jmp    0x612234
61222d:	56                   	push   %esi
61222e:	e8 6f e4 ff ff       	call   0x6106a2
612233:	59                   	pop    %ecx
612234:	8b 4d fc             	mov    -0x4(%ebp),%ecx
612237:	5f                   	pop    %edi
612238:	5e                   	pop    %esi
612239:	33 cd                	xor    %ebp,%ecx
61223b:	5b                   	pop    %ebx
61223c:	e8 99 f2 fc ff       	call   0x5e14da
612241:	c9                   	leave
612242:	c3                   	ret
612243:	8b ff                	mov    %edi,%edi
612245:	55                   	push   %ebp
612246:	8b ec                	mov    %esp,%ebp
612248:	53                   	push   %ebx
612249:	56                   	push   %esi
61224a:	57                   	push   %edi
61224b:	33 ff                	xor    %edi,%edi
61224d:	bb e3 00 00 00       	mov    $0xe3,%ebx
612252:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
612255:	99                   	cltd
612256:	2b c2                	sub    %edx,%eax
612258:	8b f0                	mov    %eax,%esi
61225a:	d1 fe                	sar    $1,%esi
61225c:	6a 55                	push   $0x55
61225e:	ff 34 f5 08 a2 6d 00 	push   0x6da208(,%esi,8)
612265:	ff 75 08             	push   0x8(%ebp)
612268:	e8 92 4f fe ff       	call   0x5f71ff
61226d:	83 c4 0c             	add    $0xc,%esp
612270:	85 c0                	test   %eax,%eax
612272:	74 13                	je     0x612287
612274:	79 05                	jns    0x61227b
612276:	8d 5e ff             	lea    -0x1(%esi),%ebx
612279:	eb 03                	jmp    0x61227e
61227b:	8d 7e 01             	lea    0x1(%esi),%edi
61227e:	3b fb                	cmp    %ebx,%edi
612280:	7e d0                	jle    0x612252
612282:	83 c8 ff             	or     $0xffffffff,%eax
612285:	eb 07                	jmp    0x61228e
612287:	8b 04 f5 0c a2 6d 00 	mov    0x6da20c(,%esi,8),%eax
61228e:	5f                   	pop    %edi
61228f:	5e                   	pop    %esi
612290:	5b                   	pop    %ebx
612291:	5d                   	pop    %ebp
612292:	c3                   	ret
612293:	8b ff                	mov    %edi,%edi