488e72:	66 0f 28 f8          	movapd %xmm0,%xmm7
488e76:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
488e7b:	66 0f 7e c0          	movd   %xmm0,%eax
488e7f:	66 0f 54 05 a0 56 4a 	andpd  0x4a56a0,%xmm0
488e86:	00
488e87:	66 0f fa d0          	psubd  %xmm0,%xmm2
488e8b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
488e8f:	a9 00 08 00 00       	test   $0x800,%eax
488e94:	74 4c                	je     0x488ee2
488e96:	3d ff 0b 00 00       	cmp    $0xbff,%eax
488e9b:	7c 7d                	jl     0x488f1a
488e9d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
488ea1:	3d 32 0c 00 00       	cmp    $0xc32,%eax
488ea6:	7f 0b                	jg     0x488eb3
488ea8:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
488eae:	dd 44 24 04          	fldl   0x4(%esp)
488eb2:	c3                   	ret
488eb3:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
488eb7:	7b 24                	jnp    0x488edd
488eb9:	ba ec 03 00 00       	mov    $0x3ec,%edx
488ebe:	83 ec 10             	sub    $0x10,%esp
488ec1:	89 54 24 0c          	mov    %edx,0xc(%esp)
488ec5:	8b d4                	mov    %esp,%edx
488ec7:	83 c2 14             	add    $0x14,%edx
488eca:	89 54 24 08          	mov    %edx,0x8(%esp)
488ece:	89 54 24 04          	mov    %edx,0x4(%esp)
488ed2:	89 14 24             	mov    %edx,(%esp)
488ed5:	e8 e4 9a ff ff       	call   0x4829be
488eda:	83 c4 10             	add    $0x10,%esp
488edd:	dd 44 24 04          	fldl   0x4(%esp)
488ee1:	c3                   	ret
488ee2:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
488ee8:	66 0f f3 ca          	psllq  %xmm2,%xmm1
488eec:	66 0f 28 d8          	movapd %xmm0,%xmm3
488ef0:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
488ef5:	3d ff 03 00 00       	cmp    $0x3ff,%eax
488efa:	7c 25                	jl     0x488f21
488efc:	3d 32 04 00 00       	cmp    $0x432,%eax
488f01:	7f b0                	jg     0x488eb3
488f03:	66 0f 54 05 70 56 4a 	andpd  0x4a5670,%xmm0
488f0a:	00
488f0b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
488f0f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
488f15:	dd 44 24 04          	fldl   0x4(%esp)
488f19:	c3                   	ret
488f1a:	dd 05 b0 56 4a 00    	fldl   0x4a56b0
488f20:	c3                   	ret
488f21:	66 0f c2 1d 90 56 4a 	cmpnlepd 0x4a5690,%xmm3
488f28:	00 06
488f2a:	66 0f 54 1d 70 56 4a 	andpd  0x4a5670,%xmm3
488f31:	00
488f32:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
488f38:	dd 44 24 04          	fldl   0x4(%esp)
488f3c:	c3                   	ret
488f3d:	33 c0                	xor    %eax,%eax
488f3f:	50                   	push   %eax
488f40:	50                   	push   %eax
488f41:	6a 03                	push   $0x3
488f43:	50                   	push   %eax
488f44:	6a 03                	push   $0x3
488f46:	68 00 00 00 40       	push   $0x40000000
488f4b:	68 b8 56 4a 00       	push   $0x4a56b8
488f50:	ff 15 0c 41 49 00    	call   *0x49410c
488f56:	a3 00 8a 4b 00       	mov    %eax,0x4b8a00
488f5b:	c3                   	ret
488f5c:	a1 00 8a 4b 00       	mov    0x4b8a00,%eax
488f61:	83 f8 ff             	cmp    $0xffffffff,%eax
488f64:	74 0c                	je     0x488f72
488f66:	83 f8 fe             	cmp    $0xfffffffe,%eax
488f69:	74 07                	je     0x488f72
488f6b:	50                   	push   %eax
488f6c:	ff 15 20 41 49 00    	call   *0x494120
488f72:	c3                   	ret
488f73:	8b ff                	mov    %edi,%edi
488f75:	55                   	push   %ebp
488f76:	8b ec                	mov    %esp,%ebp
488f78:	56                   	push   %esi
488f79:	8b 75 14             	mov    0x14(%ebp),%esi
488f7c:	85 f6                	test   %esi,%esi
488f7e:	7e 0d                	jle    0x488f8d
488f80:	56                   	push   %esi
488f81:	ff 75 10             	push   0x10(%ebp)
488f84:	e8 24 07 fe ff       	call   0x4696ad
488f89:	59                   	pop    %ecx
488f8a:	59                   	pop    %ecx
488f8b:	8b f0                	mov    %eax,%esi
488f8d:	8b 45 1c             	mov    0x1c(%ebp),%eax
488f90:	85 c0                	test   %eax,%eax
488f92:	7e 0b                	jle    0x488f9f
488f94:	50                   	push   %eax
488f95:	ff 75 18             	push   0x18(%ebp)
488f98:	e8 10 07 fe ff       	call   0x4696ad
488f9d:	59                   	pop    %ecx
488f9e:	59                   	pop    %ecx
488f9f:	85 f6                	test   %esi,%esi
488fa1:	74 1e                	je     0x488fc1
488fa3:	85 c0                	test   %eax,%eax
488fa5:	74 1a                	je     0x488fc1
488fa7:	33 c9                	xor    %ecx,%ecx
488fa9:	51                   	push   %ecx
488faa:	51                   	push   %ecx
488fab:	51                   	push   %ecx
488fac:	50                   	push   %eax
488fad:	ff 75 18             	push   0x18(%ebp)
488fb0:	56                   	push   %esi
488fb1:	ff 75 10             	push   0x10(%ebp)
488fb4:	ff 75 0c             	push   0xc(%ebp)
488fb7:	ff 75 08             	push   0x8(%ebp)
488fba:	e8 ae be fe ff       	call   0x474e6d
488fbf:	eb 17                	jmp    0x488fd8
488fc1:	2b f0                	sub    %eax,%esi
488fc3:	75 05                	jne    0x488fca
488fc5:	6a 02                	push   $0x2
488fc7:	58                   	pop    %eax
488fc8:	eb 0e                	jmp    0x488fd8
488fca:	33 c0                	xor    %eax,%eax
488fcc:	85 f6                	test   %esi,%esi
488fce:	0f 99 c0             	setns  %al
488fd1:	8d 04 45 01 00 00 00 	lea    0x1(,%eax,2),%eax
488fd8:	5e                   	pop    %esi
488fd9:	5d                   	pop    %ebp
488fda:	c3                   	ret
488fdb:	8b ff                	mov    %edi,%edi
488fdd:	55                   	push   %ebp
488fde:	8b ec                	mov    %esp,%ebp
488fe0:	83 ec 2c             	sub    $0x2c,%esp
488fe3:	a1 94 80 4b 00       	mov    0x4b8094,%eax
488fe8:	33 c5                	xor    %ebp,%eax
488fea:	89 45 fc             	mov    %eax,-0x4(%ebp)
488fed:	8b 45 08             	mov    0x8(%ebp),%eax
488ff0:	53                   	push   %ebx
488ff1:	56                   	push   %esi
488ff2:	8b 75 18             	mov    0x18(%ebp),%esi
488ff5:	89 45 d8             	mov    %eax,-0x28(%ebp)
488ff8:	8b 45 0c             	mov    0xc(%ebp),%eax
488ffb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
488ffe:	8b 45 1c             	mov    0x1c(%ebp),%eax
489001:	89 45 dc             	mov    %eax,-0x24(%ebp)
489004:	57                   	push   %edi
489005:	8b 7d 14             	mov    0x14(%ebp),%edi
489008:	89 7d e0             	mov    %edi,-0x20(%ebp)
48900b:	85 f6                	test   %esi,%esi
48900d:	7e 22                	jle    0x489031
48900f:	56                   	push   %esi
489010:	57                   	push   %edi
489011:	e8 de fb fd ff       	call   0x468bf4
489016:	59                   	pop    %ecx
489017:	8b f0                	mov    %eax,%esi
489019:	8b 45 dc             	mov    -0x24(%ebp),%eax
48901c:	59                   	pop    %ecx
48901d:	8b 5d 20             	mov    0x20(%ebp),%ebx
489020:	85 db                	test   %ebx,%ebx
489022:	7e 19                	jle    0x48903d
489024:	53                   	push   %ebx
489025:	50                   	push   %eax
489026:	e8 c9 fb fd ff       	call   0x468bf4
48902b:	59                   	pop    %ecx
48902c:	59                   	pop    %ecx
48902d:	8b d8                	mov    %eax,%ebx
48902f:	eb 11                	jmp    0x489042
489031:	83 fe ff             	cmp    $0xffffffff,%esi
489034:	7d e7                	jge    0x48901d
489036:	33 c0                	xor    %eax,%eax
489038:	e9 32 02 00 00       	jmp    0x48926f
48903d:	83 fb ff             	cmp    $0xffffffff,%ebx
489040:	7c f4                	jl     0x489036
489042:	8b 45 24             	mov    0x24(%ebp),%eax
489045:	85 c0                	test   %eax,%eax
489047:	75 0b                	jne    0x489054
489049:	8b 45 d8             	mov    -0x28(%ebp),%eax
48904c:	8b 00                	mov    (%eax),%eax
48904e:	8b 40 08             	mov    0x8(%eax),%eax
489051:	89 45 24             	mov    %eax,0x24(%ebp)
489054:	85 f6                	test   %esi,%esi
489056:	74 08                	je     0x489060
489058:	85 db                	test   %ebx,%ebx
48905a:	0f 85 9d 00 00 00    	jne    0x4890fd
489060:	3b f3                	cmp    %ebx,%esi
489062:	75 08                	jne    0x48906c
489064:	6a 02                	push   $0x2
489066:	58                   	pop    %eax
489067:	e9 03 02 00 00       	jmp    0x48926f
48906c:	83 fb 01             	cmp    $0x1,%ebx
48906f:	7e 08                	jle    0x489079
489071:	33 c0                	xor    %eax,%eax
489073:	40                   	inc    %eax
489074:	e9 f6 01 00 00       	jmp    0x48926f
489079:	83 fe 01             	cmp    $0x1,%esi
48907c:	7e 04                	jle    0x489082
48907e:	6a 03                	push   $0x3
489080:	eb e4                	jmp    0x489066
489082:	8d 4d e8             	lea    -0x18(%ebp),%ecx
489085:	51                   	push   %ecx
489086:	50                   	push   %eax
489087:	ff 15 a4 41 49 00    	call   *0x4941a4
48908d:	85 c0                	test   %eax,%eax
48908f:	74 a5                	je     0x489036
489091:	85 f6                	test   %esi,%esi
489093:	7e 2f                	jle    0x4890c4
489095:	6a 02                	push   $0x2
489097:	58                   	pop    %eax
489098:	39 45 e8             	cmp    %eax,-0x18(%ebp)
48909b:	72 e1                	jb     0x48907e
48909d:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4890a1:	8d 4d ee             	lea    -0x12(%ebp),%ecx
4890a4:	74 d8                	je     0x48907e
4890a6:	8a 51 01             	mov    0x1(%ecx),%dl
4890a9:	84 d2                	test   %dl,%dl
4890ab:	74 d1                	je     0x48907e
4890ad:	8a 1f                	mov    (%edi),%bl
4890af:	3a 19                	cmp    (%ecx),%bl
4890b1:	72 08                	jb     0x4890bb
4890b3:	3a da                	cmp    %dl,%bl
4890b5:	0f 86 b4 01 00 00    	jbe    0x48926f
4890bb:	03 c8                	add    %eax,%ecx
4890bd:	80 39 00             	cmpb   $0x0,(%ecx)
4890c0:	75 e4                	jne    0x4890a6
4890c2:	eb ba                	jmp    0x48907e
4890c4:	85 db                	test   %ebx,%ebx
4890c6:	7e 35                	jle    0x4890fd
4890c8:	6a 02                	push   $0x2
4890ca:	58                   	pop    %eax
4890cb:	39 45 e8             	cmp    %eax,-0x18(%ebp)
4890ce:	72 a1                	jb     0x489071
4890d0:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4890d4:	8d 4d ee             	lea    -0x12(%ebp),%ecx
4890d7:	74 98                	je     0x489071
4890d9:	8b 75 dc             	mov    -0x24(%ebp),%esi
4890dc:	8a 51 01             	mov    0x1(%ecx),%dl
4890df:	84 d2                	test   %dl,%dl
4890e1:	74 8e                	je     0x489071
4890e3:	8a 1e                	mov    (%esi),%bl
4890e5:	3a 19                	cmp    (%ecx),%bl
4890e7:	72 08                	jb     0x4890f1
4890e9:	3a da                	cmp    %dl,%bl
4890eb:	0f 86 7e 01 00 00    	jbe    0x48926f
4890f1:	03 c8                	add    %eax,%ecx
4890f3:	80 39 00             	cmpb   $0x0,(%ecx)
4890f6:	75 e4                	jne    0x4890dc
4890f8:	e9 74 ff ff ff       	jmp    0x489071
4890fd:	33 ff                	xor    %edi,%edi
4890ff:	57                   	push   %edi
489100:	57                   	push   %edi
489101:	56                   	push   %esi
489102:	ff 75 e0             	push   -0x20(%ebp)
489105:	6a 09                	push   $0x9
489107:	ff 75 24             	push   0x24(%ebp)
48910a:	ff 15 74 41 49 00    	call   *0x494174
489110:	89 45 d8             	mov    %eax,-0x28(%ebp)
489113:	85 c0                	test   %eax,%eax
489115:	0f 84 1b ff ff ff    	je     0x489036
48911b:	8d 14 00             	lea    (%eax,%eax,1),%edx
48911e:	8d 4a 08             	lea    0x8(%edx),%ecx
489121:	3b d1                	cmp    %ecx,%edx
489123:	1b c0                	sbb    %eax,%eax
489125:	85 c1                	test   %eax,%ecx
489127:	74 59                	je     0x489182
489129:	8d 4a 08             	lea    0x8(%edx),%ecx
48912c:	3b d1                	cmp    %ecx,%edx
48912e:	1b c0                	sbb    %eax,%eax
489130:	23 c1                	and    %ecx,%eax
489132:	8d 4a 08             	lea    0x8(%edx),%ecx
489135:	3d 00 04 00 00       	cmp    $0x400,%eax
48913a:	77 20                	ja     0x48915c
48913c:	3b d1                	cmp    %ecx,%edx
48913e:	1b c0                	sbb    %eax,%eax
489140:	23 c1                	and    %ecx,%eax
489142:	e8 89 73 fb ff       	call   0x4404d0
489147:	8b c4                	mov    %esp,%eax
489149:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48914c:	85 c0                	test   %eax,%eax
48914e:	0f 84 0f 01 00 00    	je     0x489263
489154:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
48915a:	eb 1e                	jmp    0x48917a
48915c:	3b d1                	cmp    %ecx,%edx
48915e:	1b c0                	sbb    %eax,%eax
489160:	23 c1                	and    %ecx,%eax
489162:	50                   	push   %eax
489163:	e8 c2 db fe ff       	call   0x476d2a
489168:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48916b:	59                   	pop    %ecx
48916c:	85 c0                	test   %eax,%eax
48916e:	0f 84 ef 00 00 00    	je     0x489263
489174:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
48917a:	83 c0 08             	add    $0x8,%eax
48917d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
489180:	eb 05                	jmp    0x489187
489182:	8b c7                	mov    %edi,%eax
489184:	89 7d e4             	mov    %edi,-0x1c(%ebp)
489187:	85 c0                	test   %eax,%eax
489189:	0f 84 d4 00 00 00    	je     0x489263
48918f:	ff 75 d8             	push   -0x28(%ebp)
489192:	50                   	push   %eax
489193:	56                   	push   %esi
489194:	ff 75 e0             	push   -0x20(%ebp)
489197:	8b 75 24             	mov    0x24(%ebp),%esi
48919a:	6a 01                	push   $0x1
48919c:	56                   	push   %esi
48919d:	ff 15 74 41 49 00    	call   *0x494174
4891a3:	85 c0                	test   %eax,%eax
4891a5:	0f 84 b8 00 00 00    	je     0x489263
4891ab:	57                   	push   %edi
4891ac:	57                   	push   %edi
4891ad:	53                   	push   %ebx
4891ae:	ff 75 dc             	push   -0x24(%ebp)
4891b1:	6a 09                	push   $0x9
4891b3:	56                   	push   %esi
4891b4:	ff 15 74 41 49 00    	call   *0x494174
4891ba:	89 45 e0             	mov    %eax,-0x20(%ebp)
4891bd:	85 c0                	test   %eax,%eax
4891bf:	0f 84 9e 00 00 00    	je     0x489263
4891c5:	8d 14 00             	lea    (%eax,%eax,1),%edx
4891c8:	8d 4a 08             	lea    0x8(%edx),%ecx
4891cb:	3b d1                	cmp    %ecx,%edx
4891cd:	1b c0                	sbb    %eax,%eax
4891cf:	85 c1                	test   %eax,%ecx
4891d1:	74 4a                	je     0x48921d
4891d3:	8d 4a 08             	lea    0x8(%edx),%ecx
4891d6:	3b d1                	cmp    %ecx,%edx
4891d8:	1b c0                	sbb    %eax,%eax
4891da:	23 c1                	and    %ecx,%eax
4891dc:	8d 4a 08             	lea    0x8(%edx),%ecx
4891df:	3d 00 04 00 00       	cmp    $0x400,%eax
4891e4:	77 19                	ja     0x4891ff
4891e6:	3b d1                	cmp    %ecx,%edx
4891e8:	1b c0                	sbb    %eax,%eax
4891ea:	23 c1                	and    %ecx,%eax
4891ec:	e8 df 72 fb ff       	call   0x4404d0
4891f1:	8b f4                	mov    %esp,%esi
4891f3:	85 f6                	test   %esi,%esi
4891f5:	74 60                	je     0x489257
4891f7:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
4891fd:	eb 19                	jmp    0x489218
4891ff:	3b d1                	cmp    %ecx,%edx
489201:	1b c0                	sbb    %eax,%eax
489203:	23 c1                	and    %ecx,%eax
489205:	50                   	push   %eax
489206:	e8 1f db fe ff       	call   0x476d2a
48920b:	8b f0                	mov    %eax,%esi
48920d:	59                   	pop    %ecx
48920e:	85 f6                	test   %esi,%esi
489210:	74 45                	je     0x489257
489212:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
489218:	83 c6 08             	add    $0x8,%esi
48921b:	eb 02                	jmp    0x48921f
48921d:	8b f7                	mov    %edi,%esi
48921f:	85 f6                	test   %esi,%esi
489221:	74 34                	je     0x489257
489223:	ff 75 e0             	push   -0x20(%ebp)
489226:	56                   	push   %esi