5ffb9f:	85 ff                	test   %edi,%edi
5ffba1:	75 0d                	jne    0x5ffbb0
5ffba3:	ff 15 e0 21 68 00    	call   *0x6821e0
5ffba9:	50                   	push   %eax
5ffbaa:	ff 15 34 22 68 00    	call   *0x682234
5ffbb0:	e8 84 48 00 00       	call   0x604439
5ffbb5:	89 b8 60 03 00 00    	mov    %edi,0x360(%eax)
5ffbbb:	e8 72 b5 00 00       	call   0x60b132
5ffbc0:	83 f8 02             	cmp    $0x2,%eax
5ffbc3:	75 10                	jne    0x5ffbd5
5ffbc5:	6a 01                	push   $0x1
5ffbc7:	e8 c9 7c 00 00       	call   0x607895
5ffbcc:	f7 d8                	neg    %eax
5ffbce:	1a c0                	sbb    %al,%al
5ffbd0:	fe c0                	inc    %al
5ffbd2:	88 47 10             	mov    %al,0x10(%edi)
5ffbd5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5ffbd9:	8b 37                	mov    (%edi),%esi
5ffbdb:	ff 77 04             	push   0x4(%edi)
5ffbde:	8b ce                	mov    %esi,%ecx
5ffbe0:	ff 15 e0 24 68 00    	call   *0x6824e0
5ffbe6:	ff d6                	call   *%esi
5ffbe8:	50                   	push   %eax
5ffbe9:	e8 81 01 00 00       	call   0x5ffd6f
5ffbee:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ffbf1:	8b 01                	mov    (%ecx),%eax
5ffbf3:	8b 00                	mov    (%eax),%eax
5ffbf5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5ffbf8:	51                   	push   %ecx
5ffbf9:	50                   	push   %eax
5ffbfa:	e8 bc 16 00 00       	call   0x6012bb
5ffbff:	59                   	pop    %ecx
5ffc00:	59                   	pop    %ecx
5ffc01:	c3                   	ret
5ffc02:	8b 65 e8             	mov    -0x18(%ebp),%esp
5ffc05:	ff 75 e4             	push   -0x1c(%ebp)
5ffc08:	e8 b1 c8 ff ff       	call   0x5fc4be
5ffc0d:	cc                   	int3
5ffc0e:	8b ff                	mov    %edi,%edi
5ffc10:	56                   	push   %esi
5ffc11:	57                   	push   %edi
5ffc12:	8b f9                	mov    %ecx,%edi
5ffc14:	8b 37                	mov    (%edi),%esi
5ffc16:	85 f6                	test   %esi,%esi
5ffc18:	74 25                	je     0x5ffc3f
5ffc1a:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
5ffc1e:	74 09                	je     0x5ffc29
5ffc20:	ff 76 08             	push   0x8(%esi)
5ffc23:	ff 15 e4 21 68 00    	call   *0x6821e4
5ffc29:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5ffc2d:	74 09                	je     0x5ffc38
5ffc2f:	ff 76 0c             	push   0xc(%esi)
5ffc32:	ff 15 bc 22 68 00    	call   *0x6822bc
5ffc38:	56                   	push   %esi
5ffc39:	e8 ea 4b 00 00       	call   0x604828
5ffc3e:	59                   	pop    %ecx
5ffc3f:	83 27 00             	andl   $0x0,(%edi)
5ffc42:	5f                   	pop    %edi
5ffc43:	5e                   	pop    %esi
5ffc44:	c3                   	ret
5ffc45:	8b ff                	mov    %edi,%edi
5ffc47:	55                   	push   %ebp
5ffc48:	8b ec                	mov    %esp,%ebp
5ffc4a:	56                   	push   %esi
5ffc4b:	e8 40 49 00 00       	call   0x604590
5ffc50:	85 c0                	test   %eax,%eax
5ffc52:	74 3e                	je     0x5ffc92
5ffc54:	8b b0 60 03 00 00    	mov    0x360(%eax),%esi
5ffc5a:	85 f6                	test   %esi,%esi
5ffc5c:	74 34                	je     0x5ffc92
5ffc5e:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
5ffc62:	74 05                	je     0x5ffc69
5ffc64:	e8 67 7c 00 00       	call   0x6078d0
5ffc69:	8b 46 08             	mov    0x8(%esi),%eax
5ffc6c:	83 f8 ff             	cmp    $0xffffffff,%eax
5ffc6f:	74 0b                	je     0x5ffc7c
5ffc71:	85 c0                	test   %eax,%eax
5ffc73:	74 07                	je     0x5ffc7c
5ffc75:	50                   	push   %eax
5ffc76:	ff 15 e4 21 68 00    	call   *0x6821e4
5ffc7c:	8b 46 0c             	mov    0xc(%esi),%eax
5ffc7f:	83 f8 ff             	cmp    $0xffffffff,%eax
5ffc82:	74 0e                	je     0x5ffc92
5ffc84:	85 c0                	test   %eax,%eax
5ffc86:	74 0a                	je     0x5ffc92
5ffc88:	ff 75 08             	push   0x8(%ebp)
5ffc8b:	50                   	push   %eax
5ffc8c:	ff 15 30 22 68 00    	call   *0x682230
5ffc92:	ff 75 08             	push   0x8(%ebp)
5ffc95:	ff 15 34 22 68 00    	call   *0x682234
5ffc9b:	cc                   	int3
5ffc9c:	8b ff                	mov    %edi,%edi
5ffc9e:	55                   	push   %ebp
5ffc9f:	8b ec                	mov    %esp,%ebp
5ffca1:	51                   	push   %ecx
5ffca2:	56                   	push   %esi
5ffca3:	57                   	push   %edi
5ffca4:	6a 14                	push   $0x14
5ffca6:	6a 01                	push   $0x1
5ffca8:	e8 2f 5e 00 00       	call   0x605adc
5ffcad:	8b f0                	mov    %eax,%esi
5ffcaf:	33 ff                	xor    %edi,%edi
5ffcb1:	57                   	push   %edi
5ffcb2:	89 75 fc             	mov    %esi,-0x4(%ebp)
5ffcb5:	e8 6e 4b 00 00       	call   0x604828
5ffcba:	83 c4 0c             	add    $0xc,%esp
5ffcbd:	85 f6                	test   %esi,%esi
5ffcbf:	74 1d                	je     0x5ffcde
5ffcc1:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ffcc4:	8b 45 0c             	mov    0xc(%ebp),%eax
5ffcc7:	89 0e                	mov    %ecx,(%esi)
5ffcc9:	89 46 04             	mov    %eax,0x4(%esi)
5ffccc:	8d 46 0c             	lea    0xc(%esi),%eax
5ffccf:	50                   	push   %eax
5ffcd0:	51                   	push   %ecx
5ffcd1:	6a 04                	push   $0x4
5ffcd3:	ff 15 48 21 68 00    	call   *0x682148
5ffcd9:	89 7d fc             	mov    %edi,-0x4(%ebp)
5ffcdc:	8b fe                	mov    %esi,%edi
5ffcde:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5ffce1:	e8 28 ff ff ff       	call   0x5ffc0e
5ffce6:	8b c7                	mov    %edi,%eax
5ffce8:	5f                   	pop    %edi
5ffce9:	5e                   	pop    %esi
5ffcea:	c9                   	leave
5ffceb:	c3                   	ret
5ffcec:	8b ff                	mov    %edi,%edi
5ffcee:	55                   	push   %ebp
5ffcef:	8b ec                	mov    %esp,%ebp
5ffcf1:	51                   	push   %ecx
5ffcf2:	51                   	push   %ecx
5ffcf3:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5ffcf7:	75 14                	jne    0x5ffd0d
5ffcf9:	e8 fb d2 fe ff       	call   0x5ecff9
5ffcfe:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ffd04:	e8 16 d2 fe ff       	call   0x5ecf1f
5ffd09:	33 c0                	xor    %eax,%eax
5ffd0b:	c9                   	leave
5ffd0c:	c3                   	ret
5ffd0d:	56                   	push   %esi
5ffd0e:	ff 75 14             	push   0x14(%ebp)
5ffd11:	ff 75 10             	push   0x10(%ebp)
5ffd14:	e8 83 ff ff ff       	call   0x5ffc9c
5ffd19:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ffd1c:	59                   	pop    %ecx
5ffd1d:	59                   	pop    %ecx
5ffd1e:	85 c0                	test   %eax,%eax
5ffd20:	74 2c                	je     0x5ffd4e
5ffd22:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5ffd25:	51                   	push   %ecx
5ffd26:	ff 75 18             	push   0x18(%ebp)
5ffd29:	50                   	push   %eax
5ffd2a:	68 90 fb 5f 00       	push   $0x5ffb90
5ffd2f:	ff 75 0c             	push   0xc(%ebp)
5ffd32:	ff 75 08             	push   0x8(%ebp)
5ffd35:	ff 15 b0 22 68 00    	call   *0x6822b0
5ffd3b:	8b f0                	mov    %eax,%esi
5ffd3d:	85 f6                	test   %esi,%esi
5ffd3f:	75 1c                	jne    0x5ffd5d
5ffd41:	ff 15 e0 21 68 00    	call   *0x6821e0
5ffd47:	50                   	push   %eax
5ffd48:	e8 76 d2 fe ff       	call   0x5ecfc3
5ffd4d:	59                   	pop    %ecx
5ffd4e:	33 f6                	xor    %esi,%esi
5ffd50:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5ffd53:	e8 b6 fe ff ff       	call   0x5ffc0e
5ffd58:	8b c6                	mov    %esi,%eax
5ffd5a:	5e                   	pop    %esi
5ffd5b:	c9                   	leave
5ffd5c:	c3                   	ret
5ffd5d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5ffd60:	85 c9                	test   %ecx,%ecx
5ffd62:	74 05                	je     0x5ffd69
5ffd64:	8b 45 f8             	mov    -0x8(%ebp),%eax
5ffd67:	89 01                	mov    %eax,(%ecx)
5ffd69:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5ffd6d:	eb e1                	jmp    0x5ffd50
5ffd6f:	8b ff                	mov    %edi,%edi
5ffd71:	55                   	push   %ebp
5ffd72:	8b ec                	mov    %esp,%ebp
5ffd74:	ff 75 08             	push   0x8(%ebp)
5ffd77:	e8 c9 fe ff ff       	call   0x5ffc45
5ffd7c:	cc                   	int3
5ffd7d:	cc                   	int3
5ffd7e:	cc                   	int3
5ffd7f:	cc                   	int3
5ffd80:	83 3d 9c 26 73 00 00 	cmpl   $0x0,0x73269c
5ffd87:	0f 84 ad b5 00 00    	je     0x60b33a
5ffd8d:	83 ec 08             	sub    $0x8,%esp
5ffd90:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
5ffd95:	8b 44 24 04          	mov    0x4(%esp),%eax
5ffd99:	25 80 7f 00 00       	and    $0x7f80,%eax
5ffd9e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
5ffda3:	75 0f                	jne    0x5ffdb4
5ffda5:	d9 3c 24             	fnstcw (%esp)
5ffda8:	66 8b 04 24          	mov    (%esp),%ax
5ffdac:	66 83 e0 7f          	and    $0x7f,%ax
5ffdb0:	66 83 f8 7f          	cmp    $0x7f,%ax
5ffdb4:	8d 64 24 08          	lea    0x8(%esp),%esp
5ffdb8:	0f 85 7c b5 00 00    	jne    0x60b33a
5ffdbe:	eb 00                	jmp    0x5ffdc0
5ffdc0:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
5ffdc6:	66 0f 28 15 10 36 6d 	movapd 0x6d3610,%xmm2
5ffdcd:	00
5ffdce:	66 0f 28 d8          	movapd %xmm0,%xmm3
5ffdd2:	66 0f 28 c8          	movapd %xmm0,%xmm1
5ffdd6:	66 0f 28 e0          	movapd %xmm0,%xmm4
5ffdda:	66 0f 28 f0          	movapd %xmm0,%xmm6
5ffdde:	66 0f 73 f0 01       	psllq  $0x1,%xmm0
5ffde3:	66 0f 73 d0 35       	psrlq  $0x35,%xmm0
5ffde8:	66 0f 73 d3 34       	psrlq  $0x34,%xmm3
5ffded:	66 0f 54 25 20 36 6d 	andpd  0x6d3620,%xmm4
5ffdf4:	00
5ffdf5:	66 0f 7e c0          	movd   %xmm0,%eax
5ffdf9:	66 0f fa d0          	psubd  %xmm0,%xmm2
5ffdfd:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5ffe01:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
5ffe05:	66 0f f3 ca          	psllq  %xmm2,%xmm1
5ffe09:	66 0f 7e da          	movd   %xmm3,%edx
5ffe0d:	3d ff 03 00 00       	cmp    $0x3ff,%eax
5ffe12:	7c 1e                	jl     0x5ffe32
5ffe14:	3d 32 04 00 00       	cmp    $0x432,%eax
5ffe19:	7f 20                	jg     0x5ffe3b
5ffe1b:	66 0f d6 09          	movq   %xmm1,(%ecx)
5ffe1f:	f2 0f 5c f1          	subsd  %xmm1,%xmm6
5ffe23:	66 0f 56 f4          	orpd   %xmm4,%xmm6
5ffe27:	66 0f d6 74 24 04    	movq   %xmm6,0x4(%esp)
5ffe2d:	dd 44 24 04          	fldl   0x4(%esp)
5ffe31:	c3                   	ret
5ffe32:	66 0f d6 21          	movq   %xmm4,(%ecx)
5ffe36:	dd 44 24 04          	fldl   0x4(%esp)
5ffe3a:	c3                   	ret
5ffe3b:	3d ff 07 00 00       	cmp    $0x7ff,%eax
5ffe40:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
5ffe46:	74 11                	je     0x5ffe59
5ffe48:	66 0f d6 01          	movq   %xmm0,(%ecx)
5ffe4c:	81 fa 00 08 00 00    	cmp    $0x800,%edx
5ffe52:	d9 ee                	fldz
5ffe54:	7c 02                	jl     0x5ffe58
5ffe56:	d9 e0                	fchs
5ffe58:	c3                   	ret
5ffe59:	66 0f 28 c8          	movapd %xmm0,%xmm1
5ffe5d:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
5ffe61:	66 0f d6 01          	movq   %xmm0,(%ecx)
5ffe65:	66 0f 54 05 00 36 6d 	andpd  0x6d3600,%xmm0
5ffe6c:	00
5ffe6d:	66 0f c2 05 30 36 6d 	cmpneqpd 0x6d3630,%xmm0
5ffe74:	00 04
5ffe76:	66 0f c5 c0 00       	pextrw $0x0,%xmm0,%eax
5ffe7b:	66 0f 54 c1          	andpd  %xmm1,%xmm0
5ffe7f:	66 0f 56 c4          	orpd   %xmm4,%xmm0
5ffe83:	ba ef 03 00 00       	mov    $0x3ef,%edx
5ffe88:	83 f8 00             	cmp    $0x0,%eax
5ffe8b:	75 0b                	jne    0x5ffe98
5ffe8d:	66 0f d6 44 24 04    	movq   %xmm0,0x4(%esp)
5ffe93:	dd 44 24 04          	fldl   0x4(%esp)
5ffe97:	c3                   	ret
5ffe98:	83 ec 1c             	sub    $0x1c,%esp
5ffe9b:	66 0f 13 44 24 10    	movlpd %xmm0,0x10(%esp)
5ffea1:	89 54 24 0c          	mov    %edx,0xc(%esp)
5ffea5:	8b d4                	mov    %esp,%edx
5ffea7:	83 c2 10             	add    $0x10,%edx
5ffeaa:	89 54 24 08          	mov    %edx,0x8(%esp)
5ffeae:	83 c2 18             	add    $0x18,%edx
5ffeb1:	89 54 24 04          	mov    %edx,0x4(%esp)
5ffeb5:	83 ea 08             	sub    $0x8,%edx
5ffeb8:	89 14 24             	mov    %edx,(%esp)
5ffebb:	e8 79 5c 00 00       	call   0x605b39
5ffec0:	dd 44 24 10          	fldl   0x10(%esp)
5ffec4:	83 c4 1c             	add    $0x1c,%esp
5ffec7:	c3                   	ret
5ffec8:	cc                   	int3
5ffec9:	cc                   	int3
5ffeca:	cc                   	int3
5ffecb:	cc                   	int3
5ffecc:	cc                   	int3
5ffecd:	cc                   	int3
5ffece:	cc                   	int3
5ffecf:	cc                   	int3
5ffed0:	55                   	push   %ebp
5ffed1:	8b ec                	mov    %esp,%ebp
5ffed3:	56                   	push   %esi
5ffed4:	33 c0                	xor    %eax,%eax
5ffed6:	50                   	push   %eax
5ffed7:	50                   	push   %eax
5ffed8:	50                   	push   %eax
5ffed9:	50                   	push   %eax
5ffeda:	50                   	push   %eax
5ffedb:	50                   	push   %eax
5ffedc:	50                   	push   %eax
5ffedd:	50                   	push   %eax
5ffede:	8b 55 0c             	mov    0xc(%ebp),%edx
5ffee1:	8d 49 00             	lea    0x0(%ecx),%ecx
5ffee4:	8a 02                	mov    (%edx),%al
5ffee6:	0a c0                	or     %al,%al
5ffee8:	74 09                	je     0x5ffef3
5ffeea:	83 c2 01             	add    $0x1,%edx
5ffeed:	0f ab 04 24          	bts    %eax,(%esp)
5ffef1:	eb f1                	jmp    0x5ffee4
5ffef3:	8b 75 08             	mov    0x8(%ebp),%esi
5ffef6:	8b ff                	mov    %edi,%edi
5ffef8:	8a 06                	mov    (%esi),%al
5ffefa:	0a c0                	or     %al,%al
5ffefc:	74 0c                	je     0x5fff0a
5ffefe:	83 c6 01             	add    $0x1,%esi
5fff01:	0f a3 04 24          	bt     %eax,(%esp)
5fff05:	73 f1                	jae    0x5ffef8
5fff07:	8d 46 ff             	lea    -0x1(%esi),%eax
5fff0a:	83 c4 20             	add    $0x20,%esp
5fff0d:	5e                   	pop    %esi
5fff0e:	c9                   	leave
5fff0f:	c3                   	ret
5fff10:	8b ff                	mov    %edi,%edi
5fff12:	55                   	push   %ebp
5fff13:	8b ec                	mov    %esp,%ebp
5fff15:	8d 45 08             	lea    0x8(%ebp),%eax
5fff18:	50                   	push   %eax
5fff19:	e8 22 b5 00 00       	call   0x60b440
5fff1e:	59                   	pop    %ecx
5fff1f:	5d                   	pop    %ebp
5fff20:	c3                   	ret
5fff21:	8b ff                	mov    %edi,%edi
5fff23:	55                   	push   %ebp
5fff24:	8b ec                	mov    %esp,%ebp
5fff26:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
5fff2a:	25 00 80 00 00       	and    $0x8000,%eax
5fff2f:	5d                   	pop    %ebp
5fff30:	c3                   	ret
5fff31:	8b ff                	mov    %edi,%edi
5fff33:	55                   	push   %ebp
5fff34:	8b ec                	mov    %esp,%ebp
5fff36:	83 ec 18             	sub    $0x18,%esp
5fff39:	8b 45 0c             	mov    0xc(%ebp),%eax
5fff3c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5fff40:	6a 04                	push   $0x4
5fff42:	59                   	pop    %ecx
5fff43:	ff 75 10             	push   0x10(%ebp)
5fff46:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fff49:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fff4c:	8d 45 e8             	lea    -0x18(%ebp),%eax
5fff4f:	50                   	push   %eax
5fff50:	ff 75 08             	push   0x8(%ebp)
5fff53:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5fff56:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5fff59:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5fff5d:	e8 40 85 ff ff       	call   0x5f84a2
5fff62:	83 c4 0c             	add    $0xc,%esp
5fff65:	f7 d8                	neg    %eax
5fff67:	1b c0                	sbb    %eax,%eax
5fff69:	f7 d0                	not    %eax