41f692:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f695:	50                   	push   %eax
41f696:	e8 91 71 fe ff       	call   0x40682c
41f69b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f69e:	56                   	push   %esi
41f69f:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6a2:	50                   	push   %eax
41f6a3:	e8 b4 72 fe ff       	call   0x40695c
41f6a8:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f6ab:	33 c0                	xor    %eax,%eax
41f6ad:	55                   	push   %ebp
41f6ae:	68 fb f6 41 00       	push   $0x41f6fb
41f6b3:	64 ff 30             	push   %fs:(%eax)
41f6b6:	64 89 20             	mov    %esp,%fs:(%eax)
41f6b9:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
41f6bf:	50                   	push   %eax
41f6c0:	53                   	push   %ebx
41f6c1:	6a 00                	push   $0x0
41f6c3:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6c6:	50                   	push   %eax
41f6c7:	e8 c0 72 fe ff       	call   0x40698c
41f6cc:	33 c0                	xor    %eax,%eax
41f6ce:	5a                   	pop    %edx
41f6cf:	59                   	pop    %ecx
41f6d0:	59                   	pop    %ecx
41f6d1:	64 89 10             	mov    %edx,%fs:(%eax)
41f6d4:	68 02 f7 41 00       	push   $0x41f702
41f6d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
41f6dc:	50                   	push   %eax
41f6dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6e0:	50                   	push   %eax
41f6e1:	e8 76 72 fe ff       	call   0x40695c
41f6e6:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6e9:	50                   	push   %eax
41f6ea:	e8 85 71 fe ff       	call   0x406874
41f6ef:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f6f2:	50                   	push   %eax
41f6f3:	6a 00                	push   $0x0
41f6f5:	e8 9a 76 fe ff       	call   0x406d94
41f6fa:	c3                   	ret
41f6fb:	e9 4c 48 fe ff       	jmp    0x403f4c
41f700:	eb d7                	jmp    0x41f6d9
41f702:	5e                   	pop    %esi
41f703:	5b                   	pop    %ebx
41f704:	8b e5                	mov    %ebp,%esp
41f706:	5d                   	pop    %ebp
41f707:	c3                   	ret
41f708:	f6 40 28 03          	testb  $0x3,0x28(%eax)
41f70c:	74 42                	je     0x41f750
41f70e:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
41f712:	75 3c                	jne    0x41f750
41f714:	66 8b 50 26          	mov    0x26(%eax),%dx
41f718:	66 83 fa 10          	cmp    $0x10,%dx
41f71c:	75 17                	jne    0x41f735
41f71e:	c7 40 40 00 f8 00 00 	movl   $0xf800,0x40(%eax)
41f725:	c7 40 44 e0 07 00 00 	movl   $0x7e0,0x44(%eax)
41f72c:	c7 40 48 1f 00 00 00 	movl   $0x1f,0x48(%eax)
41f733:	eb 1b                	jmp    0x41f750
41f735:	66 83 fa 20          	cmp    $0x20,%dx
41f739:	75 15                	jne    0x41f750
41f73b:	c7 40 40 00 00 ff 00 	movl   $0xff0000,0x40(%eax)
41f742:	c7 40 44 00 ff 00 00 	movl   $0xff00,0x44(%eax)
41f749:	c7 40 48 ff 00 00 00 	movl   $0xff,0x48(%eax)
41f750:	c3                   	ret
41f751:	8d 40 00             	lea    0x0(%eax),%eax
41f754:	55                   	push   %ebp
41f755:	8b ec                	mov    %esp,%ebp
41f757:	81 c4 68 ff ff ff    	add    $0xffffff68,%esp
41f75d:	53                   	push   %ebx
41f75e:	56                   	push   %esi
41f75f:	57                   	push   %edi
41f760:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41f763:	89 55 f8             	mov    %edx,-0x8(%ebp)
41f766:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f769:	33 c0                	xor    %eax,%eax
41f76b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f76e:	8b 45 0c             	mov    0xc(%ebp),%eax
41f771:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
41f775:	74 1a                	je     0x41f791
41f777:	8b 45 0c             	mov    0xc(%ebp),%eax
41f77a:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
41f77e:	0f 84 25 06 00 00    	je     0x41fda9
41f784:	8b 45 0c             	mov    0xc(%ebp),%eax
41f787:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41f78b:	0f 84 18 06 00 00    	je     0x41fda9
41f791:	8b 45 0c             	mov    0xc(%ebp),%eax
41f794:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
41f798:	75 1a                	jne    0x41f7b4
41f79a:	8b 45 0c             	mov    0xc(%ebp),%eax
41f79d:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
41f7a1:	0f 84 02 06 00 00    	je     0x41fda9
41f7a7:	8b 45 0c             	mov    0xc(%ebp),%eax
41f7aa:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41f7ae:	0f 84 f5 05 00 00    	je     0x41fda9
41f7b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f7b7:	e8 54 fb ff ff       	call   0x41f310
41f7bc:	33 c0                	xor    %eax,%eax
41f7be:	89 45 90             	mov    %eax,-0x70(%ebp)
41f7c1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41f7c5:	74 1c                	je     0x41f7e3
41f7c7:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
41f7cd:	50                   	push   %eax
41f7ce:	6a 54                	push   $0x54
41f7d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f7d3:	50                   	push   %eax
41f7d4:	e8 fb 70 fe ff       	call   0x4068d4
41f7d9:	83 f8 18             	cmp    $0x18,%eax
41f7dc:	7d 05                	jge    0x41f7e3
41f7de:	e8 05 e4 ff ff       	call   0x41dbe8
41f7e3:	6a 00                	push   $0x0
41f7e5:	e8 62 73 fe ff       	call   0x406b4c
41f7ea:	e8 0d e5 ff ff       	call   0x41dcfc
41f7ef:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f7f2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f7f5:	50                   	push   %eax
41f7f6:	e8 31 70 fe ff       	call   0x40682c
41f7fb:	e8 fc e4 ff ff       	call   0x41dcfc
41f800:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f803:	33 d2                	xor    %edx,%edx
41f805:	55                   	push   %ebp
41f806:	68 a2 fd 41 00       	push   $0x41fda2
41f80b:	64 ff 32             	push   %fs:(%edx)
41f80e:	64 89 22             	mov    %esp,%fs:(%edx)
41f811:	8b 45 0c             	mov    0xc(%ebp),%eax
41f814:	83 78 18 28          	cmpl   $0x28,0x18(%eax)
41f818:	73 5e                	jae    0x41f878
41f81a:	8b 45 0c             	mov    0xc(%ebp),%eax
41f81d:	66 8b 40 10          	mov    0x10(%eax),%ax
41f821:	8b 55 0c             	mov    0xc(%ebp),%edx
41f824:	66 0b 42 12          	or     0x12(%edx),%ax
41f828:	66 83 f8 01          	cmp    $0x1,%ax
41f82c:	75 26                	jne    0x41f854
41f82e:	6a 00                	push   $0x0
41f830:	6a 01                	push   $0x1
41f832:	6a 01                	push   $0x1
41f834:	8b 45 0c             	mov    0xc(%ebp),%eax
41f837:	8b 40 08             	mov    0x8(%eax),%eax
41f83a:	50                   	push   %eax
41f83b:	8b 45 0c             	mov    0xc(%ebp),%eax
41f83e:	8b 40 04             	mov    0x4(%eax),%eax
41f841:	50                   	push   %eax
41f842:	e8 cd 6f fe ff       	call   0x406814
41f847:	e8 b0 e4 ff ff       	call   0x41dcfc
41f84c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f84f:	e9 5f 02 00 00       	jmp    0x41fab3
41f854:	8b 45 0c             	mov    0xc(%ebp),%eax
41f857:	8b 40 08             	mov    0x8(%eax),%eax
41f85a:	50                   	push   %eax
41f85b:	8b 45 0c             	mov    0xc(%ebp),%eax
41f85e:	8b 40 04             	mov    0x4(%eax),%eax
41f861:	50                   	push   %eax
41f862:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f865:	50                   	push   %eax
41f866:	e8 b9 6f fe ff       	call   0x406824
41f86b:	e8 8c e4 ff ff       	call   0x41dcfc
41f870:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f873:	e9 3b 02 00 00       	jmp    0x41fab3
41f878:	b8 2c 04 00 00       	mov    $0x42c,%eax
41f87d:	e8 b6 31 fe ff       	call   0x402a38
41f882:	89 45 dc             	mov    %eax,-0x24(%ebp)
41f885:	33 d2                	xor    %edx,%edx
41f887:	55                   	push   %ebp
41f888:	68 ac fa 41 00       	push   $0x41faac
41f88d:	64 ff 32             	push   %fs:(%edx)
41f890:	64 89 22             	mov    %esp,%fs:(%edx)
41f893:	8b 45 0c             	mov    0xc(%ebp),%eax
41f896:	c7 40 18 28 00 00 00 	movl   $0x28,0x18(%eax)
41f89d:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8a0:	66 c7 40 24 01 00    	movw   $0x1,0x24(%eax)
41f8a6:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8a9:	66 83 78 26 00       	cmpw   $0x0,0x26(%eax)
41f8ae:	75 23                	jne    0x41f8d3
41f8b0:	6a 0c                	push   $0xc
41f8b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f8b5:	50                   	push   %eax
41f8b6:	e8 09 70 fe ff       	call   0x4068c4
41f8bb:	8b d8                	mov    %eax,%ebx
41f8bd:	6a 0e                	push   $0xe
41f8bf:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f8c2:	50                   	push   %eax
41f8c3:	e8 fc 6f fe ff       	call   0x4068c4
41f8c8:	66 0f af d8          	imul   %ax,%bx
41f8cc:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8cf:	66 89 58 26          	mov    %bx,0x26(%eax)
41f8d3:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8d6:	8b 55 dc             	mov    -0x24(%ebp),%edx
41f8d9:	8d 70 18             	lea    0x18(%eax),%esi
41f8dc:	8b fa                	mov    %edx,%edi
41f8de:	b9 0a 00 00 00       	mov    $0xa,%ecx
41f8e3:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41f8e5:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8e8:	8b 40 1c             	mov    0x1c(%eax),%eax
41f8eb:	8b 55 0c             	mov    0xc(%ebp),%edx
41f8ee:	89 42 04             	mov    %eax,0x4(%edx)
41f8f1:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8f4:	8b 40 20             	mov    0x20(%eax),%eax
41f8f7:	8b 55 0c             	mov    0xc(%ebp),%edx
41f8fa:	89 42 08             	mov    %eax,0x8(%edx)
41f8fd:	8b 45 0c             	mov    0xc(%ebp),%eax
41f900:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
41f905:	0f 87 c7 00 00 00    	ja     0x41f9d2
41f90b:	8b 45 0c             	mov    0xc(%ebp),%eax
41f90e:	66 83 78 26 01       	cmpw   $0x1,0x26(%eax)
41f913:	75 28                	jne    0x41f93d
41f915:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41f919:	74 06                	je     0x41f921
41f91b:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
41f91f:	75 1c                	jne    0x41f93d
41f921:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f924:	33 d2                	xor    %edx,%edx
41f926:	89 50 28             	mov    %edx,0x28(%eax)
41f929:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f92c:	83 c0 28             	add    $0x28,%eax
41f92f:	83 c0 04             	add    $0x4,%eax
41f932:	c7 00 ff ff ff 00    	movl   $0xffffff,(%eax)
41f938:	e9 d2 00 00 00       	jmp    0x41fa0f
41f93d:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41f941:	74 18                	je     0x41f95b
41f943:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f946:	8d 50 28             	lea    0x28(%eax),%edx
41f949:	b9 ff 00 00 00       	mov    $0xff,%ecx
41f94e:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f951:	e8 46 eb ff ff       	call   0x41e49c
41f956:	e9 b4 00 00 00       	jmp    0x41fa0f
41f95b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41f95f:	0f 84 aa 00 00 00    	je     0x41fa0f
41f965:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f968:	50                   	push   %eax
41f969:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f96c:	50                   	push   %eax
41f96d:	e8 ea 6f fe ff       	call   0x40695c
41f972:	89 45 ec             	mov    %eax,-0x14(%ebp)
41f975:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
41f979:	76 25                	jbe    0x41f9a0
41f97b:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
41f97f:	74 1f                	je     0x41f9a0
41f981:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f984:	83 c0 28             	add    $0x28,%eax
41f987:	50                   	push   %eax
41f988:	68 00 01 00 00       	push   $0x100
41f98d:	6a 00                	push   $0x0
41f98f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f992:	50                   	push   %eax
41f993:	e8 1c 6f fe ff       	call   0x4068b4
41f998:	8b 55 0c             	mov    0xc(%ebp),%edx
41f99b:	89 42 38             	mov    %eax,0x38(%edx)
41f99e:	eb 23                	jmp    0x41f9c3
41f9a0:	6a 00                	push   $0x0
41f9a2:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f9a5:	50                   	push   %eax
41f9a6:	6a 00                	push   $0x0
41f9a8:	8b 45 0c             	mov    0xc(%ebp),%eax
41f9ab:	8b 40 20             	mov    0x20(%eax),%eax
41f9ae:	99                   	cltd
41f9af:	33 c2                	xor    %edx,%eax
41f9b1:	2b c2                	sub    %edx,%eax
41f9b3:	50                   	push   %eax
41f9b4:	6a 00                	push   $0x0
41f9b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f9b9:	50                   	push   %eax
41f9ba:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f9bd:	50                   	push   %eax
41f9be:	e8 f9 6e fe ff       	call   0x4068bc
41f9c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f9c6:	50                   	push   %eax
41f9c7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f9ca:	50                   	push   %eax
41f9cb:	e8 8c 6f fe ff       	call   0x40695c
41f9d0:	eb 3d                	jmp    0x41fa0f
41f9d2:	8b 45 0c             	mov    0xc(%ebp),%eax
41f9d5:	66 8b 40 26          	mov    0x26(%eax),%ax
41f9d9:	66 83 f8 10          	cmp    $0x10,%ax
41f9dd:	74 09                	je     0x41f9e8
41f9df:	8b 55 0c             	mov    0xc(%ebp),%edx
41f9e2:	66 83 f8 20          	cmp    $0x20,%ax
41f9e6:	75 27                	jne    0x41fa0f
41f9e8:	8b 45 0c             	mov    0xc(%ebp),%eax
41f9eb:	f6 40 28 03          	testb  $0x3,0x28(%eax)
41f9ef:	74 1e                	je     0x41fa0f
41f9f1:	8b 45 0c             	mov    0xc(%ebp),%eax
41f9f4:	e8 0f fd ff ff       	call   0x41f708
41f9f9:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f9fc:	8d 50 28             	lea    0x28(%eax),%edx
41f9ff:	8b 45 0c             	mov    0xc(%ebp),%eax
41fa02:	83 c0 40             	add    $0x40,%eax
41fa05:	b9 0c 00 00 00       	mov    $0xc,%ecx
41fa0a:	e8 49 32 fe ff       	call   0x402c58
41fa0f:	6a 00                	push   $0x0
41fa11:	6a 00                	push   $0x0
41fa13:	8d 45 d8             	lea    -0x28(%ebp),%eax
41fa16:	50                   	push   %eax
41fa17:	6a 00                	push   $0x0
41fa19:	8b 45 dc             	mov    -0x24(%ebp),%eax
41fa1c:	50                   	push   %eax
41fa1d:	8b 45 e8             	mov    -0x18(%ebp),%eax
41fa20:	50                   	push   %eax
41fa21:	e8 0e 6e fe ff       	call   0x406834
41fa26:	e8 d1 e2 ff ff       	call   0x41dcfc
41fa2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41fa2e:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
41fa32:	75 05                	jne    0x41fa39
41fa34:	e8 1b e2 ff ff       	call   0x41dc54
41fa39:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41fa3d:	74 57                	je     0x41fa96
41fa3f:	8b 45 0c             	mov    0xc(%ebp),%eax
41fa42:	8b 40 1c             	mov    0x1c(%eax),%eax
41fa45:	3b 85 7c ff ff ff    	cmp    -0x84(%ebp),%eax
41fa4b:	75 49                	jne    0x41fa96
41fa4d:	8b 45 0c             	mov    0xc(%ebp),%eax
41fa50:	8b 40 20             	mov    0x20(%eax),%eax
41fa53:	3b 45 80             	cmp    -0x80(%ebp),%eax
41fa56:	75 3e                	jne    0x41fa96
41fa58:	8b 45 0c             	mov    0xc(%ebp),%eax
41fa5b:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
41fa60:	76 34                	jbe    0x41fa96
41fa62:	6a 00                	push   $0x0
41fa64:	8b 45 dc             	mov    -0x24(%ebp),%eax
41fa67:	50                   	push   %eax
41fa68:	8b 45 d8             	mov    -0x28(%ebp),%eax
41fa6b:	50                   	push   %eax
41fa6c:	8b 45 0c             	mov    0xc(%ebp),%eax
41fa6f:	8b 40 20             	mov    0x20(%eax),%eax
41fa72:	99                   	cltd
41fa73:	33 c2                	xor    %edx,%eax
41fa75:	2b c2                	sub    %edx,%eax
41fa77:	50                   	push   %eax
41fa78:	6a 00                	push   $0x0
41fa7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fa7d:	50                   	push   %eax
41fa7e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41fa81:	50                   	push   %eax
41fa82:	e8 35 6e fe ff       	call   0x4068bc
41fa87:	e8 a4 45 fe ff       	call   0x404030
41fa8c:	e8 9f 45 fe ff       	call   0x404030
41fa91:	e9 13 03 00 00       	jmp    0x41fda9
41fa96:	33 c0                	xor    %eax,%eax
41fa98:	5a                   	pop    %edx
41fa99:	59                   	pop    %ecx
41fa9a:	59                   	pop    %ecx
41fa9b:	64 89 10             	mov    %edx,%fs:(%eax)
41fa9e:	68 b3 fa 41 00       	push   $0x41fab3
41faa3:	8b 45 dc             	mov    -0x24(%ebp),%eax
41faa6:	e8 bd 2f fe ff       	call   0x402a68
41faab:	c3                   	ret
41faac:	e9 9b 44 fe ff       	jmp    0x403f4c
41fab1:	eb f0                	jmp    0x41faa3
41fab3:	8b 45 f0             	mov    -0x10(%ebp),%eax
41fab6:	e8 41 e2 ff ff       	call   0x41dcfc
41fabb:	8b 45 f0             	mov    -0x10(%ebp),%eax
41fabe:	50                   	push   %eax