51f862:	eb 2a                	jmp    0x51f88e
51f864:	66 a1 c0 f8 51 00    	mov    0x51f8c0,%ax
51f86a:	66 0b 83 d0 05 00 00 	or     0x5d0(%ebx),%ax
51f871:	66 89 83 d0 05 00 00 	mov    %ax,0x5d0(%ebx)
51f878:	eb 14                	jmp    0x51f88e
51f87a:	66 a1 c0 f8 51 00    	mov    0x51f8c0,%ax
51f880:	66 0b 83 d0 05 00 00 	or     0x5d0(%ebx),%ax
51f887:	66 89 83 d0 05 00 00 	mov    %ax,0x5d0(%ebx)
51f88e:	66 a1 c4 f8 51 00    	mov    0x51f8c4,%ax
51f894:	66 3b 83 d0 05 00 00 	cmp    0x5d0(%ebx),%ax
51f89b:	0f 94 c0             	sete   %al
51f89e:	34 01                	xor    $0x1,%al
51f8a0:	5a                   	pop    %edx
51f8a1:	5b                   	pop    %ebx
51f8a2:	c3                   	ret
51f8a3:	00 08                	add    %cl,(%eax)
51f8a5:	00 00                	add    %al,(%eax)
51f8a7:	00 10                	add    %dl,(%eax)
51f8a9:	00 00                	add    %al,(%eax)
51f8ab:	00 04 00             	add    %al,(%eax,%eax,1)
51f8ae:	00 00                	add    %al,(%eax)
51f8b0:	40                   	inc    %eax
51f8b1:	00 00                	add    %al,(%eax)
51f8b3:	00 20                	add    %ah,(%eax)
51f8b5:	00 00                	add    %al,(%eax)
51f8b7:	00 80 00 00 00 00    	add    %al,0x0(%eax)
51f8bd:	01 00                	add    %eax,(%eax)
51f8bf:	00 00                	add    %al,(%eax)
51f8c1:	02 00                	add    (%eax),%al
51f8c3:	00 02                	add    %al,(%edx)
51f8c5:	00 00                	add    %al,(%eax)
51f8c7:	00 53 56             	add    %dl,0x56(%ebx)
51f8ca:	57                   	push   %edi
51f8cb:	55                   	push   %ebp
51f8cc:	8b e8                	mov    %eax,%ebp
51f8ce:	80 bd d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebp)
51f8d5:	0f 84 b7 00 00 00    	je     0x51f992
51f8db:	8b 85 24 04 00 00    	mov    0x424(%ebp),%eax
51f8e1:	8b 10                	mov    (%eax),%edx
51f8e3:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51f8e9:	8b f0                	mov    %eax,%esi
51f8eb:	8b 85 40 04 00 00    	mov    0x440(%ebp),%eax
51f8f1:	8b 10                	mov    (%eax),%edx
51f8f3:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51f8f9:	8b d8                	mov    %eax,%ebx
51f8fb:	8b 85 3c 04 00 00    	mov    0x43c(%ebp),%eax
51f901:	8b 10                	mov    (%eax),%edx
51f903:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51f909:	8b f8                	mov    %eax,%edi
51f90b:	8b 85 48 04 00 00    	mov    0x448(%ebp),%eax
51f911:	8b 10                	mov    (%eax),%edx
51f913:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51f919:	3b b5 78 06 00 00    	cmp    0x678(%ebp),%esi
51f91f:	75 18                	jne    0x51f939
51f921:	3a 9d 7c 06 00 00    	cmp    0x67c(%ebp),%bl
51f927:	75 10                	jne    0x51f939
51f929:	3b bd 80 06 00 00    	cmp    0x680(%ebp),%edi
51f92f:	75 08                	jne    0x51f939
51f931:	3b 85 84 06 00 00    	cmp    0x684(%ebp),%eax
51f937:	74 3f                	je     0x51f978
51f939:	89 b5 78 06 00 00    	mov    %esi,0x678(%ebp)
51f93f:	88 9d 7c 06 00 00    	mov    %bl,0x67c(%ebp)
51f945:	89 bd 80 06 00 00    	mov    %edi,0x680(%ebp)
51f94b:	89 85 84 06 00 00    	mov    %eax,0x684(%ebp)
51f951:	8b 85 78 05 00 00    	mov    0x578(%ebp),%eax
51f957:	8b 10                	mov    (%eax),%edx
51f959:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51f95f:	84 c0                	test   %al,%al
51f961:	74 15                	je     0x51f978
51f963:	8b c5                	mov    %ebp,%eax
51f965:	e8 4e cd ff ff       	call   0x51c6b8
51f96a:	8b 85 b8 05 00 00    	mov    0x5b8(%ebp),%eax
51f970:	8b 10                	mov    (%eax),%edx
51f972:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51f978:	b2 01                	mov    $0x1,%dl
51f97a:	8b 85 ec 04 00 00    	mov    0x4ec(%ebp),%eax
51f980:	8b 08                	mov    (%eax),%ecx
51f982:	ff 51 64             	call   *0x64(%ecx)
51f985:	b2 01                	mov    $0x1,%dl
51f987:	8b 85 3c 03 00 00    	mov    0x33c(%ebp),%eax
51f98d:	8b 08                	mov    (%eax),%ecx
51f98f:	ff 51 64             	call   *0x64(%ecx)
51f992:	5d                   	pop    %ebp
51f993:	5f                   	pop    %edi
51f994:	5e                   	pop    %esi
51f995:	5b                   	pop    %ebx
51f996:	c3                   	ret
51f997:	90                   	nop
51f998:	53                   	push   %ebx
51f999:	56                   	push   %esi
51f99a:	51                   	push   %ecx
51f99b:	8b d8                	mov    %eax,%ebx
51f99d:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51f9a3:	e8 ec f9 0b 00       	call   0x5df394
51f9a8:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51f9ae:	83 b8 a8 03 00 00 00 	cmpl   $0x0,0x3a8(%eax)
51f9b5:	75 2c                	jne    0x51f9e3
51f9b7:	8b 83 30 04 00 00    	mov    0x430(%ebx),%eax
51f9bd:	8b 10                	mov    (%eax),%edx
51f9bf:	ff 52 3c             	call   *0x3c(%edx)
51f9c2:	84 c0                	test   %al,%al
51f9c4:	0f 84 b0 00 00 00    	je     0x51fa7a
51f9ca:	8b 83 30 04 00 00    	mov    0x430(%ebx),%eax
51f9d0:	8b 50 58             	mov    0x58(%eax),%edx
51f9d3:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
51f9d9:	e8 8e 8f f2 ff       	call   0x44896c
51f9de:	e9 97 00 00 00       	jmp    0x51fa7a
51f9e3:	8b cb                	mov    %ebx,%ecx
51f9e5:	b2 01                	mov    $0x1,%dl
51f9e7:	a1 d4 f7 5e 00       	mov    0x5ef7d4,%eax
51f9ec:	e8 33 13 0d 00       	call   0x5f0d24
51f9f1:	8b f0                	mov    %eax,%esi
51f9f3:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51f9f9:	e8 96 f9 0b 00       	call   0x5df394
51f9fe:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fa04:	8b 40 10             	mov    0x10(%eax),%eax
51fa07:	50                   	push   %eax
51fa08:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fa0e:	e8 81 f9 0b 00       	call   0x5df394
51fa13:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fa19:	8b 40 08             	mov    0x8(%eax),%eax
51fa1c:	5a                   	pop    %edx
51fa1d:	e8 d2 1e 0d 00       	call   0x5f18f4
51fa22:	50                   	push   %eax
51fa23:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fa29:	e8 66 f9 0b 00       	call   0x5df394
51fa2e:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fa34:	8b 90 a8 03 00 00    	mov    0x3a8(%eax),%edx
51fa3a:	b9 ff ff ff 07       	mov    $0x7ffffff,%ecx
51fa3f:	8b c6                	mov    %esi,%eax
51fa41:	e8 c6 12 0d 00       	call   0x5f0d0c
51fa46:	8b 93 d4 05 00 00    	mov    0x5d4(%ebx),%edx
51fa4c:	8b 86 fc 02 00 00    	mov    0x2fc(%esi),%eax
51fa52:	e8 a5 8d f2 ff       	call   0x4487fc
51fa57:	8b c6                	mov    %esi,%eax
51fa59:	e8 42 15 0d 00       	call   0x5f0fa0
51fa5e:	84 c0                	test   %al,%al
51fa60:	74 11                	je     0x51fa73
51fa62:	8b 96 00 03 00 00    	mov    0x300(%esi),%edx
51fa68:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
51fa6e:	e8 f9 8e f2 ff       	call   0x44896c
51fa73:	8b c6                	mov    %esi,%eax
51fa75:	e8 fe 3f ee ff       	call   0x403a78
51fa7a:	8b d4                	mov    %esp,%edx
51fa7c:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
51fa82:	8b 40 70             	mov    0x70(%eax),%eax
51fa85:	e8 f6 98 08 00       	call   0x5a9380
51fa8a:	66 8b 04 24          	mov    (%esp),%ax
51fa8e:	66 89 83 7d 06 00 00 	mov    %ax,0x67d(%ebx)
51fa95:	8a 44 24 02          	mov    0x2(%esp),%al
51fa99:	88 83 7f 06 00 00    	mov    %al,0x67f(%ebx)
51fa9f:	b2 01                	mov    $0x1,%dl
51faa1:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
51faa7:	8b 08                	mov    (%eax),%ecx
51faa9:	ff 51 64             	call   *0x64(%ecx)
51faac:	b2 01                	mov    $0x1,%dl
51faae:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
51fab4:	8b 08                	mov    (%eax),%ecx
51fab6:	ff 51 64             	call   *0x64(%ecx)
51fab9:	5a                   	pop    %edx
51faba:	5e                   	pop    %esi
51fabb:	5b                   	pop    %ebx
51fabc:	c3                   	ret
51fabd:	8d 40 00             	lea    0x0(%eax),%eax
51fac0:	55                   	push   %ebp
51fac1:	8b ec                	mov    %esp,%ebp
51fac3:	6a 00                	push   $0x0
51fac5:	6a 00                	push   $0x0
51fac7:	53                   	push   %ebx
51fac8:	56                   	push   %esi
51fac9:	8b d8                	mov    %eax,%ebx
51facb:	33 c0                	xor    %eax,%eax
51facd:	55                   	push   %ebp
51face:	68 b4 fb 51 00       	push   $0x51fbb4
51fad3:	64 ff 30             	push   %fs:(%eax)
51fad6:	64 89 20             	mov    %esp,%fs:(%eax)
51fad9:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
51fae0:	0f 84 b3 00 00 00    	je     0x51fb99
51fae6:	8b 83 6c 04 00 00    	mov    0x46c(%ebx),%eax
51faec:	8b 10                	mov    (%eax),%edx
51faee:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51faf4:	8b f0                	mov    %eax,%esi
51faf6:	8b 83 78 04 00 00    	mov    0x478(%ebx),%eax
51fafc:	8b 10                	mov    (%eax),%edx
51fafe:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51fb04:	3b b3 88 06 00 00    	cmp    0x688(%ebx),%esi
51fb0a:	75 08                	jne    0x51fb14
51fb0c:	3a 83 8f 06 00 00    	cmp    0x68f(%ebx),%al
51fb12:	74 33                	je     0x51fb47
51fb14:	89 b3 88 06 00 00    	mov    %esi,0x688(%ebx)
51fb1a:	88 83 8f 06 00 00    	mov    %al,0x68f(%ebx)
51fb20:	8b 83 78 05 00 00    	mov    0x578(%ebx),%eax
51fb26:	8b 10                	mov    (%eax),%edx
51fb28:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51fb2e:	84 c0                	test   %al,%al
51fb30:	74 15                	je     0x51fb47
51fb32:	8b c3                	mov    %ebx,%eax
51fb34:	e8 7f cb ff ff       	call   0x51c6b8
51fb39:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fb3f:	8b 10                	mov    (%eax),%edx
51fb41:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51fb47:	8d 55 fc             	lea    -0x4(%ebp),%edx
51fb4a:	8b 83 80 04 00 00    	mov    0x480(%ebx),%eax
51fb50:	e8 77 8c f2 ff       	call   0x4487cc
51fb55:	8b 55 fc             	mov    -0x4(%ebp),%edx
51fb58:	8d 83 90 06 00 00    	lea    0x690(%ebx),%eax
51fb5e:	e8 59 4d ee ff       	call   0x4048bc
51fb63:	8d 55 f8             	lea    -0x8(%ebp),%edx
51fb66:	8b 83 88 04 00 00    	mov    0x488(%ebx),%eax
51fb6c:	e8 5b 8c f2 ff       	call   0x4487cc
51fb71:	8b 55 f8             	mov    -0x8(%ebp),%edx
51fb74:	8d 83 94 06 00 00    	lea    0x694(%ebx),%eax
51fb7a:	e8 3d 4d ee ff       	call   0x4048bc
51fb7f:	b2 01                	mov    $0x1,%dl
51fb81:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
51fb87:	8b 08                	mov    (%eax),%ecx
51fb89:	ff 51 64             	call   *0x64(%ecx)
51fb8c:	b2 01                	mov    $0x1,%dl
51fb8e:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
51fb94:	8b 08                	mov    (%eax),%ecx
51fb96:	ff 51 64             	call   *0x64(%ecx)
51fb99:	33 c0                	xor    %eax,%eax
51fb9b:	5a                   	pop    %edx
51fb9c:	59                   	pop    %ecx
51fb9d:	59                   	pop    %ecx
51fb9e:	64 89 10             	mov    %edx,%fs:(%eax)
51fba1:	68 bb fb 51 00       	push   $0x51fbbb
51fba6:	8d 45 f8             	lea    -0x8(%ebp),%eax
51fba9:	ba 02 00 00 00       	mov    $0x2,%edx
51fbae:	e8 d9 4c ee ff       	call   0x40488c
51fbb3:	c3                   	ret
51fbb4:	e9 53 46 ee ff       	jmp    0x40420c
51fbb9:	eb eb                	jmp    0x51fba6
51fbbb:	5e                   	pop    %esi
51fbbc:	5b                   	pop    %ebx
51fbbd:	59                   	pop    %ecx
51fbbe:	59                   	pop    %ecx
51fbbf:	5d                   	pop    %ebp
51fbc0:	c3                   	ret
51fbc1:	8d 40 00             	lea    0x0(%eax),%eax
51fbc4:	53                   	push   %ebx
51fbc5:	56                   	push   %esi
51fbc6:	51                   	push   %ecx
51fbc7:	8b d8                	mov    %eax,%ebx
51fbc9:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fbcf:	e8 c0 f7 0b 00       	call   0x5df394
51fbd4:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fbda:	83 b8 a8 03 00 00 00 	cmpl   $0x0,0x3a8(%eax)
51fbe1:	75 2c                	jne    0x51fc0f
51fbe3:	8b 83 30 04 00 00    	mov    0x430(%ebx),%eax
51fbe9:	8b 10                	mov    (%eax),%edx
51fbeb:	ff 52 3c             	call   *0x3c(%edx)
51fbee:	84 c0                	test   %al,%al
51fbf0:	0f 84 b0 00 00 00    	je     0x51fca6
51fbf6:	8b 83 30 04 00 00    	mov    0x430(%ebx),%eax
51fbfc:	8b 50 58             	mov    0x58(%eax),%edx
51fbff:	8b 83 74 04 00 00    	mov    0x474(%ebx),%eax
51fc05:	e8 62 8d f2 ff       	call   0x44896c
51fc0a:	e9 97 00 00 00       	jmp    0x51fca6
51fc0f:	8b cb                	mov    %ebx,%ecx
51fc11:	b2 01                	mov    $0x1,%dl
51fc13:	a1 d4 f7 5e 00       	mov    0x5ef7d4,%eax
51fc18:	e8 07 11 0d 00       	call   0x5f0d24
51fc1d:	8b f0                	mov    %eax,%esi
51fc1f:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fc25:	e8 6a f7 0b 00       	call   0x5df394
51fc2a:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fc30:	8b 40 10             	mov    0x10(%eax),%eax
51fc33:	50                   	push   %eax
51fc34:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fc3a:	e8 55 f7 0b 00       	call   0x5df394
51fc3f:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fc45:	8b 40 08             	mov    0x8(%eax),%eax
51fc48:	5a                   	pop    %edx
51fc49:	e8 a6 1c 0d 00       	call   0x5f18f4
51fc4e:	50                   	push   %eax
51fc4f:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51fc55:	e8 3a f7 0b 00       	call   0x5df394
51fc5a:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
51fc60:	8b 90 a8 03 00 00    	mov    0x3a8(%eax),%edx
51fc66:	b9 ff ff ff 07       	mov    $0x7ffffff,%ecx
51fc6b:	8b c6                	mov    %esi,%eax
51fc6d:	e8 9a 10 0d 00       	call   0x5f0d0c
51fc72:	8b 93 d4 05 00 00    	mov    0x5d4(%ebx),%edx
51fc78:	8b 86 fc 02 00 00    	mov    0x2fc(%esi),%eax
51fc7e:	e8 79 8b f2 ff       	call   0x4487fc
51fc83:	8b c6                	mov    %esi,%eax
51fc85:	e8 16 13 0d 00       	call   0x5f0fa0
51fc8a:	84 c0                	test   %al,%al
51fc8c:	74 11                	je     0x51fc9f
51fc8e:	8b 96 00 03 00 00    	mov    0x300(%esi),%edx
51fc94:	8b 83 74 04 00 00    	mov    0x474(%ebx),%eax
51fc9a:	e8 cd 8c f2 ff       	call   0x44896c
51fc9f:	8b c6                	mov    %esi,%eax
51fca1:	e8 d2 3d ee ff       	call   0x403a78
51fca6:	8b d4                	mov    %esp,%edx
51fca8:	8b 83 74 04 00 00    	mov    0x474(%ebx),%eax
51fcae:	8b 40 70             	mov    0x70(%eax),%eax
51fcb1:	e8 ca 96 08 00       	call   0x5a9380
51fcb6:	66 8b 04 24          	mov    (%esp),%ax
51fcba:	66 89 83 8c 06 00 00 	mov    %ax,0x68c(%ebx)
51fcc1:	8a 44 24 02          	mov    0x2(%esp),%al
51fcc5:	88 83 8e 06 00 00    	mov    %al,0x68e(%ebx)
51fccb:	b2 01                	mov    $0x1,%dl
51fccd:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
51fcd3:	8b 08                	mov    (%eax),%ecx
51fcd5:	ff 51 64             	call   *0x64(%ecx)
51fcd8:	b2 01                	mov    $0x1,%dl
51fcda:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
51fce0:	8b 08                	mov    (%eax),%ecx
51fce2:	ff 51 64             	call   *0x64(%ecx)
51fce5:	5a                   	pop    %edx
51fce6:	5e                   	pop    %esi
51fce7:	5b                   	pop    %ebx
51fce8:	c3                   	ret
51fce9:	8d 40 00             	lea    0x0(%eax),%eax
51fcec:	55                   	push   %ebp
51fced:	8b ec                	mov    %esp,%ebp
51fcef:	83 c4 f0             	add    $0xfffffff0,%esp
51fcf2:	53                   	push   %ebx
51fcf3:	33 c9                	xor    %ecx,%ecx
51fcf5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
51fcf8:	8b d8                	mov    %eax,%ebx
51fcfa:	33 c0                	xor    %eax,%eax
51fcfc:	55                   	push   %ebp
51fcfd:	68 9e fd 51 00       	push   $0x51fd9e
51fd02:	64 ff 30             	push   %fs:(%eax)
51fd05:	64 89 20             	mov    %esp,%fs:(%eax)
51fd08:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
51fd0f:	74 77                	je     0x51fd88
51fd11:	8d 55 f4             	lea    -0xc(%ebp),%edx
51fd14:	8b 83 f8 04 00 00    	mov    0x4f8(%ebx),%eax
51fd1a:	e8 ad 8a f2 ff       	call   0x4487cc
51fd1f:	8b 45 f4             	mov    -0xc(%ebp),%eax
51fd22:	ba e8 03 00 00       	mov    $0x3e8,%edx
51fd27:	e8 b4 99 ee ff       	call   0x4096e0
51fd2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
51fd2f:	db 45 f0             	fildl  -0x10(%ebp)
51fd32:	d8 35 ac fd 51 00    	fdivs  0x51fdac
51fd38:	dd 5d f8             	fstpl  -0x8(%ebp)
51fd3b:	9b dd 45 f8          	fldl   -0x8(%ebp)
51fd3f:	dc 9b 00 06 00 00    	fcompl 0x600(%ebx)
51fd45:	df e0                	fnstsw %ax
51fd47:	9e                   	sahf
51fd48:	74 24                	je     0x51fd6e
51fd4a:	dd 45 f8             	fldl   -0x8(%ebp)
51fd4d:	d8 0d ac fd 51 00    	fmuls  0x51fdac
51fd53:	e8 74 2f ee ff       	call   0x402ccc
51fd58:	8b d0                	mov    %eax,%edx
51fd5a:	8b 83 fc 04 00 00    	mov    0x4fc(%ebx),%eax