58cc41:	83 c4 08             	add    $0x8,%esp
58cc44:	8b c8                	mov    %eax,%ecx
58cc46:	58                   	pop    %eax
58cc47:	d3 e0                	shl    %cl,%eax
58cc49:	33 d2                	xor    %edx,%edx
58cc4b:	01 44 24 10          	add    %eax,0x10(%esp)
58cc4f:	11 54 24 14          	adc    %edx,0x14(%esp)
58cc53:	83 c3 08             	add    $0x8,%ebx
58cc56:	83 fb 20             	cmp    $0x20,%ebx
58cc59:	7c bf                	jl     0x58cc1a
58cc5b:	83 44 24 08 20       	addl   $0x20,0x8(%esp)
58cc60:	b9 10 00 00 00       	mov    $0x10,%ecx
58cc65:	2b ce                	sub    %esi,%ecx
58cc67:	bb ff ff 00 00       	mov    $0xffff,%ebx
58cc6c:	d3 eb                	shr    %cl,%ebx
58cc6e:	23 5c 24 10          	and    0x10(%esp),%ebx
58cc72:	8b 44 24 10          	mov    0x10(%esp),%eax
58cc76:	8b 54 24 14          	mov    0x14(%esp),%edx
58cc7a:	8b ce                	mov    %esi,%ecx
58cc7c:	e8 db 8f e7 ff       	call   0x405c5c
58cc81:	89 44 24 10          	mov    %eax,0x10(%esp)
58cc85:	89 54 24 14          	mov    %edx,0x14(%esp)
58cc89:	29 74 24 08          	sub    %esi,0x8(%esp)
58cc8d:	8b ce                	mov    %esi,%ecx
58cc8f:	49                   	dec    %ecx
58cc90:	b8 01 00 00 00       	mov    $0x1,%eax
58cc95:	d3 e0                	shl    %cl,%eax
58cc97:	85 d8                	test   %ebx,%eax
58cc99:	75 0c                	jne    0x58cca7
58cc9b:	8b ce                	mov    %esi,%ecx
58cc9d:	b8 01 00 00 00       	mov    $0x1,%eax
58cca2:	d3 e0                	shl    %cl,%eax
58cca4:	48                   	dec    %eax
58cca5:	2b d8                	sub    %eax,%ebx
58cca7:	89 1f                	mov    %ebx,(%edi)
58cca9:	83 c7 04             	add    $0x4,%edi
58ccac:	4d                   	dec    %ebp
58ccad:	0f 85 52 ff ff ff    	jne    0x58cc05
58ccb3:	8b 84 24 bc 01 00 00 	mov    0x1bc(%esp),%eax
58ccba:	03 84 24 b0 01 00 00 	add    0x1b0(%esp),%eax
58ccc1:	89 84 24 ac 01 00 00 	mov    %eax,0x1ac(%esp)
58ccc8:	8b 94 24 c0 01 00 00 	mov    0x1c0(%esp),%edx
58cccf:	03 d0                	add    %eax,%edx
58ccd1:	89 94 24 b0 01 00 00 	mov    %edx,0x1b0(%esp)
58ccd8:	8b 84 24 c4 01 00 00 	mov    0x1c4(%esp),%eax
58ccdf:	03 84 24 b8 01 00 00 	add    0x1b8(%esp),%eax
58cce6:	89 84 24 b4 01 00 00 	mov    %eax,0x1b4(%esp)
58cced:	8b 94 24 c8 01 00 00 	mov    0x1c8(%esp),%edx
58ccf4:	03 d0                	add    %eax,%edx
58ccf6:	89 94 24 b8 01 00 00 	mov    %edx,0x1b8(%esp)
58ccfd:	8b 84 24 cc 01 00 00 	mov    0x1cc(%esp),%eax
58cd04:	01 44 24 1c          	add    %eax,0x1c(%esp)
58cd08:	8b 84 24 d0 01 00 00 	mov    0x1d0(%esp),%eax
58cd0f:	01 44 24 20          	add    %eax,0x20(%esp)
58cd13:	33 db                	xor    %ebx,%ebx
58cd15:	8d b4 24 ac 01 00 00 	lea    0x1ac(%esp),%esi
58cd1c:	8b 44 24 28          	mov    0x28(%esp),%eax
58cd20:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58cd26:	99                   	cltd
58cd27:	52                   	push   %edx
58cd28:	50                   	push   %eax
58cd29:	8b 44 24 08          	mov    0x8(%esp),%eax
58cd2d:	33 d2                	xor    %edx,%edx
58cd2f:	52                   	push   %edx
58cd30:	50                   	push   %eax
58cd31:	8b c3                	mov    %ebx,%eax
58cd33:	d1 e8                	shr    $1,%eax
58cd35:	99                   	cltd
58cd36:	03 04 24             	add    (%esp),%eax
58cd39:	13 54 24 04          	adc    0x4(%esp),%edx
58cd3d:	83 c4 08             	add    $0x8,%esp
58cd40:	e8 3f 8d e7 ff       	call   0x405a84
58cd45:	52                   	push   %edx
58cd46:	50                   	push   %eax
58cd47:	8b 44 24 0c          	mov    0xc(%esp),%eax
58cd4b:	33 d2                	xor    %edx,%edx
58cd4d:	03 04 24             	add    (%esp),%eax
58cd50:	13 54 24 04          	adc    0x4(%esp),%edx
58cd54:	83 c4 08             	add    $0x8,%esp
58cd57:	52                   	push   %edx
58cd58:	50                   	push   %eax
58cd59:	8b c3                	mov    %ebx,%eax
58cd5b:	83 e0 01             	and    $0x1,%eax
58cd5e:	99                   	cltd
58cd5f:	03 04 24             	add    (%esp),%eax
58cd62:	13 54 24 04          	adc    0x4(%esp),%edx
58cd66:	83 c4 08             	add    $0x8,%esp
58cd69:	8b 54 24 28          	mov    0x28(%esp),%edx
58cd6d:	8b 12                	mov    (%edx),%edx
58cd6f:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58cd72:	89 44 24 24          	mov    %eax,0x24(%esp)
58cd76:	8b 06                	mov    (%esi),%eax
58cd78:	8b d0                	mov    %eax,%edx
58cd7a:	03 54 24 20          	add    0x20(%esp),%edx
58cd7e:	89 94 24 d4 01 00 00 	mov    %edx,0x1d4(%esp)
58cd85:	89 84 24 d8 01 00 00 	mov    %eax,0x1d8(%esp)
58cd8c:	03 44 24 1c          	add    0x1c(%esp),%eax
58cd90:	89 84 24 dc 01 00 00 	mov    %eax,0x1dc(%esp)
58cd97:	33 d2                	xor    %edx,%edx
58cd99:	8d 84 24 d4 01 00 00 	lea    0x1d4(%esp),%eax
58cda0:	8b 08                	mov    (%eax),%ecx
58cda2:	85 c9                	test   %ecx,%ecx
58cda4:	7e 20                	jle    0x58cdc6
58cda6:	8b fa                	mov    %edx,%edi
58cda8:	81 e7 ff 00 00 00    	and    $0xff,%edi
58cdae:	8b 6c 24 24          	mov    0x24(%esp),%ebp
58cdb2:	8d 7c 7d 00          	lea    0x0(%ebp,%edi,2),%edi
58cdb6:	57                   	push   %edi
58cdb7:	66 8b 8c 4c e4 01 00 	mov    0x1e4(%esp,%ecx,2),%cx
58cdbe:	00
58cdbf:	c1 e1 02             	shl    $0x2,%ecx
58cdc2:	5f                   	pop    %edi
58cdc3:	66 89 0f             	mov    %cx,(%edi)
58cdc6:	42                   	inc    %edx
58cdc7:	83 c0 04             	add    $0x4,%eax
58cdca:	80 fa 03             	cmp    $0x3,%dl
58cdcd:	75 d1                	jne    0x58cda0
58cdcf:	43                   	inc    %ebx
58cdd0:	83 c6 04             	add    $0x4,%esi
58cdd3:	83 fb 04             	cmp    $0x4,%ebx
58cdd6:	0f 85 40 ff ff ff    	jne    0x58cd1c
58cddc:	83 44 24 04 02       	addl   $0x2,0x4(%esp)
58cde1:	8b 44 24 04          	mov    0x4(%esp),%eax
58cde5:	33 d2                	xor    %edx,%edx
58cde7:	52                   	push   %edx
58cde8:	50                   	push   %eax
58cde9:	8b 44 24 30          	mov    0x30(%esp),%eax
58cded:	8b 88 fc 00 00 00    	mov    0xfc(%eax),%ecx
58cdf3:	8b c1                	mov    %ecx,%eax
58cdf5:	99                   	cltd
58cdf6:	3b 54 24 04          	cmp    0x4(%esp),%edx
58cdfa:	75 0d                	jne    0x58ce09
58cdfc:	3b 04 24             	cmp    (%esp),%eax
58cdff:	5a                   	pop    %edx
58ce00:	58                   	pop    %eax
58ce01:	0f 87 09 fd ff ff    	ja     0x58cb10
58ce07:	eb 08                	jmp    0x58ce11
58ce09:	5a                   	pop    %edx
58ce0a:	58                   	pop    %eax
58ce0b:	0f 8f ff fc ff ff    	jg     0x58cb10
58ce11:	83 04 24 02          	addl   $0x2,(%esp)
58ce15:	8b 04 24             	mov    (%esp),%eax
58ce18:	33 d2                	xor    %edx,%edx
58ce1a:	52                   	push   %edx
58ce1b:	50                   	push   %eax
58ce1c:	8b 44 24 30          	mov    0x30(%esp),%eax
58ce20:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
58ce26:	99                   	cltd
58ce27:	3b 54 24 04          	cmp    0x4(%esp),%edx
58ce2b:	75 0d                	jne    0x58ce3a
58ce2d:	3b 04 24             	cmp    (%esp),%eax
58ce30:	5a                   	pop    %edx
58ce31:	58                   	pop    %eax
58ce32:	0f 87 90 fc ff ff    	ja     0x58cac8
58ce38:	eb 08                	jmp    0x58ce42
58ce3a:	5a                   	pop    %edx
58ce3b:	58                   	pop    %eax
58ce3c:	0f 8f 86 fc ff ff    	jg     0x58cac8
58ce42:	81 c4 e8 21 00 00    	add    $0x21e8,%esp
58ce48:	5d                   	pop    %ebp
58ce49:	5f                   	pop    %edi
58ce4a:	5e                   	pop    %esi
58ce4b:	5b                   	pop    %ebx
58ce4c:	c3                   	ret
58ce4d:	00 00                	add    %al,(%eax)
58ce4f:	00 00                	add    %al,(%eax)
58ce51:	00 c8                	add    %cl,%al
58ce53:	42                   	inc    %edx
58ce54:	00 00                	add    %al,(%eax)
58ce56:	00 40 55             	add    %al,0x55(%eax)
58ce59:	8b ec                	mov    %esp,%ebp
58ce5b:	83 c4 f8             	add    $0xfffffff8,%esp
58ce5e:	53                   	push   %ebx
58ce5f:	56                   	push   %esi
58ce60:	89 4d f8             	mov    %ecx,-0x8(%ebp)
58ce63:	89 55 fc             	mov    %edx,-0x4(%ebp)
58ce66:	8b d8                	mov    %eax,%ebx
58ce68:	8b 45 08             	mov    0x8(%ebp),%eax
58ce6b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
58ce6f:	0f 84 c3 00 00 00    	je     0x58cf38
58ce75:	33 d2                	xor    %edx,%edx
58ce77:	89 93 34 94 00 00    	mov    %edx,0x9434(%ebx)
58ce7d:	eb 14                	jmp    0x58ce93
58ce7f:	69 c0 dd 0e e9 02    	imul   $0x2e90edd,%eax,%eax
58ce85:	40                   	inc    %eax
58ce86:	89 84 93 34 92 00 00 	mov    %eax,0x9234(%ebx,%edx,4)
58ce8d:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58ce93:	8b 93 34 94 00 00    	mov    0x9434(%ebx),%edx
58ce99:	83 fa 04             	cmp    $0x4,%edx
58ce9c:	72 e1                	jb     0x58ce7f
58ce9e:	8b 83 34 92 00 00    	mov    0x9234(%ebx),%eax
58cea4:	33 83 3c 92 00 00    	xor    0x923c(%ebx),%eax
58ceaa:	c1 e8 1f             	shr    $0x1f,%eax
58cead:	8b 93 40 92 00 00    	mov    0x9240(%ebx),%edx
58ceb3:	03 d2                	add    %edx,%edx
58ceb5:	0b c2                	or     %edx,%eax
58ceb7:	89 83 40 92 00 00    	mov    %eax,0x9240(%ebx)
58cebd:	c7 83 34 94 00 00 04 	movl   $0x4,0x9434(%ebx)
58cec4:	00 00 00
58cec7:	eb 30                	jmp    0x58cef9
58cec9:	8b 94 83 24 92 00 00 	mov    0x9224(%ebx,%eax,4),%edx
58ced0:	33 94 83 2c 92 00 00 	xor    0x922c(%ebx,%eax,4),%edx
58ced7:	03 d2                	add    %edx,%edx
58ced9:	8b 8c 83 28 92 00 00 	mov    0x9228(%ebx,%eax,4),%ecx
58cee0:	33 8c 83 30 92 00 00 	xor    0x9230(%ebx,%eax,4),%ecx
58cee7:	c1 e9 1f             	shr    $0x1f,%ecx
58ceea:	0b d1                	or     %ecx,%edx
58ceec:	89 94 83 34 92 00 00 	mov    %edx,0x9234(%ebx,%eax,4)
58cef3:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58cef9:	8b 83 34 94 00 00    	mov    0x9434(%ebx),%eax
58ceff:	83 f8 7f             	cmp    $0x7f,%eax
58cf02:	72 c5                	jb     0x58cec9
58cf04:	33 c0                	xor    %eax,%eax
58cf06:	89 83 34 94 00 00    	mov    %eax,0x9434(%ebx)
58cf0c:	eb 1f                	jmp    0x58cf2d
58cf0e:	8b 84 b3 34 92 00 00 	mov    0x9234(%ebx,%esi,4),%eax
58cf15:	e8 7e d7 ff ff       	call   0x58a698
58cf1a:	8b 93 34 94 00 00    	mov    0x9434(%ebx),%edx
58cf20:	89 84 93 34 92 00 00 	mov    %eax,0x9234(%ebx,%edx,4)
58cf27:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58cf2d:	8b b3 34 94 00 00    	mov    0x9434(%ebx),%esi
58cf33:	83 fe 7f             	cmp    $0x7f,%esi
58cf36:	72 d6                	jb     0x58cf0e
58cf38:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
58cf3c:	74 54                	je     0x58cf92
58cf3e:	ff 4d f8             	decl   -0x8(%ebp)
58cf41:	8b 83 34 94 00 00    	mov    0x9434(%ebx),%eax
58cf47:	8b d0                	mov    %eax,%edx
58cf49:	42                   	inc    %edx
58cf4a:	83 e2 7f             	and    $0x7f,%edx
58cf4d:	8b 94 93 34 92 00 00 	mov    0x9234(%ebx,%edx,4),%edx
58cf54:	8b c8                	mov    %eax,%ecx
58cf56:	83 c1 41             	add    $0x41,%ecx
58cf59:	83 e1 7f             	and    $0x7f,%ecx
58cf5c:	33 94 8b 34 92 00 00 	xor    0x9234(%ebx,%ecx,4),%edx
58cf63:	83 e0 7f             	and    $0x7f,%eax
58cf66:	89 94 83 34 92 00 00 	mov    %edx,0x9234(%ebx,%eax,4)
58cf6d:	8b 83 34 94 00 00    	mov    0x9434(%ebx),%eax
58cf73:	83 e0 7f             	and    $0x7f,%eax
58cf76:	8b 84 83 34 92 00 00 	mov    0x9234(%ebx,%eax,4),%eax
58cf7d:	8b 55 fc             	mov    -0x4(%ebp),%edx
58cf80:	31 02                	xor    %eax,(%edx)
58cf82:	ff 83 34 94 00 00    	incl   0x9434(%ebx)
58cf88:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
58cf8c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
58cf90:	75 ac                	jne    0x58cf3e
58cf92:	5e                   	pop    %esi
58cf93:	5b                   	pop    %ebx
58cf94:	59                   	pop    %ecx
58cf95:	59                   	pop    %ecx
58cf96:	5d                   	pop    %ebp
58cf97:	c2 08 00             	ret    $0x8
58cf9a:	8b c0                	mov    %eax,%eax
58cf9c:	53                   	push   %ebx
58cf9d:	56                   	push   %esi
58cf9e:	57                   	push   %edi
58cf9f:	55                   	push   %ebp
58cfa0:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58cfa6:	50                   	push   %eax
58cfa7:	81 c4 74 f5 ff ff    	add    $0xfffff574,%esp
58cfad:	89 04 24             	mov    %eax,(%esp)
58cfb0:	8b 1c 24             	mov    (%esp),%ebx
58cfb3:	8b f3                	mov    %ebx,%esi
58cfb5:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
58cfbc:	00
58cfbd:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58cfc4:	00
58cfc5:	6a 00                	push   $0x0
58cfc7:	68 c0 10 03 00       	push   $0x310c0
58cfcc:	8b 46 04             	mov    0x4(%esi),%eax
58cfcf:	e8 04 17 e9 ff       	call   0x41e6d8
58cfd4:	8b 7e 04             	mov    0x4(%esi),%edi
58cfd7:	8b c7                	mov    %edi,%eax
58cfd9:	e8 da 16 e9 ff       	call   0x41e6b8
58cfde:	52                   	push   %edx
58cfdf:	50                   	push   %eax
58cfe0:	8b 46 04             	mov    0x4(%esi),%eax
58cfe3:	e8 e0 b9 ff ff       	call   0x5889c8
58cfe8:	25 ff 00 00 00       	and    $0xff,%eax
58cfed:	c1 e0 02             	shl    $0x2,%eax
58cff0:	33 d2                	xor    %edx,%edx
58cff2:	03 04 24             	add    (%esp),%eax
58cff5:	13 54 24 04          	adc    0x4(%esp),%edx
58cff9:	83 c4 08             	add    $0x8,%esp
58cffc:	83 e8 01             	sub    $0x1,%eax
58cfff:	83 da 00             	sbb    $0x0,%edx
58d002:	52                   	push   %edx
58d003:	50                   	push   %eax
58d004:	8b c7                	mov    %edi,%eax
58d006:	e8 cd 16 e9 ff       	call   0x41e6d8
58d00b:	66 c7 46 08 4d 4d    	movw   $0x4d4d,0x8(%esi)
58d011:	8b c3                	mov    %ebx,%eax
58d013:	8b 56 04             	mov    0x4(%esi),%edx
58d016:	e8 91 bb ff ff       	call   0x588bac
58d01b:	89 44 24 04          	mov    %eax,0x4(%esp)
58d01f:	6a 00                	push   $0x0
58d021:	68 f8 82 02 00       	push   $0x282f8
58d026:	8b 46 04             	mov    0x4(%esi),%eax
58d029:	e8 aa 16 e9 ff       	call   0x41e6d8
58d02e:	8d 54 24 1c          	lea    0x1c(%esp),%edx
58d032:	b9 28 00 00 00       	mov    $0x28,%ecx
58d037:	8b 46 04             	mov    0x4(%esi),%eax
58d03a:	8b 38                	mov    (%eax),%edi
58d03c:	ff 57 08             	call   *0x8(%edi)
58d03f:	6a 01                	push   $0x1
58d041:	8b 44 24 08          	mov    0x8(%esp),%eax
58d045:	50                   	push   %eax
58d046:	8d 54 24 24          	lea    0x24(%esp),%edx
58d04a:	8b c3                	mov    %ebx,%eax
58d04c:	b9 0a 00 00 00       	mov    $0xa,%ecx
58d051:	e8 02 fe ff ff       	call   0x58ce58
58d056:	b8 1a 00 00 00       	mov    $0x1a,%eax
58d05b:	48                   	dec    %eax
58d05c:	8b 54 24 04          	mov    0x4(%esp),%edx
58d060:	c1 e2 08             	shl    $0x8,%edx
58d063:	33 c9                	xor    %ecx,%ecx
58d065:	8a 4c 04 1c          	mov    0x1c(%esp,%eax,1),%cl
58d069:	0b d1                	or     %ecx,%edx
58d06b:	89 54 24 04          	mov    %edx,0x4(%esp)
58d06f:	83 f8 16             	cmp    $0x16,%eax
58d072:	77 e7                	ja     0x58d05b
58d074:	6a 00                	push   $0x0
58d076:	68 c0 27 0d 00       	push   $0xd27c0
58d07b:	8b 46 04             	mov    0x4(%esi),%eax
58d07e:	e8 55 16 e9 ff       	call   0x41e6d8
58d083:	db 86 f8 00 00 00    	fildl  0xf8(%esi)
58d089:	d8 3d dc d1 58 00    	fdivrs 0x58d1dc
58d08f:	d8 35 e0 d1 58 00    	fdivs  0x58d1e0
58d095:	dd 9e c0 f4 00 00    	fstpl  0xf4c0(%esi)
58d09b:	9b                   	fwait
58d09c:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58d0a2:	48                   	dec    %eax
58d0a3:	85 c0                	test   %eax,%eax
58d0a5:	0f 82 fe 00 00 00    	jb     0x58d1a9
58d0ab:	40                   	inc    %eax
58d0ac:	89 44 24 18          	mov    %eax,0x18(%esp)
58d0b0:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
58d0b7:	00
58d0b8:	8d 9e a8 f4 00 00    	lea    0xf4a8(%esi),%ebx
58d0be:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58d0c3:	74 2d                	je     0x58d0f2
58d0c5:	8b 44 24 08          	mov    0x8(%esp),%eax
58d0c9:	89 84 24 84 1a 00 00 	mov    %eax,0x1a84(%esp)
58d0d0:	33 c0                	xor    %eax,%eax
58d0d2:	89 84 24 88 1a 00 00 	mov    %eax,0x1a88(%esp)
58d0d9:	df ac 24 84 1a 00 00 	fildll 0x1a84(%esp)
58d0e0:	dc 4b 18             	fmull  0x18(%ebx)
58d0e3:	e8 e4 5b e7 ff       	call   0x402ccc
58d0e8:	8b c8                	mov    %eax,%ecx
58d0ea:	8b 53 08             	mov    0x8(%ebx),%edx