41e414:	8b 43 50             	mov    0x50(%ebx),%eax
41e417:	8b 70 08             	mov    0x8(%eax),%esi
41e41a:	4e                   	dec    %esi
41e41b:	85 f6                	test   %esi,%esi
41e41d:	7c 1c                	jl     0x41e43b
41e41f:	46                   	inc    %esi
41e420:	33 ff                	xor    %edi,%edi
41e422:	ff 75 0c             	push   0xc(%ebp)
41e425:	ff 75 08             	push   0x8(%ebp)
41e428:	8b d7                	mov    %edi,%edx
41e42a:	8b 43 50             	mov    0x50(%ebx),%eax
41e42d:	e8 3e 97 ff ff       	call   0x417b70
41e432:	8b 10                	mov    (%eax),%edx
41e434:	ff 52 10             	call   *0x10(%edx)
41e437:	47                   	inc    %edi
41e438:	4e                   	dec    %esi
41e439:	75 e7                	jne    0x41e422
41e43b:	8b 45 08             	mov    0x8(%ebp),%eax
41e43e:	89 43 40             	mov    %eax,0x40(%ebx)
41e441:	8b 45 0c             	mov    0xc(%ebp),%eax
41e444:	89 43 44             	mov    %eax,0x44(%ebx)
41e447:	8b c3                	mov    %ebx,%eax
41e449:	8b 10                	mov    (%eax),%edx
41e44b:	ff 52 30             	call   *0x30(%edx)
41e44e:	5f                   	pop    %edi
41e44f:	5e                   	pop    %esi
41e450:	5b                   	pop    %ebx
41e451:	5d                   	pop    %ebp
41e452:	c2 08 00             	ret    $0x8
41e455:	8d 40 00             	lea    0x0(%eax),%eax
41e458:	53                   	push   %ebx
41e459:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
41e45e:	74 0a                	je     0x41e46a
41e460:	8b d8                	mov    %eax,%ebx
41e462:	8b d0                	mov    %eax,%edx
41e464:	8b 43 3c             	mov    0x3c(%ebx),%eax
41e467:	ff 53 38             	call   *0x38(%ebx)
41e46a:	5b                   	pop    %ebx
41e46b:	c3                   	ret
41e46c:	89 42 10             	mov    %eax,0x10(%edx)
41e46f:	8b 40 50             	mov    0x50(%eax),%eax
41e472:	e8 99 95 ff ff       	call   0x417a10
41e477:	c3                   	ret
41e478:	53                   	push   %ebx
41e479:	56                   	push   %esi
41e47a:	57                   	push   %edi
41e47b:	55                   	push   %ebp
41e47c:	8b ea                	mov    %edx,%ebp
41e47e:	8b f8                	mov    %eax,%edi
41e480:	8b 47 50             	mov    0x50(%edi),%eax
41e483:	8b 70 08             	mov    0x8(%eax),%esi
41e486:	4e                   	dec    %esi
41e487:	85 f6                	test   %esi,%esi
41e489:	7c 26                	jl     0x41e4b1
41e48b:	46                   	inc    %esi
41e48c:	33 db                	xor    %ebx,%ebx
41e48e:	8b 47 50             	mov    0x50(%edi),%eax
41e491:	8b d3                	mov    %ebx,%edx
41e493:	e8 d8 96 ff ff       	call   0x417b70
41e498:	3b e8                	cmp    %eax,%ebp
41e49a:	75 11                	jne    0x41e4ad
41e49c:	33 c0                	xor    %eax,%eax
41e49e:	89 45 10             	mov    %eax,0x10(%ebp)
41e4a1:	8b 47 50             	mov    0x50(%edi),%eax
41e4a4:	8b d3                	mov    %ebx,%edx
41e4a6:	e8 b1 95 ff ff       	call   0x417a5c
41e4ab:	eb 04                	jmp    0x41e4b1
41e4ad:	43                   	inc    %ebx
41e4ae:	4e                   	dec    %esi
41e4af:	75 dd                	jne    0x41e48e
41e4b1:	5d                   	pop    %ebp
41e4b2:	5f                   	pop    %edi
41e4b3:	5e                   	pop    %esi
41e4b4:	5b                   	pop    %ebx
41e4b5:	c3                   	ret
41e4b6:	8b c0                	mov    %eax,%eax
41e4b8:	53                   	push   %ebx
41e4b9:	56                   	push   %esi
41e4ba:	8b f2                	mov    %edx,%esi
41e4bc:	8b d8                	mov    %eax,%ebx
41e4be:	8b 43 30             	mov    0x30(%ebx),%eax
41e4c1:	3b f0                	cmp    %eax,%esi
41e4c3:	74 1b                	je     0x41e4e0
41e4c5:	85 c0                	test   %eax,%eax
41e4c7:	74 07                	je     0x41e4d0
41e4c9:	8b d3                	mov    %ebx,%edx
41e4cb:	e8 0c f8 ff ff       	call   0x41dcdc
41e4d0:	8b c6                	mov    %esi,%eax
41e4d2:	89 43 30             	mov    %eax,0x30(%ebx)
41e4d5:	85 c0                	test   %eax,%eax
41e4d7:	74 07                	je     0x41e4e0
41e4d9:	8b d3                	mov    %ebx,%edx
41e4db:	e8 bc f5 ff ff       	call   0x41da9c
41e4e0:	5e                   	pop    %esi
41e4e1:	5b                   	pop    %ebx
41e4e2:	c3                   	ret
41e4e3:	90                   	nop
41e4e4:	55                   	push   %ebp
41e4e5:	8b ec                	mov    %esp,%ebp
41e4e7:	53                   	push   %ebx
41e4e8:	56                   	push   %esi
41e4e9:	57                   	push   %edi
41e4ea:	84 d2                	test   %dl,%dl
41e4ec:	74 08                	je     0x41e4f6
41e4ee:	83 c4 f0             	add    $0xfffffff0,%esp
41e4f1:	e8 22 57 fe ff       	call   0x403c18
41e4f6:	8b f1                	mov    %ecx,%esi
41e4f8:	8b da                	mov    %edx,%ebx
41e4fa:	8b f8                	mov    %eax,%edi
41e4fc:	33 d2                	xor    %edx,%edx
41e4fe:	8b c7                	mov    %edi,%eax
41e500:	e8 bf 53 fe ff       	call   0x4038c4
41e505:	89 77 0c             	mov    %esi,0xc(%edi)
41e508:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
41e50c:	88 47 10             	mov    %al,0x10(%edi)
41e50f:	8b c7                	mov    %edi,%eax
41e511:	84 db                	test   %bl,%bl
41e513:	74 0f                	je     0x41e524
41e515:	e8 56 57 fe ff       	call   0x403c70
41e51a:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41e521:	83 c4 0c             	add    $0xc,%esp
41e524:	8b c7                	mov    %edi,%eax
41e526:	5f                   	pop    %edi
41e527:	5e                   	pop    %esi
41e528:	5b                   	pop    %ebx
41e529:	5d                   	pop    %ebp
41e52a:	c2 04 00             	ret    $0x4
41e52d:	8d 40 00             	lea    0x0(%eax),%eax
41e530:	53                   	push   %ebx
41e531:	56                   	push   %esi
41e532:	e8 89 57 fe ff       	call   0x403cc0
41e537:	8b da                	mov    %edx,%ebx
41e539:	8b f0                	mov    %eax,%esi
41e53b:	80 7e 10 01          	cmpb   $0x1,0x10(%esi)
41e53f:	75 0d                	jne    0x41e54e
41e541:	8b 46 0c             	mov    0xc(%esi),%eax
41e544:	e8 ab 53 fe ff       	call   0x4038f4
41e549:	33 c0                	xor    %eax,%eax
41e54b:	89 46 0c             	mov    %eax,0xc(%esi)
41e54e:	8b d3                	mov    %ebx,%edx
41e550:	80 e2 fc             	and    $0xfc,%dl
41e553:	8b c6                	mov    %esi,%eax
41e555:	e8 8a 53 fe ff       	call   0x4038e4
41e55a:	84 db                	test   %bl,%bl
41e55c:	7e 07                	jle    0x41e565
41e55e:	8b c6                	mov    %esi,%eax
41e560:	e8 03 57 fe ff       	call   0x403c68
41e565:	5e                   	pop    %esi
41e566:	5b                   	pop    %ebx
41e567:	c3                   	ret
41e568:	55                   	push   %ebp
41e569:	8b ec                	mov    %esp,%ebp
41e56b:	53                   	push   %ebx
41e56c:	56                   	push   %esi
41e56d:	57                   	push   %edi
41e56e:	8b 55 0c             	mov    0xc(%ebp),%edx
41e571:	8b 45 08             	mov    0x8(%ebp),%eax
41e574:	33 c9                	xor    %ecx,%ecx
41e576:	55                   	push   %ebp
41e577:	68 b7 e5 41 00       	push   $0x41e5b7
41e57c:	64 ff 31             	push   %fs:(%ecx)
41e57f:	64 89 21             	mov    %esp,%fs:(%ecx)
41e582:	85 d2                	test   %edx,%edx
41e584:	75 0f                	jne    0x41e595
41e586:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41e58b:	33 c0                	xor    %eax,%eax
41e58d:	5a                   	pop    %edx
41e58e:	59                   	pop    %ecx
41e58f:	59                   	pop    %ecx
41e590:	64 89 10             	mov    %edx,%fs:(%eax)
41e593:	eb 31                	jmp    0x41e5c6
41e595:	8b 40 0c             	mov    0xc(%eax),%eax
41e598:	8b 4d 10             	mov    0x10(%ebp),%ecx
41e59b:	8b 18                	mov    (%eax),%ebx
41e59d:	ff 53 0c             	call   *0xc(%ebx)
41e5a0:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41e5a4:	74 05                	je     0x41e5ab
41e5a6:	8b 55 14             	mov    0x14(%ebp),%edx
41e5a9:	89 02                	mov    %eax,(%edx)
41e5ab:	33 db                	xor    %ebx,%ebx
41e5ad:	33 c0                	xor    %eax,%eax
41e5af:	5a                   	pop    %edx
41e5b0:	59                   	pop    %ecx
41e5b1:	59                   	pop    %ecx
41e5b2:	64 89 10             	mov    %edx,%fs:(%eax)
41e5b5:	eb 0f                	jmp    0x41e5c6
41e5b7:	e9 18 58 fe ff       	jmp    0x403dd4
41e5bc:	bb 01 00 00 00       	mov    $0x1,%ebx
41e5c1:	e8 1e 5c fe ff       	call   0x4041e4
41e5c6:	8b c3                	mov    %ebx,%eax
41e5c8:	5f                   	pop    %edi
41e5c9:	5e                   	pop    %esi
41e5ca:	5b                   	pop    %ebx
41e5cb:	5d                   	pop    %ebp
41e5cc:	c2 10 00             	ret    $0x10
41e5cf:	90                   	nop
41e5d0:	55                   	push   %ebp
41e5d1:	8b ec                	mov    %esp,%ebp
41e5d3:	53                   	push   %ebx
41e5d4:	56                   	push   %esi
41e5d5:	57                   	push   %edi
41e5d6:	8b 55 0c             	mov    0xc(%ebp),%edx
41e5d9:	8b 45 08             	mov    0x8(%ebp),%eax
41e5dc:	33 c9                	xor    %ecx,%ecx
41e5de:	55                   	push   %ebp
41e5df:	68 1f e6 41 00       	push   $0x41e61f
41e5e4:	64 ff 31             	push   %fs:(%ecx)
41e5e7:	64 89 21             	mov    %esp,%fs:(%ecx)
41e5ea:	85 d2                	test   %edx,%edx
41e5ec:	75 0f                	jne    0x41e5fd
41e5ee:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41e5f3:	33 c0                	xor    %eax,%eax
41e5f5:	5a                   	pop    %edx
41e5f6:	59                   	pop    %ecx
41e5f7:	59                   	pop    %ecx
41e5f8:	64 89 10             	mov    %edx,%fs:(%eax)
41e5fb:	eb 31                	jmp    0x41e62e
41e5fd:	8b 40 0c             	mov    0xc(%eax),%eax
41e600:	8b 4d 10             	mov    0x10(%ebp),%ecx
41e603:	8b 18                	mov    (%eax),%ebx
41e605:	ff 53 10             	call   *0x10(%ebx)
41e608:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41e60c:	74 05                	je     0x41e613
41e60e:	8b 55 14             	mov    0x14(%ebp),%edx
41e611:	89 02                	mov    %eax,(%edx)
41e613:	33 db                	xor    %ebx,%ebx
41e615:	33 c0                	xor    %eax,%eax
41e617:	5a                   	pop    %edx
41e618:	59                   	pop    %ecx
41e619:	59                   	pop    %ecx
41e61a:	64 89 10             	mov    %edx,%fs:(%eax)
41e61d:	eb 0f                	jmp    0x41e62e
41e61f:	e9 b0 57 fe ff       	jmp    0x403dd4
41e624:	bb 03 01 03 80       	mov    $0x80030103,%ebx
41e629:	e8 b6 5b fe ff       	call   0x4041e4
41e62e:	8b c3                	mov    %ebx,%eax
41e630:	5f                   	pop    %edi
41e631:	5e                   	pop    %esi
41e632:	5b                   	pop    %ebx
41e633:	5d                   	pop    %ebp
41e634:	c2 10 00             	ret    $0x10
41e637:	90                   	nop
41e638:	55                   	push   %ebp
41e639:	8b ec                	mov    %esp,%ebp
41e63b:	83 c4 f8             	add    $0xfffffff8,%esp
41e63e:	53                   	push   %ebx
41e63f:	56                   	push   %esi
41e640:	57                   	push   %edi
41e641:	8b 5d 14             	mov    0x14(%ebp),%ebx
41e644:	8b 75 08             	mov    0x8(%ebp),%esi
41e647:	33 c0                	xor    %eax,%eax
41e649:	55                   	push   %ebp
41e64a:	68 a2 e6 41 00       	push   $0x41e6a2
41e64f:	64 ff 30             	push   %fs:(%eax)
41e652:	64 89 20             	mov    %esp,%fs:(%eax)
41e655:	85 db                	test   %ebx,%ebx
41e657:	7c 05                	jl     0x41e65e
41e659:	83 fb 02             	cmp    $0x2,%ebx
41e65c:	7e 0f                	jle    0x41e66d
41e65e:	bb 01 00 03 80       	mov    $0x80030001,%ebx
41e663:	33 c0                	xor    %eax,%eax
41e665:	5a                   	pop    %edx
41e666:	59                   	pop    %ecx
41e667:	59                   	pop    %ecx
41e668:	64 89 10             	mov    %edx,%fs:(%eax)
41e66b:	eb 44                	jmp    0x41e6b1
41e66d:	8b 46 0c             	mov    0xc(%esi),%eax
41e670:	8b cb                	mov    %ebx,%ecx
41e672:	8b 55 0c             	mov    0xc(%ebp),%edx
41e675:	8b 18                	mov    (%eax),%ebx
41e677:	ff 53 14             	call   *0x14(%ebx)
41e67a:	99                   	cltd
41e67b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e67e:	89 55 fc             	mov    %edx,-0x4(%ebp)
41e681:	8b 45 18             	mov    0x18(%ebp),%eax
41e684:	85 c0                	test   %eax,%eax
41e686:	74 0e                	je     0x41e696
41e688:	8b 45 18             	mov    0x18(%ebp),%eax
41e68b:	8b 55 f8             	mov    -0x8(%ebp),%edx
41e68e:	89 10                	mov    %edx,(%eax)
41e690:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e693:	89 50 04             	mov    %edx,0x4(%eax)
41e696:	33 db                	xor    %ebx,%ebx
41e698:	33 c0                	xor    %eax,%eax
41e69a:	5a                   	pop    %edx
41e69b:	59                   	pop    %ecx
41e69c:	59                   	pop    %ecx
41e69d:	64 89 10             	mov    %edx,%fs:(%eax)
41e6a0:	eb 0f                	jmp    0x41e6b1
41e6a2:	e9 2d 57 fe ff       	jmp    0x403dd4
41e6a7:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41e6ac:	e8 33 5b fe ff       	call   0x4041e4
41e6b1:	8b c3                	mov    %ebx,%eax
41e6b3:	5f                   	pop    %edi
41e6b4:	5e                   	pop    %esi
41e6b5:	5b                   	pop    %ebx
41e6b6:	59                   	pop    %ecx
41e6b7:	59                   	pop    %ecx
41e6b8:	5d                   	pop    %ebp
41e6b9:	c2 14 00             	ret    $0x14
41e6bc:	55                   	push   %ebp
41e6bd:	8b ec                	mov    %esp,%ebp
41e6bf:	53                   	push   %ebx
41e6c0:	56                   	push   %esi
41e6c1:	57                   	push   %edi
41e6c2:	8b 5d 08             	mov    0x8(%ebp),%ebx
41e6c5:	33 c0                	xor    %eax,%eax
41e6c7:	55                   	push   %ebp
41e6c8:	68 05 e7 41 00       	push   $0x41e705
41e6cd:	64 ff 30             	push   %fs:(%eax)
41e6d0:	64 89 20             	mov    %esp,%fs:(%eax)
41e6d3:	ff 75 10             	push   0x10(%ebp)
41e6d6:	ff 75 0c             	push   0xc(%ebp)
41e6d9:	8b 43 0c             	mov    0xc(%ebx),%eax
41e6dc:	e8 8f b3 ff ff       	call   0x419a70
41e6e1:	8b 43 0c             	mov    0xc(%ebx),%eax
41e6e4:	8b 10                	mov    (%eax),%edx
41e6e6:	ff 12                	call   *(%edx)
41e6e8:	3b 55 10             	cmp    0x10(%ebp),%edx
41e6eb:	75 03                	jne    0x41e6f0
41e6ed:	3b 45 0c             	cmp    0xc(%ebp),%eax
41e6f0:	74 07                	je     0x41e6f9
41e6f2:	bb 05 40 00 80       	mov    $0x80004005,%ebx
41e6f7:	eb 02                	jmp    0x41e6fb
41e6f9:	33 db                	xor    %ebx,%ebx
41e6fb:	33 c0                	xor    %eax,%eax
41e6fd:	5a                   	pop    %edx
41e6fe:	59                   	pop    %ecx
41e6ff:	59                   	pop    %ecx
41e700:	64 89 10             	mov    %edx,%fs:(%eax)
41e703:	eb 0f                	jmp    0x41e714
41e705:	e9 ca 56 fe ff       	jmp    0x403dd4
41e70a:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
41e70f:	e8 d0 5a fe ff       	call   0x4041e4
41e714:	8b c3                	mov    %ebx,%eax
41e716:	5f                   	pop    %edi
41e717:	5e                   	pop    %esi
41e718:	5b                   	pop    %ebx
41e719:	5d                   	pop    %ebp
41e71a:	c2 0c 00             	ret    $0xc
41e71d:	8d 40 00             	lea    0x0(%eax),%eax
41e720:	55                   	push   %ebp
41e721:	8b ec                	mov    %esp,%ebp
41e723:	83 c4 d8             	add    $0xffffffd8,%esp
41e726:	53                   	push   %ebx
41e727:	56                   	push   %esi
41e728:	57                   	push   %edi
41e729:	8b 45 0c             	mov    0xc(%ebp),%eax
41e72c:	e8 67 7a fe ff       	call   0x406198
41e731:	33 c0                	xor    %eax,%eax