412059:	0f b7 c8             	movzwl %ax,%ecx
41205c:	83 e1 01             	and    $0x1,%ecx
41205f:	c1 e1 04             	shl    $0x4,%ecx
412062:	a8 04                	test   $0x4,%al
412064:	74 03                	je     0x412069
412066:	83 c9 08             	or     $0x8,%ecx
412069:	a8 08                	test   $0x8,%al
41206b:	74 03                	je     0x412070
41206d:	83 c9 04             	or     $0x4,%ecx
412070:	a8 10                	test   $0x10,%al
412072:	74 03                	je     0x412077
412074:	83 c9 02             	or     $0x2,%ecx
412077:	a8 20                	test   $0x20,%al
412079:	74 03                	je     0x41207e
41207b:	83 c9 01             	or     $0x1,%ecx
41207e:	a8 02                	test   $0x2,%al
412080:	74 06                	je     0x412088
412082:	81 c9 00 00 08 00    	or     $0x80000,%ecx
412088:	53                   	push   %ebx
412089:	56                   	push   %esi
41208a:	0f b7 f0             	movzwl %ax,%esi
41208d:	bb 00 0c 00 00       	mov    $0xc00,%ebx
412092:	8b d6                	mov    %esi,%edx
412094:	57                   	push   %edi
412095:	bf 00 02 00 00       	mov    $0x200,%edi
41209a:	23 d3                	and    %ebx,%edx
41209c:	74 26                	je     0x4120c4
41209e:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4120a4:	74 18                	je     0x4120be
4120a6:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4120ac:	74 0c                	je     0x4120ba
4120ae:	3b d3                	cmp    %ebx,%edx
4120b0:	75 12                	jne    0x4120c4
4120b2:	81 c9 00 03 00 00    	or     $0x300,%ecx
4120b8:	eb 0a                	jmp    0x4120c4
4120ba:	0b cf                	or     %edi,%ecx
4120bc:	eb 06                	jmp    0x4120c4
4120be:	81 c9 00 01 00 00    	or     $0x100,%ecx
4120c4:	81 e6 00 03 00 00    	and    $0x300,%esi
4120ca:	74 0c                	je     0x4120d8
4120cc:	3b f7                	cmp    %edi,%esi
4120ce:	75 0e                	jne    0x4120de
4120d0:	81 c9 00 00 01 00    	or     $0x10000,%ecx
4120d6:	eb 06                	jmp    0x4120de
4120d8:	81 c9 00 00 02 00    	or     $0x20000,%ecx
4120de:	0f b7 c0             	movzwl %ax,%eax
4120e1:	ba 00 10 00 00       	mov    $0x1000,%edx
4120e6:	85 c2                	test   %eax,%edx
4120e8:	74 06                	je     0x4120f0
4120ea:	81 c9 00 00 04 00    	or     $0x40000,%ecx
4120f0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4120f3:	8b f7                	mov    %edi,%esi
4120f5:	8b 45 08             	mov    0x8(%ebp),%eax
4120f8:	f7 d6                	not    %esi
4120fa:	23 f1                	and    %ecx,%esi
4120fc:	23 c7                	and    %edi,%eax
4120fe:	0b f0                	or     %eax,%esi
412100:	3b f1                	cmp    %ecx,%esi
412102:	0f 84 a8 00 00 00    	je     0x4121b0
412108:	56                   	push   %esi
412109:	e8 3c 02 00 00       	call   0x41234a
41210e:	59                   	pop    %ecx
41210f:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
412113:	d9 6d fc             	fldcw  -0x4(%ebp)
412116:	9b d9 7d fc          	fstcw  -0x4(%ebp)
41211a:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
41211e:	0f b7 f0             	movzwl %ax,%esi
412121:	83 e6 01             	and    $0x1,%esi
412124:	c1 e6 04             	shl    $0x4,%esi
412127:	a8 04                	test   $0x4,%al
412129:	74 03                	je     0x41212e
41212b:	83 ce 08             	or     $0x8,%esi
41212e:	a8 08                	test   $0x8,%al
412130:	74 03                	je     0x412135
412132:	83 ce 04             	or     $0x4,%esi
412135:	a8 10                	test   $0x10,%al
412137:	74 03                	je     0x41213c
412139:	83 ce 02             	or     $0x2,%esi
41213c:	a8 20                	test   $0x20,%al
41213e:	74 03                	je     0x412143
412140:	83 ce 01             	or     $0x1,%esi
412143:	a8 02                	test   $0x2,%al
412145:	74 06                	je     0x41214d
412147:	81 ce 00 00 08 00    	or     $0x80000,%esi
41214d:	0f b7 d0             	movzwl %ax,%edx
412150:	8b ca                	mov    %edx,%ecx
412152:	23 cb                	and    %ebx,%ecx
412154:	74 2a                	je     0x412180
412156:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
41215c:	74 1c                	je     0x41217a
41215e:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
412164:	74 0c                	je     0x412172
412166:	3b cb                	cmp    %ebx,%ecx
412168:	75 16                	jne    0x412180
41216a:	81 ce 00 03 00 00    	or     $0x300,%esi
412170:	eb 0e                	jmp    0x412180
412172:	81 ce 00 02 00 00    	or     $0x200,%esi
412178:	eb 06                	jmp    0x412180
41217a:	81 ce 00 01 00 00    	or     $0x100,%esi
412180:	81 e2 00 03 00 00    	and    $0x300,%edx
412186:	74 10                	je     0x412198
412188:	81 fa 00 02 00 00    	cmp    $0x200,%edx
41218e:	75 0e                	jne    0x41219e
412190:	81 ce 00 00 01 00    	or     $0x10000,%esi
412196:	eb 06                	jmp    0x41219e
412198:	81 ce 00 00 02 00    	or     $0x20000,%esi
41219e:	0f b7 c0             	movzwl %ax,%eax
4121a1:	ba 00 10 00 00       	mov    $0x1000,%edx
4121a6:	85 c2                	test   %eax,%edx
4121a8:	74 06                	je     0x4121b0
4121aa:	81 ce 00 00 04 00    	or     $0x40000,%esi
4121b0:	83 3d 64 69 42 00 01 	cmpl   $0x1,0x426964
4121b7:	0f 8c 86 01 00 00    	jl     0x412343
4121bd:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
4121c3:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
4121c7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4121ca:	8b c1                	mov    %ecx,%eax
4121cc:	c1 e8 03             	shr    $0x3,%eax
4121cf:	83 e0 10             	and    $0x10,%eax
4121d2:	f7 c1 00 02 00 00    	test   $0x200,%ecx
4121d8:	74 03                	je     0x4121dd
4121da:	83 c8 08             	or     $0x8,%eax
4121dd:	f7 c1 00 04 00 00    	test   $0x400,%ecx
4121e3:	74 03                	je     0x4121e8
4121e5:	83 c8 04             	or     $0x4,%eax
4121e8:	f7 c1 00 08 00 00    	test   $0x800,%ecx
4121ee:	74 03                	je     0x4121f3
4121f0:	83 c8 02             	or     $0x2,%eax
4121f3:	85 ca                	test   %ecx,%edx
4121f5:	74 03                	je     0x4121fa
4121f7:	83 c8 01             	or     $0x1,%eax
4121fa:	f7 c1 00 01 00 00    	test   $0x100,%ecx
412200:	74 05                	je     0x412207
412202:	0d 00 00 08 00       	or     $0x80000,%eax
412207:	8b d1                	mov    %ecx,%edx
412209:	bb 00 60 00 00       	mov    $0x6000,%ebx
41220e:	23 d3                	and    %ebx,%edx
412210:	74 27                	je     0x412239
412212:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
412218:	74 1a                	je     0x412234
41221a:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
412220:	74 0b                	je     0x41222d
412222:	3b d3                	cmp    %ebx,%edx
412224:	75 13                	jne    0x412239
412226:	0d 00 03 00 00       	or     $0x300,%eax
41222b:	eb 0c                	jmp    0x412239
41222d:	0d 00 02 00 00       	or     $0x200,%eax
412232:	eb 05                	jmp    0x412239
412234:	0d 00 01 00 00       	or     $0x100,%eax
412239:	6a 40                	push   $0x40
41223b:	81 e1 40 80 00 00    	and    $0x8040,%ecx
412241:	5b                   	pop    %ebx
412242:	2b cb                	sub    %ebx,%ecx
412244:	74 1a                	je     0x412260
412246:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
41224c:	74 0b                	je     0x412259
41224e:	2b cb                	sub    %ebx,%ecx
412250:	75 13                	jne    0x412265
412252:	0d 00 00 00 01       	or     $0x1000000,%eax
412257:	eb 0c                	jmp    0x412265
412259:	0d 00 00 00 03       	or     $0x3000000,%eax
41225e:	eb 05                	jmp    0x412265
412260:	0d 00 00 00 02       	or     $0x2000000,%eax
412265:	8b cf                	mov    %edi,%ecx
412267:	23 7d 08             	and    0x8(%ebp),%edi
41226a:	f7 d1                	not    %ecx
41226c:	23 c8                	and    %eax,%ecx
41226e:	0b cf                	or     %edi,%ecx
412270:	3b c8                	cmp    %eax,%ecx
412272:	0f 84 b4 00 00 00    	je     0x41232c
412278:	51                   	push   %ecx
412279:	e8 46 fc ff ff       	call   0x411ec4
41227e:	50                   	push   %eax
41227f:	89 45 f4             	mov    %eax,-0xc(%ebp)
412282:	e8 f6 26 00 00       	call   0x41497d
412287:	59                   	pop    %ecx
412288:	59                   	pop    %ecx
412289:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
41228d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412290:	8b c1                	mov    %ecx,%eax
412292:	c1 e8 03             	shr    $0x3,%eax
412295:	83 e0 10             	and    $0x10,%eax
412298:	f7 c1 00 02 00 00    	test   $0x200,%ecx
41229e:	74 03                	je     0x4122a3
4122a0:	83 c8 08             	or     $0x8,%eax
4122a3:	f7 c1 00 04 00 00    	test   $0x400,%ecx
4122a9:	74 03                	je     0x4122ae
4122ab:	83 c8 04             	or     $0x4,%eax
4122ae:	f7 c1 00 08 00 00    	test   $0x800,%ecx
4122b4:	74 03                	je     0x4122b9
4122b6:	83 c8 02             	or     $0x2,%eax
4122b9:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
4122bf:	74 03                	je     0x4122c4
4122c1:	83 c8 01             	or     $0x1,%eax
4122c4:	f7 c1 00 01 00 00    	test   $0x100,%ecx
4122ca:	74 05                	je     0x4122d1
4122cc:	0d 00 00 08 00       	or     $0x80000,%eax
4122d1:	8b d1                	mov    %ecx,%edx
4122d3:	bf 00 60 00 00       	mov    $0x6000,%edi
4122d8:	23 d7                	and    %edi,%edx
4122da:	74 27                	je     0x412303
4122dc:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
4122e2:	74 1a                	je     0x4122fe
4122e4:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
4122ea:	74 0b                	je     0x4122f7
4122ec:	3b d7                	cmp    %edi,%edx
4122ee:	75 13                	jne    0x412303
4122f0:	0d 00 03 00 00       	or     $0x300,%eax
4122f5:	eb 0c                	jmp    0x412303
4122f7:	0d 00 02 00 00       	or     $0x200,%eax
4122fc:	eb 05                	jmp    0x412303
4122fe:	0d 00 01 00 00       	or     $0x100,%eax
412303:	81 e1 40 80 00 00    	and    $0x8040,%ecx
412309:	2b cb                	sub    %ebx,%ecx
41230b:	74 1a                	je     0x412327
41230d:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
412313:	74 0b                	je     0x412320
412315:	2b cb                	sub    %ebx,%ecx
412317:	75 13                	jne    0x41232c
412319:	0d 00 00 00 01       	or     $0x1000000,%eax
41231e:	eb 0c                	jmp    0x41232c
412320:	0d 00 00 00 03       	or     $0x3000000,%eax
412325:	eb 05                	jmp    0x41232c
412327:	0d 00 00 00 02       	or     $0x2000000,%eax
41232c:	8b c8                	mov    %eax,%ecx
41232e:	33 c6                	xor    %esi,%eax
412330:	0b ce                	or     %esi,%ecx
412332:	a9 1f 03 08 00       	test   $0x8031f,%eax
412337:	74 06                	je     0x41233f
412339:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
41233f:	8b c1                	mov    %ecx,%eax
412341:	eb 02                	jmp    0x412345
412343:	8b c6                	mov    %esi,%eax
412345:	5f                   	pop    %edi
412346:	5e                   	pop    %esi
412347:	5b                   	pop    %ebx
412348:	c9                   	leave
412349:	c3                   	ret
41234a:	8b ff                	mov    %edi,%edi
41234c:	55                   	push   %ebp
41234d:	8b ec                	mov    %esp,%ebp
41234f:	8b 4d 08             	mov    0x8(%ebp),%ecx
412352:	8b d1                	mov    %ecx,%edx
412354:	c1 ea 04             	shr    $0x4,%edx
412357:	83 e2 01             	and    $0x1,%edx
41235a:	8b c2                	mov    %edx,%eax
41235c:	f6 c1 08             	test   $0x8,%cl
41235f:	74 06                	je     0x412367
412361:	83 ca 04             	or     $0x4,%edx
412364:	0f b7 c2             	movzwl %dx,%eax
412367:	f6 c1 04             	test   $0x4,%cl
41236a:	74 03                	je     0x41236f
41236c:	83 c8 08             	or     $0x8,%eax
41236f:	f6 c1 02             	test   $0x2,%cl
412372:	74 03                	je     0x412377
412374:	83 c8 10             	or     $0x10,%eax
412377:	f6 c1 01             	test   $0x1,%cl
41237a:	74 03                	je     0x41237f
41237c:	83 c8 20             	or     $0x20,%eax
41237f:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
412385:	74 03                	je     0x41238a
412387:	83 c8 02             	or     $0x2,%eax
41238a:	56                   	push   %esi
41238b:	8b d1                	mov    %ecx,%edx
41238d:	be 00 03 00 00       	mov    $0x300,%esi
412392:	57                   	push   %edi
412393:	bf 00 02 00 00       	mov    $0x200,%edi
412398:	23 d6                	and    %esi,%edx
41239a:	74 23                	je     0x4123bf
41239c:	81 fa 00 01 00 00    	cmp    $0x100,%edx
4123a2:	74 16                	je     0x4123ba
4123a4:	3b d7                	cmp    %edi,%edx
4123a6:	74 0b                	je     0x4123b3
4123a8:	3b d6                	cmp    %esi,%edx
4123aa:	75 13                	jne    0x4123bf
4123ac:	0d 00 0c 00 00       	or     $0xc00,%eax
4123b1:	eb 0c                	jmp    0x4123bf
4123b3:	0d 00 08 00 00       	or     $0x800,%eax
4123b8:	eb 05                	jmp    0x4123bf
4123ba:	0d 00 04 00 00       	or     $0x400,%eax
4123bf:	8b d1                	mov    %ecx,%edx
4123c1:	81 e2 00 00 03 00    	and    $0x30000,%edx
4123c7:	74 0c                	je     0x4123d5
4123c9:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
4123cf:	75 06                	jne    0x4123d7
4123d1:	0b c7                	or     %edi,%eax
4123d3:	eb 02                	jmp    0x4123d7
4123d5:	0b c6                	or     %esi,%eax
4123d7:	5f                   	pop    %edi
4123d8:	5e                   	pop    %esi
4123d9:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
4123df:	74 05                	je     0x4123e6
4123e1:	0d 00 10 00 00       	or     $0x1000,%eax
4123e6:	5d                   	pop    %ebp
4123e7:	c3                   	ret
4123e8:	8b ff                	mov    %edi,%edi
4123ea:	55                   	push   %ebp
4123eb:	8b ec                	mov    %esp,%ebp
4123ed:	8b 45 08             	mov    0x8(%ebp),%eax
4123f0:	8b 4d 10             	mov    0x10(%ebp),%ecx
4123f3:	8b 55 0c             	mov    0xc(%ebp),%edx
4123f6:	89 10                	mov    %edx,(%eax)
4123f8:	89 48 04             	mov    %ecx,0x4(%eax)
4123fb:	85 c9                	test   %ecx,%ecx
4123fd:	74 02                	je     0x412401
4123ff:	89 11                	mov    %edx,(%ecx)
412401:	5d                   	pop    %ebp
412402:	c3                   	ret
412403:	8b ff                	mov    %edi,%edi
412405:	55                   	push   %ebp
412406:	8b ec                	mov    %esp,%ebp
412408:	51                   	push   %ecx
412409:	6a 01                	push   $0x1
41240b:	ff 75 10             	push   0x10(%ebp)
41240e:	51                   	push   %ecx
41240f:	51                   	push   %ecx
412410:	8b c4                	mov    %esp,%eax
412412:	ff 75 0c             	push   0xc(%ebp)
412415:	ff 75 08             	push   0x8(%ebp)
412418:	50                   	push   %eax
412419:	e8 ca ff ff ff       	call   0x4123e8
41241e:	83 c4 0c             	add    $0xc,%esp
412421:	6a 00                	push   $0x0
412423:	e8 0e b7 ff ff       	call   0x40db36
412428:	83 c4 14             	add    $0x14,%esp
41242b:	c9                   	leave
41242c:	c3                   	ret
41242d:	8b ff                	mov    %edi,%edi
41242f:	55                   	push   %ebp
412430:	8b ec                	mov    %esp,%ebp
412432:	51                   	push   %ecx
412433:	6a 01                	push   $0x1
412435:	ff 75 10             	push   0x10(%ebp)
412438:	51                   	push   %ecx
412439:	51                   	push   %ecx
41243a:	8b c4                	mov    %esp,%eax
41243c:	ff 75 0c             	push   0xc(%ebp)
41243f:	ff 75 08             	push   0x8(%ebp)
412442:	50                   	push   %eax
412443:	e8 a0 ff ff ff       	call   0x4123e8
412448:	83 c4 0c             	add    $0xc,%esp
41244b:	6a 00                	push   $0x0
41244d:	e8 07 b9 ff ff       	call   0x40dd59
412452:	83 c4 14             	add    $0x14,%esp
412455:	c9                   	leave
412456:	c3                   	ret
412457:	8b ff                	mov    %edi,%edi
412459:	55                   	push   %ebp
41245a:	8b ec                	mov    %esp,%ebp
41245c:	83 ec 10             	sub    $0x10,%esp