4018f4:	8b 06                	mov    (%esi),%eax
4018f6:	e8 b1 fd ff ff       	call   0x4016ac
4018fb:	33 c0                	xor    %eax,%eax
4018fd:	89 06                	mov    %eax,(%esi)
4018ff:	59                   	pop    %ecx
401900:	5a                   	pop    %edx
401901:	5d                   	pop    %ebp
401902:	5f                   	pop    %edi
401903:	5e                   	pop    %esi
401904:	5b                   	pop    %ebx
401905:	c3                   	ret
401906:	8b c0                	mov    %eax,%eax
401908:	53                   	push   %ebx
401909:	56                   	push   %esi
40190a:	57                   	push   %edi
40190b:	55                   	push   %ebp
40190c:	83 c4 ec             	add    $0xffffffec,%esp
40190f:	89 0c 24             	mov    %ecx,(%esp)
401912:	8b fa                	mov    %edx,%edi
401914:	8b f0                	mov    %eax,%esi
401916:	bd fc c5 49 00       	mov    $0x49c5fc,%ebp
40191b:	81 c7 ff 3f 00 00    	add    $0x3fff,%edi
401921:	81 e7 00 c0 ff ff    	and    $0xffffc000,%edi
401927:	8b 5d 00             	mov    0x0(%ebp),%ebx
40192a:	eb 02                	jmp    0x40192e
40192c:	8b 1b                	mov    (%ebx),%ebx
40192e:	3b dd                	cmp    %ebp,%ebx
401930:	74 05                	je     0x401937
401932:	3b 73 08             	cmp    0x8(%ebx),%esi
401935:	75 f5                	jne    0x40192c
401937:	3b 73 08             	cmp    0x8(%ebx),%esi
40193a:	75 57                	jne    0x401993
40193c:	3b 7b 0c             	cmp    0xc(%ebx),%edi
40193f:	0f 8e 96 00 00 00    	jle    0x4019db
401945:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401949:	8b d7                	mov    %edi,%edx
40194b:	2b 53 0c             	sub    0xc(%ebx),%edx
40194e:	8b 43 08             	mov    0x8(%ebx),%eax
401951:	03 43 0c             	add    0xc(%ebx),%eax
401954:	e8 db fc ff ff       	call   0x401634
401959:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
40195e:	74 33                	je     0x401993
401960:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
401964:	8d 54 24 04          	lea    0x4(%esp),%edx
401968:	8b c5                	mov    %ebp,%eax
40196a:	e8 5d fb ff ff       	call   0x4014cc
40196f:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
401974:	75 b1                	jne    0x401927
401976:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40197a:	8b 54 24 08          	mov    0x8(%esp),%edx
40197e:	8b 44 24 04          	mov    0x4(%esp),%eax
401982:	e8 25 fd ff ff       	call   0x4016ac
401987:	8b 04 24             	mov    (%esp),%eax
40198a:	33 d2                	xor    %edx,%edx
40198c:	89 10                	mov    %edx,(%eax)
40198e:	e9 90 00 00 00       	jmp    0x401a23
401993:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401997:	8b d7                	mov    %edi,%edx
401999:	8b c6                	mov    %esi,%eax
40199b:	e8 94 fc ff ff       	call   0x401634
4019a0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
4019a5:	74 34                	je     0x4019db
4019a7:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4019ab:	8d 54 24 04          	lea    0x4(%esp),%edx
4019af:	8b c5                	mov    %ebp,%eax
4019b1:	e8 16 fb ff ff       	call   0x4014cc
4019b6:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4019bb:	0f 85 66 ff ff ff    	jne    0x401927
4019c1:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4019c5:	8b 54 24 08          	mov    0x8(%esp),%edx
4019c9:	8b 44 24 04          	mov    0x4(%esp),%eax
4019cd:	e8 da fc ff ff       	call   0x4016ac
4019d2:	8b 04 24             	mov    (%esp),%eax
4019d5:	33 d2                	xor    %edx,%edx
4019d7:	89 10                	mov    %edx,(%eax)
4019d9:	eb 48                	jmp    0x401a23
4019db:	8b 6b 08             	mov    0x8(%ebx),%ebp
4019de:	3b f5                	cmp    %ebp,%esi
4019e0:	75 3a                	jne    0x401a1c
4019e2:	3b 7b 0c             	cmp    0xc(%ebx),%edi
4019e5:	7f 35                	jg     0x401a1c
4019e7:	8b 0c 24             	mov    (%esp),%ecx
4019ea:	8b d7                	mov    %edi,%edx
4019ec:	8b c5                	mov    %ebp,%eax
4019ee:	e8 71 fd ff ff       	call   0x401764
4019f3:	8b 04 24             	mov    (%esp),%eax
4019f6:	83 38 00             	cmpl   $0x0,(%eax)
4019f9:	74 28                	je     0x401a23
4019fb:	8b 04 24             	mov    (%esp),%eax
4019fe:	8b 40 04             	mov    0x4(%eax),%eax
401a01:	01 43 08             	add    %eax,0x8(%ebx)
401a04:	8b 04 24             	mov    (%esp),%eax
401a07:	8b 40 04             	mov    0x4(%eax),%eax
401a0a:	29 43 0c             	sub    %eax,0xc(%ebx)
401a0d:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
401a11:	75 10                	jne    0x401a23
401a13:	8b c3                	mov    %ebx,%eax
401a15:	e8 9a fa ff ff       	call   0x4014b4
401a1a:	eb 07                	jmp    0x401a23
401a1c:	8b 04 24             	mov    (%esp),%eax
401a1f:	33 d2                	xor    %edx,%edx
401a21:	89 10                	mov    %edx,(%eax)
401a23:	83 c4 14             	add    $0x14,%esp
401a26:	5d                   	pop    %ebp
401a27:	5f                   	pop    %edi
401a28:	5e                   	pop    %esi
401a29:	5b                   	pop    %ebx
401a2a:	c3                   	ret
401a2b:	90                   	nop
401a2c:	53                   	push   %ebx
401a2d:	56                   	push   %esi
401a2e:	57                   	push   %edi
401a2f:	83 c4 ec             	add    $0xffffffec,%esp
401a32:	8b f9                	mov    %ecx,%edi
401a34:	89 14 24             	mov    %edx,(%esp)
401a37:	8d 98 ff 3f 00 00    	lea    0x3fff(%eax),%ebx
401a3d:	81 e3 00 c0 ff ff    	and    $0xffffc000,%ebx
401a43:	8b 34 24             	mov    (%esp),%esi
401a46:	03 f0                	add    %eax,%esi
401a48:	81 e6 00 c0 ff ff    	and    $0xffffc000,%esi
401a4e:	3b de                	cmp    %esi,%ebx
401a50:	73 5b                	jae    0x401aad
401a52:	8b cf                	mov    %edi,%ecx
401a54:	8b d6                	mov    %esi,%edx
401a56:	2b d3                	sub    %ebx,%edx
401a58:	8b c3                	mov    %ebx,%eax
401a5a:	e8 99 fd ff ff       	call   0x4017f8
401a5f:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401a63:	8b d7                	mov    %edi,%edx
401a65:	b8 fc c5 49 00       	mov    $0x49c5fc,%eax
401a6a:	e8 5d fa ff ff       	call   0x4014cc
401a6f:	8b 5c 24 04          	mov    0x4(%esp),%ebx
401a73:	85 db                	test   %ebx,%ebx
401a75:	74 1f                	je     0x401a96
401a77:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
401a7b:	8b 54 24 08          	mov    0x8(%esp),%edx
401a7f:	8b c3                	mov    %ebx,%eax
401a81:	e8 26 fc ff ff       	call   0x4016ac
401a86:	8b 44 24 0c          	mov    0xc(%esp),%eax
401a8a:	89 44 24 04          	mov    %eax,0x4(%esp)
401a8e:	8b 44 24 10          	mov    0x10(%esp),%eax
401a92:	89 44 24 08          	mov    %eax,0x8(%esp)
401a96:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
401a9b:	74 14                	je     0x401ab1
401a9d:	8d 54 24 04          	lea    0x4(%esp),%edx
401aa1:	b8 fc c5 49 00       	mov    $0x49c5fc,%eax
401aa6:	e8 91 fa ff ff       	call   0x40153c
401aab:	eb 04                	jmp    0x401ab1
401aad:	33 c0                	xor    %eax,%eax
401aaf:	89 07                	mov    %eax,(%edi)
401ab1:	83 c4 14             	add    $0x14,%esp
401ab4:	5f                   	pop    %edi
401ab5:	5e                   	pop    %esi
401ab6:	5b                   	pop    %ebx
401ab7:	c3                   	ret
401ab8:	55                   	push   %ebp
401ab9:	8b ec                	mov    %esp,%ebp
401abb:	33 d2                	xor    %edx,%edx
401abd:	55                   	push   %ebp
401abe:	68 6e 1b 40 00       	push   $0x401b6e
401ac3:	64 ff 32             	push   %fs:(%edx)
401ac6:	64 89 22             	mov    %esp,%fs:(%edx)
401ac9:	68 cc c5 49 00       	push   $0x49c5cc
401ace:	e8 39 f9 ff ff       	call   0x40140c
401ad3:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
401ada:	74 0a                	je     0x401ae6
401adc:	68 cc c5 49 00       	push   $0x49c5cc
401ae1:	e8 2e f9 ff ff       	call   0x401414
401ae6:	b8 ec c5 49 00       	mov    $0x49c5ec,%eax
401aeb:	e8 8c f9 ff ff       	call   0x40147c
401af0:	b8 fc c5 49 00       	mov    $0x49c5fc,%eax
401af5:	e8 82 f9 ff ff       	call   0x40147c
401afa:	b8 28 c6 49 00       	mov    $0x49c628,%eax
401aff:	e8 78 f9 ff ff       	call   0x40147c
401b04:	68 f8 0f 00 00       	push   $0xff8
401b09:	6a 00                	push   $0x0
401b0b:	e8 dc f8 ff ff       	call   0x4013ec
401b10:	a3 24 c6 49 00       	mov    %eax,0x49c624
401b15:	83 3d 24 c6 49 00 00 	cmpl   $0x0,0x49c624
401b1c:	74 2f                	je     0x401b4d
401b1e:	b8 03 00 00 00       	mov    $0x3,%eax
401b23:	8b 15 24 c6 49 00    	mov    0x49c624,%edx
401b29:	33 c9                	xor    %ecx,%ecx
401b2b:	89 4c 82 f4          	mov    %ecx,-0xc(%edx,%eax,4)
401b2f:	40                   	inc    %eax
401b30:	3d 01 04 00 00       	cmp    $0x401,%eax
401b35:	75 ec                	jne    0x401b23
401b37:	b8 0c c6 49 00       	mov    $0x49c60c,%eax
401b3c:	89 40 04             	mov    %eax,0x4(%eax)
401b3f:	89 00                	mov    %eax,(%eax)
401b41:	a3 18 c6 49 00       	mov    %eax,0x49c618
401b46:	c6 05 c4 c5 49 00 01 	movb   $0x1,0x49c5c4
401b4d:	33 c0                	xor    %eax,%eax
401b4f:	5a                   	pop    %edx
401b50:	59                   	pop    %ecx
401b51:	59                   	pop    %ecx
401b52:	64 89 10             	mov    %edx,%fs:(%eax)
401b55:	68 75 1b 40 00       	push   $0x401b75
401b5a:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
401b61:	74 0a                	je     0x401b6d
401b63:	68 cc c5 49 00       	push   $0x49c5cc
401b68:	e8 af f8 ff ff       	call   0x40141c
401b6d:	c3                   	ret
401b6e:	e9 f5 1f 00 00       	jmp    0x403b68
401b73:	eb e5                	jmp    0x401b5a
401b75:	a0 c4 c5 49 00       	mov    0x49c5c4,%al
401b7a:	5d                   	pop    %ebp
401b7b:	c3                   	ret
401b7c:	55                   	push   %ebp
401b7d:	8b ec                	mov    %esp,%ebp
401b7f:	53                   	push   %ebx
401b80:	80 3d c4 c5 49 00 00 	cmpb   $0x0,0x49c5c4
401b87:	0f 84 cc 00 00 00    	je     0x401c59
401b8d:	33 d2                	xor    %edx,%edx
401b8f:	55                   	push   %ebp
401b90:	68 52 1c 40 00       	push   $0x401c52
401b95:	64 ff 32             	push   %fs:(%edx)
401b98:	64 89 22             	mov    %esp,%fs:(%edx)
401b9b:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
401ba2:	74 0a                	je     0x401bae
401ba4:	68 cc c5 49 00       	push   $0x49c5cc
401ba9:	e8 66 f8 ff ff       	call   0x401414
401bae:	c6 05 c4 c5 49 00 00 	movb   $0x0,0x49c5c4
401bb5:	a1 24 c6 49 00       	mov    0x49c624,%eax
401bba:	50                   	push   %eax
401bbb:	e8 34 f8 ff ff       	call   0x4013f4
401bc0:	33 c0                	xor    %eax,%eax
401bc2:	a3 24 c6 49 00       	mov    %eax,0x49c624
401bc7:	8b 1d ec c5 49 00    	mov    0x49c5ec,%ebx
401bcd:	eb 12                	jmp    0x401be1
401bcf:	68 00 80 00 00       	push   $0x8000
401bd4:	6a 00                	push   $0x0
401bd6:	8b 43 08             	mov    0x8(%ebx),%eax
401bd9:	50                   	push   %eax
401bda:	e8 25 f8 ff ff       	call   0x401404
401bdf:	8b 1b                	mov    (%ebx),%ebx
401be1:	81 fb ec c5 49 00    	cmp    $0x49c5ec,%ebx
401be7:	75 e6                	jne    0x401bcf
401be9:	b8 ec c5 49 00       	mov    $0x49c5ec,%eax
401bee:	e8 89 f8 ff ff       	call   0x40147c
401bf3:	b8 fc c5 49 00       	mov    $0x49c5fc,%eax
401bf8:	e8 7f f8 ff ff       	call   0x40147c
401bfd:	b8 28 c6 49 00       	mov    $0x49c628,%eax
401c02:	e8 75 f8 ff ff       	call   0x40147c
401c07:	a1 e4 c5 49 00       	mov    0x49c5e4,%eax
401c0c:	85 c0                	test   %eax,%eax
401c0e:	74 17                	je     0x401c27
401c10:	8b 10                	mov    (%eax),%edx
401c12:	89 15 e4 c5 49 00    	mov    %edx,0x49c5e4
401c18:	50                   	push   %eax
401c19:	e8 d6 f7 ff ff       	call   0x4013f4
401c1e:	a1 e4 c5 49 00       	mov    0x49c5e4,%eax
401c23:	85 c0                	test   %eax,%eax
401c25:	75 e9                	jne    0x401c10
401c27:	33 c0                	xor    %eax,%eax
401c29:	5a                   	pop    %edx
401c2a:	59                   	pop    %ecx
401c2b:	59                   	pop    %ecx
401c2c:	64 89 10             	mov    %edx,%fs:(%eax)
401c2f:	68 59 1c 40 00       	push   $0x401c59
401c34:	80 3d 4d c0 49 00 00 	cmpb   $0x0,0x49c04d
401c3b:	74 0a                	je     0x401c47
401c3d:	68 cc c5 49 00       	push   $0x49c5cc
401c42:	e8 d5 f7 ff ff       	call   0x40141c
401c47:	68 cc c5 49 00       	push   $0x49c5cc
401c4c:	e8 d3 f7 ff ff       	call   0x401424
401c51:	c3                   	ret
401c52:	e9 11 1f 00 00       	jmp    0x403b68
401c57:	eb db                	jmp    0x401c34
401c59:	5b                   	pop    %ebx
401c5a:	5d                   	pop    %ebp
401c5b:	c3                   	ret
401c5c:	53                   	push   %ebx
401c5d:	3b 05 18 c6 49 00    	cmp    0x49c618,%eax
401c63:	75 09                	jne    0x401c6e
401c65:	8b 50 04             	mov    0x4(%eax),%edx
401c68:	89 15 18 c6 49 00    	mov    %edx,0x49c618
401c6e:	8b 50 04             	mov    0x4(%eax),%edx
401c71:	8b 48 08             	mov    0x8(%eax),%ecx
401c74:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401c7a:	7f 38                	jg     0x401cb4
401c7c:	3b c2                	cmp    %edx,%eax
401c7e:	75 17                	jne    0x401c97
401c80:	85 c9                	test   %ecx,%ecx
401c82:	79 03                	jns    0x401c87
401c84:	83 c1 03             	add    $0x3,%ecx
401c87:	c1 f9 02             	sar    $0x2,%ecx
401c8a:	a1 24 c6 49 00       	mov    0x49c624,%eax
401c8f:	33 d2                	xor    %edx,%edx
401c91:	89 54 88 f4          	mov    %edx,-0xc(%eax,%ecx,4)
401c95:	eb 24                	jmp    0x401cbb
401c97:	85 c9                	test   %ecx,%ecx
401c99:	79 03                	jns    0x401c9e
401c9b:	83 c1 03             	add    $0x3,%ecx
401c9e:	c1 f9 02             	sar    $0x2,%ecx
401ca1:	8b 1d 24 c6 49 00    	mov    0x49c624,%ebx
401ca7:	89 54 8b f4          	mov    %edx,-0xc(%ebx,%ecx,4)
401cab:	8b 00                	mov    (%eax),%eax
401cad:	89 02                	mov    %eax,(%edx)
401caf:	89 50 04             	mov    %edx,0x4(%eax)
401cb2:	5b                   	pop    %ebx
401cb3:	c3                   	ret
401cb4:	8b 00                	mov    (%eax),%eax
401cb6:	89 02                	mov    %eax,(%edx)
401cb8:	89 50 04             	mov    %edx,0x4(%eax)
401cbb:	5b                   	pop    %ebx
401cbc:	c3                   	ret
401cbd:	8d 40 00             	lea    0x0(%eax),%eax
401cc0:	8b 15 28 c6 49 00    	mov    0x49c628,%edx
401cc6:	eb 10                	jmp    0x401cd8
401cc8:	8b 4a 08             	mov    0x8(%edx),%ecx
401ccb:	3b c1                	cmp    %ecx,%eax
401ccd:	72 07                	jb     0x401cd6
401ccf:	03 4a 0c             	add    0xc(%edx),%ecx
401cd2:	3b c1                	cmp    %ecx,%eax
401cd4:	72 16                	jb     0x401cec
401cd6:	8b 12                	mov    (%edx),%edx
401cd8:	81 fa 28 c6 49 00    	cmp    $0x49c628,%edx
401cde:	75 e8                	jne    0x401cc8
401ce0:	c7 05 c8 c5 49 00 03 	movl   $0x3,0x49c5c8
401ce7:	00 00 00
401cea:	33 d2                	xor    %edx,%edx
401cec:	8b c2                	mov    %edx,%eax
401cee:	c3                   	ret
401cef:	90                   	nop
401cf0:	53                   	push   %ebx
401cf1:	8b ca                	mov    %edx,%ecx
401cf3:	83 e9 04             	sub    $0x4,%ecx
401cf6:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
401cf9:	83 fa 10             	cmp    $0x10,%edx
401cfc:	7c 0f                	jl     0x401d0d
401cfe:	c7 03 07 00 00 80    	movl   $0x80000007,(%ebx)
401d04:	8b d1                	mov    %ecx,%edx
401d06:	e8 b9 01 00 00       	call   0x401ec4
401d0b:	5b                   	pop    %ebx
401d0c:	c3                   	ret
401d0d:	83 fa 04             	cmp    $0x4,%edx
401d10:	7c 0c                	jl     0x401d1e
401d12:	8b ca                	mov    %edx,%ecx
401d14:	81 c9 02 00 00 80    	or     $0x80000002,%ecx
401d1a:	89 08                	mov    %ecx,(%eax)
401d1c:	89 0b                	mov    %ecx,(%ebx)
401d1e:	5b                   	pop    %ebx
401d1f:	c3                   	ret
401d20:	ff 05 b4 c5 49 00    	incl   0x49c5b4
401d26:	8b d0                	mov    %eax,%edx
401d28:	83 ea 04             	sub    $0x4,%edx
401d2b:	8b 12                	mov    (%edx),%edx
401d2d:	81 e2 fc ff ff 7f    	and    $0x7ffffffc,%edx
401d33:	83 ea 04             	sub    $0x4,%edx