41a451:	c3                   	ret
41a452:	33 c0                	xor    %eax,%eax
41a454:	5b                   	pop    %ebx
41a455:	c3                   	ret
41a456:	8b c0                	mov    %eax,%eax
41a458:	53                   	push   %ebx
41a459:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
41a45e:	74 0e                	je     0x41a46e
41a460:	8b d8                	mov    %eax,%ebx
41a462:	8b d0                	mov    %eax,%edx
41a464:	8b 43 4c             	mov    0x4c(%ebx),%eax
41a467:	ff 53 48             	call   *0x48(%ebx)
41a46a:	b0 01                	mov    $0x1,%al
41a46c:	5b                   	pop    %ebx
41a46d:	c3                   	ret
41a46e:	33 c0                	xor    %eax,%eax
41a470:	5b                   	pop    %ebx
41a471:	c3                   	ret
41a472:	8b c0                	mov    %eax,%eax
41a474:	55                   	push   %ebp
41a475:	8b ec                	mov    %esp,%ebp
41a477:	53                   	push   %ebx
41a478:	56                   	push   %esi
41a479:	57                   	push   %edi
41a47a:	8b d8                	mov    %eax,%ebx
41a47c:	8b 45 08             	mov    0x8(%ebp),%eax
41a47f:	3b 43 40             	cmp    0x40(%ebx),%eax
41a482:	75 08                	jne    0x41a48c
41a484:	8b 45 0c             	mov    0xc(%ebp),%eax
41a487:	3b 43 44             	cmp    0x44(%ebx),%eax
41a48a:	74 3a                	je     0x41a4c6
41a48c:	8b 43 50             	mov    0x50(%ebx),%eax
41a48f:	8b 70 08             	mov    0x8(%eax),%esi
41a492:	4e                   	dec    %esi
41a493:	85 f6                	test   %esi,%esi
41a495:	7c 1c                	jl     0x41a4b3
41a497:	46                   	inc    %esi
41a498:	33 ff                	xor    %edi,%edi
41a49a:	ff 75 0c             	push   0xc(%ebp)
41a49d:	ff 75 08             	push   0x8(%ebp)
41a4a0:	8b d7                	mov    %edi,%edx
41a4a2:	8b 43 50             	mov    0x50(%ebx),%eax
41a4a5:	e8 3e 9b ff ff       	call   0x413fe8
41a4aa:	8b 10                	mov    (%eax),%edx
41a4ac:	ff 52 10             	call   *0x10(%edx)
41a4af:	47                   	inc    %edi
41a4b0:	4e                   	dec    %esi
41a4b1:	75 e7                	jne    0x41a49a
41a4b3:	8b 45 08             	mov    0x8(%ebp),%eax
41a4b6:	89 43 40             	mov    %eax,0x40(%ebx)
41a4b9:	8b 45 0c             	mov    0xc(%ebp),%eax
41a4bc:	89 43 44             	mov    %eax,0x44(%ebx)
41a4bf:	8b c3                	mov    %ebx,%eax
41a4c1:	8b 10                	mov    (%eax),%edx
41a4c3:	ff 52 30             	call   *0x30(%edx)
41a4c6:	5f                   	pop    %edi
41a4c7:	5e                   	pop    %esi
41a4c8:	5b                   	pop    %ebx
41a4c9:	5d                   	pop    %ebp
41a4ca:	c2 08 00             	ret    $0x8
41a4cd:	8d 40 00             	lea    0x0(%eax),%eax
41a4d0:	53                   	push   %ebx
41a4d1:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
41a4d6:	74 0a                	je     0x41a4e2
41a4d8:	8b d8                	mov    %eax,%ebx
41a4da:	8b d0                	mov    %eax,%edx
41a4dc:	8b 43 3c             	mov    0x3c(%ebx),%eax
41a4df:	ff 53 38             	call   *0x38(%ebx)
41a4e2:	5b                   	pop    %ebx
41a4e3:	c3                   	ret
41a4e4:	89 42 10             	mov    %eax,0x10(%edx)
41a4e7:	8b 40 50             	mov    0x50(%eax),%eax
41a4ea:	e8 89 99 ff ff       	call   0x413e78
41a4ef:	c3                   	ret
41a4f0:	53                   	push   %ebx
41a4f1:	56                   	push   %esi
41a4f2:	57                   	push   %edi
41a4f3:	55                   	push   %ebp
41a4f4:	8b ea                	mov    %edx,%ebp
41a4f6:	8b f8                	mov    %eax,%edi
41a4f8:	8b 47 50             	mov    0x50(%edi),%eax
41a4fb:	8b 70 08             	mov    0x8(%eax),%esi
41a4fe:	4e                   	dec    %esi
41a4ff:	85 f6                	test   %esi,%esi
41a501:	7c 26                	jl     0x41a529
41a503:	46                   	inc    %esi
41a504:	33 db                	xor    %ebx,%ebx
41a506:	8b 47 50             	mov    0x50(%edi),%eax
41a509:	8b d3                	mov    %ebx,%edx
41a50b:	e8 d8 9a ff ff       	call   0x413fe8
41a510:	3b e8                	cmp    %eax,%ebp
41a512:	75 11                	jne    0x41a525
41a514:	33 c0                	xor    %eax,%eax
41a516:	89 45 10             	mov    %eax,0x10(%ebp)
41a519:	8b 47 50             	mov    0x50(%edi),%eax
41a51c:	8b d3                	mov    %ebx,%edx
41a51e:	e8 a1 99 ff ff       	call   0x413ec4
41a523:	eb 04                	jmp    0x41a529
41a525:	43                   	inc    %ebx
41a526:	4e                   	dec    %esi
41a527:	75 dd                	jne    0x41a506
41a529:	5d                   	pop    %ebp
41a52a:	5f                   	pop    %edi
41a52b:	5e                   	pop    %esi
41a52c:	5b                   	pop    %ebx
41a52d:	c3                   	ret
41a52e:	8b c0                	mov    %eax,%eax
41a530:	53                   	push   %ebx
41a531:	56                   	push   %esi
41a532:	8b f2                	mov    %edx,%esi
41a534:	8b d8                	mov    %eax,%ebx
41a536:	8b 43 30             	mov    0x30(%ebx),%eax
41a539:	3b f0                	cmp    %eax,%esi
41a53b:	74 1b                	je     0x41a558
41a53d:	85 c0                	test   %eax,%eax
41a53f:	74 07                	je     0x41a548
41a541:	8b d3                	mov    %ebx,%edx
41a543:	e8 0c f8 ff ff       	call   0x419d54
41a548:	8b c6                	mov    %esi,%eax
41a54a:	89 43 30             	mov    %eax,0x30(%ebx)
41a54d:	85 c0                	test   %eax,%eax
41a54f:	74 07                	je     0x41a558
41a551:	8b d3                	mov    %ebx,%edx
41a553:	e8 cc f5 ff ff       	call   0x419b24
41a558:	5e                   	pop    %esi
41a559:	5b                   	pop    %ebx
41a55a:	c3                   	ret
41a55b:	90                   	nop
41a55c:	55                   	push   %ebp
41a55d:	8b ec                	mov    %esp,%ebp
41a55f:	53                   	push   %ebx
41a560:	56                   	push   %esi
41a561:	57                   	push   %edi
41a562:	84 d2                	test   %dl,%dl
41a564:	74 08                	je     0x41a56e
41a566:	83 c4 f0             	add    $0xfffffff0,%esp
41a569:	e8 ae 95 fe ff       	call   0x403b1c
41a56e:	8b f1                	mov    %ecx,%esi
41a570:	8b da                	mov    %edx,%ebx
41a572:	8b f8                	mov    %eax,%edi
41a574:	33 d2                	xor    %edx,%edx
41a576:	8b c7                	mov    %edi,%eax
41a578:	e8 4f 92 fe ff       	call   0x4037cc
41a57d:	89 77 0c             	mov    %esi,0xc(%edi)
41a580:	8a 45 08             	mov    0x8(%ebp),%al
41a583:	88 47 10             	mov    %al,0x10(%edi)
41a586:	8b c7                	mov    %edi,%eax
41a588:	84 db                	test   %bl,%bl
41a58a:	74 0f                	je     0x41a59b
41a58c:	e8 e3 95 fe ff       	call   0x403b74
41a591:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a598:	83 c4 0c             	add    $0xc,%esp
41a59b:	8b c7                	mov    %edi,%eax
41a59d:	5f                   	pop    %edi
41a59e:	5e                   	pop    %esi
41a59f:	5b                   	pop    %ebx
41a5a0:	5d                   	pop    %ebp
41a5a1:	c2 04 00             	ret    $0x4
41a5a4:	53                   	push   %ebx
41a5a5:	56                   	push   %esi
41a5a6:	e8 d9 95 fe ff       	call   0x403b84
41a5ab:	8b da                	mov    %edx,%ebx
41a5ad:	8b f0                	mov    %eax,%esi
41a5af:	80 7e 10 01          	cmpb   $0x1,0x10(%esi)
41a5b3:	75 0d                	jne    0x41a5c2
41a5b5:	8b 46 0c             	mov    0xc(%esi),%eax
41a5b8:	e8 3f 92 fe ff       	call   0x4037fc
41a5bd:	33 c0                	xor    %eax,%eax
41a5bf:	89 46 0c             	mov    %eax,0xc(%esi)
41a5c2:	8b d3                	mov    %ebx,%edx
41a5c4:	80 e2 fc             	and    $0xfc,%dl
41a5c7:	8b c6                	mov    %esi,%eax
41a5c9:	e8 1e 92 fe ff       	call   0x4037ec
41a5ce:	84 db                	test   %bl,%bl
41a5d0:	7e 07                	jle    0x41a5d9
41a5d2:	8b c6                	mov    %esi,%eax
41a5d4:	e8 93 95 fe ff       	call   0x403b6c
41a5d9:	5e                   	pop    %esi
41a5da:	5b                   	pop    %ebx
41a5db:	c3                   	ret
41a5dc:	55                   	push   %ebp
41a5dd:	8b ec                	mov    %esp,%ebp
41a5df:	53                   	push   %ebx
41a5e0:	56                   	push   %esi
41a5e1:	57                   	push   %edi
41a5e2:	8b 55 0c             	mov    0xc(%ebp),%edx
41a5e5:	8b 45 08             	mov    0x8(%ebp),%eax
41a5e8:	33 c9                	xor    %ecx,%ecx
41a5ea:	55                   	push   %ebp
41a5eb:	68 2b a6 41 00       	push   $0x41a62b
41a5f0:	64 ff 31             	push   %fs:(%ecx)
41a5f3:	64 89 21             	mov    %esp,%fs:(%ecx)
41a5f6:	85 d2                	test   %edx,%edx
41a5f8:	75 0f                	jne    0x41a609
41a5fa:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a5ff:	33 c0                	xor    %eax,%eax
41a601:	5a                   	pop    %edx
41a602:	59                   	pop    %ecx
41a603:	59                   	pop    %ecx
41a604:	64 89 10             	mov    %edx,%fs:(%eax)
41a607:	eb 31                	jmp    0x41a63a
41a609:	8b 40 0c             	mov    0xc(%eax),%eax
41a60c:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a60f:	8b 18                	mov    (%eax),%ebx
41a611:	ff 53 0c             	call   *0xc(%ebx)
41a614:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a618:	74 05                	je     0x41a61f
41a61a:	8b 55 14             	mov    0x14(%ebp),%edx
41a61d:	89 02                	mov    %eax,(%edx)
41a61f:	33 db                	xor    %ebx,%ebx
41a621:	33 c0                	xor    %eax,%eax
41a623:	5a                   	pop    %edx
41a624:	59                   	pop    %ecx
41a625:	59                   	pop    %ecx
41a626:	64 89 10             	mov    %edx,%fs:(%eax)
41a629:	eb 0f                	jmp    0x41a63a
41a62b:	e9 68 96 fe ff       	jmp    0x403c98
41a630:	bb 01 00 00 00       	mov    $0x1,%ebx
41a635:	e8 c6 99 fe ff       	call   0x404000
41a63a:	8b c3                	mov    %ebx,%eax
41a63c:	5f                   	pop    %edi
41a63d:	5e                   	pop    %esi
41a63e:	5b                   	pop    %ebx
41a63f:	5d                   	pop    %ebp
41a640:	c2 10 00             	ret    $0x10
41a643:	90                   	nop
41a644:	55                   	push   %ebp
41a645:	8b ec                	mov    %esp,%ebp
41a647:	53                   	push   %ebx
41a648:	56                   	push   %esi
41a649:	57                   	push   %edi
41a64a:	8b 55 0c             	mov    0xc(%ebp),%edx
41a64d:	8b 45 08             	mov    0x8(%ebp),%eax
41a650:	33 c9                	xor    %ecx,%ecx
41a652:	55                   	push   %ebp
41a653:	68 93 a6 41 00       	push   $0x41a693
41a658:	64 ff 31             	push   %fs:(%ecx)
41a65b:	64 89 21             	mov    %esp,%fs:(%ecx)
41a65e:	85 d2                	test   %edx,%edx
41a660:	75 0f                	jne    0x41a671
41a662:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a667:	33 c0                	xor    %eax,%eax
41a669:	5a                   	pop    %edx
41a66a:	59                   	pop    %ecx
41a66b:	59                   	pop    %ecx
41a66c:	64 89 10             	mov    %edx,%fs:(%eax)
41a66f:	eb 31                	jmp    0x41a6a2
41a671:	8b 40 0c             	mov    0xc(%eax),%eax
41a674:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a677:	8b 18                	mov    (%eax),%ebx
41a679:	ff 53 10             	call   *0x10(%ebx)
41a67c:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a680:	74 05                	je     0x41a687
41a682:	8b 55 14             	mov    0x14(%ebp),%edx
41a685:	89 02                	mov    %eax,(%edx)
41a687:	33 db                	xor    %ebx,%ebx
41a689:	33 c0                	xor    %eax,%eax
41a68b:	5a                   	pop    %edx
41a68c:	59                   	pop    %ecx
41a68d:	59                   	pop    %ecx
41a68e:	64 89 10             	mov    %edx,%fs:(%eax)
41a691:	eb 0f                	jmp    0x41a6a2
41a693:	e9 00 96 fe ff       	jmp    0x403c98
41a698:	bb 03 01 03 80       	mov    $0x80030103,%ebx
41a69d:	e8 5e 99 fe ff       	call   0x404000
41a6a2:	8b c3                	mov    %ebx,%eax
41a6a4:	5f                   	pop    %edi
41a6a5:	5e                   	pop    %esi
41a6a6:	5b                   	pop    %ebx
41a6a7:	5d                   	pop    %ebp
41a6a8:	c2 10 00             	ret    $0x10
41a6ab:	90                   	nop
41a6ac:	55                   	push   %ebp
41a6ad:	8b ec                	mov    %esp,%ebp
41a6af:	83 c4 f8             	add    $0xfffffff8,%esp
41a6b2:	53                   	push   %ebx
41a6b3:	56                   	push   %esi
41a6b4:	57                   	push   %edi
41a6b5:	8b 5d 14             	mov    0x14(%ebp),%ebx
41a6b8:	8b 75 08             	mov    0x8(%ebp),%esi
41a6bb:	33 c0                	xor    %eax,%eax
41a6bd:	55                   	push   %ebp
41a6be:	68 16 a7 41 00       	push   $0x41a716
41a6c3:	64 ff 30             	push   %fs:(%eax)
41a6c6:	64 89 20             	mov    %esp,%fs:(%eax)
41a6c9:	85 db                	test   %ebx,%ebx
41a6cb:	7c 05                	jl     0x41a6d2
41a6cd:	83 fb 02             	cmp    $0x2,%ebx
41a6d0:	7e 0f                	jle    0x41a6e1
41a6d2:	bb 01 00 03 80       	mov    $0x80030001,%ebx
41a6d7:	33 c0                	xor    %eax,%eax
41a6d9:	5a                   	pop    %edx
41a6da:	59                   	pop    %ecx
41a6db:	59                   	pop    %ecx
41a6dc:	64 89 10             	mov    %edx,%fs:(%eax)
41a6df:	eb 44                	jmp    0x41a725
41a6e1:	8b 46 0c             	mov    0xc(%esi),%eax
41a6e4:	8b cb                	mov    %ebx,%ecx
41a6e6:	8b 55 0c             	mov    0xc(%ebp),%edx
41a6e9:	8b 18                	mov    (%eax),%ebx
41a6eb:	ff 53 14             	call   *0x14(%ebx)
41a6ee:	99                   	cltd
41a6ef:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a6f2:	89 55 fc             	mov    %edx,-0x4(%ebp)
41a6f5:	8b 45 18             	mov    0x18(%ebp),%eax
41a6f8:	85 c0                	test   %eax,%eax
41a6fa:	74 0e                	je     0x41a70a
41a6fc:	8b 45 18             	mov    0x18(%ebp),%eax
41a6ff:	8b 55 f8             	mov    -0x8(%ebp),%edx
41a702:	89 10                	mov    %edx,(%eax)
41a704:	8b 55 fc             	mov    -0x4(%ebp),%edx
41a707:	89 50 04             	mov    %edx,0x4(%eax)
41a70a:	33 db                	xor    %ebx,%ebx
41a70c:	33 c0                	xor    %eax,%eax
41a70e:	5a                   	pop    %edx
41a70f:	59                   	pop    %ecx
41a710:	59                   	pop    %ecx
41a711:	64 89 10             	mov    %edx,%fs:(%eax)
41a714:	eb 0f                	jmp    0x41a725
41a716:	e9 7d 95 fe ff       	jmp    0x403c98
41a71b:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a720:	e8 db 98 fe ff       	call   0x404000
41a725:	8b c3                	mov    %ebx,%eax
41a727:	5f                   	pop    %edi
41a728:	5e                   	pop    %esi
41a729:	5b                   	pop    %ebx
41a72a:	59                   	pop    %ecx
41a72b:	59                   	pop    %ecx
41a72c:	5d                   	pop    %ebp
41a72d:	c2 14 00             	ret    $0x14
41a730:	55                   	push   %ebp
41a731:	8b ec                	mov    %esp,%ebp
41a733:	53                   	push   %ebx
41a734:	56                   	push   %esi
41a735:	57                   	push   %edi
41a736:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a739:	33 c0                	xor    %eax,%eax
41a73b:	55                   	push   %ebp
41a73c:	68 79 a7 41 00       	push   $0x41a779
41a741:	64 ff 30             	push   %fs:(%eax)
41a744:	64 89 20             	mov    %esp,%fs:(%eax)
41a747:	ff 75 10             	push   0x10(%ebp)
41a74a:	ff 75 0c             	push   0xc(%ebp)
41a74d:	8b 43 0c             	mov    0xc(%ebx),%eax
41a750:	e8 d7 b5 ff ff       	call   0x415d2c
41a755:	8b 43 0c             	mov    0xc(%ebx),%eax
41a758:	8b 10                	mov    (%eax),%edx
41a75a:	ff 12                	call   *(%edx)
41a75c:	3b 55 10             	cmp    0x10(%ebp),%edx
41a75f:	75 03                	jne    0x41a764