5898b2:	eb 0f                	jmp    0x5898c3
5898b4:	8b 56 04             	mov    0x4(%esi),%edx
5898b7:	8b c6                	mov    %esi,%eax
5898b9:	e8 96 f2 ff ff       	call   0x588b54
5898be:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
5898c2:	43                   	inc    %ebx
5898c3:	3b 9e dc 00 00 00    	cmp    0xdc(%esi),%ebx
5898c9:	7c e9                	jl     0x5898b4
5898cb:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
5898d1:	7d 12                	jge    0x5898e5
5898d3:	66 8b 44 5f fe       	mov    -0x2(%edi,%ebx,2),%ax
5898d8:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
5898dc:	43                   	inc    %ebx
5898dd:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
5898e3:	7c ee                	jl     0x5898d3
5898e5:	0f b7 44 5f fe       	movzwl -0x2(%edi,%ebx,2),%eax
5898ea:	c1 e0 02             	shl    $0x2,%eax
5898ed:	89 86 08 01 00 00    	mov    %eax,0x108(%esi)
5898f3:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
5898f9:	99                   	cltd
5898fa:	52                   	push   %edx
5898fb:	50                   	push   %eax
5898fc:	8b 46 04             	mov    0x4(%esi),%eax
5898ff:	e8 d4 4d e9 ff       	call   0x41e6d8
589904:	5a                   	pop    %edx
589905:	5d                   	pop    %ebp
589906:	5f                   	pop    %edi
589907:	5e                   	pop    %esi
589908:	5b                   	pop    %ebx
589909:	c3                   	ret
58990a:	00 00                	add    %al,(%eax)
58990c:	4b                   	dec    %ebx
58990d:	4f                   	dec    %edi
58990e:	44                   	inc    %esp
58990f:	41                   	inc    %ecx
589910:	4b                   	dec    %ebx
589911:	00 00                	add    %al,(%eax)
589913:	00 53 56             	add    %dl,0x56(%ebx)
589916:	57                   	push   %edi
589917:	55                   	push   %ebp
589918:	50                   	push   %eax
589919:	b8 02 00 00 00       	mov    $0x2,%eax
58991e:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
589924:	50                   	push   %eax
589925:	48                   	dec    %eax
589926:	75 f6                	jne    0x58991e
589928:	8b 84 24 00 20 00 00 	mov    0x2000(%esp),%eax
58992f:	81 c4 b0 fe ff ff    	add    $0xfffffeb0,%esp
589935:	8b f8                	mov    %eax,%edi
589937:	8b df                	mov    %edi,%ebx
589939:	8b f3                	mov    %ebx,%esi
58993b:	33 c0                	xor    %eax,%eax
58993d:	89 44 24 04          	mov    %eax,0x4(%esp)
589941:	33 c0                	xor    %eax,%eax
589943:	89 44 24 08          	mov    %eax,0x8(%esp)
589947:	c7 44 24 1c 00 08 00 	movl   $0x800,0x1c(%esp)
58994e:	00
58994f:	c7 44 24 20 00 08 00 	movl   $0x800,0x20(%esp)
589956:	00
589957:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
58995e:	00
58995f:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
589966:	00
589967:	c7 44 24 40 ff ff ff 	movl   $0x7fffffff,0x40(%esp)
58996e:	7f
58996f:	8d 94 24 54 01 00 00 	lea    0x154(%esp),%edx
589976:	8b c3                	mov    %ebx,%eax
589978:	e8 7f fe ff ff       	call   0x5897fc
58997d:	66 c7 46 08 4d 4d    	movw   $0x4d4d,0x8(%esi)
589983:	8b c3                	mov    %ebx,%eax
589985:	8b 56 04             	mov    0x4(%esi),%edx
589988:	e8 c7 f1 ff ff       	call   0x588b54
58998d:	66 3d d8 ff          	cmp    $0xffd8,%ax
589991:	0f 85 a6 03 00 00    	jne    0x589d3d
589997:	8b ef                	mov    %edi,%ebp
589999:	8b c5                	mov    %ebp,%eax
58999b:	8b 56 04             	mov    0x4(%esi),%edx
58999e:	e8 b1 f1 ff ff       	call   0x588b54
5899a3:	0f b7 d8             	movzwl %ax,%ebx
5899a6:	8b c5                	mov    %ebp,%eax
5899a8:	8b 56 04             	mov    0x4(%esi),%edx
5899ab:	e8 a4 f1 ff ff       	call   0x588b54
5899b0:	0f b7 c0             	movzwl %ax,%eax
5899b3:	83 e8 02             	sub    $0x2,%eax
5899b6:	89 04 24             	mov    %eax,(%esp)
5899b9:	81 fb 00 ff 00 00    	cmp    $0xff00,%ebx
5899bf:	0f 8e 78 03 00 00    	jle    0x589d3d
5899c5:	81 3c 24 ff 00 00 00 	cmpl   $0xff,(%esp)
5899cc:	0f 8f 6b 03 00 00    	jg     0x589d3d
5899d2:	8d 54 24 54          	lea    0x54(%esp),%edx
5899d6:	8b 0c 24             	mov    (%esp),%ecx
5899d9:	8b 46 04             	mov    0x4(%esi),%eax
5899dc:	8b 28                	mov    (%eax),%ebp
5899de:	ff 55 08             	call   *0x8(%ebp)
5899e1:	8b c3                	mov    %ebx,%eax
5899e3:	2d c3 ff 00 00       	sub    $0xffc3,%eax
5899e8:	74 05                	je     0x5899ef
5899ea:	48                   	dec    %eax
5899eb:	74 30                	je     0x589a1d
5899ed:	eb 72                	jmp    0x589a61
5899ef:	33 c0                	xor    %eax,%eax
5899f1:	8a 44 24 55          	mov    0x55(%esp),%al
5899f5:	c1 e0 08             	shl    $0x8,%eax
5899f8:	33 d2                	xor    %edx,%edx
5899fa:	8a 54 24 56          	mov    0x56(%esp),%dl
5899fe:	03 c2                	add    %edx,%eax
589a00:	89 44 24 04          	mov    %eax,0x4(%esp)
589a04:	33 c0                	xor    %eax,%eax
589a06:	8a 44 24 57          	mov    0x57(%esp),%al
589a0a:	c1 e0 08             	shl    $0x8,%eax
589a0d:	33 d2                	xor    %edx,%edx
589a0f:	8a 54 24 58          	mov    0x58(%esp),%dl
589a13:	03 c2                	add    %edx,%eax
589a15:	03 c0                	add    %eax,%eax
589a17:	89 44 24 08          	mov    %eax,0x8(%esp)
589a1b:	eb 44                	jmp    0x589a61
589a1d:	8b c7                	mov    %edi,%eax
589a1f:	e8 a0 f7 ff ff       	call   0x5891c4
589a24:	8b 86 9c f4 00 00    	mov    0xf49c(%esi),%eax
589a2a:	89 44 24 30          	mov    %eax,0x30(%esp)
589a2e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
589a32:	8d 44 24 54          	lea    0x54(%esp),%eax
589a36:	eb 19                	jmp    0x589a51
589a38:	33 d2                	xor    %edx,%edx
589a3a:	8a 10                	mov    (%eax),%dl
589a3c:	8b 8e 9c f4 00 00    	mov    0xf49c(%esi),%ecx
589a42:	89 4c 94 2c          	mov    %ecx,0x2c(%esp,%edx,4)
589a46:	40                   	inc    %eax
589a47:	8b d7                	mov    %edi,%edx
589a49:	33 c9                	xor    %ecx,%ecx
589a4b:	92                   	xchg   %eax,%edx
589a4c:	e8 97 f7 ff ff       	call   0x5891e8
589a51:	8d 54 24 54          	lea    0x54(%esp),%edx
589a55:	03 14 24             	add    (%esp),%edx
589a58:	3b d0                	cmp    %eax,%edx
589a5a:	7e 05                	jle    0x589a61
589a5c:	80 38 02             	cmpb   $0x2,(%eax)
589a5f:	72 d7                	jb     0x589a38
589a61:	81 fb da ff 00 00    	cmp    $0xffda,%ebx
589a67:	0f 85 2a ff ff ff    	jne    0x589997
589a6d:	db 44 24 04          	fildl  0x4(%esp)
589a71:	d8 3d 48 9d 58 00    	fdivrs 0x589d48
589a77:	d8 35 4c 9d 58 00    	fdivs  0x589d4c
589a7d:	dd 9e c0 f4 00 00    	fstpl  0xf4c0(%esi)
589a83:	9b                   	fwait
589a84:	c7 86 38 01 00 00 01 	movl   $0x1,0x138(%esi)
589a8b:	00 00 00
589a8e:	8b c7                	mov    %edi,%eax
589a90:	83 ca ff             	or     $0xffffffff,%edx
589a93:	e8 84 f6 ff ff       	call   0x58911c
589a98:	8b 44 24 04          	mov    0x4(%esp),%eax
589a9c:	48                   	dec    %eax
589a9d:	85 c0                	test   %eax,%eax
589a9f:	0f 8c 3d 02 00 00    	jl     0x589ce2
589aa5:	40                   	inc    %eax
589aa6:	89 44 24 44          	mov    %eax,0x44(%esp)
589aaa:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
589ab1:	00
589ab2:	8d 9e a8 f4 00 00    	lea    0xf4a8(%esi),%ebx
589ab8:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
589abd:	74 16                	je     0x589ad5
589abf:	db 44 24 0c          	fildl  0xc(%esp)
589ac3:	dc 4b 18             	fmull  0x18(%ebx)
589ac6:	e8 01 92 e7 ff       	call   0x402ccc
589acb:	8b c8                	mov    %eax,%ecx
589acd:	8b 53 08             	mov    0x8(%ebx),%edx
589ad0:	8b 43 04             	mov    0x4(%ebx),%eax
589ad3:	ff 13                	call   *(%ebx)
589ad5:	8b 44 24 08          	mov    0x8(%esp),%eax
589ad9:	48                   	dec    %eax
589ada:	85 c0                	test   %eax,%eax
589adc:	0f 8c f2 01 00 00    	jl     0x589cd4
589ae2:	40                   	inc    %eax
589ae3:	89 44 24 48          	mov    %eax,0x48(%esp)
589ae7:	33 ed                	xor    %ebp,%ebp
589ae9:	8d 44 24 1c          	lea    0x1c(%esp),%eax
589aed:	89 44 24 4c          	mov    %eax,0x4c(%esp)
589af1:	8d 44 24 24          	lea    0x24(%esp),%eax
589af5:	89 44 24 50          	mov    %eax,0x50(%esp)
589af9:	8b c5                	mov    %ebp,%eax
589afb:	83 e0 01             	and    $0x1,%eax
589afe:	8b 5c 84 2c          	mov    0x2c(%esp,%eax,4),%ebx
589b02:	eb 0f                	jmp    0x589b13
589b04:	8b c7                	mov    %edi,%eax
589b06:	ba 01 00 00 00       	mov    $0x1,%edx
589b0b:	e8 0c f6 ff ff       	call   0x58911c
589b10:	8b 1c 83             	mov    (%ebx,%eax,4),%ebx
589b13:	83 3b 00             	cmpl   $0x0,(%ebx)
589b16:	75 ec                	jne    0x589b04
589b18:	8b 43 08             	mov    0x8(%ebx),%eax
589b1b:	89 04 24             	mov    %eax,(%esp)
589b1e:	8b c7                	mov    %edi,%eax
589b20:	8b 14 24             	mov    (%esp),%edx
589b23:	e8 f4 f5 ff ff       	call   0x58911c
589b28:	8b d8                	mov    %eax,%ebx
589b2a:	8b 0c 24             	mov    (%esp),%ecx
589b2d:	49                   	dec    %ecx
589b2e:	b8 01 00 00 00       	mov    $0x1,%eax
589b33:	d3 e0                	shl    %cl,%eax
589b35:	85 d8                	test   %ebx,%eax
589b37:	75 0d                	jne    0x589b46
589b39:	8b 0c 24             	mov    (%esp),%ecx
589b3c:	b8 01 00 00 00       	mov    $0x1,%eax
589b41:	d3 e0                	shl    %cl,%eax
589b43:	48                   	dec    %eax
589b44:	2b d8                	sub    %eax,%ebx
589b46:	83 fd 02             	cmp    $0x2,%ebp
589b49:	7d 14                	jge    0x589b5f
589b4b:	8b 44 24 4c          	mov    0x4c(%esp),%eax
589b4f:	01 18                	add    %ebx,(%eax)
589b51:	8b 44 24 4c          	mov    0x4c(%esp),%eax
589b55:	8b 00                	mov    (%eax),%eax
589b57:	8b 54 24 50          	mov    0x50(%esp),%edx
589b5b:	89 02                	mov    %eax,(%edx)
589b5d:	eb 09                	jmp    0x589b68
589b5f:	8b c5                	mov    %ebp,%eax
589b61:	83 e0 01             	and    $0x1,%eax
589b64:	01 5c 84 24          	add    %ebx,0x24(%esp,%eax,4)
589b68:	8b c5                	mov    %ebp,%eax
589b6a:	83 e0 01             	and    $0x1,%eax
589b6d:	8b 5c 84 24          	mov    0x24(%esp,%eax,4),%ebx
589b71:	85 db                	test   %ebx,%ebx
589b73:	7d 02                	jge    0x589b77
589b75:	33 db                	xor    %ebx,%ebx
589b77:	81 fb ff 0f 00 00    	cmp    $0xfff,%ebx
589b7d:	7e 05                	jle    0x589b84
589b7f:	bb ff 0f 00 00       	mov    $0xfff,%ebx
589b84:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
589b88:	0f af 4c 24 08       	imul   0x8(%esp),%ecx
589b8d:	03 cd                	add    %ebp,%ecx
589b8f:	81 be ec 00 00 00 f4 	cmpl   $0x13f4,0xec(%esi)
589b96:	13 00 00
589b99:	75 7d                	jne    0x589c18
589b9b:	69 44 24 04 90 06 00 	imul   $0x690,0x4(%esp),%eax
589ba2:	00
589ba3:	50                   	push   %eax
589ba4:	8b c1                	mov    %ecx,%eax
589ba6:	5a                   	pop    %edx
589ba7:	51                   	push   %ecx
589ba8:	8b ca                	mov    %edx,%ecx
589baa:	99                   	cltd
589bab:	f7 f9                	idiv   %ecx
589bad:	59                   	pop    %ecx
589bae:	89 44 24 10          	mov    %eax,0x10(%esp)
589bb2:	83 7c 24 10 02       	cmpl   $0x2,0x10(%esp)
589bb7:	7d 2f                	jge    0x589be8
589bb9:	8b c1                	mov    %ecx,%eax
589bbb:	51                   	push   %ecx
589bbc:	b9 90 06 00 00       	mov    $0x690,%ecx
589bc1:	99                   	cltd
589bc2:	f7 f9                	idiv   %ecx
589bc4:	59                   	pop    %ecx
589bc5:	99                   	cltd
589bc6:	f7 7c 24 04          	idivl  0x4(%esp)
589bca:	89 54 24 14          	mov    %edx,0x14(%esp)
589bce:	8b c1                	mov    %ecx,%eax
589bd0:	b9 90 06 00 00       	mov    $0x690,%ecx
589bd5:	99                   	cltd
589bd6:	f7 f9                	idiv   %ecx
589bd8:	69 44 24 10 90 06 00 	imul   $0x690,0x10(%esp),%eax
589bdf:	00
589be0:	03 d0                	add    %eax,%edx
589be2:	89 54 24 18          	mov    %edx,0x18(%esp)
589be6:	eb 4a                	jmp    0x589c32
589be8:	69 44 24 04 20 0d 00 	imul   $0xd20,0x4(%esp),%eax
589bef:	00
589bf0:	2b c8                	sub    %eax,%ecx
589bf2:	8b c1                	mov    %ecx,%eax
589bf4:	51                   	push   %ecx
589bf5:	b9 d4 06 00 00       	mov    $0x6d4,%ecx
589bfa:	99                   	cltd
589bfb:	f7 f9                	idiv   %ecx
589bfd:	59                   	pop    %ecx
589bfe:	89 44 24 14          	mov    %eax,0x14(%esp)
589c02:	8b c1                	mov    %ecx,%eax
589c04:	b9 d4 06 00 00       	mov    $0x6d4,%ecx
589c09:	99                   	cltd
589c0a:	f7 f9                	idiv   %ecx
589c0c:	81 c2 20 0d 00 00    	add    $0xd20,%edx
589c12:	89 54 24 18          	mov    %edx,0x18(%esp)
589c16:	eb 1a                	jmp    0x589c32
589c18:	8b c1                	mov    %ecx,%eax
589c1a:	99                   	cltd
589c1b:	f7 be ec 00 00 00    	idivl  0xec(%esi)
589c21:	89 44 24 14          	mov    %eax,0x14(%esp)
589c25:	8b c1                	mov    %ecx,%eax
589c27:	99                   	cltd
589c28:	f7 be ec 00 00 00    	idivl  0xec(%esi)
589c2e:	89 54 24 18          	mov    %edx,0x18(%esp)
589c32:	8b 44 24 14          	mov    0x14(%esp),%eax
589c36:	2b 86 f0 00 00 00    	sub    0xf0(%esi),%eax
589c3c:	3b 86 f8 00 00 00    	cmp    0xf8(%esi),%eax
589c42:	7d 7b                	jge    0x589cbf
589c44:	8b 44 24 18          	mov    0x18(%esp),%eax
589c48:	2b 86 f4 00 00 00    	sub    0xf4(%esi),%eax
589c4e:	3b 86 fc 00 00 00    	cmp    0xfc(%esi),%eax
589c54:	7d 57                	jge    0x589cad
589c56:	8b 44 24 14          	mov    0x14(%esp),%eax
589c5a:	2b 86 f0 00 00 00    	sub    0xf0(%esi),%eax
589c60:	85 c0                	test   %eax,%eax
589c62:	7c 35                	jl     0x589c99
589c64:	8b 44 24 18          	mov    0x18(%esp),%eax
589c68:	2b 86 f4 00 00 00    	sub    0xf4(%esi),%eax
589c6e:	78 29                	js     0x589c99
589c70:	8b 4c 24 18          	mov    0x18(%esp),%ecx
589c74:	2b 8e f4 00 00 00    	sub    0xf4(%esi),%ecx
589c7a:	8b 54 24 14          	mov    0x14(%esp),%edx
589c7e:	2b 96 f0 00 00 00    	sub    0xf0(%esi),%edx
589c84:	8b c7                	mov    %edi,%eax
589c86:	e8 71 ed ff ff       	call   0x5889fc
589c8b:	66 8b 94 5c 54 01 00 	mov    0x154(%esp,%ebx,2),%dx
589c92:	00
589c93:	c1 e2 02             	shl    $0x2,%edx
589c96:	66 89 10             	mov    %dx,(%eax)
589c99:	0f b7 84 5c 54 01 00 	movzwl 0x154(%esp,%ebx,2),%eax
589ca0:	00
589ca1:	3b 44 24 40          	cmp    0x40(%esp),%eax
589ca5:	7d 18                	jge    0x589cbf
589ca7:	89 44 24 40          	mov    %eax,0x40(%esp)
589cab:	eb 12                	jmp    0x589cbf
589cad:	0f b7 84 5c 54 01 00 	movzwl 0x154(%esp,%ebx,2),%eax
589cb4:	00
589cb5:	33 d2                	xor    %edx,%edx
589cb7:	01 44 24 38          	add    %eax,0x38(%esp)
589cbb:	11 54 24 3c          	adc    %edx,0x3c(%esp)
589cbf:	45                   	inc    %ebp
589cc0:	83 44 24 50 04       	addl   $0x4,0x50(%esp)
589cc5:	83 44 24 4c 04       	addl   $0x4,0x4c(%esp)
589cca:	ff 4c 24 48          	decl   0x48(%esp)
589cce:	0f 85 25 fe ff ff    	jne    0x589af9
589cd4:	ff 44 24 0c          	incl   0xc(%esp)
589cd8:	ff 4c 24 44          	decl   0x44(%esp)
589cdc:	0f 85 d0 fd ff ff    	jne    0x589ab2
589ce2:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
589ce8:	3b 86 ec 00 00 00    	cmp    0xec(%esi),%eax
589cee:	7d 2f                	jge    0x589d1f
589cf0:	8b 86 ec 00 00 00    	mov    0xec(%esi),%eax
589cf6:	2b 86 fc 00 00 00    	sub    0xfc(%esi),%eax
589cfc:	f7 ae f8 00 00 00    	imull  0xf8(%esi)
589d02:	99                   	cltd
589d03:	52                   	push   %edx
589d04:	50                   	push   %eax
589d05:	8b 44 24 40          	mov    0x40(%esp),%eax
589d09:	8b 54 24 44          	mov    0x44(%esp),%edx
589d0d:	0f a4 c2 02          	shld   $0x2,%eax,%edx
589d11:	c1 e0 02             	shl    $0x2,%eax
589d14:	e8 8f bd e7 ff       	call   0x405aa8
589d19:	89 86 04 01 00 00    	mov    %eax,0x104(%esi)
589d1f:	ba 50 9d 58 00       	mov    $0x589d50,%edx
589d24:	8d 46 0a             	lea    0xa(%esi),%eax