401924:	e8 e3 fb ff ff       	call   0x40150c
401929:	83 3c 24 00          	cmpl   $0x0,(%esp)
40192d:	75 a5                	jne    0x4018d4
40192f:	8b cc                	mov    %esp,%ecx
401931:	8b 56 04             	mov    0x4(%esi),%edx
401934:	8b 06                	mov    (%esi),%eax
401936:	e8 b1 fd ff ff       	call   0x4016ec
40193b:	33 c0                	xor    %eax,%eax
40193d:	89 06                	mov    %eax,(%esi)
40193f:	59                   	pop    %ecx
401940:	5a                   	pop    %edx
401941:	5d                   	pop    %ebp
401942:	5f                   	pop    %edi
401943:	5e                   	pop    %esi
401944:	5b                   	pop    %ebx
401945:	c3                   	ret
401946:	8b c0                	mov    %eax,%eax
401948:	53                   	push   %ebx
401949:	56                   	push   %esi
40194a:	57                   	push   %edi
40194b:	55                   	push   %ebp
40194c:	83 c4 ec             	add    $0xffffffec,%esp
40194f:	89 0c 24             	mov    %ecx,(%esp)
401952:	8b fa                	mov    %edx,%edi
401954:	8b f0                	mov    %eax,%esi
401956:	bd f8 85 6a 00       	mov    $0x6a85f8,%ebp
40195b:	81 c7 ff 3f 00 00    	add    $0x3fff,%edi
401961:	81 e7 00 c0 ff ff    	and    $0xffffc000,%edi
401967:	8b 5d 00             	mov    0x0(%ebp),%ebx
40196a:	eb 02                	jmp    0x40196e
40196c:	8b 1b                	mov    (%ebx),%ebx
40196e:	3b dd                	cmp    %ebp,%ebx
401970:	74 05                	je     0x401977
401972:	3b 73 08             	cmp    0x8(%ebx),%esi
401975:	75 f5                	jne    0x40196c
401977:	3b 73 08             	cmp    0x8(%ebx),%esi
40197a:	75 57                	jne    0x4019d3
40197c:	3b 7b 0c             	cmp    0xc(%ebx),%edi
40197f:	0f 8e 96 00 00 00    	jle    0x401a1b
401985:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401989:	8b d7                	mov    %edi,%edx
40198b:	2b 53 0c             	sub    0xc(%ebx),%edx
40198e:	8b 43 08             	mov    0x8(%ebx),%eax
401991:	03 43 0c             	add    0xc(%ebx),%eax
401994:	e8 db fc ff ff       	call   0x401674
401999:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
40199e:	74 33                	je     0x4019d3
4019a0:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4019a4:	8d 54 24 04          	lea    0x4(%esp),%edx
4019a8:	8b c5                	mov    %ebp,%eax
4019aa:	e8 5d fb ff ff       	call   0x40150c
4019af:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4019b4:	75 b1                	jne    0x401967
4019b6:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4019ba:	8b 54 24 08          	mov    0x8(%esp),%edx
4019be:	8b 44 24 04          	mov    0x4(%esp),%eax
4019c2:	e8 25 fd ff ff       	call   0x4016ec
4019c7:	8b 04 24             	mov    (%esp),%eax
4019ca:	33 d2                	xor    %edx,%edx
4019cc:	89 10                	mov    %edx,(%eax)
4019ce:	e9 90 00 00 00       	jmp    0x401a63
4019d3:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4019d7:	8b d7                	mov    %edi,%edx
4019d9:	8b c6                	mov    %esi,%eax
4019db:	e8 94 fc ff ff       	call   0x401674
4019e0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
4019e5:	74 34                	je     0x401a1b
4019e7:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4019eb:	8d 54 24 04          	lea    0x4(%esp),%edx
4019ef:	8b c5                	mov    %ebp,%eax
4019f1:	e8 16 fb ff ff       	call   0x40150c
4019f6:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4019fb:	0f 85 66 ff ff ff    	jne    0x401967
401a01:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
401a05:	8b 54 24 08          	mov    0x8(%esp),%edx
401a09:	8b 44 24 04          	mov    0x4(%esp),%eax
401a0d:	e8 da fc ff ff       	call   0x4016ec
401a12:	8b 04 24             	mov    (%esp),%eax
401a15:	33 d2                	xor    %edx,%edx
401a17:	89 10                	mov    %edx,(%eax)
401a19:	eb 48                	jmp    0x401a63
401a1b:	8b 6b 08             	mov    0x8(%ebx),%ebp
401a1e:	3b f5                	cmp    %ebp,%esi
401a20:	75 3a                	jne    0x401a5c
401a22:	3b 7b 0c             	cmp    0xc(%ebx),%edi
401a25:	7f 35                	jg     0x401a5c
401a27:	8b 0c 24             	mov    (%esp),%ecx
401a2a:	8b d7                	mov    %edi,%edx
401a2c:	8b c5                	mov    %ebp,%eax
401a2e:	e8 71 fd ff ff       	call   0x4017a4
401a33:	8b 04 24             	mov    (%esp),%eax
401a36:	83 38 00             	cmpl   $0x0,(%eax)
401a39:	74 28                	je     0x401a63
401a3b:	8b 04 24             	mov    (%esp),%eax
401a3e:	8b 40 04             	mov    0x4(%eax),%eax
401a41:	01 43 08             	add    %eax,0x8(%ebx)
401a44:	8b 04 24             	mov    (%esp),%eax
401a47:	8b 40 04             	mov    0x4(%eax),%eax
401a4a:	29 43 0c             	sub    %eax,0xc(%ebx)
401a4d:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
401a51:	75 10                	jne    0x401a63
401a53:	8b c3                	mov    %ebx,%eax
401a55:	e8 9a fa ff ff       	call   0x4014f4
401a5a:	eb 07                	jmp    0x401a63
401a5c:	8b 04 24             	mov    (%esp),%eax
401a5f:	33 d2                	xor    %edx,%edx
401a61:	89 10                	mov    %edx,(%eax)
401a63:	83 c4 14             	add    $0x14,%esp
401a66:	5d                   	pop    %ebp
401a67:	5f                   	pop    %edi
401a68:	5e                   	pop    %esi
401a69:	5b                   	pop    %ebx
401a6a:	c3                   	ret
401a6b:	90                   	nop
401a6c:	53                   	push   %ebx
401a6d:	56                   	push   %esi
401a6e:	57                   	push   %edi
401a6f:	83 c4 ec             	add    $0xffffffec,%esp
401a72:	8b f9                	mov    %ecx,%edi
401a74:	89 14 24             	mov    %edx,(%esp)
401a77:	8d 98 ff 3f 00 00    	lea    0x3fff(%eax),%ebx
401a7d:	81 e3 00 c0 ff ff    	and    $0xffffc000,%ebx
401a83:	8b 34 24             	mov    (%esp),%esi
401a86:	03 f0                	add    %eax,%esi
401a88:	81 e6 00 c0 ff ff    	and    $0xffffc000,%esi
401a8e:	3b de                	cmp    %esi,%ebx
401a90:	73 5b                	jae    0x401aed
401a92:	8b cf                	mov    %edi,%ecx
401a94:	8b d6                	mov    %esi,%edx
401a96:	2b d3                	sub    %ebx,%edx
401a98:	8b c3                	mov    %ebx,%eax
401a9a:	e8 99 fd ff ff       	call   0x401838
401a9f:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401aa3:	8b d7                	mov    %edi,%edx
401aa5:	b8 f8 85 6a 00       	mov    $0x6a85f8,%eax
401aaa:	e8 5d fa ff ff       	call   0x40150c
401aaf:	8b 5c 24 04          	mov    0x4(%esp),%ebx
401ab3:	85 db                	test   %ebx,%ebx
401ab5:	74 1f                	je     0x401ad6
401ab7:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
401abb:	8b 54 24 08          	mov    0x8(%esp),%edx
401abf:	8b c3                	mov    %ebx,%eax
401ac1:	e8 26 fc ff ff       	call   0x4016ec
401ac6:	8b 44 24 0c          	mov    0xc(%esp),%eax
401aca:	89 44 24 04          	mov    %eax,0x4(%esp)
401ace:	8b 44 24 10          	mov    0x10(%esp),%eax
401ad2:	89 44 24 08          	mov    %eax,0x8(%esp)
401ad6:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
401adb:	74 14                	je     0x401af1
401add:	8d 54 24 04          	lea    0x4(%esp),%edx
401ae1:	b8 f8 85 6a 00       	mov    $0x6a85f8,%eax
401ae6:	e8 91 fa ff ff       	call   0x40157c
401aeb:	eb 04                	jmp    0x401af1
401aed:	33 c0                	xor    %eax,%eax
401aef:	89 07                	mov    %eax,(%edi)
401af1:	83 c4 14             	add    $0x14,%esp
401af4:	5f                   	pop    %edi
401af5:	5e                   	pop    %esi
401af6:	5b                   	pop    %ebx
401af7:	c3                   	ret
401af8:	55                   	push   %ebp
401af9:	8b ec                	mov    %esp,%ebp
401afb:	33 d2                	xor    %edx,%edx
401afd:	55                   	push   %ebp
401afe:	68 ae 1b 40 00       	push   $0x401bae
401b03:	64 ff 32             	push   %fs:(%edx)
401b06:	64 89 22             	mov    %esp,%fs:(%edx)
401b09:	68 c8 85 6a 00       	push   $0x6a85c8
401b0e:	e8 39 f9 ff ff       	call   0x40144c
401b13:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
401b1a:	74 0a                	je     0x401b26
401b1c:	68 c8 85 6a 00       	push   $0x6a85c8
401b21:	e8 2e f9 ff ff       	call   0x401454
401b26:	b8 e8 85 6a 00       	mov    $0x6a85e8,%eax
401b2b:	e8 8c f9 ff ff       	call   0x4014bc
401b30:	b8 f8 85 6a 00       	mov    $0x6a85f8,%eax
401b35:	e8 82 f9 ff ff       	call   0x4014bc
401b3a:	b8 24 86 6a 00       	mov    $0x6a8624,%eax
401b3f:	e8 78 f9 ff ff       	call   0x4014bc
401b44:	68 f8 0f 00 00       	push   $0xff8
401b49:	6a 00                	push   $0x0
401b4b:	e8 dc f8 ff ff       	call   0x40142c
401b50:	a3 20 86 6a 00       	mov    %eax,0x6a8620
401b55:	83 3d 20 86 6a 00 00 	cmpl   $0x0,0x6a8620
401b5c:	74 2f                	je     0x401b8d
401b5e:	b8 03 00 00 00       	mov    $0x3,%eax
401b63:	8b 15 20 86 6a 00    	mov    0x6a8620,%edx
401b69:	33 c9                	xor    %ecx,%ecx
401b6b:	89 4c 82 f4          	mov    %ecx,-0xc(%edx,%eax,4)
401b6f:	40                   	inc    %eax
401b70:	3d 01 04 00 00       	cmp    $0x401,%eax
401b75:	75 ec                	jne    0x401b63
401b77:	b8 08 86 6a 00       	mov    $0x6a8608,%eax
401b7c:	89 40 04             	mov    %eax,0x4(%eax)
401b7f:	89 00                	mov    %eax,(%eax)
401b81:	a3 14 86 6a 00       	mov    %eax,0x6a8614
401b86:	c6 05 c0 85 6a 00 01 	movb   $0x1,0x6a85c0
401b8d:	33 c0                	xor    %eax,%eax
401b8f:	5a                   	pop    %edx
401b90:	59                   	pop    %ecx
401b91:	59                   	pop    %ecx
401b92:	64 89 10             	mov    %edx,%fs:(%eax)
401b95:	68 b5 1b 40 00       	push   $0x401bb5
401b9a:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
401ba1:	74 0a                	je     0x401bad
401ba3:	68 c8 85 6a 00       	push   $0x6a85c8
401ba8:	e8 af f8 ff ff       	call   0x40145c
401bad:	c3                   	ret
401bae:	e9 59 26 00 00       	jmp    0x40420c
401bb3:	eb e5                	jmp    0x401b9a
401bb5:	a0 c0 85 6a 00       	mov    0x6a85c0,%al
401bba:	5d                   	pop    %ebp
401bbb:	c3                   	ret
401bbc:	55                   	push   %ebp
401bbd:	8b ec                	mov    %esp,%ebp
401bbf:	53                   	push   %ebx
401bc0:	80 3d c0 85 6a 00 00 	cmpb   $0x0,0x6a85c0
401bc7:	0f 84 cc 00 00 00    	je     0x401c99
401bcd:	33 d2                	xor    %edx,%edx
401bcf:	55                   	push   %ebp
401bd0:	68 92 1c 40 00       	push   $0x401c92
401bd5:	64 ff 32             	push   %fs:(%edx)
401bd8:	64 89 22             	mov    %esp,%fs:(%edx)
401bdb:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
401be2:	74 0a                	je     0x401bee
401be4:	68 c8 85 6a 00       	push   $0x6a85c8
401be9:	e8 66 f8 ff ff       	call   0x401454
401bee:	c6 05 c0 85 6a 00 00 	movb   $0x0,0x6a85c0
401bf5:	a1 20 86 6a 00       	mov    0x6a8620,%eax
401bfa:	50                   	push   %eax
401bfb:	e8 34 f8 ff ff       	call   0x401434
401c00:	33 c0                	xor    %eax,%eax
401c02:	a3 20 86 6a 00       	mov    %eax,0x6a8620
401c07:	8b 1d e8 85 6a 00    	mov    0x6a85e8,%ebx
401c0d:	eb 12                	jmp    0x401c21
401c0f:	68 00 80 00 00       	push   $0x8000
401c14:	6a 00                	push   $0x0
401c16:	8b 43 08             	mov    0x8(%ebx),%eax
401c19:	50                   	push   %eax
401c1a:	e8 25 f8 ff ff       	call   0x401444
401c1f:	8b 1b                	mov    (%ebx),%ebx
401c21:	81 fb e8 85 6a 00    	cmp    $0x6a85e8,%ebx
401c27:	75 e6                	jne    0x401c0f
401c29:	b8 e8 85 6a 00       	mov    $0x6a85e8,%eax
401c2e:	e8 89 f8 ff ff       	call   0x4014bc
401c33:	b8 f8 85 6a 00       	mov    $0x6a85f8,%eax
401c38:	e8 7f f8 ff ff       	call   0x4014bc
401c3d:	b8 24 86 6a 00       	mov    $0x6a8624,%eax
401c42:	e8 75 f8 ff ff       	call   0x4014bc
401c47:	a1 e0 85 6a 00       	mov    0x6a85e0,%eax
401c4c:	85 c0                	test   %eax,%eax
401c4e:	74 17                	je     0x401c67
401c50:	8b 10                	mov    (%eax),%edx
401c52:	89 15 e0 85 6a 00    	mov    %edx,0x6a85e0
401c58:	50                   	push   %eax
401c59:	e8 d6 f7 ff ff       	call   0x401434
401c5e:	a1 e0 85 6a 00       	mov    0x6a85e0,%eax
401c63:	85 c0                	test   %eax,%eax
401c65:	75 e9                	jne    0x401c50
401c67:	33 c0                	xor    %eax,%eax
401c69:	5a                   	pop    %edx
401c6a:	59                   	pop    %ecx
401c6b:	59                   	pop    %ecx
401c6c:	64 89 10             	mov    %edx,%fs:(%eax)
401c6f:	68 99 1c 40 00       	push   $0x401c99
401c74:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
401c7b:	74 0a                	je     0x401c87
401c7d:	68 c8 85 6a 00       	push   $0x6a85c8
401c82:	e8 d5 f7 ff ff       	call   0x40145c
401c87:	68 c8 85 6a 00       	push   $0x6a85c8
401c8c:	e8 d3 f7 ff ff       	call   0x401464
401c91:	c3                   	ret
401c92:	e9 75 25 00 00       	jmp    0x40420c
401c97:	eb db                	jmp    0x401c74
401c99:	5b                   	pop    %ebx
401c9a:	5d                   	pop    %ebp
401c9b:	c3                   	ret
401c9c:	53                   	push   %ebx
401c9d:	3b 05 14 86 6a 00    	cmp    0x6a8614,%eax
401ca3:	75 09                	jne    0x401cae
401ca5:	8b 50 04             	mov    0x4(%eax),%edx
401ca8:	89 15 14 86 6a 00    	mov    %edx,0x6a8614
401cae:	8b 50 04             	mov    0x4(%eax),%edx
401cb1:	8b 48 08             	mov    0x8(%eax),%ecx
401cb4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401cba:	7f 38                	jg     0x401cf4
401cbc:	3b c2                	cmp    %edx,%eax
401cbe:	75 17                	jne    0x401cd7
401cc0:	85 c9                	test   %ecx,%ecx
401cc2:	79 03                	jns    0x401cc7
401cc4:	83 c1 03             	add    $0x3,%ecx
401cc7:	c1 f9 02             	sar    $0x2,%ecx
401cca:	a1 20 86 6a 00       	mov    0x6a8620,%eax
401ccf:	33 d2                	xor    %edx,%edx
401cd1:	89 54 88 f4          	mov    %edx,-0xc(%eax,%ecx,4)
401cd5:	eb 24                	jmp    0x401cfb
401cd7:	85 c9                	test   %ecx,%ecx
401cd9:	79 03                	jns    0x401cde
401cdb:	83 c1 03             	add    $0x3,%ecx
401cde:	c1 f9 02             	sar    $0x2,%ecx
401ce1:	8b 1d 20 86 6a 00    	mov    0x6a8620,%ebx
401ce7:	89 54 8b f4          	mov    %edx,-0xc(%ebx,%ecx,4)
401ceb:	8b 00                	mov    (%eax),%eax
401ced:	89 02                	mov    %eax,(%edx)
401cef:	89 50 04             	mov    %edx,0x4(%eax)
401cf2:	5b                   	pop    %ebx
401cf3:	c3                   	ret
401cf4:	8b 00                	mov    (%eax),%eax
401cf6:	89 02                	mov    %eax,(%edx)
401cf8:	89 50 04             	mov    %edx,0x4(%eax)
401cfb:	5b                   	pop    %ebx
401cfc:	c3                   	ret
401cfd:	8d 40 00             	lea    0x0(%eax),%eax
401d00:	8b 15 24 86 6a 00    	mov    0x6a8624,%edx
401d06:	eb 10                	jmp    0x401d18
401d08:	8b 4a 08             	mov    0x8(%edx),%ecx
401d0b:	3b c1                	cmp    %ecx,%eax
401d0d:	72 07                	jb     0x401d16
401d0f:	03 4a 0c             	add    0xc(%edx),%ecx
401d12:	3b c1                	cmp    %ecx,%eax
401d14:	72 16                	jb     0x401d2c
401d16:	8b 12                	mov    (%edx),%edx
401d18:	81 fa 24 86 6a 00    	cmp    $0x6a8624,%edx
401d1e:	75 e8                	jne    0x401d08
401d20:	c7 05 c4 85 6a 00 03 	movl   $0x3,0x6a85c4
401d27:	00 00 00
401d2a:	33 d2                	xor    %edx,%edx
401d2c:	8b c2                	mov    %edx,%eax
401d2e:	c3                   	ret
401d2f:	90                   	nop
401d30:	53                   	push   %ebx
401d31:	8b ca                	mov    %edx,%ecx
401d33:	83 e9 04             	sub    $0x4,%ecx
401d36:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
401d39:	83 fa 10             	cmp    $0x10,%edx
401d3c:	7c 0f                	jl     0x401d4d
401d3e:	c7 03 07 00 00 80    	movl   $0x80000007,(%ebx)
401d44:	8b d1                	mov    %ecx,%edx
401d46:	e8 b9 01 00 00       	call   0x401f04
401d4b:	5b                   	pop    %ebx
401d4c:	c3                   	ret
401d4d:	83 fa 04             	cmp    $0x4,%edx
401d50:	7c 0c                	jl     0x401d5e
401d52:	8b ca                	mov    %edx,%ecx
401d54:	81 c9 02 00 00 80    	or     $0x80000002,%ecx
401d5a:	89 08                	mov    %ecx,(%eax)
401d5c:	89 0b                	mov    %ecx,(%ebx)
401d5e:	5b                   	pop    %ebx
401d5f:	c3                   	ret
401d60:	ff 05 b4 85 6a 00    	incl   0x6a85b4