41cf6b:	0f 84 9a 00 00 00    	je     0x41d00b
41cf71:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
41cf75:	0f 84 90 00 00 00    	je     0x41d00b
41cf7b:	6a 08                	push   $0x8
41cf7d:	e8 7b 07 00 00       	call   0x41d6fd
41cf82:	8b 45 10             	mov    0x10(%ebp),%eax
41cf85:	59                   	pop    %ecx
41cf86:	b9 00 0c 00 00       	mov    $0xc00,%ecx
41cf8b:	23 c1                	and    %ecx,%eax
41cf8d:	74 54                	je     0x41cfe3
41cf8f:	3d 00 04 00 00       	cmp    $0x400,%eax
41cf94:	74 37                	je     0x41cfcd
41cf96:	3d 00 08 00 00       	cmp    $0x800,%eax
41cf9b:	74 1a                	je     0x41cfb7
41cf9d:	3b c1                	cmp    %ecx,%eax
41cf9f:	75 62                	jne    0x41d003
41cfa1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41cfa4:	d9 ee                	fldz
41cfa6:	dc 19                	fcompl (%ecx)
41cfa8:	df e0                	fnstsw %ax
41cfaa:	dd 05 c8 d7 42 00    	fldl   0x42d7c8
41cfb0:	f6 c4 05             	test   $0x5,%ah
41cfb3:	7b 4c                	jnp    0x41d001
41cfb5:	eb 48                	jmp    0x41cfff
41cfb7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41cfba:	d9 ee                	fldz
41cfbc:	dc 19                	fcompl (%ecx)
41cfbe:	df e0                	fnstsw %ax
41cfc0:	f6 c4 05             	test   $0x5,%ah
41cfc3:	7b 2c                	jnp    0x41cff1
41cfc5:	dd 05 c8 d7 42 00    	fldl   0x42d7c8
41cfcb:	eb 32                	jmp    0x41cfff
41cfcd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41cfd0:	d9 ee                	fldz
41cfd2:	dc 19                	fcompl (%ecx)
41cfd4:	df e0                	fnstsw %ax
41cfd6:	f6 c4 05             	test   $0x5,%ah
41cfd9:	7a 1e                	jp     0x41cff9
41cfdb:	dd 05 c8 d7 42 00    	fldl   0x42d7c8
41cfe1:	eb 1e                	jmp    0x41d001
41cfe3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41cfe6:	d9 ee                	fldz
41cfe8:	dc 19                	fcompl (%ecx)
41cfea:	df e0                	fnstsw %ax
41cfec:	f6 c4 05             	test   $0x5,%ah
41cfef:	7a 08                	jp     0x41cff9
41cff1:	dd 05 c0 d7 42 00    	fldl   0x42d7c0
41cff7:	eb 08                	jmp    0x41d001
41cff9:	dd 05 c0 d7 42 00    	fldl   0x42d7c0
41cfff:	d9 e0                	fchs
41d001:	dd 19                	fstpl  (%ecx)
41d003:	83 e6 fe             	and    $0xfffffffe,%esi
41d006:	e9 d4 00 00 00       	jmp    0x41d0df
41d00b:	f6 c3 02             	test   $0x2,%bl
41d00e:	0f 84 cb 00 00 00    	je     0x41d0df
41d014:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
41d018:	0f 84 c1 00 00 00    	je     0x41d0df
41d01e:	57                   	push   %edi
41d01f:	33 ff                	xor    %edi,%edi
41d021:	f6 c3 10             	test   $0x10,%bl
41d024:	74 01                	je     0x41d027
41d026:	47                   	inc    %edi
41d027:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41d02a:	dd 01                	fldl   (%ecx)
41d02c:	d9 ee                	fldz
41d02e:	da e9                	fucompp
41d030:	df e0                	fnstsw %ax
41d032:	f6 c4 44             	test   $0x44,%ah
41d035:	0f 8b 91 00 00 00    	jnp    0x41d0cc
41d03b:	dd 01                	fldl   (%ecx)
41d03d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d040:	50                   	push   %eax
41d041:	51                   	push   %ecx
41d042:	51                   	push   %ecx
41d043:	dd 1c 24             	fstpl  (%esp)
41d046:	e8 9c 04 00 00       	call   0x41d4e7
41d04b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d04e:	83 c4 0c             	add    $0xc,%esp
41d051:	05 00 fa ff ff       	add    $0xfffffa00,%eax
41d056:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d059:	dd 55 f0             	fstl   -0x10(%ebp)
41d05c:	d9 ee                	fldz
41d05e:	3d ce fb ff ff       	cmp    $0xfffffbce,%eax
41d063:	7d 07                	jge    0x41d06c
41d065:	33 ff                	xor    %edi,%edi
41d067:	de c9                	fmulp  %st,%st(1)
41d069:	47                   	inc    %edi
41d06a:	eb 59                	jmp    0x41d0c5
41d06c:	de d9                	fcompp
41d06e:	33 d2                	xor    %edx,%edx
41d070:	df e0                	fnstsw %ax
41d072:	f6 c4 41             	test   $0x41,%ah
41d075:	75 01                	jne    0x41d078
41d077:	42                   	inc    %edx
41d078:	8b 45 f6             	mov    -0xa(%ebp),%eax
41d07b:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
41d080:	83 e0 0f             	and    $0xf,%eax
41d083:	83 c8 10             	or     $0x10,%eax
41d086:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
41d08a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d08d:	3b c1                	cmp    %ecx,%eax
41d08f:	7d 2b                	jge    0x41d0bc
41d091:	2b c8                	sub    %eax,%ecx
41d093:	8b 45 f0             	mov    -0x10(%ebp),%eax
41d096:	f6 45 f0 01          	testb  $0x1,-0x10(%ebp)
41d09a:	74 05                	je     0x41d0a1
41d09c:	85 ff                	test   %edi,%edi
41d09e:	75 01                	jne    0x41d0a1
41d0a0:	47                   	inc    %edi
41d0a1:	d1 e8                	shr    $1,%eax
41d0a3:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
41d0a7:	89 45 f0             	mov    %eax,-0x10(%ebp)
41d0aa:	74 08                	je     0x41d0b4
41d0ac:	0d 00 00 00 80       	or     $0x80000000,%eax
41d0b1:	89 45 f0             	mov    %eax,-0x10(%ebp)
41d0b4:	d1 6d f4             	shrl   $1,-0xc(%ebp)
41d0b7:	83 e9 01             	sub    $0x1,%ecx
41d0ba:	75 da                	jne    0x41d096
41d0bc:	dd 45 f0             	fldl   -0x10(%ebp)
41d0bf:	85 d2                	test   %edx,%edx
41d0c1:	74 02                	je     0x41d0c5
41d0c3:	d9 e0                	fchs
41d0c5:	8b 45 0c             	mov    0xc(%ebp),%eax
41d0c8:	dd 18                	fstpl  (%eax)
41d0ca:	eb 03                	jmp    0x41d0cf
41d0cc:	33 ff                	xor    %edi,%edi
41d0ce:	47                   	inc    %edi
41d0cf:	85 ff                	test   %edi,%edi
41d0d1:	5f                   	pop    %edi
41d0d2:	74 08                	je     0x41d0dc
41d0d4:	6a 10                	push   $0x10
41d0d6:	e8 22 06 00 00       	call   0x41d6fd
41d0db:	59                   	pop    %ecx
41d0dc:	83 e6 fd             	and    $0xfffffffd,%esi
41d0df:	f6 c3 10             	test   $0x10,%bl
41d0e2:	74 11                	je     0x41d0f5
41d0e4:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
41d0e8:	74 0b                	je     0x41d0f5
41d0ea:	6a 20                	push   $0x20
41d0ec:	e8 0c 06 00 00       	call   0x41d6fd
41d0f1:	59                   	pop    %ecx
41d0f2:	83 e6 ef             	and    $0xffffffef,%esi
41d0f5:	33 c0                	xor    %eax,%eax
41d0f7:	85 f6                	test   %esi,%esi
41d0f9:	5e                   	pop    %esi
41d0fa:	0f 94 c0             	sete   %al
41d0fd:	5b                   	pop    %ebx
41d0fe:	8b e5                	mov    %ebp,%esp
41d100:	5d                   	pop    %ebp
41d101:	c3                   	ret
41d102:	8b ff                	mov    %edi,%edi
41d104:	55                   	push   %ebp
41d105:	8b ec                	mov    %esp,%ebp
41d107:	6a 00                	push   $0x0
41d109:	ff 75 1c             	push   0x1c(%ebp)
41d10c:	ff 75 18             	push   0x18(%ebp)
41d10f:	ff 75 14             	push   0x14(%ebp)
41d112:	ff 75 10             	push   0x10(%ebp)
41d115:	ff 75 0c             	push   0xc(%ebp)
41d118:	ff 75 08             	push   0x8(%ebp)
41d11b:	e8 05 00 00 00       	call   0x41d125
41d120:	83 c4 1c             	add    $0x1c,%esp
41d123:	5d                   	pop    %ebp
41d124:	c3                   	ret
41d125:	8b ff                	mov    %edi,%edi
41d127:	55                   	push   %ebp
41d128:	8b ec                	mov    %esp,%ebp
41d12a:	8b 45 08             	mov    0x8(%ebp),%eax
41d12d:	33 c9                	xor    %ecx,%ecx
41d12f:	53                   	push   %ebx
41d130:	33 db                	xor    %ebx,%ebx
41d132:	43                   	inc    %ebx
41d133:	89 48 04             	mov    %ecx,0x4(%eax)
41d136:	8b 45 08             	mov    0x8(%ebp),%eax
41d139:	57                   	push   %edi
41d13a:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
41d13f:	89 48 08             	mov    %ecx,0x8(%eax)
41d142:	8b 45 08             	mov    0x8(%ebp),%eax
41d145:	89 48 0c             	mov    %ecx,0xc(%eax)
41d148:	8b 4d 10             	mov    0x10(%ebp),%ecx
41d14b:	f6 c1 10             	test   $0x10,%cl
41d14e:	74 0b                	je     0x41d15b
41d150:	8b 45 08             	mov    0x8(%ebp),%eax
41d153:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
41d158:	09 58 04             	or     %ebx,0x4(%eax)
41d15b:	f6 c1 02             	test   $0x2,%cl
41d15e:	74 0c                	je     0x41d16c
41d160:	8b 45 08             	mov    0x8(%ebp),%eax
41d163:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
41d168:	83 48 04 02          	orl    $0x2,0x4(%eax)
41d16c:	f6 c1 01             	test   $0x1,%cl
41d16f:	74 0c                	je     0x41d17d
41d171:	8b 45 08             	mov    0x8(%ebp),%eax
41d174:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
41d179:	83 48 04 04          	orl    $0x4,0x4(%eax)
41d17d:	f6 c1 04             	test   $0x4,%cl
41d180:	74 0c                	je     0x41d18e
41d182:	8b 45 08             	mov    0x8(%ebp),%eax
41d185:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
41d18a:	83 48 04 08          	orl    $0x8,0x4(%eax)
41d18e:	f6 c1 08             	test   $0x8,%cl
41d191:	74 0c                	je     0x41d19f
41d193:	8b 45 08             	mov    0x8(%ebp),%eax
41d196:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
41d19b:	83 48 04 10          	orl    $0x10,0x4(%eax)
41d19f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1a2:	56                   	push   %esi
41d1a3:	8b 75 0c             	mov    0xc(%ebp),%esi
41d1a6:	8b 06                	mov    (%esi),%eax
41d1a8:	c1 e0 04             	shl    $0x4,%eax
41d1ab:	f7 d0                	not    %eax
41d1ad:	33 41 08             	xor    0x8(%ecx),%eax
41d1b0:	83 e0 10             	and    $0x10,%eax
41d1b3:	31 41 08             	xor    %eax,0x8(%ecx)
41d1b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1b9:	8b 06                	mov    (%esi),%eax
41d1bb:	03 c0                	add    %eax,%eax
41d1bd:	f7 d0                	not    %eax
41d1bf:	33 41 08             	xor    0x8(%ecx),%eax
41d1c2:	83 e0 08             	and    $0x8,%eax
41d1c5:	31 41 08             	xor    %eax,0x8(%ecx)
41d1c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1cb:	8b 06                	mov    (%esi),%eax
41d1cd:	d1 e8                	shr    $1,%eax
41d1cf:	f7 d0                	not    %eax
41d1d1:	33 41 08             	xor    0x8(%ecx),%eax
41d1d4:	83 e0 04             	and    $0x4,%eax
41d1d7:	31 41 08             	xor    %eax,0x8(%ecx)
41d1da:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1dd:	8b 06                	mov    (%esi),%eax
41d1df:	c1 e8 03             	shr    $0x3,%eax
41d1e2:	f7 d0                	not    %eax
41d1e4:	33 41 08             	xor    0x8(%ecx),%eax
41d1e7:	83 e0 02             	and    $0x2,%eax
41d1ea:	31 41 08             	xor    %eax,0x8(%ecx)
41d1ed:	8b 06                	mov    (%esi),%eax
41d1ef:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1f2:	c1 e8 05             	shr    $0x5,%eax
41d1f5:	f7 d0                	not    %eax
41d1f7:	33 41 08             	xor    0x8(%ecx),%eax
41d1fa:	23 c3                	and    %ebx,%eax
41d1fc:	31 41 08             	xor    %eax,0x8(%ecx)
41d1ff:	e8 54 05 00 00       	call   0x41d758
41d204:	8b d0                	mov    %eax,%edx
41d206:	f6 c2 01             	test   $0x1,%dl
41d209:	74 07                	je     0x41d212
41d20b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d20e:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
41d212:	f6 c2 04             	test   $0x4,%dl
41d215:	74 07                	je     0x41d21e
41d217:	8b 45 08             	mov    0x8(%ebp),%eax
41d21a:	83 48 0c 08          	orl    $0x8,0xc(%eax)
41d21e:	f6 c2 08             	test   $0x8,%dl
41d221:	74 07                	je     0x41d22a
41d223:	8b 45 08             	mov    0x8(%ebp),%eax
41d226:	83 48 0c 04          	orl    $0x4,0xc(%eax)
41d22a:	f6 c2 10             	test   $0x10,%dl
41d22d:	74 07                	je     0x41d236
41d22f:	8b 45 08             	mov    0x8(%ebp),%eax
41d232:	83 48 0c 02          	orl    $0x2,0xc(%eax)
41d236:	f6 c2 20             	test   $0x20,%dl
41d239:	74 06                	je     0x41d241
41d23b:	8b 45 08             	mov    0x8(%ebp),%eax
41d23e:	09 58 0c             	or     %ebx,0xc(%eax)
41d241:	8b 06                	mov    (%esi),%eax
41d243:	b9 00 0c 00 00       	mov    $0xc00,%ecx
41d248:	23 c1                	and    %ecx,%eax
41d24a:	74 35                	je     0x41d281
41d24c:	3d 00 04 00 00       	cmp    $0x400,%eax
41d251:	74 22                	je     0x41d275
41d253:	3d 00 08 00 00       	cmp    $0x800,%eax
41d258:	74 0c                	je     0x41d266
41d25a:	3b c1                	cmp    %ecx,%eax
41d25c:	75 29                	jne    0x41d287
41d25e:	8b 45 08             	mov    0x8(%ebp),%eax
41d261:	83 08 03             	orl    $0x3,(%eax)
41d264:	eb 21                	jmp    0x41d287
41d266:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d269:	8b 01                	mov    (%ecx),%eax
41d26b:	83 e0 fe             	and    $0xfffffffe,%eax
41d26e:	83 c8 02             	or     $0x2,%eax
41d271:	89 01                	mov    %eax,(%ecx)
41d273:	eb 12                	jmp    0x41d287
41d275:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d278:	8b 01                	mov    (%ecx),%eax
41d27a:	83 e0 fd             	and    $0xfffffffd,%eax
41d27d:	0b c3                	or     %ebx,%eax
41d27f:	eb f0                	jmp    0x41d271
41d281:	8b 45 08             	mov    0x8(%ebp),%eax
41d284:	83 20 fc             	andl   $0xfffffffc,(%eax)
41d287:	8b 06                	mov    (%esi),%eax
41d289:	b9 00 03 00 00       	mov    $0x300,%ecx
41d28e:	23 c1                	and    %ecx,%eax
41d290:	74 20                	je     0x41d2b2
41d292:	3d 00 02 00 00       	cmp    $0x200,%eax
41d297:	74 0c                	je     0x41d2a5
41d299:	3b c1                	cmp    %ecx,%eax
41d29b:	75 22                	jne    0x41d2bf
41d29d:	8b 45 08             	mov    0x8(%ebp),%eax
41d2a0:	83 20 e3             	andl   $0xffffffe3,(%eax)
41d2a3:	eb 1a                	jmp    0x41d2bf
41d2a5:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d2a8:	8b 01                	mov    (%ecx),%eax
41d2aa:	83 e0 e7             	and    $0xffffffe7,%eax
41d2ad:	83 c8 04             	or     $0x4,%eax
41d2b0:	eb 0b                	jmp    0x41d2bd
41d2b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d2b5:	8b 01                	mov    (%ecx),%eax
41d2b7:	83 e0 eb             	and    $0xffffffeb,%eax
41d2ba:	83 c8 08             	or     $0x8,%eax
41d2bd:	89 01                	mov    %eax,(%ecx)
41d2bf:	8b 45 08             	mov    0x8(%ebp),%eax
41d2c2:	8b 4d 14             	mov    0x14(%ebp),%ecx
41d2c5:	c1 e1 05             	shl    $0x5,%ecx
41d2c8:	33 08                	xor    (%eax),%ecx
41d2ca:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
41d2d0:	31 08                	xor    %ecx,(%eax)
41d2d2:	8b 45 08             	mov    0x8(%ebp),%eax
41d2d5:	09 58 20             	or     %ebx,0x20(%eax)
41d2d8:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41d2dc:	74 2c                	je     0x41d30a
41d2de:	8b 45 08             	mov    0x8(%ebp),%eax
41d2e1:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
41d2e5:	8b 45 18             	mov    0x18(%ebp),%eax
41d2e8:	d9 00                	flds   (%eax)
41d2ea:	8b 45 08             	mov    0x8(%ebp),%eax
41d2ed:	d9 58 10             	fstps  0x10(%eax)
41d2f0:	8b 45 08             	mov    0x8(%ebp),%eax
41d2f3:	09 58 60             	or     %ebx,0x60(%eax)
41d2f6:	8b 45 08             	mov    0x8(%ebp),%eax
41d2f9:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41d2fc:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
41d300:	8b 45 08             	mov    0x8(%ebp),%eax
41d303:	d9 03                	flds   (%ebx)
41d305:	d9 58 50             	fstps  0x50(%eax)
41d308:	eb 3a                	jmp    0x41d344
41d30a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d30d:	8b 41 20             	mov    0x20(%ecx),%eax
41d310:	83 e0 e3             	and    $0xffffffe3,%eax
41d313:	83 c8 02             	or     $0x2,%eax
41d316:	89 41 20             	mov    %eax,0x20(%ecx)
41d319:	8b 45 18             	mov    0x18(%ebp),%eax
41d31c:	dd 00                	fldl   (%eax)
41d31e:	8b 45 08             	mov    0x8(%ebp),%eax
41d321:	dd 58 10             	fstpl  0x10(%eax)
41d324:	8b 45 08             	mov    0x8(%ebp),%eax
41d327:	09 58 60             	or     %ebx,0x60(%eax)
41d32a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d32d:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41d330:	8b 41 60             	mov    0x60(%ecx),%eax