41f29d:	8b 55 f8             	mov    -0x8(%ebp),%edx
41f2a0:	89 02                	mov    %eax,(%edx)
41f2a2:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f2a5:	83 38 00             	cmpl   $0x0,(%eax)
41f2a8:	75 05                	jne    0x41f2af
41f2aa:	e8 7d f2 ff ff       	call   0x41e52c
41f2af:	33 c0                	xor    %eax,%eax
41f2b1:	5a                   	pop    %edx
41f2b2:	59                   	pop    %ecx
41f2b3:	59                   	pop    %ecx
41f2b4:	64 89 10             	mov    %edx,%fs:(%eax)
41f2b7:	68 cf f2 41 00       	push   $0x41f2cf
41f2bc:	8b 55 e8             	mov    -0x18(%ebp),%edx
41f2bf:	8b 45 d0             	mov    -0x30(%ebp),%eax
41f2c2:	e8 15 34 fe ff       	call   0x4026dc
41f2c7:	c3                   	ret
41f2c8:	e9 cf 46 fe ff       	jmp    0x40399c
41f2cd:	eb ed                	jmp    0x41f2bc
41f2cf:	33 c0                	xor    %eax,%eax
41f2d1:	5a                   	pop    %edx
41f2d2:	59                   	pop    %ecx
41f2d3:	59                   	pop    %ecx
41f2d4:	64 89 10             	mov    %edx,%fs:(%eax)
41f2d7:	68 f2 f2 41 00       	push   $0x41f2f2
41f2dc:	8b 45 c0             	mov    -0x40(%ebp),%eax
41f2df:	8b 50 08             	mov    0x8(%eax),%edx
41f2e2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41f2e5:	e8 f2 33 fe ff       	call   0x4026dc
41f2ea:	c3                   	ret
41f2eb:	e9 ac 46 fe ff       	jmp    0x40399c
41f2f0:	eb ea                	jmp    0x41f2dc
41f2f2:	33 c0                	xor    %eax,%eax
41f2f4:	5a                   	pop    %edx
41f2f5:	59                   	pop    %ecx
41f2f6:	59                   	pop    %ecx
41f2f7:	64 89 10             	mov    %edx,%fs:(%eax)
41f2fa:	68 12 f3 41 00       	push   $0x41f312
41f2ff:	8b 55 ec             	mov    -0x14(%ebp),%edx
41f302:	8b 45 f0             	mov    -0x10(%ebp),%eax
41f305:	e8 d2 33 fe ff       	call   0x4026dc
41f30a:	c3                   	ret
41f30b:	e9 8c 46 fe ff       	jmp    0x40399c
41f310:	eb ed                	jmp    0x41f2ff
41f312:	5f                   	pop    %edi
41f313:	5e                   	pop    %esi
41f314:	5b                   	pop    %ebx
41f315:	8b e5                	mov    %ebp,%esp
41f317:	5d                   	pop    %ebp
41f318:	c2 0c 00             	ret    $0xc
41f31b:	90                   	nop
41f31c:	33 c9                	xor    %ecx,%ecx
41f31e:	8b d0                	mov    %eax,%edx
41f320:	83 c0 14             	add    $0x14,%eax
41f323:	eb 06                	jmp    0x41f32b
41f325:	66 33 0a             	xor    (%edx),%cx
41f328:	83 c2 02             	add    $0x2,%edx
41f32b:	3b d0                	cmp    %eax,%edx
41f32d:	7c f6                	jl     0x41f325
41f32f:	8b c1                	mov    %ecx,%eax
41f331:	c3                   	ret
41f332:	8b c0                	mov    %eax,%eax
41f334:	53                   	push   %ebx
41f335:	56                   	push   %esi
41f336:	57                   	push   %edi
41f337:	83 c4 ac             	add    $0xffffffac,%esp
41f33a:	8b f1                	mov    %ecx,%esi
41f33c:	8b da                	mov    %edx,%ebx
41f33e:	33 d2                	xor    %edx,%edx
41f340:	89 54 24 18          	mov    %edx,0x18(%esp)
41f344:	54                   	push   %esp
41f345:	6a 54                	push   $0x54
41f347:	50                   	push   %eax
41f348:	e8 7f 6f fe ff       	call   0x4062cc
41f34d:	85 c0                	test   %eax,%eax
41f34f:	75 07                	jne    0x41f358
41f351:	e8 5e f1 ff ff       	call   0x41e4b4
41f356:	eb 3f                	jmp    0x41f397
41f358:	83 f8 40             	cmp    $0x40,%eax
41f35b:	7c 18                	jl     0x41f375
41f35d:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
41f362:	72 11                	jb     0x41f375
41f364:	56                   	push   %esi
41f365:	8b fb                	mov    %ebx,%edi
41f367:	8d 74 24 1c          	lea    0x1c(%esp),%esi
41f36b:	b9 0a 00 00 00       	mov    $0xa,%ecx
41f370:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41f372:	5e                   	pop    %esi
41f373:	eb 22                	jmp    0x41f397
41f375:	8b c3                	mov    %ebx,%eax
41f377:	33 c9                	xor    %ecx,%ecx
41f379:	ba 28 00 00 00       	mov    $0x28,%edx
41f37e:	e8 e1 38 fe ff       	call   0x402c64
41f383:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
41f389:	8b 44 24 04          	mov    0x4(%esp),%eax
41f38d:	89 43 04             	mov    %eax,0x4(%ebx)
41f390:	8b 44 24 08          	mov    0x8(%esp),%eax
41f394:	89 43 08             	mov    %eax,0x8(%ebx)
41f397:	8b c6                	mov    %esi,%eax
41f399:	83 e8 02             	sub    $0x2,%eax
41f39c:	74 0f                	je     0x41f3ad
41f39e:	48                   	dec    %eax
41f39f:	83 e8 0e             	sub    $0xe,%eax
41f3a2:	72 11                	jb     0x41f3b5
41f3a4:	2d f0 00 00 00       	sub    $0xf0,%eax
41f3a9:	72 15                	jb     0x41f3c0
41f3ab:	eb 1e                	jmp    0x41f3cb
41f3ad:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
41f3b3:	eb 24                	jmp    0x41f3d9
41f3b5:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
41f3bb:	89 73 20             	mov    %esi,0x20(%ebx)
41f3be:	eb 19                	jmp    0x41f3d9
41f3c0:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
41f3c6:	89 73 20             	mov    %esi,0x20(%ebx)
41f3c9:	eb 0e                	jmp    0x41f3d9
41f3cb:	66 8b 44 24 12       	mov    0x12(%esp),%ax
41f3d0:	66 f7 6c 24 10       	imulw  0x10(%esp)
41f3d5:	66 89 43 0e          	mov    %ax,0xe(%ebx)
41f3d9:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
41f3df:	8b 43 20             	mov    0x20(%ebx),%eax
41f3e2:	3b 43 24             	cmp    0x24(%ebx),%eax
41f3e5:	73 03                	jae    0x41f3ea
41f3e7:	89 43 24             	mov    %eax,0x24(%ebx)
41f3ea:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41f3ee:	75 21                	jne    0x41f411
41f3f0:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
41f3f4:	8b 43 04             	mov    0x4(%ebx),%eax
41f3f7:	b9 20 00 00 00       	mov    $0x20,%ecx
41f3fc:	e8 63 f3 ff ff       	call   0x41e764
41f401:	8b c8                	mov    %eax,%ecx
41f403:	8b 43 08             	mov    0x8(%ebx),%eax
41f406:	99                   	cltd
41f407:	33 c2                	xor    %edx,%eax
41f409:	2b c2                	sub    %edx,%eax
41f40b:	0f af c8             	imul   %eax,%ecx
41f40e:	89 4b 14             	mov    %ecx,0x14(%ebx)
41f411:	83 c4 54             	add    $0x54,%esp
41f414:	5f                   	pop    %edi
41f415:	5e                   	pop    %esi
41f416:	5b                   	pop    %ebx
41f417:	c3                   	ret
41f418:	55                   	push   %ebp
41f419:	8b ec                	mov    %esp,%ebp
41f41b:	83 c4 d8             	add    $0xffffffd8,%esp
41f41e:	53                   	push   %ebx
41f41f:	56                   	push   %esi
41f420:	8b f1                	mov    %ecx,%esi
41f422:	8b da                	mov    %edx,%ebx
41f424:	8d 55 d8             	lea    -0x28(%ebp),%edx
41f427:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f42a:	e8 05 ff ff ff       	call   0x41f334
41f42f:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
41f433:	66 83 f8 08          	cmp    $0x8,%ax
41f437:	76 11                	jbe    0x41f44a
41f439:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
41f43f:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
41f443:	74 29                	je     0x41f46e
41f445:	83 03 0c             	addl   $0xc,(%ebx)
41f448:	eb 24                	jmp    0x41f46e
41f44a:	8b 55 f8             	mov    -0x8(%ebp),%edx
41f44d:	85 d2                	test   %edx,%edx
41f44f:	75 13                	jne    0x41f464
41f451:	8b c8                	mov    %eax,%ecx
41f453:	b8 01 00 00 00       	mov    $0x1,%eax
41f458:	d3 e0                	shl    %cl,%eax
41f45a:	c1 e0 02             	shl    $0x2,%eax
41f45d:	83 c0 28             	add    $0x28,%eax
41f460:	89 03                	mov    %eax,(%ebx)
41f462:	eb 0a                	jmp    0x41f46e
41f464:	8b c2                	mov    %edx,%eax
41f466:	c1 e0 02             	shl    $0x2,%eax
41f469:	83 c0 28             	add    $0x28,%eax
41f46c:	89 03                	mov    %eax,(%ebx)
41f46e:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f471:	89 06                	mov    %eax,(%esi)
41f473:	5e                   	pop    %esi
41f474:	5b                   	pop    %ebx
41f475:	8b e5                	mov    %ebp,%esp
41f477:	5d                   	pop    %ebp
41f478:	c2 04 00             	ret    $0x4
41f47b:	90                   	nop
41f47c:	6a 00                	push   $0x0
41f47e:	e8 95 ff ff ff       	call   0x41f418
41f483:	c3                   	ret
41f484:	55                   	push   %ebp
41f485:	8b ec                	mov    %esp,%ebp
41f487:	83 c4 f4             	add    $0xfffffff4,%esp
41f48a:	53                   	push   %ebx
41f48b:	56                   	push   %esi
41f48c:	57                   	push   %edi
41f48d:	8b d9                	mov    %ecx,%ebx
41f48f:	8b fa                	mov    %edx,%edi
41f491:	8b f0                	mov    %eax,%esi
41f493:	8b d3                	mov    %ebx,%edx
41f495:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f498:	8b c6                	mov    %esi,%eax
41f49a:	e8 95 fe ff ff       	call   0x41f334
41f49f:	33 c0                	xor    %eax,%eax
41f4a1:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f4a4:	6a 00                	push   $0x0
41f4a6:	e8 59 6d fe ff       	call   0x406204
41f4ab:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f4ae:	33 c0                	xor    %eax,%eax
41f4b0:	55                   	push   %ebp
41f4b1:	68 21 f5 41 00       	push   $0x41f521
41f4b6:	64 ff 30             	push   %fs:(%eax)
41f4b9:	64 89 20             	mov    %esp,%fs:(%eax)
41f4bc:	85 ff                	test   %edi,%edi
41f4be:	74 18                	je     0x41f4d8
41f4c0:	6a 00                	push   $0x0
41f4c2:	57                   	push   %edi
41f4c3:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f4c6:	50                   	push   %eax
41f4c7:	e8 c0 6e fe ff       	call   0x40638c
41f4cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f4cf:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f4d2:	50                   	push   %eax
41f4d3:	e8 7c 6e fe ff       	call   0x406354
41f4d8:	6a 00                	push   $0x0
41f4da:	53                   	push   %ebx
41f4db:	8b 45 0c             	mov    0xc(%ebp),%eax
41f4de:	50                   	push   %eax
41f4df:	8b 43 08             	mov    0x8(%ebx),%eax
41f4e2:	50                   	push   %eax
41f4e3:	6a 00                	push   $0x0
41f4e5:	56                   	push   %esi
41f4e6:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f4e9:	50                   	push   %eax
41f4ea:	e8 b5 6d fe ff       	call   0x4062a4
41f4ef:	85 c0                	test   %eax,%eax
41f4f1:	0f 95 45 ff          	setne  -0x1(%ebp)
41f4f5:	33 c0                	xor    %eax,%eax
41f4f7:	5a                   	pop    %edx
41f4f8:	59                   	pop    %ecx
41f4f9:	59                   	pop    %ecx
41f4fa:	64 89 10             	mov    %edx,%fs:(%eax)
41f4fd:	68 28 f5 41 00       	push   $0x41f528
41f502:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41f506:	74 0f                	je     0x41f517
41f508:	6a 00                	push   $0x0
41f50a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f50d:	50                   	push   %eax
41f50e:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f511:	50                   	push   %eax
41f512:	e8 75 6e fe ff       	call   0x40638c
41f517:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f51a:	50                   	push   %eax
41f51b:	e8 2c 6d fe ff       	call   0x40624c
41f520:	c3                   	ret
41f521:	e9 76 44 fe ff       	jmp    0x40399c
41f526:	eb da                	jmp    0x41f502
41f528:	8a 45 ff             	mov    -0x1(%ebp),%al
41f52b:	5f                   	pop    %edi
41f52c:	5e                   	pop    %esi
41f52d:	5b                   	pop    %ebx
41f52e:	8b e5                	mov    %ebp,%esp
41f530:	5d                   	pop    %ebp
41f531:	c2 08 00             	ret    $0x8
41f534:	55                   	push   %ebp
41f535:	8b ec                	mov    %esp,%ebp
41f537:	53                   	push   %ebx
41f538:	8b 5d 08             	mov    0x8(%ebp),%ebx
41f53b:	53                   	push   %ebx
41f53c:	6a 00                	push   $0x0
41f53e:	e8 41 ff ff ff       	call   0x41f484
41f543:	5b                   	pop    %ebx
41f544:	5d                   	pop    %ebp
41f545:	c2 04 00             	ret    $0x4
41f548:	c3                   	ret
41f549:	8d 40 00             	lea    0x0(%eax),%eax
41f54c:	85 c0                	test   %eax,%eax
41f54e:	75 05                	jne    0x41f555
41f550:	e8 f3 ff ff ff       	call   0x41f548
41f555:	c3                   	ret
41f556:	8b c0                	mov    %eax,%eax
41f558:	55                   	push   %ebp
41f559:	8b ec                	mov    %esp,%ebp
41f55b:	83 c4 ac             	add    $0xffffffac,%esp
41f55e:	53                   	push   %ebx
41f55f:	56                   	push   %esi
41f560:	57                   	push   %edi
41f561:	88 4d ff             	mov    %cl,-0x1(%ebp)
41f564:	8b f2                	mov    %edx,%esi
41f566:	8b d8                	mov    %eax,%ebx
41f568:	8d 45 d6             	lea    -0x2a(%ebp),%eax
41f56b:	33 c9                	xor    %ecx,%ecx
41f56d:	ba 06 00 00 00       	mov    $0x6,%edx
41f572:	e8 ed 36 fe ff       	call   0x402c64
41f577:	8d 45 ac             	lea    -0x54(%ebp),%eax
41f57a:	33 c9                	xor    %ecx,%ecx
41f57c:	ba 10 00 00 00       	mov    $0x10,%edx
41f581:	e8 de 36 fe ff       	call   0x402c64
41f586:	8d 45 bc             	lea    -0x44(%ebp),%eax
41f589:	50                   	push   %eax
41f58a:	56                   	push   %esi
41f58b:	e8 3c 70 fe ff       	call   0x4065cc
41f590:	e8 b7 ff ff ff       	call   0x41f54c
41f595:	33 d2                	xor    %edx,%edx
41f597:	55                   	push   %ebp
41f598:	68 46 f7 41 00       	push   $0x41f746
41f59d:	64 ff 32             	push   %fs:(%edx)
41f5a0:	64 89 22             	mov    %esp,%fs:(%edx)
41f5a3:	6a 02                	push   $0x2
41f5a5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41f5a8:	8d 55 f8             	lea    -0x8(%ebp),%edx
41f5ab:	8b 45 c8             	mov    -0x38(%ebp),%eax
41f5ae:	e8 65 fe ff ff       	call   0x41f418
41f5b3:	6a 10                	push   $0x10
41f5b5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41f5b8:	8d 55 f4             	lea    -0xc(%ebp),%edx
41f5bb:	8b 45 cc             	mov    -0x34(%ebp),%eax
41f5be:	e8 55 fe ff ff       	call   0x41f418
41f5c3:	33 c0                	xor    %eax,%eax
41f5c5:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f5c8:	33 c0                	xor    %eax,%eax
41f5ca:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f5cd:	33 c0                	xor    %eax,%eax
41f5cf:	89 45 e0             	mov    %eax,-0x20(%ebp)
41f5d2:	33 c0                	xor    %eax,%eax
41f5d4:	89 45 dc             	mov    %eax,-0x24(%ebp)
41f5d7:	33 d2                	xor    %edx,%edx
41f5d9:	55                   	push   %ebp
41f5da:	68 1f f7 41 00       	push   $0x41f71f
41f5df:	64 ff 32             	push   %fs:(%edx)
41f5e2:	64 89 22             	mov    %esp,%fs:(%edx)
41f5e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f5e8:	e8 f3 84 fe ff       	call   0x407ae0
41f5ed:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f5f0:	8b 45 f0             	mov    -0x10(%ebp),%eax
41f5f3:	e8 e8 84 fe ff       	call   0x407ae0
41f5f8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f5fb:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f5fe:	e8 dd 84 fe ff       	call   0x407ae0
41f603:	89 45 e0             	mov    %eax,-0x20(%ebp)
41f606:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f609:	e8 d2 84 fe ff       	call   0x407ae0
41f60e:	89 45 dc             	mov    %eax,-0x24(%ebp)
41f611:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f614:	50                   	push   %eax
41f615:	6a 02                	push   $0x2
41f617:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41f61a:	33 d2                	xor    %edx,%edx
41f61c:	8b 45 c8             	mov    -0x38(%ebp),%eax
41f61f:	e8 60 fe ff ff       	call   0x41f484
41f624:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f627:	50                   	push   %eax
41f628:	6a 10                	push   $0x10
41f62a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41f62d:	33 d2                	xor    %edx,%edx
41f62f:	8b 45 cc             	mov    -0x34(%ebp),%eax
41f632:	e8 4d fe ff ff       	call   0x41f484