5fb0a3:	f0 09 06             	lock or %eax,(%esi)
5fb0a6:	83 c8 ff             	or     $0xffffffff,%eax
5fb0a9:	eb 12                	jmp    0x5fb0bd
5fb0ab:	8b 06                	mov    (%esi),%eax
5fb0ad:	90                   	nop
5fb0ae:	c1 e8 02             	shr    $0x2,%eax
5fb0b1:	a8 01                	test   $0x1,%al
5fb0b3:	74 06                	je     0x5fb0bb
5fb0b5:	6a fd                	push   $0xfffffffd
5fb0b7:	58                   	pop    %eax
5fb0b8:	f0 21 06             	lock and %eax,(%esi)
5fb0bb:	33 c0                	xor    %eax,%eax
5fb0bd:	5f                   	pop    %edi
5fb0be:	5e                   	pop    %esi
5fb0bf:	5d                   	pop    %ebp
5fb0c0:	c3                   	ret
5fb0c1:	8b ff                	mov    %edi,%edi
5fb0c3:	55                   	push   %ebp
5fb0c4:	8b ec                	mov    %esp,%ebp
5fb0c6:	56                   	push   %esi
5fb0c7:	8b 75 08             	mov    0x8(%ebp),%esi
5fb0ca:	85 f6                	test   %esi,%esi
5fb0cc:	75 09                	jne    0x5fb0d7
5fb0ce:	56                   	push   %esi
5fb0cf:	e8 e3 fe ff ff       	call   0x5fafb7
5fb0d4:	59                   	pop    %ecx
5fb0d5:	eb 2f                	jmp    0x5fb106
5fb0d7:	56                   	push   %esi
5fb0d8:	e8 7f ff ff ff       	call   0x5fb05c
5fb0dd:	59                   	pop    %ecx
5fb0de:	85 c0                	test   %eax,%eax
5fb0e0:	75 21                	jne    0x5fb103
5fb0e2:	8b 46 0c             	mov    0xc(%esi),%eax
5fb0e5:	90                   	nop
5fb0e6:	c1 e8 0b             	shr    $0xb,%eax
5fb0e9:	a8 01                	test   $0x1,%al
5fb0eb:	74 12                	je     0x5fb0ff
5fb0ed:	56                   	push   %esi
5fb0ee:	e8 b5 46 00 00       	call   0x5ff7a8
5fb0f3:	50                   	push   %eax
5fb0f4:	e8 fd f3 00 00       	call   0x60a4f6
5fb0f9:	59                   	pop    %ecx
5fb0fa:	59                   	pop    %ecx
5fb0fb:	85 c0                	test   %eax,%eax
5fb0fd:	75 04                	jne    0x5fb103
5fb0ff:	33 c0                	xor    %eax,%eax
5fb101:	eb 03                	jmp    0x5fb106
5fb103:	83 c8 ff             	or     $0xffffffff,%eax
5fb106:	5e                   	pop    %esi
5fb107:	5d                   	pop    %ebp
5fb108:	c3                   	ret
5fb109:	6a 01                	push   $0x1
5fb10b:	e8 a7 fe ff ff       	call   0x5fafb7
5fb110:	59                   	pop    %ecx
5fb111:	c3                   	ret
5fb112:	8b ff                	mov    %edi,%edi
5fb114:	55                   	push   %ebp
5fb115:	8b ec                	mov    %esp,%ebp
5fb117:	83 ec 14             	sub    $0x14,%esp
5fb11a:	8b 45 08             	mov    0x8(%ebp),%eax
5fb11d:	89 45 f8             	mov    %eax,-0x8(%ebp)
5fb120:	85 c0                	test   %eax,%eax
5fb122:	75 09                	jne    0x5fb12d
5fb124:	50                   	push   %eax
5fb125:	e8 8d fe ff ff       	call   0x5fafb7
5fb12a:	59                   	pop    %ecx
5fb12b:	c9                   	leave
5fb12c:	c3                   	ret
5fb12d:	8b 40 0c             	mov    0xc(%eax),%eax
5fb130:	90                   	nop
5fb131:	50                   	push   %eax
5fb132:	e8 00 ff ff ff       	call   0x5fb037
5fb137:	83 c4 04             	add    $0x4,%esp
5fb13a:	84 c0                	test   %al,%al
5fb13c:	75 04                	jne    0x5fb142
5fb13e:	33 c0                	xor    %eax,%eax
5fb140:	c9                   	leave
5fb141:	c3                   	ret
5fb142:	8d 45 f8             	lea    -0x8(%ebp),%eax
5fb145:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fb148:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5fb14b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fb14e:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fb151:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fb154:	8d 45 f4             	lea    -0xc(%ebp),%eax
5fb157:	50                   	push   %eax
5fb158:	8d 45 f0             	lea    -0x10(%ebp),%eax
5fb15b:	50                   	push   %eax
5fb15c:	8d 45 ec             	lea    -0x14(%ebp),%eax
5fb15f:	50                   	push   %eax
5fb160:	e8 f2 fd ff ff       	call   0x5faf57
5fb165:	c9                   	leave
5fb166:	c3                   	ret
5fb167:	8b ff                	mov    %edi,%edi
5fb169:	55                   	push   %ebp
5fb16a:	8b ec                	mov    %esp,%ebp
5fb16c:	8b 45 10             	mov    0x10(%ebp),%eax
5fb16f:	85 c0                	test   %eax,%eax
5fb171:	75 02                	jne    0x5fb175
5fb173:	5d                   	pop    %ebp
5fb174:	c3                   	ret
5fb175:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5fb178:	8b 55 08             	mov    0x8(%ebp),%edx
5fb17b:	56                   	push   %esi
5fb17c:	83 e8 01             	sub    $0x1,%eax
5fb17f:	74 15                	je     0x5fb196
5fb181:	0f b7 32             	movzwl (%edx),%esi
5fb184:	66 85 f6             	test   %si,%si
5fb187:	74 0d                	je     0x5fb196
5fb189:	66 3b 31             	cmp    (%ecx),%si
5fb18c:	75 08                	jne    0x5fb196
5fb18e:	83 c2 02             	add    $0x2,%edx
5fb191:	83 c1 02             	add    $0x2,%ecx
5fb194:	eb e6                	jmp    0x5fb17c
5fb196:	0f b7 02             	movzwl (%edx),%eax
5fb199:	0f b7 09             	movzwl (%ecx),%ecx
5fb19c:	2b c1                	sub    %ecx,%eax
5fb19e:	5e                   	pop    %esi
5fb19f:	5d                   	pop    %ebp
5fb1a0:	c3                   	ret
5fb1a1:	8b ff                	mov    %edi,%edi
5fb1a3:	55                   	push   %ebp
5fb1a4:	8b ec                	mov    %esp,%ebp
5fb1a6:	83 ec 0c             	sub    $0xc,%esp
5fb1a9:	56                   	push   %esi
5fb1aa:	57                   	push   %edi
5fb1ab:	bf ff ff 00 00       	mov    $0xffff,%edi
5fb1b0:	57                   	push   %edi
5fb1b1:	68 3f 13 00 00       	push   $0x133f
5fb1b6:	e8 df bb 00 00       	call   0x606d9a
5fb1bb:	dd 45 08             	fldl   0x8(%ebp)
5fb1be:	8b f0                	mov    %eax,%esi
5fb1c0:	59                   	pop    %ecx
5fb1c1:	59                   	pop    %ecx
5fb1c2:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
5fb1c6:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
5fb1cb:	23 c8                	and    %eax,%ecx
5fb1cd:	66 3b c8             	cmp    %ax,%cx
5fb1d0:	75 76                	jne    0x5fb248
5fb1d2:	51                   	push   %ecx
5fb1d3:	51                   	push   %ecx
5fb1d4:	dd 1c 24             	fstpl  (%esp)
5fb1d7:	e8 cf ba 00 00       	call   0x606cab
5fb1dc:	59                   	pop    %ecx
5fb1dd:	59                   	pop    %ecx
5fb1de:	85 c0                	test   %eax,%eax
5fb1e0:	7e 3a                	jle    0x5fb21c
5fb1e2:	83 f8 02             	cmp    $0x2,%eax
5fb1e5:	7e 6e                	jle    0x5fb255
5fb1e7:	83 f8 03             	cmp    $0x3,%eax
5fb1ea:	75 30                	jne    0x5fb21c
5fb1ec:	db 45 10             	fildl  0x10(%ebp)
5fb1ef:	83 ec 10             	sub    $0x10,%esp
5fb1f2:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb1f5:	dd 45 f4             	fldl   -0xc(%ebp)
5fb1f8:	dd 5c 24 08          	fstpl  0x8(%esp)
5fb1fc:	dd 45 08             	fldl   0x8(%ebp)
5fb1ff:	dd 1c 24             	fstpl  (%esp)
5fb202:	e8 c8 71 00 00       	call   0x6023cf
5fb207:	57                   	push   %edi
5fb208:	56                   	push   %esi
5fb209:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb20c:	e8 89 bb 00 00       	call   0x606d9a
5fb211:	83 c4 18             	add    $0x18,%esp
5fb214:	dd 45 f4             	fldl   -0xc(%ebp)
5fb217:	e9 73 01 00 00       	jmp    0x5fb38f
5fb21c:	dd 45 08             	fldl   0x8(%ebp)
5fb21f:	dd 05 00 9c 6a 00    	fldl   0x6a9c00
5fb225:	d8 c1                	fadd   %st(1),%st
5fb227:	56                   	push   %esi
5fb228:	83 ec 18             	sub    $0x18,%esp
5fb22b:	dd 5c 24 10          	fstpl  0x10(%esp)
5fb22f:	db 45 10             	fildl  0x10(%ebp)
5fb232:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb235:	dd 45 f4             	fldl   -0xc(%ebp)
5fb238:	dd 5c 24 08          	fstpl  0x8(%esp)
5fb23c:	dd 1c 24             	fstpl  (%esp)
5fb23f:	6a 19                	push   $0x19
5fb241:	6a 08                	push   $0x8
5fb243:	e9 3f 01 00 00       	jmp    0x5fb387
5fb248:	d9 ee                	fldz
5fb24a:	dd e9                	fucomp %st(1)
5fb24c:	df e0                	fnstsw %ax
5fb24e:	f6 c4 44             	test   $0x44,%ah
5fb251:	7a 13                	jp     0x5fb266
5fb253:	dd d8                	fstp   %st(0)
5fb255:	57                   	push   %edi
5fb256:	56                   	push   %esi
5fb257:	e8 3e bb 00 00       	call   0x606d9a
5fb25c:	dd 45 08             	fldl   0x8(%ebp)
5fb25f:	59                   	pop    %ecx
5fb260:	59                   	pop    %ecx
5fb261:	e9 29 01 00 00       	jmp    0x5fb38f
5fb266:	8d 45 fc             	lea    -0x4(%ebp),%eax
5fb269:	50                   	push   %eax
5fb26a:	51                   	push   %ecx
5fb26b:	51                   	push   %ecx
5fb26c:	dd 1c 24             	fstpl  (%esp)
5fb26f:	e8 38 b9 00 00       	call   0x606bac
5fb274:	8b 4d 10             	mov    0x10(%ebp),%ecx
5fb277:	83 c4 0c             	add    $0xc,%esp
5fb27a:	8b 55 fc             	mov    -0x4(%ebp),%edx
5fb27d:	85 c9                	test   %ecx,%ecx
5fb27f:	79 0d                	jns    0x5fb28e
5fb281:	b8 00 00 00 80       	mov    $0x80000000,%eax
5fb286:	2b c1                	sub    %ecx,%eax
5fb288:	3b d0                	cmp    %eax,%edx
5fb28a:	7c 5a                	jl     0x5fb2e6
5fb28c:	eb 0f                	jmp    0x5fb29d
5fb28e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5fb293:	2b c1                	sub    %ecx,%eax
5fb295:	3b d0                	cmp    %eax,%edx
5fb297:	0f 8f b8 00 00 00    	jg     0x5fb355
5fb29d:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5fb2a0:	3d 00 0a 00 00       	cmp    $0xa00,%eax
5fb2a5:	0f 8f aa 00 00 00    	jg     0x5fb355
5fb2ab:	3d 00 04 00 00       	cmp    $0x400,%eax
5fb2b0:	7e 2d                	jle    0x5fb2df
5fb2b2:	05 00 fa ff ff       	add    $0xfffffa00,%eax
5fb2b7:	50                   	push   %eax
5fb2b8:	51                   	push   %ecx
5fb2b9:	51                   	push   %ecx
5fb2ba:	dd 1c 24             	fstpl  (%esp)
5fb2bd:	e8 bc b9 00 00       	call   0x606c7e
5fb2c2:	83 c4 0c             	add    $0xc,%esp
5fb2c5:	56                   	push   %esi
5fb2c6:	83 ec 18             	sub    $0x18,%esp
5fb2c9:	dd 5c 24 10          	fstpl  0x10(%esp)
5fb2cd:	db 45 10             	fildl  0x10(%ebp)
5fb2d0:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb2d3:	dd 45 f4             	fldl   -0xc(%ebp)
5fb2d6:	dd 5c 24 08          	fstpl  0x8(%esp)
5fb2da:	e9 9e 00 00 00       	jmp    0x5fb37d
5fb2df:	3d 03 f6 ff ff       	cmp    $0xfffff603,%eax
5fb2e4:	7d 25                	jge    0x5fb30b
5fb2e6:	d9 ee                	fldz
5fb2e8:	de c9                	fmulp  %st,%st(1)
5fb2ea:	56                   	push   %esi
5fb2eb:	83 ec 18             	sub    $0x18,%esp
5fb2ee:	dd 5c 24 10          	fstpl  0x10(%esp)
5fb2f2:	db 45 10             	fildl  0x10(%ebp)
5fb2f5:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb2f8:	dd 45 f4             	fldl   -0xc(%ebp)
5fb2fb:	dd 5c 24 08          	fstpl  0x8(%esp)
5fb2ff:	dd 45 08             	fldl   0x8(%ebp)
5fb302:	dd 1c 24             	fstpl  (%esp)
5fb305:	6a 19                	push   $0x19
5fb307:	6a 12                	push   $0x12
5fb309:	eb 7c                	jmp    0x5fb387
5fb30b:	3d 03 fc ff ff       	cmp    $0xfffffc03,%eax
5fb310:	7d 26                	jge    0x5fb338
5fb312:	05 00 06 00 00       	add    $0x600,%eax
5fb317:	50                   	push   %eax
5fb318:	51                   	push   %ecx
5fb319:	51                   	push   %ecx
5fb31a:	dd 1c 24             	fstpl  (%esp)
5fb31d:	e8 5c b9 00 00       	call   0x606c7e
5fb322:	83 c4 0c             	add    $0xc,%esp
5fb325:	56                   	push   %esi
5fb326:	83 ec 18             	sub    $0x18,%esp
5fb329:	dd 5c 24 10          	fstpl  0x10(%esp)
5fb32d:	db 45 10             	fildl  0x10(%ebp)
5fb330:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb333:	dd 45 f4             	fldl   -0xc(%ebp)
5fb336:	eb c3                	jmp    0x5fb2fb
5fb338:	50                   	push   %eax
5fb339:	51                   	push   %ecx
5fb33a:	51                   	push   %ecx
5fb33b:	dd 1c 24             	fstpl  (%esp)
5fb33e:	e8 3b b9 00 00       	call   0x606c7e
5fb343:	57                   	push   %edi
5fb344:	56                   	push   %esi
5fb345:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb348:	e8 4d ba 00 00       	call   0x606d9a
5fb34d:	83 c4 14             	add    $0x14,%esp
5fb350:	e9 bf fe ff ff       	jmp    0x5fb214
5fb355:	56                   	push   %esi
5fb356:	83 ec 10             	sub    $0x10,%esp
5fb359:	dd 5c 24 08          	fstpl  0x8(%esp)
5fb35d:	dd 05 18 4b 6d 00    	fldl   0x6d4b18
5fb363:	dd 1c 24             	fstpl  (%esp)
5fb366:	e8 55 fc 00 00       	call   0x60afc0
5fb36b:	dd 5c 24 08          	fstpl  0x8(%esp)
5fb36f:	db 45 10             	fildl  0x10(%ebp)
5fb372:	dd 5d f4             	fstpl  -0xc(%ebp)
5fb375:	dd 45 f4             	fldl   -0xc(%ebp)
5fb378:	dd 1c 24             	fstpl  (%esp)
5fb37b:	51                   	push   %ecx
5fb37c:	51                   	push   %ecx
5fb37d:	dd 45 08             	fldl   0x8(%ebp)
5fb380:	dd 1c 24             	fstpl  (%esp)
5fb383:	6a 19                	push   $0x19
5fb385:	6a 11                	push   $0x11
5fb387:	e8 76 6d 00 00       	call   0x602102
5fb38c:	83 c4 24             	add    $0x24,%esp
5fb38f:	5f                   	pop    %edi
5fb390:	5e                   	pop    %esi
5fb391:	c9                   	leave
5fb392:	c3                   	ret
5fb393:	8b ff                	mov    %edi,%edi
5fb395:	55                   	push   %ebp
5fb396:	8b ec                	mov    %esp,%ebp
5fb398:	83 ec 18             	sub    $0x18,%esp
5fb39b:	56                   	push   %esi
5fb39c:	8b 75 08             	mov    0x8(%ebp),%esi
5fb39f:	57                   	push   %edi
5fb3a0:	8b 7d 0c             	mov    0xc(%ebp),%edi
5fb3a3:	85 ff                	test   %edi,%edi
5fb3a5:	74 02                	je     0x5fb3a9
5fb3a7:	89 37                	mov    %esi,(%edi)
5fb3a9:	85 f6                	test   %esi,%esi
5fb3ab:	75 14                	jne    0x5fb3c1
5fb3ad:	e8 47 1c ff ff       	call   0x5ecff9
5fb3b2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5fb3b8:	e8 62 1b ff ff       	call   0x5ecf1f
5fb3bd:	d9 ee                	fldz
5fb3bf:	eb 5d                	jmp    0x5fb41e
5fb3c1:	ff 75 10             	push   0x10(%ebp)
5fb3c4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5fb3c7:	e8 c1 27 ff ff       	call   0x5edb8d
5fb3cc:	d9 ee                	fldz
5fb3ce:	8d 45 fc             	lea    -0x4(%ebp),%eax
5fb3d1:	50                   	push   %eax
5fb3d2:	51                   	push   %ecx
5fb3d3:	51                   	push   %ecx
5fb3d4:	8b c4                	mov    %esp,%eax
5fb3d6:	57                   	push   %edi
5fb3d7:	56                   	push   %esi
5fb3d8:	50                   	push   %eax
5fb3d9:	d9 5d fc             	fstps  -0x4(%ebp)
5fb3dc:	e8 be 1c ff ff       	call   0x5ed09f
5fb3e1:	83 c4 0c             	add    $0xc,%esp
5fb3e4:	8d 45 ec             	lea    -0x14(%ebp),%eax
5fb3e7:	50                   	push   %eax
5fb3e8:	e8 50 e0 ff ff       	call   0x5f943d
5fb3ed:	83 c4 10             	add    $0x10,%esp
5fb3f0:	83 f8 03             	cmp    $0x3,%eax
5fb3f3:	74 05                	je     0x5fb3fa
5fb3f5:	83 f8 02             	cmp    $0x2,%eax
5fb3f8:	75 0b                	jne    0x5fb405
5fb3fa:	e8 fa 1b ff ff       	call   0x5ecff9
5fb3ff:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5fb405:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
5fb409:	d9 45 fc             	flds   -0x4(%ebp)
5fb40c:	d9 5d f8             	fstps  -0x8(%ebp)
5fb40f:	74 0a                	je     0x5fb41b
5fb411:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fb414:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5fb41b:	d9 45 f8             	flds   -0x8(%ebp)
5fb41e:	5f                   	pop    %edi