41a862:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
41a866:	8d 45 a0             	lea    -0x60(%ebp),%eax
41a869:	50                   	push   %eax
41a86a:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a86d:	66 0f 13 45 cc       	movlpd %xmm0,-0x34(%ebp)
41a872:	50                   	push   %eax
41a873:	6a 01                	push   $0x1
41a875:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41a878:	50                   	push   %eax
41a879:	8d 45 e0             	lea    -0x20(%ebp),%eax
41a87c:	50                   	push   %eax
41a87d:	e8 cb e4 04 00       	call   0x468d4d
41a882:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
41a886:	83 c4 14             	add    $0x14,%esp
41a889:	66 89 46 0e          	mov    %ax,0xe(%esi)
41a88d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
41a893:	89 30                	mov    %esi,(%eax)
41a895:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
41a89b:	c7 45 fc 0c 00 00 00 	movl   $0xc,-0x4(%ebp)
41a8a2:	50                   	push   %eax
41a8a3:	e8 57 e2 04 00       	call   0x468aff
41a8a8:	8b 45 98             	mov    -0x68(%ebp),%eax
41a8ab:	83 c4 04             	add    $0x4,%esp
41a8ae:	85 c0                	test   %eax,%eax
41a8b0:	74 09                	je     0x41a8bb
41a8b2:	50                   	push   %eax
41a8b3:	e8 ca ed 05 00       	call   0x479682
41a8b8:	83 c4 04             	add    $0x4,%esp
41a8bb:	8b 45 90             	mov    -0x70(%ebp),%eax
41a8be:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
41a8c5:	85 c0                	test   %eax,%eax
41a8c7:	74 09                	je     0x41a8d2
41a8c9:	50                   	push   %eax
41a8ca:	e8 b3 ed 05 00       	call   0x479682
41a8cf:	83 c4 04             	add    $0x4,%esp
41a8d2:	8b 45 88             	mov    -0x78(%ebp),%eax
41a8d5:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
41a8dc:	85 c0                	test   %eax,%eax
41a8de:	74 09                	je     0x41a8e9
41a8e0:	50                   	push   %eax
41a8e1:	e8 9c ed 05 00       	call   0x479682
41a8e6:	83 c4 04             	add    $0x4,%esp
41a8e9:	8b 45 80             	mov    -0x80(%ebp),%eax
41a8ec:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
41a8f3:	85 c0                	test   %eax,%eax
41a8f5:	74 09                	je     0x41a900
41a8f7:	50                   	push   %eax
41a8f8:	e8 85 ed 05 00       	call   0x479682
41a8fd:	83 c4 04             	add    $0x4,%esp
41a900:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
41a906:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
41a90d:	85 c0                	test   %eax,%eax
41a90f:	74 09                	je     0x41a91a
41a911:	50                   	push   %eax
41a912:	e8 6b ed 05 00       	call   0x479682
41a917:	83 c4 04             	add    $0x4,%esp
41a91a:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
41a920:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
41a927:	00 00 00
41a92a:	85 c0                	test   %eax,%eax
41a92c:	74 09                	je     0x41a937
41a92e:	50                   	push   %eax
41a92f:	e8 4e ed 05 00       	call   0x479682
41a934:	83 c4 04             	add    $0x4,%esp
41a937:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
41a93d:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
41a944:	00 00 00
41a947:	e8 d3 de 04 00       	call   0x46881f
41a94c:	b8 04 00 00 00       	mov    $0x4,%eax
41a951:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a954:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a95b:	59                   	pop    %ecx
41a95c:	5f                   	pop    %edi
41a95d:	5e                   	pop    %esi
41a95e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41a961:	33 cd                	xor    %ebp,%ecx
41a963:	e8 62 f0 04 00       	call   0x4699ca
41a968:	8b e5                	mov    %ebp,%esp
41a96a:	5d                   	pop    %ebp
41a96b:	8b e3                	mov    %ebx,%esp
41a96d:	5b                   	pop    %ebx
41a96e:	c3                   	ret
41a96f:	68 d8 14 4b 00       	push   $0x4b14d8
41a974:	e8 01 de 04 00       	call   0x46877a
41a979:	e8 9f dd 04 00       	call   0x46871d
41a97e:	cc                   	int3
41a97f:	cc                   	int3
41a980:	53                   	push   %ebx
41a981:	56                   	push   %esi
41a982:	57                   	push   %edi
41a983:	8b f9                	mov    %ecx,%edi
41a985:	8b 47 1c             	mov    0x1c(%edi),%eax
41a988:	83 38 00             	cmpl   $0x0,(%eax)
41a98b:	74 32                	je     0x41a9bf
41a98d:	8b 4f 2c             	mov    0x2c(%edi),%ecx
41a990:	8b 01                	mov    (%ecx),%eax
41a992:	83 f8 01             	cmp    $0x1,%eax
41a995:	7e 12                	jle    0x41a9a9
41a997:	48                   	dec    %eax
41a998:	89 01                	mov    %eax,(%ecx)
41a99a:	8b 47 1c             	mov    0x1c(%edi),%eax
41a99d:	5f                   	pop    %edi
41a99e:	5e                   	pop    %esi
41a99f:	5b                   	pop    %ebx
41a9a0:	83 00 02             	addl   $0x2,(%eax)
41a9a3:	8b 00                	mov    (%eax),%eax
41a9a5:	0f b7 00             	movzwl (%eax),%eax
41a9a8:	c3                   	ret
41a9a9:	85 c0                	test   %eax,%eax
41a9ab:	7e 12                	jle    0x41a9bf
41a9ad:	48                   	dec    %eax
41a9ae:	89 01                	mov    %eax,(%ecx)
41a9b0:	8b 4f 1c             	mov    0x1c(%edi),%ecx
41a9b3:	8b 11                	mov    (%ecx),%edx
41a9b5:	8d 42 02             	lea    0x2(%edx),%eax
41a9b8:	89 01                	mov    %eax,(%ecx)
41a9ba:	0f b7 02             	movzwl (%edx),%eax
41a9bd:	eb 14                	jmp    0x41a9d3
41a9bf:	8b 07                	mov    (%edi),%eax
41a9c1:	8b 70 1c             	mov    0x1c(%eax),%esi
41a9c4:	8b ce                	mov    %esi,%ecx
41a9c6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a9cc:	8b cf                	mov    %edi,%ecx
41a9ce:	ff d6                	call   *%esi
41a9d0:	0f b7 c0             	movzwl %ax,%eax
41a9d3:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41a9d8:	66 3b c8             	cmp    %ax,%cx
41a9db:	75 06                	jne    0x41a9e3
41a9dd:	5f                   	pop    %edi
41a9de:	5e                   	pop    %esi
41a9df:	8b c1                	mov    %ecx,%eax
41a9e1:	5b                   	pop    %ebx
41a9e2:	c3                   	ret
41a9e3:	8b 47 1c             	mov    0x1c(%edi),%eax
41a9e6:	8b 08                	mov    (%eax),%ecx
41a9e8:	85 c9                	test   %ecx,%ecx
41a9ea:	74 0f                	je     0x41a9fb
41a9ec:	8b 47 2c             	mov    0x2c(%edi),%eax
41a9ef:	83 38 00             	cmpl   $0x0,(%eax)
41a9f2:	7e 07                	jle    0x41a9fb
41a9f4:	0f b7 01             	movzwl (%ecx),%eax
41a9f7:	5f                   	pop    %edi
41a9f8:	5e                   	pop    %esi
41a9f9:	5b                   	pop    %ebx
41a9fa:	c3                   	ret
41a9fb:	8b 07                	mov    (%edi),%eax
41a9fd:	8b 70 18             	mov    0x18(%eax),%esi
41aa00:	8b ce                	mov    %esi,%ecx
41aa02:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41aa08:	8b cf                	mov    %edi,%ecx
41aa0a:	ff d6                	call   *%esi
41aa0c:	5f                   	pop    %edi
41aa0d:	5e                   	pop    %esi
41aa0e:	0f b7 c0             	movzwl %ax,%eax
41aa11:	5b                   	pop    %ebx
41aa12:	c3                   	ret
41aa13:	cc                   	int3
41aa14:	cc                   	int3
41aa15:	cc                   	int3
41aa16:	cc                   	int3
41aa17:	cc                   	int3
41aa18:	cc                   	int3
41aa19:	cc                   	int3
41aa1a:	cc                   	int3
41aa1b:	cc                   	int3
41aa1c:	cc                   	int3
41aa1d:	cc                   	int3
41aa1e:	cc                   	int3
41aa1f:	cc                   	int3
41aa20:	55                   	push   %ebp
41aa21:	8b ec                	mov    %esp,%ebp
41aa23:	83 ec 0c             	sub    $0xc,%esp
41aa26:	53                   	push   %ebx
41aa27:	56                   	push   %esi
41aa28:	8b f1                	mov    %ecx,%esi
41aa2a:	8b 4e 14             	mov    0x14(%esi),%ecx
41aa2d:	8b 5e 10             	mov    0x10(%esi),%ebx
41aa30:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41aa33:	3b d9                	cmp    %ecx,%ebx
41aa35:	73 24                	jae    0x41aa5b
41aa37:	8d 43 01             	lea    0x1(%ebx),%eax
41aa3a:	89 46 10             	mov    %eax,0x10(%esi)
41aa3d:	83 f9 08             	cmp    $0x8,%ecx
41aa40:	72 02                	jb     0x41aa44
41aa42:	8b 36                	mov    (%esi),%esi
41aa44:	66 8b 45 08          	mov    0x8(%ebp),%ax
41aa48:	66 89 04 5e          	mov    %ax,(%esi,%ebx,2)
41aa4c:	33 c0                	xor    %eax,%eax
41aa4e:	66 89 44 5e 02       	mov    %ax,0x2(%esi,%ebx,2)
41aa53:	5e                   	pop    %esi
41aa54:	5b                   	pop    %ebx
41aa55:	8b e5                	mov    %ebp,%esp
41aa57:	5d                   	pop    %ebp
41aa58:	c2 04 00             	ret    $0x4
41aa5b:	ba fe ff ff 7f       	mov    $0x7ffffffe,%edx
41aa60:	8b c2                	mov    %edx,%eax
41aa62:	2b c3                	sub    %ebx,%eax
41aa64:	83 f8 01             	cmp    $0x1,%eax
41aa67:	0f 82 d5 00 00 00    	jb     0x41ab42
41aa6d:	57                   	push   %edi
41aa6e:	8d 7b 01             	lea    0x1(%ebx),%edi
41aa71:	83 cf 07             	or     $0x7,%edi
41aa74:	3b fa                	cmp    %edx,%edi
41aa76:	76 04                	jbe    0x41aa7c
41aa78:	8b fa                	mov    %edx,%edi
41aa7a:	eb 18                	jmp    0x41aa94
41aa7c:	8b c1                	mov    %ecx,%eax
41aa7e:	d1 e8                	shr    $1,%eax
41aa80:	2b d0                	sub    %eax,%edx
41aa82:	3b ca                	cmp    %edx,%ecx
41aa84:	76 07                	jbe    0x41aa8d
41aa86:	bf fe ff ff 7f       	mov    $0x7ffffffe,%edi
41aa8b:	eb 07                	jmp    0x41aa94
41aa8d:	03 c1                	add    %ecx,%eax
41aa8f:	3b f8                	cmp    %eax,%edi
41aa91:	0f 42 f8             	cmovb  %eax,%edi
41aa94:	33 c9                	xor    %ecx,%ecx
41aa96:	8b c7                	mov    %edi,%eax
41aa98:	83 c0 01             	add    $0x1,%eax
41aa9b:	0f 92 c1             	setb   %cl
41aa9e:	f7 d9                	neg    %ecx
41aaa0:	0b c8                	or     %eax,%ecx
41aaa2:	51                   	push   %ecx
41aaa3:	8b ce                	mov    %esi,%ecx
41aaa5:	e8 66 76 fe ff       	call   0x402110
41aaaa:	8d 4b 01             	lea    0x1(%ebx),%ecx
41aaad:	89 7e 14             	mov    %edi,0x14(%esi)
41aab0:	89 4e 10             	mov    %ecx,0x10(%esi)
41aab3:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
41aab6:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41aab9:	89 45 fc             	mov    %eax,-0x4(%ebp)
41aabc:	8d 3c 01             	lea    (%ecx,%eax,1),%edi
41aabf:	89 7d f4             	mov    %edi,-0xc(%ebp)
41aac2:	51                   	push   %ecx
41aac3:	83 fb 08             	cmp    $0x8,%ebx
41aac6:	72 55                	jb     0x41ab1d
41aac8:	8b 3e                	mov    (%esi),%edi
41aaca:	57                   	push   %edi
41aacb:	50                   	push   %eax
41aacc:	e8 4f 0b 05 00       	call   0x46b620
41aad1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41aad4:	8d 1c 5d 02 00 00 00 	lea    0x2(,%ebx,2),%ebx
41aadb:	66 8b 45 08          	mov    0x8(%ebp),%ax
41aadf:	83 c4 0c             	add    $0xc,%esp
41aae2:	66 89 01             	mov    %ax,(%ecx)
41aae5:	33 c0                	xor    %eax,%eax
41aae7:	66 89 41 02          	mov    %ax,0x2(%ecx)
41aaeb:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
41aaf1:	72 12                	jb     0x41ab05
41aaf3:	8b 4f fc             	mov    -0x4(%edi),%ecx
41aaf6:	83 c3 23             	add    $0x23,%ebx
41aaf9:	2b f9                	sub    %ecx,%edi
41aafb:	8d 47 fc             	lea    -0x4(%edi),%eax
41aafe:	83 f8 1f             	cmp    $0x1f,%eax
41ab01:	77 44                	ja     0x41ab47
41ab03:	8b f9                	mov    %ecx,%edi
41ab05:	53                   	push   %ebx
41ab06:	57                   	push   %edi
41ab07:	e8 fc ee 04 00       	call   0x469a08
41ab0c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ab0f:	83 c4 08             	add    $0x8,%esp
41ab12:	89 06                	mov    %eax,(%esi)
41ab14:	5f                   	pop    %edi
41ab15:	5e                   	pop    %esi
41ab16:	5b                   	pop    %ebx
41ab17:	8b e5                	mov    %ebp,%esp
41ab19:	5d                   	pop    %ebp
41ab1a:	c2 04 00             	ret    $0x4
41ab1d:	56                   	push   %esi
41ab1e:	50                   	push   %eax
41ab1f:	e8 fc 0a 05 00       	call   0x46b620
41ab24:	66 8b 45 08          	mov    0x8(%ebp),%ax
41ab28:	83 c4 0c             	add    $0xc,%esp
41ab2b:	66 89 07             	mov    %ax,(%edi)
41ab2e:	33 c0                	xor    %eax,%eax
41ab30:	66 89 47 02          	mov    %ax,0x2(%edi)
41ab34:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ab37:	5f                   	pop    %edi
41ab38:	89 06                	mov    %eax,(%esi)
41ab3a:	5e                   	pop    %esi
41ab3b:	5b                   	pop    %ebx
41ab3c:	8b e5                	mov    %ebp,%esp
41ab3e:	5d                   	pop    %ebp
41ab3f:	c2 04 00             	ret    $0x4
41ab42:	e8 99 68 fe ff       	call   0x4013e0
41ab47:	e8 e5 ea 05 00       	call   0x479631
41ab4c:	cc                   	int3
41ab4d:	cc                   	int3
41ab4e:	cc                   	int3
41ab4f:	cc                   	int3
41ab50:	55                   	push   %ebp
41ab51:	8b ec                	mov    %esp,%ebp
41ab53:	6a ff                	push   $0xffffffff
41ab55:	68 8b 90 49 00       	push   $0x49908b
41ab5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41ab60:	50                   	push   %eax
41ab61:	81 ec a4 00 00 00    	sub    $0xa4,%esp
41ab67:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41ab6c:	33 c5                	xor    %ebp,%eax
41ab6e:	89 45 f0             	mov    %eax,-0x10(%ebp)
41ab71:	53                   	push   %ebx
41ab72:	56                   	push   %esi
41ab73:	57                   	push   %edi
41ab74:	50                   	push   %eax
41ab75:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ab78:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41ab7e:	8b 4d 18             	mov    0x18(%ebp),%ecx
41ab81:	8b 7d 0c             	mov    0xc(%ebp),%edi
41ab84:	8b 55 14             	mov    0x14(%ebp),%edx
41ab87:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41ab8a:	8b 41 14             	mov    0x14(%ecx),%eax
41ab8d:	8b 75 10             	mov    0x10(%ebp),%esi
41ab90:	25 00 30 00 00       	and    $0x3000,%eax
41ab95:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
41ab9b:	89 55 90             	mov    %edx,-0x70(%ebp)
41ab9e:	89 4d 80             	mov    %ecx,-0x80(%ebp)
41aba1:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
41aba7:	3d 00 30 00 00       	cmp    $0x3000,%eax
41abac:	75 15                	jne    0x41abc3
41abae:	53                   	push   %ebx
41abaf:	51                   	push   %ecx
41abb0:	52                   	push   %edx
41abb1:	56                   	push   %esi
41abb2:	57                   	push   %edi
41abb3:	ff 75 08             	push   0x8(%ebp)
41abb6:	e8 85 17 00 00       	call   0x41c340
41abbb:	83 c4 18             	add    $0x18,%esp
41abbe:	e9 dd 0d 00 00       	jmp    0x41b9a0
41abc3:	8b 41 30             	mov    0x30(%ecx),%eax
41abc6:	8b 58 04             	mov    0x4(%eax),%ebx
41abc9:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
41abcf:	8b 03                	mov    (%ebx),%eax
41abd1:	8b 78 04             	mov    0x4(%eax),%edi
41abd4:	8b cf                	mov    %edi,%ecx
41abd6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41abdc:	8b cb                	mov    %ebx,%ecx
41abde:	ff d7                	call   *%edi
41abe0:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
41abe6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41abed:	50                   	push   %eax
41abee:	e8 3d e3 ff ff       	call   0x418f30
41abf3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41abfa:	83 c4 04             	add    $0x4,%esp
41abfd:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41ac03:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41ac09:	85 db                	test   %ebx,%ebx
41ac0b:	74 29                	je     0x41ac36
41ac0d:	8b 13                	mov    (%ebx),%edx
41ac0f:	8b 7a 08             	mov    0x8(%edx),%edi
41ac12:	8b cf                	mov    %edi,%ecx