523be1:	e8 72 41 f0 ff       	call   0x427d58
523be6:	8a 97 08 01 00 00    	mov    0x108(%edi),%dl
523bec:	3a d0                	cmp    %al,%dl
523bee:	74 0e                	je     0x523bfe
523bf0:	8a 97 08 01 00 00    	mov    0x108(%edi),%dl
523bf6:	8b 46 0c             	mov    0xc(%esi),%eax
523bf9:	e8 66 41 f0 ff       	call   0x427d64
523bfe:	8b 97 0c 01 00 00    	mov    0x10c(%edi),%edx
523c04:	8b 46 0c             	mov    0xc(%esi),%eax
523c07:	3b 50 18             	cmp    0x18(%eax),%edx
523c0a:	74 14                	je     0x523c20
523c0c:	80 bb 5c 02 00 00 00 	cmpb   $0x0,0x25c(%ebx)
523c13:	75 0b                	jne    0x523c20
523c15:	8b 97 0c 01 00 00    	mov    0x10c(%edi),%edx
523c1b:	e8 78 3e f0 ff       	call   0x427a98
523c20:	8b 46 14             	mov    0x14(%esi),%eax
523c23:	e8 54 46 f0 ff       	call   0x42827c
523c28:	3b 87 10 01 00 00    	cmp    0x110(%edi),%eax
523c2e:	74 17                	je     0x523c47
523c30:	80 bb 5c 02 00 00 00 	cmpb   $0x0,0x25c(%ebx)
523c37:	75 0e                	jne    0x523c47
523c39:	8b 97 10 01 00 00    	mov    0x110(%edi),%edx
523c3f:	8b 46 14             	mov    0x14(%esi),%eax
523c42:	e8 3d 46 f0 ff       	call   0x428284
523c47:	8b 46 14             	mov    0x14(%esi),%eax
523c4a:	e8 49 47 f0 ff       	call   0x428398
523c4f:	8a 9f 14 01 00 00    	mov    0x114(%edi),%bl
523c55:	3a c3                	cmp    %bl,%al
523c57:	0f 84 33 01 00 00    	je     0x523d90
523c5d:	8b d3                	mov    %ebx,%edx
523c5f:	8b 46 14             	mov    0x14(%esi),%eax
523c62:	e8 39 47 f0 ff       	call   0x4283a0
523c67:	e9 24 01 00 00       	jmp    0x523d90
523c6c:	8d 55 f0             	lea    -0x10(%ebp),%edx
523c6f:	8b 46 0c             	mov    0xc(%esi),%eax
523c72:	e8 31 40 f0 ff       	call   0x427ca8
523c77:	8b 45 f0             	mov    -0x10(%ebp),%eax
523c7a:	50                   	push   %eax
523c7b:	8d 55 ec             	lea    -0x14(%ebp),%edx
523c7e:	8b 83 2c 02 00 00    	mov    0x22c(%ebx),%eax
523c84:	e8 1f 40 f0 ff       	call   0x427ca8
523c89:	8b 55 ec             	mov    -0x14(%ebp),%edx
523c8c:	58                   	pop    %eax
523c8d:	e8 d2 0f ee ff       	call   0x404c64
523c92:	74 19                	je     0x523cad
523c94:	8d 55 e8             	lea    -0x18(%ebp),%edx
523c97:	8b 83 2c 02 00 00    	mov    0x22c(%ebx),%eax
523c9d:	e8 06 40 f0 ff       	call   0x427ca8
523ca2:	8b 55 e8             	mov    -0x18(%ebp),%edx
523ca5:	8b 46 0c             	mov    0xc(%esi),%eax
523ca8:	e8 13 40 f0 ff       	call   0x427cc0
523cad:	8b 46 0c             	mov    0xc(%esi),%eax
523cb0:	e8 c3 3f f0 ff       	call   0x427c78
523cb5:	8b f8                	mov    %eax,%edi
523cb7:	8b 83 2c 02 00 00    	mov    0x22c(%ebx),%eax
523cbd:	e8 b6 3f f0 ff       	call   0x427c78
523cc2:	3b f8                	cmp    %eax,%edi
523cc4:	74 15                	je     0x523cdb
523cc6:	8b 83 2c 02 00 00    	mov    0x22c(%ebx),%eax
523ccc:	e8 a7 3f f0 ff       	call   0x427c78
523cd1:	8b d0                	mov    %eax,%edx
523cd3:	8b 46 0c             	mov    0xc(%esi),%eax
523cd6:	e8 a5 3f f0 ff       	call   0x427c80
523cdb:	8b 83 2c 02 00 00    	mov    0x22c(%ebx),%eax
523ce1:	e8 72 40 f0 ff       	call   0x427d58
523ce6:	50                   	push   %eax
523ce7:	8b 46 0c             	mov    0xc(%esi),%eax
523cea:	e8 69 40 f0 ff       	call   0x427d58
523cef:	5a                   	pop    %edx
523cf0:	3a d0                	cmp    %al,%dl
523cf2:	74 15                	je     0x523d09
523cf4:	8b 83 2c 02 00 00    	mov    0x22c(%ebx),%eax
523cfa:	e8 59 40 f0 ff       	call   0x427d58
523cff:	8b d0                	mov    %eax,%edx
523d01:	8b 46 0c             	mov    0xc(%esi),%eax
523d04:	e8 5b 40 f0 ff       	call   0x427d64
523d09:	8b 46 0c             	mov    0xc(%esi),%eax
523d0c:	8b 50 18             	mov    0x18(%eax),%edx
523d0f:	3b 53 70             	cmp    0x70(%ebx),%edx
523d12:	74 17                	je     0x523d2b
523d14:	80 bb 5c 02 00 00 00 	cmpb   $0x0,0x25c(%ebx)
523d1b:	75 0e                	jne    0x523d2b
523d1d:	8b 93 2c 02 00 00    	mov    0x22c(%ebx),%edx
523d23:	8b 52 18             	mov    0x18(%edx),%edx
523d26:	e8 6d 3d f0 ff       	call   0x427a98
523d2b:	8b 46 14             	mov    0x14(%esi),%eax
523d2e:	e8 49 45 f0 ff       	call   0x42827c
523d33:	8b f8                	mov    %eax,%edi
523d35:	8b 83 30 02 00 00    	mov    0x230(%ebx),%eax
523d3b:	e8 3c 45 f0 ff       	call   0x42827c
523d40:	3b f8                	cmp    %eax,%edi
523d42:	74 1e                	je     0x523d62
523d44:	80 bb 5c 02 00 00 00 	cmpb   $0x0,0x25c(%ebx)
523d4b:	75 15                	jne    0x523d62
523d4d:	8b 83 30 02 00 00    	mov    0x230(%ebx),%eax
523d53:	e8 24 45 f0 ff       	call   0x42827c
523d58:	8b d0                	mov    %eax,%edx
523d5a:	8b 46 14             	mov    0x14(%esi),%eax
523d5d:	e8 22 45 f0 ff       	call   0x428284
523d62:	8b 46 14             	mov    0x14(%esi),%eax
523d65:	e8 2e 46 f0 ff       	call   0x428398
523d6a:	50                   	push   %eax
523d6b:	8b 83 30 02 00 00    	mov    0x230(%ebx),%eax
523d71:	e8 22 46 f0 ff       	call   0x428398
523d76:	5a                   	pop    %edx
523d77:	3a d0                	cmp    %al,%dl
523d79:	74 15                	je     0x523d90
523d7b:	8b 83 30 02 00 00    	mov    0x230(%ebx),%eax
523d81:	e8 12 46 f0 ff       	call   0x428398
523d86:	8b d0                	mov    %eax,%edx
523d88:	8b 46 14             	mov    0x14(%esi),%eax
523d8b:	e8 10 46 f0 ff       	call   0x4283a0
523d90:	33 c0                	xor    %eax,%eax
523d92:	5a                   	pop    %edx
523d93:	59                   	pop    %ecx
523d94:	59                   	pop    %ecx
523d95:	64 89 10             	mov    %edx,%fs:(%eax)
523d98:	68 c7 3d 52 00       	push   $0x523dc7
523d9d:	8d 45 e8             	lea    -0x18(%ebp),%eax
523da0:	ba 03 00 00 00       	mov    $0x3,%edx
523da5:	e8 e2 0a ee ff       	call   0x40488c
523daa:	8d 45 f4             	lea    -0xc(%ebp),%eax
523dad:	ba 02 00 00 00       	mov    $0x2,%edx
523db2:	e8 d5 0a ee ff       	call   0x40488c
523db7:	8d 45 fc             	lea    -0x4(%ebp),%eax
523dba:	e8 a9 0a ee ff       	call   0x404868
523dbf:	c3                   	ret
523dc0:	e9 47 04 ee ff       	jmp    0x40420c
523dc5:	eb d6                	jmp    0x523d9d
523dc7:	5f                   	pop    %edi
523dc8:	5e                   	pop    %esi
523dc9:	5b                   	pop    %ebx
523dca:	8b e5                	mov    %ebp,%esp
523dcc:	5d                   	pop    %ebp
523dcd:	c3                   	ret
523dce:	8b c0                	mov    %eax,%eax
523dd0:	55                   	push   %ebp
523dd1:	8b ec                	mov    %esp,%ebp
523dd3:	6a 00                	push   $0x0
523dd5:	6a 00                	push   $0x0
523dd7:	53                   	push   %ebx
523dd8:	56                   	push   %esi
523dd9:	57                   	push   %edi
523dda:	8b f2                	mov    %edx,%esi
523ddc:	8b d8                	mov    %eax,%ebx
523dde:	33 c0                	xor    %eax,%eax
523de0:	55                   	push   %ebp
523de1:	68 52 3e 52 00       	push   $0x523e52
523de6:	64 ff 30             	push   %fs:(%eax)
523de9:	64 89 20             	mov    %esp,%fs:(%eax)
523dec:	8d 45 fc             	lea    -0x4(%ebp),%eax
523def:	8b 93 10 02 00 00    	mov    0x210(%ebx),%edx
523df5:	e8 5e 0c ee ff       	call   0x404a58
523dfa:	8b 45 fc             	mov    -0x4(%ebp),%eax
523dfd:	8d 7e 01             	lea    0x1(%esi),%edi
523e00:	8b d7                	mov    %edi,%edx
523e02:	e8 2d 99 ee ff       	call   0x40d734
523e07:	3c 01                	cmp    $0x1,%al
523e09:	75 07                	jne    0x523e12
523e0b:	bb 01 00 00 00       	mov    $0x1,%ebx
523e10:	eb 25                	jmp    0x523e37
523e12:	8d 45 f8             	lea    -0x8(%ebp),%eax
523e15:	8b 93 10 02 00 00    	mov    0x210(%ebx),%edx
523e1b:	e8 38 0c ee ff       	call   0x404a58
523e20:	8b 45 f8             	mov    -0x8(%ebp),%eax
523e23:	8b d7                	mov    %edi,%edx
523e25:	e8 0a 99 ee ff       	call   0x40d734
523e2a:	3c 02                	cmp    $0x2,%al
523e2c:	75 07                	jne    0x523e35
523e2e:	bb 02 00 00 00       	mov    $0x2,%ebx
523e33:	eb 02                	jmp    0x523e37
523e35:	33 db                	xor    %ebx,%ebx
523e37:	33 c0                	xor    %eax,%eax
523e39:	5a                   	pop    %edx
523e3a:	59                   	pop    %ecx
523e3b:	59                   	pop    %ecx
523e3c:	64 89 10             	mov    %edx,%fs:(%eax)
523e3f:	68 59 3e 52 00       	push   $0x523e59
523e44:	8d 45 f8             	lea    -0x8(%ebp),%eax
523e47:	ba 02 00 00 00       	mov    $0x2,%edx
523e4c:	e8 3b 0a ee ff       	call   0x40488c
523e51:	c3                   	ret
523e52:	e9 b5 03 ee ff       	jmp    0x40420c
523e57:	eb eb                	jmp    0x523e44
523e59:	8b c3                	mov    %ebx,%eax
523e5b:	5f                   	pop    %edi
523e5c:	5e                   	pop    %esi
523e5d:	5b                   	pop    %ebx
523e5e:	59                   	pop    %ecx
523e5f:	59                   	pop    %ecx
523e60:	5d                   	pop    %ebp
523e61:	c3                   	ret
523e62:	8b c0                	mov    %eax,%eax
523e64:	55                   	push   %ebp
523e65:	8b ec                	mov    %esp,%ebp
523e67:	51                   	push   %ecx
523e68:	53                   	push   %ebx
523e69:	56                   	push   %esi
523e6a:	57                   	push   %edi
523e6b:	8b d8                	mov    %eax,%ebx
523e6d:	8b 45 08             	mov    0x8(%ebp),%eax
523e70:	33 d2                	xor    %edx,%edx
523e72:	89 50 f8             	mov    %edx,-0x8(%eax)
523e75:	c7 40 fc 00 00 f0 3f 	movl   $0x3ff00000,-0x4(%eax)
523e7c:	33 ff                	xor    %edi,%edi
523e7e:	8b d3                	mov    %ebx,%edx
523e80:	4a                   	dec    %edx
523e81:	33 c0                	xor    %eax,%eax
523e83:	e8 8c 55 08 00       	call   0x5a9414
523e88:	8b f0                	mov    %eax,%esi
523e8a:	8b 45 08             	mov    0x8(%ebp),%eax
523e8d:	8b 40 f4             	mov    -0xc(%eax),%eax
523e90:	3b b0 14 02 00 00    	cmp    0x214(%eax),%esi
523e96:	7d 28                	jge    0x523ec0
523e98:	8b 45 08             	mov    0x8(%ebp),%eax
523e9b:	8b 40 f4             	mov    -0xc(%eax),%eax
523e9e:	8b 80 80 02 00 00    	mov    0x280(%eax),%eax
523ea4:	8b 14 b0             	mov    (%eax,%esi,4),%edx
523ea7:	8b 45 08             	mov    0x8(%ebp),%eax
523eaa:	8b 40 f4             	mov    -0xc(%eax),%eax
523ead:	8b 80 7c 02 00 00    	mov    0x27c(%eax),%eax
523eb3:	e8 08 7f ef ff       	call   0x41bdc0
523eb8:	8a 80 15 01 00 00    	mov    0x115(%eax),%al
523ebe:	eb 12                	jmp    0x523ed2
523ec0:	8b 45 08             	mov    0x8(%ebp),%eax
523ec3:	8b 40 f4             	mov    -0xc(%eax),%eax
523ec6:	8b 80 58 02 00 00    	mov    0x258(%eax),%eax
523ecc:	8a 80 15 01 00 00    	mov    0x115(%eax),%al
523ed2:	8b 55 08             	mov    0x8(%ebp),%edx
523ed5:	8b 52 f4             	mov    -0xc(%edx),%edx
523ed8:	80 ba 5d 02 00 00 00 	cmpb   $0x0,0x25d(%edx)
523edf:	74 0c                	je     0x523eed
523ee1:	8b 45 08             	mov    0x8(%ebp),%eax
523ee4:	8b 40 f4             	mov    -0xc(%eax),%eax
523ee7:	8a 80 3d 02 00 00    	mov    0x23d(%eax),%al
523eed:	84 c0                	test   %al,%al
523eef:	0f 84 47 01 00 00    	je     0x52403c
523ef5:	4b                   	dec    %ebx
523ef6:	8b 55 08             	mov    0x8(%ebp),%edx
523ef9:	8b 52 f4             	mov    -0xc(%edx),%edx
523efc:	8b 92 10 02 00 00    	mov    0x210(%edx),%edx
523f02:	80 3c 1a 00          	cmpb   $0x0,(%edx,%ebx,1)
523f06:	75 01                	jne    0x523f09
523f08:	4b                   	dec    %ebx
523f09:	8b 55 08             	mov    0x8(%ebp),%edx
523f0c:	8b 52 f4             	mov    -0xc(%edx),%edx
523f0f:	8b 92 10 02 00 00    	mov    0x210(%edx),%edx
523f15:	80 3c 1a 0a          	cmpb   $0xa,(%edx,%ebx,1)
523f19:	75 01                	jne    0x523f1c
523f1b:	4b                   	dec    %ebx
523f1c:	83 fb ff             	cmp    $0xffffffff,%ebx
523f1f:	75 02                	jne    0x523f23
523f21:	33 db                	xor    %ebx,%ebx
523f23:	33 ff                	xor    %edi,%edi
523f25:	85 db                	test   %ebx,%ebx
523f27:	0f 8c 0f 01 00 00    	jl     0x52403c
523f2d:	fe c8                	dec    %al
523f2f:	74 44                	je     0x523f75
523f31:	fe c8                	dec    %al
523f33:	74 09                	je     0x523f3e
523f35:	fe c8                	dec    %al
523f37:	74 69                	je     0x523fa2
523f39:	e9 fe 00 00 00       	jmp    0x52403c
523f3e:	8b 45 08             	mov    0x8(%ebp),%eax
523f41:	8b 78 0c             	mov    0xc(%eax),%edi
523f44:	8b 45 08             	mov    0x8(%ebp),%eax
523f47:	8b 40 f4             	mov    -0xc(%eax),%eax
523f4a:	8b 80 74 02 00 00    	mov    0x274(%eax),%eax
523f50:	2b 3c 98             	sub    (%eax,%ebx,4),%edi
523f53:	8b 45 08             	mov    0x8(%ebp),%eax
523f56:	8b 40 f4             	mov    -0xc(%eax),%eax
523f59:	8b 80 6c 02 00 00    	mov    0x26c(%eax),%eax
523f5f:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
523f63:	2b f8                	sub    %eax,%edi
523f65:	d1 ff                	sar    $1,%edi
523f67:	0f 89 cf 00 00 00    	jns    0x52403c
523f6d:	83 d7 00             	adc    $0x0,%edi
523f70:	e9 c7 00 00 00       	jmp    0x52403c
523f75:	8b 45 08             	mov    0x8(%ebp),%eax
523f78:	8b 78 0c             	mov    0xc(%eax),%edi
523f7b:	8b 45 08             	mov    0x8(%ebp),%eax
523f7e:	8b 40 f4             	mov    -0xc(%eax),%eax
523f81:	8b 80 74 02 00 00    	mov    0x274(%eax),%eax
523f87:	2b 3c 98             	sub    (%eax,%ebx,4),%edi
523f8a:	8b 45 08             	mov    0x8(%ebp),%eax
523f8d:	8b 40 f4             	mov    -0xc(%eax),%eax
523f90:	8b 80 6c 02 00 00    	mov    0x26c(%eax),%eax
523f96:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
523f9a:	2b f8                	sub    %eax,%edi
523f9c:	4f                   	dec    %edi
523f9d:	e9 9a 00 00 00       	jmp    0x52403c
523fa2:	8b 45 08             	mov    0x8(%ebp),%eax
523fa5:	8b 40 f4             	mov    -0xc(%eax),%eax
523fa8:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
523fae:	80 7c 18 01 00       	cmpb   $0x0,0x1(%eax,%ebx,1)
523fb3:	0f 84 83 00 00 00    	je     0x52403c
523fb9:	8d 43 02             	lea    0x2(%ebx),%eax
523fbc:	8b 55 08             	mov    0x8(%ebp),%edx
523fbf:	8b 52 f4             	mov    -0xc(%edx),%edx
523fc2:	3b 82 14 02 00 00    	cmp    0x214(%edx),%eax
523fc8:	7c 13                	jl     0x523fdd
523fca:	8b 45 08             	mov    0x8(%ebp),%eax
523fcd:	8b 40 f4             	mov    -0xc(%eax),%eax
523fd0:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
523fd6:	80 7c 18 02 00       	cmpb   $0x0,0x2(%eax,%ebx,1)
523fdb:	74 5f                	je     0x52403c
523fdd:	8b 45 08             	mov    0x8(%ebp),%eax
523fe0:	8b 40 f4             	mov    -0xc(%eax),%eax
523fe3:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
523fe9:	80 7c 18 01 0a       	cmpb   $0xa,0x1(%eax,%ebx,1)
523fee:	74 4c                	je     0x52403c
523ff0:	8b 45 08             	mov    0x8(%ebp),%eax
523ff3:	8b 40 f4             	mov    -0xc(%eax),%eax
523ff6:	8b 80 74 02 00 00    	mov    0x274(%eax),%eax
523ffc:	8b 34 98             	mov    (%eax,%ebx,4),%esi
523fff:	8b 45 08             	mov    0x8(%ebp),%eax
524002:	8b 40 f4             	mov    -0xc(%eax),%eax
524005:	8b 80 6c 02 00 00    	mov    0x26c(%eax),%eax
52400b:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
52400f:	03 f0                	add    %eax,%esi
524011:	46                   	inc    %esi
524012:	85 f6                	test   %esi,%esi
524014:	74 17                	je     0x52402d
524016:	8b 45 08             	mov    0x8(%ebp),%eax
524019:	db 40 0c             	fildl  0xc(%eax)
52401c:	89 75 fc             	mov    %esi,-0x4(%ebp)
52401f:	db 45 fc             	fildl  -0x4(%ebp)
524022:	de f9                	fdivrp %st,%st(1)
524024:	8b 45 08             	mov    0x8(%ebp),%eax
524027:	dd 58 f8             	fstpl  -0x8(%eax)
52402a:	9b                   	fwait
52402b:	eb 0f                	jmp    0x52403c
52402d:	8b 45 08             	mov    0x8(%ebp),%eax
524030:	33 d2                	xor    %edx,%edx
524032:	89 50 f8             	mov    %edx,-0x8(%eax)
524035:	c7 40 fc 00 00 f0 3f 	movl   $0x3ff00000,-0x4(%eax)
52403c:	8b c7                	mov    %edi,%eax
52403e:	5f                   	pop    %edi
52403f:	5e                   	pop    %esi
524040:	5b                   	pop    %ebx
524041:	59                   	pop    %ecx
524042:	5d                   	pop    %ebp
524043:	c3                   	ret
524044:	55                   	push   %ebp
524045:	8b ec                	mov    %esp,%ebp
524047:	8b 45 08             	mov    0x8(%ebp),%eax
52404a:	80 78 f3 00          	cmpb   $0x0,-0xd(%eax)
52404e:	74 3f                	je     0x52408f
524050:	8b 45 08             	mov    0x8(%ebp),%eax
524053:	c6 40 f3 00          	movb   $0x0,-0xd(%eax)