41c1c3:	8b f0                	mov    %eax,%esi
41c1c5:	59                   	pop    %ecx
41c1c6:	59                   	pop    %ecx
41c1c7:	3b f7                	cmp    %edi,%esi
41c1c9:	0f 82 83 00 00 00    	jb     0x41c252
41c1cf:	8b de                	mov    %esi,%ebx
41c1d1:	2b df                	sub    %edi,%ebx
41c1d3:	8d 43 04             	lea    0x4(%ebx),%eax
41c1d6:	83 f8 04             	cmp    $0x4,%eax
41c1d9:	72 77                	jb     0x41c252
41c1db:	57                   	push   %edi
41c1dc:	e8 c1 48 00 00       	call   0x420aa2
41c1e1:	8b f8                	mov    %eax,%edi
41c1e3:	8d 43 04             	lea    0x4(%ebx),%eax
41c1e6:	59                   	pop    %ecx
41c1e7:	3b f8                	cmp    %eax,%edi
41c1e9:	73 48                	jae    0x41c233
41c1eb:	b8 00 08 00 00       	mov    $0x800,%eax
41c1f0:	3b f8                	cmp    %eax,%edi
41c1f2:	73 02                	jae    0x41c1f6
41c1f4:	8b c7                	mov    %edi,%eax
41c1f6:	03 c7                	add    %edi,%eax
41c1f8:	3b c7                	cmp    %edi,%eax
41c1fa:	72 0f                	jb     0x41c20b
41c1fc:	50                   	push   %eax
41c1fd:	ff 75 fc             	push   -0x4(%ebp)
41c200:	e8 4f 48 00 00       	call   0x420a54
41c205:	59                   	pop    %ecx
41c206:	59                   	pop    %ecx
41c207:	85 c0                	test   %eax,%eax
41c209:	75 16                	jne    0x41c221
41c20b:	8d 47 10             	lea    0x10(%edi),%eax
41c20e:	3b c7                	cmp    %edi,%eax
41c210:	72 40                	jb     0x41c252
41c212:	50                   	push   %eax
41c213:	ff 75 fc             	push   -0x4(%ebp)
41c216:	e8 39 48 00 00       	call   0x420a54
41c21b:	59                   	pop    %ecx
41c21c:	59                   	pop    %ecx
41c21d:	85 c0                	test   %eax,%eax
41c21f:	74 31                	je     0x41c252
41c221:	c1 fb 02             	sar    $0x2,%ebx
41c224:	50                   	push   %eax
41c225:	8d 34 98             	lea    (%eax,%ebx,4),%esi
41c228:	e8 b0 1f 00 00       	call   0x41e1dd
41c22d:	59                   	pop    %ecx
41c22e:	a3 cc 08 45 00       	mov    %eax,0x4508cc
41c233:	ff 75 08             	push   0x8(%ebp)
41c236:	e8 a2 1f 00 00       	call   0x41e1dd
41c23b:	89 06                	mov    %eax,(%esi)
41c23d:	83 c6 04             	add    $0x4,%esi
41c240:	56                   	push   %esi
41c241:	e8 97 1f 00 00       	call   0x41e1dd
41c246:	59                   	pop    %ecx
41c247:	a3 c8 08 45 00       	mov    %eax,0x4508c8
41c24c:	8b 45 08             	mov    0x8(%ebp),%eax
41c24f:	59                   	pop    %ecx
41c250:	eb 02                	jmp    0x41c254
41c252:	33 c0                	xor    %eax,%eax
41c254:	5f                   	pop    %edi
41c255:	5e                   	pop    %esi
41c256:	5b                   	pop    %ebx
41c257:	c9                   	leave
41c258:	c3                   	ret
41c259:	8b ff                	mov    %edi,%edi
41c25b:	56                   	push   %esi
41c25c:	6a 04                	push   $0x4
41c25e:	6a 20                	push   $0x20
41c260:	e8 a3 47 00 00       	call   0x420a08
41c265:	8b f0                	mov    %eax,%esi
41c267:	56                   	push   %esi
41c268:	e8 70 1f 00 00       	call   0x41e1dd
41c26d:	83 c4 0c             	add    $0xc,%esp
41c270:	a3 cc 08 45 00       	mov    %eax,0x4508cc
41c275:	a3 c8 08 45 00       	mov    %eax,0x4508c8
41c27a:	85 f6                	test   %esi,%esi
41c27c:	75 05                	jne    0x41c283
41c27e:	6a 18                	push   $0x18
41c280:	58                   	pop    %eax
41c281:	5e                   	pop    %esi
41c282:	c3                   	ret
41c283:	83 26 00             	andl   $0x0,(%esi)
41c286:	33 c0                	xor    %eax,%eax
41c288:	5e                   	pop    %esi
41c289:	c3                   	ret
41c28a:	6a 0c                	push   $0xc
41c28c:	68 b8 d6 42 00       	push   $0x42d6b8
41c291:	e8 f6 32 00 00       	call   0x41f58c
41c296:	e8 46 49 00 00       	call   0x420be1
41c29b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c29f:	ff 75 08             	push   0x8(%ebp)
41c2a2:	e8 f8 fe ff ff       	call   0x41c19f
41c2a7:	59                   	pop    %ecx
41c2a8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c2ab:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41c2b2:	e8 09 00 00 00       	call   0x41c2c0
41c2b7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c2ba:	e8 12 33 00 00       	call   0x41f5d1
41c2bf:	c3                   	ret
41c2c0:	e8 25 49 00 00       	call   0x420bea
41c2c5:	c3                   	ret
41c2c6:	8b ff                	mov    %edi,%edi
41c2c8:	55                   	push   %ebp
41c2c9:	8b ec                	mov    %esp,%ebp
41c2cb:	ff 75 08             	push   0x8(%ebp)
41c2ce:	e8 b7 ff ff ff       	call   0x41c28a
41c2d3:	f7 d8                	neg    %eax
41c2d5:	1b c0                	sbb    %eax,%eax
41c2d7:	f7 d8                	neg    %eax
41c2d9:	59                   	pop    %ecx
41c2da:	48                   	dec    %eax
41c2db:	5d                   	pop    %ebp
41c2dc:	c3                   	ret
41c2dd:	8b ff                	mov    %edi,%edi
41c2df:	55                   	push   %ebp
41c2e0:	8b ec                	mov    %esp,%ebp
41c2e2:	83 ec 20             	sub    $0x20,%esp
41c2e5:	8b 45 08             	mov    0x8(%ebp),%eax
41c2e8:	56                   	push   %esi
41c2e9:	57                   	push   %edi
41c2ea:	6a 08                	push   $0x8
41c2ec:	59                   	pop    %ecx
41c2ed:	be 94 b1 42 00       	mov    $0x42b194,%esi
41c2f2:	8d 7d e0             	lea    -0x20(%ebp),%edi
41c2f5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41c2f7:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c2fa:	8b 45 0c             	mov    0xc(%ebp),%eax
41c2fd:	5f                   	pop    %edi
41c2fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c301:	5e                   	pop    %esi
41c302:	85 c0                	test   %eax,%eax
41c304:	74 0c                	je     0x41c312
41c306:	f6 00 08             	testb  $0x8,(%eax)
41c309:	74 07                	je     0x41c312
41c30b:	c7 45 f4 00 40 99 01 	movl   $0x1994000,-0xc(%ebp)
41c312:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c315:	50                   	push   %eax
41c316:	ff 75 f0             	push   -0x10(%ebp)
41c319:	ff 75 e4             	push   -0x1c(%ebp)
41c31c:	ff 75 e0             	push   -0x20(%ebp)
41c31f:	ff 15 34 a2 42 00    	call   *0x42a234
41c325:	c9                   	leave
41c326:	c2 08 00             	ret    $0x8
41c329:	8b ff                	mov    %edi,%edi
41c32b:	51                   	push   %ecx
41c32c:	c7 01 b8 b1 42 00    	movl   $0x42b1b8,(%ecx)
41c332:	e8 46 4b 00 00       	call   0x420e7d
41c337:	59                   	pop    %ecx
41c338:	c3                   	ret
41c339:	8b ff                	mov    %edi,%edi
41c33b:	55                   	push   %ebp
41c33c:	8b ec                	mov    %esp,%ebp
41c33e:	56                   	push   %esi
41c33f:	8b f1                	mov    %ecx,%esi
41c341:	e8 e3 ff ff ff       	call   0x41c329
41c346:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41c34a:	74 07                	je     0x41c353
41c34c:	56                   	push   %esi
41c34d:	e8 85 db ff ff       	call   0x419ed7
41c352:	59                   	pop    %ecx
41c353:	8b c6                	mov    %esi,%eax
41c355:	5e                   	pop    %esi
41c356:	5d                   	pop    %ebp
41c357:	c2 04 00             	ret    $0x4
41c35a:	8b ff                	mov    %edi,%edi
41c35c:	55                   	push   %ebp
41c35d:	8b ec                	mov    %esp,%ebp
41c35f:	8b 45 08             	mov    0x8(%ebp),%eax
41c362:	83 c1 09             	add    $0x9,%ecx
41c365:	51                   	push   %ecx
41c366:	83 c0 09             	add    $0x9,%eax
41c369:	50                   	push   %eax
41c36a:	e8 81 4b 00 00       	call   0x420ef0
41c36f:	f7 d8                	neg    %eax
41c371:	59                   	pop    %ecx
41c372:	1b c0                	sbb    %eax,%eax
41c374:	59                   	pop    %ecx
41c375:	40                   	inc    %eax
41c376:	5d                   	pop    %ebp
41c377:	c2 04 00             	ret    $0x4
41c37a:	8b ff                	mov    %edi,%edi
41c37c:	55                   	push   %ebp
41c37d:	8b ec                	mov    %esp,%ebp
41c37f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41c383:	75 04                	jne    0x41c389
41c385:	33 c0                	xor    %eax,%eax
41c387:	5d                   	pop    %ebp
41c388:	c3                   	ret
41c389:	8b 55 0c             	mov    0xc(%ebp),%edx
41c38c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c38f:	ff 4d 10             	decl   0x10(%ebp)
41c392:	74 13                	je     0x41c3a7
41c394:	0f b7 01             	movzwl (%ecx),%eax
41c397:	66 85 c0             	test   %ax,%ax
41c39a:	74 0b                	je     0x41c3a7
41c39c:	66 3b 02             	cmp    (%edx),%ax
41c39f:	75 06                	jne    0x41c3a7
41c3a1:	41                   	inc    %ecx
41c3a2:	41                   	inc    %ecx
41c3a3:	42                   	inc    %edx
41c3a4:	42                   	inc    %edx
41c3a5:	eb e8                	jmp    0x41c38f
41c3a7:	0f b7 01             	movzwl (%ecx),%eax
41c3aa:	0f b7 0a             	movzwl (%edx),%ecx
41c3ad:	2b c1                	sub    %ecx,%eax
41c3af:	5d                   	pop    %ebp
41c3b0:	c3                   	ret
41c3b1:	8b ff                	mov    %edi,%edi
41c3b3:	55                   	push   %ebp
41c3b4:	8b ec                	mov    %esp,%ebp
41c3b6:	8b 4d 10             	mov    0x10(%ebp),%ecx
41c3b9:	56                   	push   %esi
41c3ba:	57                   	push   %edi
41c3bb:	8b 7d 08             	mov    0x8(%ebp),%edi
41c3be:	8b f7                	mov    %edi,%esi
41c3c0:	85 c9                	test   %ecx,%ecx
41c3c2:	74 31                	je     0x41c3f5
41c3c4:	8b 55 0c             	mov    0xc(%ebp),%edx
41c3c7:	0f b7 02             	movzwl (%edx),%eax
41c3ca:	66 89 07             	mov    %ax,(%edi)
41c3cd:	47                   	inc    %edi
41c3ce:	47                   	inc    %edi
41c3cf:	42                   	inc    %edx
41c3d0:	42                   	inc    %edx
41c3d1:	66 85 c0             	test   %ax,%ax
41c3d4:	74 03                	je     0x41c3d9
41c3d6:	49                   	dec    %ecx
41c3d7:	75 ee                	jne    0x41c3c7
41c3d9:	85 c9                	test   %ecx,%ecx
41c3db:	74 18                	je     0x41c3f5
41c3dd:	49                   	dec    %ecx
41c3de:	74 15                	je     0x41c3f5
41c3e0:	33 c0                	xor    %eax,%eax
41c3e2:	0f b7 d0             	movzwl %ax,%edx
41c3e5:	8b c2                	mov    %edx,%eax
41c3e7:	c1 e2 10             	shl    $0x10,%edx
41c3ea:	0b c2                	or     %edx,%eax
41c3ec:	d1 e9                	shr    $1,%ecx
41c3ee:	f3 ab                	rep stos %eax,%es:(%edi)
41c3f0:	13 c9                	adc    %ecx,%ecx
41c3f2:	66 f3 ab             	rep stos %ax,%es:(%edi)
41c3f5:	5f                   	pop    %edi
41c3f6:	8b c6                	mov    %esi,%eax
41c3f8:	5e                   	pop    %esi
41c3f9:	5d                   	pop    %ebp
41c3fa:	c3                   	ret
41c3fb:	8b ff                	mov    %edi,%edi
41c3fd:	55                   	push   %ebp
41c3fe:	8b ec                	mov    %esp,%ebp
41c400:	5d                   	pop    %ebp
41c401:	e9 d1 da ff ff       	jmp    0x419ed7
41c406:	8b ff                	mov    %edi,%edi
41c408:	55                   	push   %ebp
41c409:	8b ec                	mov    %esp,%ebp
41c40b:	8b 45 08             	mov    0x8(%ebp),%eax
41c40e:	0f b7 10             	movzwl (%eax),%edx
41c411:	53                   	push   %ebx
41c412:	56                   	push   %esi
41c413:	57                   	push   %edi
41c414:	66 85 d2             	test   %dx,%dx
41c417:	74 29                	je     0x41c442
41c419:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41c41c:	0f b7 3b             	movzwl (%ebx),%edi
41c41f:	8b f3                	mov    %ebx,%esi
41c421:	66 85 ff             	test   %di,%di
41c424:	74 12                	je     0x41c438
41c426:	0f b7 cf             	movzwl %di,%ecx
41c429:	66 3b ca             	cmp    %dx,%cx
41c42c:	74 16                	je     0x41c444
41c42e:	46                   	inc    %esi
41c42f:	46                   	inc    %esi
41c430:	0f b7 0e             	movzwl (%esi),%ecx
41c433:	66 85 c9             	test   %cx,%cx
41c436:	75 f1                	jne    0x41c429
41c438:	40                   	inc    %eax
41c439:	40                   	inc    %eax
41c43a:	0f b7 10             	movzwl (%eax),%edx
41c43d:	66 85 d2             	test   %dx,%dx
41c440:	75 dd                	jne    0x41c41f
41c442:	33 c0                	xor    %eax,%eax
41c444:	5f                   	pop    %edi
41c445:	5e                   	pop    %esi
41c446:	5b                   	pop    %ebx
41c447:	5d                   	pop    %ebp
41c448:	c3                   	ret
41c449:	8b ff                	mov    %edi,%edi
41c44b:	55                   	push   %ebp
41c44c:	8b ec                	mov    %esp,%ebp
41c44e:	8b 45 08             	mov    0x8(%ebp),%eax
41c451:	66 8b 55 0c          	mov    0xc(%ebp),%dx
41c455:	eb 07                	jmp    0x41c45e
41c457:	66 3b ca             	cmp    %dx,%cx
41c45a:	74 11                	je     0x41c46d
41c45c:	40                   	inc    %eax
41c45d:	40                   	inc    %eax
41c45e:	0f b7 08             	movzwl (%eax),%ecx
41c461:	66 85 c9             	test   %cx,%cx
41c464:	75 f1                	jne    0x41c457
41c466:	66 39 10             	cmp    %dx,(%eax)
41c469:	74 02                	je     0x41c46d
41c46b:	33 c0                	xor    %eax,%eax
41c46d:	5d                   	pop    %ebp
41c46e:	c3                   	ret
41c46f:	8b ff                	mov    %edi,%edi
41c471:	55                   	push   %ebp
41c472:	8b ec                	mov    %esp,%ebp
41c474:	8b 45 08             	mov    0x8(%ebp),%eax
41c477:	8b d0                	mov    %eax,%edx
41c479:	66 8b 08             	mov    (%eax),%cx
41c47c:	40                   	inc    %eax
41c47d:	40                   	inc    %eax
41c47e:	66 85 c9             	test   %cx,%cx
41c481:	75 f6                	jne    0x41c479
41c483:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
41c487:	48                   	dec    %eax
41c488:	48                   	dec    %eax
41c489:	3b c2                	cmp    %edx,%eax
41c48b:	74 05                	je     0x41c492
41c48d:	66 39 08             	cmp    %cx,(%eax)
41c490:	75 f5                	jne    0x41c487
41c492:	66 39 08             	cmp    %cx,(%eax)
41c495:	74 02                	je     0x41c499
41c497:	33 c0                	xor    %eax,%eax
41c499:	5d                   	pop    %ebp
41c49a:	c3                   	ret
41c49b:	cc                   	int3
41c49c:	cc                   	int3
41c49d:	cc                   	int3
41c49e:	cc                   	int3
41c49f:	cc                   	int3
41c4a0:	8d 42 ff             	lea    -0x1(%edx),%eax
41c4a3:	5b                   	pop    %ebx
41c4a4:	c3                   	ret
41c4a5:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41c4ac:	8d 64 24 00          	lea    0x0(%esp),%esp
41c4b0:	33 c0                	xor    %eax,%eax
41c4b2:	8a 44 24 08          	mov    0x8(%esp),%al
41c4b6:	53                   	push   %ebx
41c4b7:	8b d8                	mov    %eax,%ebx
41c4b9:	c1 e0 08             	shl    $0x8,%eax
41c4bc:	8b 54 24 08          	mov    0x8(%esp),%edx
41c4c0:	f7 c2 03 00 00 00    	test   $0x3,%edx
41c4c6:	74 15                	je     0x41c4dd
41c4c8:	8a 0a                	mov    (%edx),%cl
41c4ca:	83 c2 01             	add    $0x1,%edx
41c4cd:	3a cb                	cmp    %bl,%cl
41c4cf:	74 cf                	je     0x41c4a0
41c4d1:	84 c9                	test   %cl,%cl
41c4d3:	74 51                	je     0x41c526
41c4d5:	f7 c2 03 00 00 00    	test   $0x3,%edx