415af8:	5e                   	pop    %esi
415af9:	56                   	push   %esi
415afa:	51                   	push   %ecx
415afb:	ab                   	stos   %eax,%es:(%edi)
415afc:	89 5c 24 64          	mov    %ebx,0x64(%esp)
415b00:	ab                   	stos   %eax,%es:(%edi)
415b01:	ab                   	stos   %eax,%es:(%edi)
415b02:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
415b09:	50                   	push   %eax
415b0a:	e8 ae 24 00 00       	call   0x417fbd
415b0f:	83 c4 0c             	add    $0xc,%esp
415b12:	c7 44 24 0c 10 00 08 	movl   $0x80010,0xc(%esp)
415b19:	00
415b1a:	89 b4 24 80 00 00 00 	mov    %esi,0x80(%esp)
415b21:	66 89 9c 24 b0 00 00 	mov    %bx,0xb0(%esp)
415b28:	00
415b29:	6a f6                	push   $0xfffffff6
415b2b:	ff 15 bc a1 44 00    	call   *0x44a1bc
415b31:	6a f5                	push   $0xfffffff5
415b33:	89 84 24 bc 00 00 00 	mov    %eax,0xbc(%esp)
415b3a:	ff 15 bc a1 44 00    	call   *0x44a1bc
415b40:	6a f4                	push   $0xfffffff4
415b42:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%esp)
415b49:	ff 15 bc a1 44 00    	call   *0x44a1bc
415b4f:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
415b54:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%esp)
415b5b:	0f 84 c7 ba 00 00    	je     0x421628
415b61:	33 c0                	xor    %eax,%eax
415b63:	88 9c 24 7c 03 00 00 	mov    %bl,0x37c(%esp)
415b6a:	be 04 01 00 00       	mov    $0x104,%esi
415b6f:	89 84 24 78 03 00 00 	mov    %eax,0x378(%esp)
415b76:	56                   	push   %esi
415b77:	50                   	push   %eax
415b78:	8d 84 24 78 01 00 00 	lea    0x178(%esp),%eax
415b7f:	89 b4 24 88 03 00 00 	mov    %esi,0x388(%esp)
415b86:	50                   	push   %eax
415b87:	e8 31 24 00 00       	call   0x417fbd
415b8c:	33 c0                	xor    %eax,%eax
415b8e:	8d 8c 24 7c 01 00 00 	lea    0x17c(%esp),%ecx
415b95:	83 c4 0c             	add    $0xc,%esp
415b98:	38 84 24 7c 03 00 00 	cmp    %al,0x37c(%esp)
415b9f:	0f 94 c0             	sete   %al
415ba2:	48                   	dec    %eax
415ba3:	25 e3 7e 00 00       	and    $0x7ee3,%eax
415ba8:	03 c6                	add    %esi,%eax
415baa:	50                   	push   %eax
415bab:	e8 40 88 ff ff       	call   0x40e3f0
415bb0:	85 c0                	test   %eax,%eax
415bb2:	0f 88 4d 04 00 00    	js     0x416005
415bb8:	bf 34 27 40 00       	mov    $0x402734,%edi
415bbd:	be 00 40 00 00       	mov    $0x4000,%esi
415bc2:	57                   	push   %edi
415bc3:	56                   	push   %esi
415bc4:	e8 5c 12 00 00       	call   0x416e25
415bc9:	57                   	push   %edi
415bca:	56                   	push   %esi
415bcb:	89 44 24 34          	mov    %eax,0x34(%esp)
415bcf:	e8 51 12 00 00       	call   0x416e25
415bd4:	57                   	push   %edi
415bd5:	56                   	push   %esi
415bd6:	89 44 24 4c          	mov    %eax,0x4c(%esp)
415bda:	e8 46 12 00 00       	call   0x416e25
415bdf:	57                   	push   %edi
415be0:	68 00 40 00 00       	push   $0x4000
415be5:	8b f0                	mov    %eax,%esi
415be7:	e8 39 12 00 00       	call   0x416e25
415bec:	8b f8                	mov    %eax,%edi
415bee:	68 34 27 40 00       	push   $0x402734
415bf3:	68 00 40 00 00       	push   $0x4000
415bf8:	89 bc 24 80 00 00 00 	mov    %edi,0x80(%esp)
415bff:	e8 21 12 00 00       	call   0x416e25
415c04:	68 34 27 40 00       	push   $0x402734
415c09:	68 00 40 00 00       	push   $0x4000
415c0e:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
415c15:	e8 0b 12 00 00       	call   0x416e25
415c1a:	68 34 27 40 00       	push   $0x402734
415c1f:	68 00 40 00 00       	push   $0x4000
415c24:	89 44 24 78          	mov    %eax,0x78(%esp)
415c28:	e8 f8 11 00 00       	call   0x416e25
415c2d:	83 c4 38             	add    $0x38,%esp
415c30:	8b c8                	mov    %eax,%ecx
415c32:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
415c37:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
415c3b:	0f 84 5c 03 00 00    	je     0x415f9d
415c41:	8b 44 24 34          	mov    0x34(%esp),%eax
415c45:	85 c0                	test   %eax,%eax
415c47:	0f 84 50 03 00 00    	je     0x415f9d
415c4d:	85 f6                	test   %esi,%esi
415c4f:	0f 84 48 03 00 00    	je     0x415f9d
415c55:	85 ff                	test   %edi,%edi
415c57:	0f 84 40 03 00 00    	je     0x415f9d
415c5d:	83 7c 24 50 00       	cmpl   $0x0,0x50(%esp)
415c62:	0f 84 35 03 00 00    	je     0x415f9d
415c68:	83 7c 24 40 00       	cmpl   $0x0,0x40(%esp)
415c6d:	0f 84 2a 03 00 00    	je     0x415f9d
415c73:	85 c9                	test   %ecx,%ecx
415c75:	0f 84 22 03 00 00    	je     0x415f9d
415c7b:	33 c9                	xor    %ecx,%ecx
415c7d:	c7 44 24 64 05 00 00 	movl   $0x5,0x64(%esp)
415c84:	00
415c85:	66 89 0f             	mov    %cx,(%edi)
415c88:	66 89 08             	mov    %cx,(%eax)
415c8b:	8b 44 24 28          	mov    0x28(%esp),%eax
415c8f:	33 c9                	xor    %ecx,%ecx
415c91:	66 39 08             	cmp    %cx,(%eax)
415c94:	74 5e                	je     0x415cf4
415c96:	8b c8                	mov    %eax,%ecx
415c98:	e8 e2 4e ff ff       	call   0x40ab7f
415c9d:	6a 22                	push   $0x22
415c9f:	5a                   	pop    %edx
415ca0:	89 44 24 14          	mov    %eax,0x14(%esp)
415ca4:	0f b7 08             	movzwl (%eax),%ecx
415ca7:	66 3b ca             	cmp    %dx,%cx
415caa:	0f 84 88 b9 00 00    	je     0x421638
415cb0:	8d 54 24 14          	lea    0x14(%esp),%edx
415cb4:	68 00 20 00 00       	push   $0x2000
415cb9:	83 f9 2f             	cmp    $0x2f,%ecx
415cbc:	0f 84 76 03 00 00    	je     0x416038
415cc2:	57                   	push   %edi
415cc3:	33 c9                	xor    %ecx,%ecx
415cc5:	e8 98 04 00 00       	call   0x416162
415cca:	3b c3                	cmp    %ebx,%eax
415ccc:	0f 84 cb 02 00 00    	je     0x415f9d
415cd2:	8b 44 24 14          	mov    0x14(%esp),%eax
415cd6:	33 c9                	xor    %ecx,%ecx
415cd8:	66 39 08             	cmp    %cx,(%eax)
415cdb:	74 17                	je     0x415cf4
415cdd:	8b 4c 24 34          	mov    0x34(%esp),%ecx
415ce1:	ba 00 20 00 00       	mov    $0x2000,%edx
415ce6:	50                   	push   %eax
415ce7:	e8 b4 96 ff ff       	call   0x40f3a0
415cec:	8b 44 24 34          	mov    0x34(%esp),%eax
415cf0:	89 44 24 60          	mov    %eax,0x60(%esp)
415cf4:	33 c0                	xor    %eax,%eax
415cf6:	66 39 07             	cmp    %ax,(%edi)
415cf9:	0f 84 a4 bd 00 00    	je     0x421aa3
415cff:	6a 22                	push   $0x22
415d01:	58                   	pop    %eax
415d02:	66 39 07             	cmp    %ax,(%edi)
415d05:	74 13                	je     0x415d1a
415d07:	6a 20                	push   $0x20
415d09:	57                   	push   %edi
415d0a:	ff 15 b0 a3 44 00    	call   *0x44a3b0
415d10:	59                   	pop    %ecx
415d11:	59                   	pop    %ecx
415d12:	85 c0                	test   %eax,%eax
415d14:	0f 85 a2 bd 00 00    	jne    0x421abc
415d1a:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
415d1e:	ba 00 20 00 00       	mov    $0x2000,%edx
415d23:	57                   	push   %edi
415d24:	e8 77 96 ff ff       	call   0x40f3a0
415d29:	8b cf                	mov    %edi,%ecx
415d2b:	e8 30 a3 ff ff       	call   0x410060
415d30:	50                   	push   %eax
415d31:	ba 00 20 00 00       	mov    $0x2000,%edx
415d36:	8b cf                	mov    %edi,%ecx
415d38:	e8 63 96 ff ff       	call   0x40f3a0
415d3d:	33 c0                	xor    %eax,%eax
415d3f:	8b d7                	mov    %edi,%edx
415d41:	88 44 24 22          	mov    %al,0x22(%esp)
415d45:	88 44 24 13          	mov    %al,0x13(%esp)
415d49:	8d 44 24 14          	lea    0x14(%esp),%eax
415d4d:	50                   	push   %eax
415d4e:	6a 2d                	push   $0x2d
415d50:	59                   	pop    %ecx
415d51:	e8 3a 90 ff ff       	call   0x40ed90
415d56:	83 f8 ff             	cmp    $0xffffffff,%eax
415d59:	0f 85 b0 bd 00 00    	jne    0x421b0f
415d5f:	8b 4c 24 50          	mov    0x50(%esp),%ecx
415d63:	ba 00 20 00 00       	mov    $0x2000,%edx
415d68:	57                   	push   %edi
415d69:	e8 32 96 ff ff       	call   0x40f3a0
415d6e:	68 00 20 00 00       	push   $0x2000
415d73:	8b d7                	mov    %edi,%edx
415d75:	89 bc 24 4c 01 00 00 	mov    %edi,0x14c(%esp)
415d7c:	8d 8c 24 14 01 00 00 	lea    0x114(%esp),%ecx
415d83:	e8 88 96 ff ff       	call   0x40f410
415d88:	83 f8 03             	cmp    $0x3,%eax
415d8b:	0f 84 59 bd 00 00    	je     0x421aea
415d91:	85 c0                	test   %eax,%eax
415d93:	0f 84 5d bd 00 00    	je     0x421af6
415d99:	6a 05                	push   $0x5
415d9b:	59                   	pop    %ecx
415d9c:	3b c1                	cmp    %ecx,%eax
415d9e:	0f 84 52 bd 00 00    	je     0x421af6
415da4:	83 f8 02             	cmp    $0x2,%eax
415da7:	0f 84 62 bd 00 00    	je     0x421b0f
415dad:	ff 74 24 3c          	push   0x3c(%esp)
415db1:	8b 4c 24 44          	mov    0x44(%esp),%ecx
415db5:	ba 00 20 00 00       	mov    $0x2000,%edx
415dba:	e8 e1 95 ff ff       	call   0x40f3a0
415dbf:	8b 4c 24 40          	mov    0x40(%esp),%ecx
415dc3:	ba 00 20 00 00       	mov    $0x2000,%edx
415dc8:	68 4c 23 40 00       	push   $0x40234c
415dcd:	e8 6e 9e ff ff       	call   0x40fc40
415dd2:	8b 44 24 60          	mov    0x60(%esp),%eax
415dd6:	85 c0                	test   %eax,%eax
415dd8:	74 0f                	je     0x415de9
415dda:	8b 4c 24 40          	mov    0x40(%esp),%ecx
415dde:	ba 00 20 00 00       	mov    $0x2000,%edx
415de3:	50                   	push   %eax
415de4:	e8 57 9e ff ff       	call   0x40fc40
415de9:	80 7c 24 1a 00       	cmpb   $0x0,0x1a(%esp)
415dee:	0f 85 3b be 00 00    	jne    0x421c2f
415df4:	6a 44                	push   $0x44
415df6:	58                   	pop    %eax
415df7:	50                   	push   %eax
415df8:	33 c0                	xor    %eax,%eax
415dfa:	50                   	push   %eax
415dfb:	8d 84 24 d0 00 00 00 	lea    0xd0(%esp),%eax
415e02:	50                   	push   %eax
415e03:	e8 b5 21 00 00       	call   0x417fbd
415e08:	83 c4 0c             	add    $0xc,%esp
415e0b:	6a 44                	push   $0x44
415e0d:	58                   	pop    %eax
415e0e:	89 84 24 c8 00 00 00 	mov    %eax,0xc8(%esp)
415e15:	8d 84 24 c8 00 00 00 	lea    0xc8(%esp),%eax
415e1c:	50                   	push   %eax
415e1d:	ff 15 f0 a1 44 00    	call   *0x44a1f0
415e23:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
415e28:	8b 84 24 d0 00 00 00 	mov    0xd0(%esp),%eax
415e2f:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
415e36:	0f 85 02 be 00 00    	jne    0x421c3e
415e3c:	33 c9                	xor    %ecx,%ecx
415e3e:	8d 44 24 68          	lea    0x68(%esp),%eax
415e42:	50                   	push   %eax
415e43:	51                   	push   %ecx
415e44:	6a 02                	push   $0x2
415e46:	51                   	push   %ecx
415e47:	88 4c 24 23          	mov    %cl,0x23(%esp)
415e4b:	89 4c 24 78          	mov    %ecx,0x78(%esp)
415e4f:	ff 15 04 a2 44 00    	call   *0x44a204
415e55:	85 c0                	test   %eax,%eax
415e57:	0f 85 26 be 00 00    	jne    0x421c83
415e5d:	ff 15 80 a0 44 00    	call   *0x44a080
415e63:	83 f8 7a             	cmp    $0x7a,%eax
415e66:	0f 85 73 bc 00 00    	jne    0x421adf
415e6c:	ff 74 24 68          	push   0x68(%esp)
415e70:	6a 08                	push   $0x8
415e72:	ff 15 34 a1 44 00    	call   *0x44a134
415e78:	50                   	push   %eax
415e79:	ff 15 28 a1 44 00    	call   *0x44a128
415e7f:	8b d8                	mov    %eax,%ebx
415e81:	85 db                	test   %ebx,%ebx
415e83:	0f 84 09 be 00 00    	je     0x421c92
415e89:	8d 44 24 68          	lea    0x68(%esp),%eax
415e8d:	50                   	push   %eax
415e8e:	33 c0                	xor    %eax,%eax
415e90:	50                   	push   %eax
415e91:	6a 02                	push   $0x2
415e93:	53                   	push   %ebx
415e94:	ff 15 04 a2 44 00    	call   *0x44a204
415e9a:	85 c0                	test   %eax,%eax
415e9c:	0f 84 fd bd 00 00    	je     0x421c9f
415ea2:	33 c9                	xor    %ecx,%ecx
415ea4:	c7 44 24 6c 01 00 00 	movl   $0x1,0x6c(%esp)
415eab:	00
415eac:	51                   	push   %ecx
415ead:	51                   	push   %ecx
415eae:	6a 04                	push   $0x4
415eb0:	8d 44 24 78          	lea    0x78(%esp),%eax
415eb4:	50                   	push   %eax
415eb5:	68 01 00 06 00       	push   $0x60001
415eba:	51                   	push   %ecx
415ebb:	53                   	push   %ebx
415ebc:	ff 15 00 a2 44 00    	call   *0x44a200
415ec2:	85 c0                	test   %eax,%eax
415ec4:	0f 84 00 be 00 00    	je     0x421cca
415eca:	8b 44 24 44          	mov    0x44(%esp),%eax
415ece:	89 9c 24 c4 00 00 00 	mov    %ebx,0xc4(%esp)
415ed5:	3d ff ff 00 00       	cmp    $0xffff,%eax
415eda:	0f 85 fe bd 00 00    	jne    0x421cde
415ee0:	8d 44 24 70          	lea    0x70(%esp),%eax
415ee4:	50                   	push   %eax
415ee5:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
415eec:	50                   	push   %eax
415eed:	ff 74 24 50          	push   0x50(%esp)
415ef1:	8b 44 24 18          	mov    0x18(%esp),%eax
415ef5:	ff 74 24 60          	push   0x60(%esp)
415ef9:	0d 00 04 00 00       	or     $0x400,%eax
415efe:	50                   	push   %eax
415eff:	6a 01                	push   $0x1
415f01:	33 c0                	xor    %eax,%eax
415f03:	50                   	push   %eax
415f04:	50                   	push   %eax
415f05:	ff 74 24 60          	push   0x60(%esp)
415f09:	57                   	push   %edi
415f0a:	ff 15 f8 a1 44 00    	call   *0x44a1f8
415f10:	85 c0                	test   %eax,%eax
415f12:	53                   	push   %ebx
415f13:	0f 95 44 24 18       	setne  0x18(%esp)
415f18:	ff 15 18 a2 44 00    	call   *0x44a218
415f1e:	53                   	push   %ebx
415f1f:	33 c0                	xor    %eax,%eax
415f21:	50                   	push   %eax
415f22:	ff 15 34 a1 44 00    	call   *0x44a134
415f28:	50                   	push   %eax
415f29:	ff 15 3c a1 44 00    	call   *0x44a13c
415f2f:	33 db                	xor    %ebx,%ebx
415f31:	43                   	inc    %ebx
415f32:	80 7c 24 1a 00       	cmpb   $0x0,0x1a(%esp)
415f37:	0f 85 c7 bd 00 00    	jne    0x421d04
415f3d:	ff 15 80 a0 44 00    	call   *0x44a080
415f43:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
415f48:	a3 a8 67 43 00       	mov    %eax,0x4367a8
415f4d:	0f 85 8b be 00 00    	jne    0x421dde
415f53:	80 7c 24 14 00       	cmpb   $0x0,0x14(%esp)
415f58:	0f 84 65 be 00 00    	je     0x421dc3
415f5e:	8b 5c 24 30          	mov    0x30(%esp),%ebx
415f62:	85 db                	test   %ebx,%ebx
415f64:	0f 85 a9 bd 00 00    	jne    0x421d13
415f6a:	80 7c 24 21 00       	cmpb   $0x0,0x21(%esp)
415f6f:	0f 85 3f be 00 00    	jne    0x421db4
415f75:	ff 74 24 74          	push   0x74(%esp)
415f79:	ff 15 1c a1 44 00    	call   *0x44a11c
415f7f:	8b 44 24 70          	mov    0x70(%esp),%eax
415f83:	85 c0                	test   %eax,%eax
415f85:	74 12                	je     0x415f99
415f87:	80 7c 24 23 00       	cmpb   $0x0,0x23(%esp)
415f8c:	0f 85 e2 be 00 00    	jne    0x421e74
415f92:	50                   	push   %eax
415f93:	ff 15 1c a1 44 00    	call   *0x44a11c
415f99:	33 c0                	xor    %eax,%eax
415f9b:	8b d8                	mov    %eax,%ebx
415f9d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
415fa1:	85 c0                	test   %eax,%eax
415fa3:	74 08                	je     0x415fad
415fa5:	50                   	push   %eax
415fa6:	ff 15 e0 a3 44 00    	call   *0x44a3e0
415fac:	59                   	pop    %ecx
415fad:	8b 44 24 40          	mov    0x40(%esp),%eax
415fb1:	85 c0                	test   %eax,%eax
415fb3:	74 08                	je     0x415fbd
415fb5:	50                   	push   %eax
415fb6:	ff 15 e0 a3 44 00    	call   *0x44a3e0
415fbc:	59                   	pop    %ecx
415fbd:	8b 44 24 50          	mov    0x50(%esp),%eax
415fc1:	85 c0                	test   %eax,%eax
415fc3:	74 08                	je     0x415fcd
415fc5:	50                   	push   %eax
415fc6:	ff 15 e0 a3 44 00    	call   *0x44a3e0
415fcc:	59                   	pop    %ecx
415fcd:	85 ff                	test   %edi,%edi
415fcf:	74 08                	je     0x415fd9
415fd1:	57                   	push   %edi
415fd2:	ff 15 e0 a3 44 00    	call   *0x44a3e0
415fd8:	59                   	pop    %ecx
415fd9:	85 f6                	test   %esi,%esi
415fdb:	74 08                	je     0x415fe5
415fdd:	56                   	push   %esi