58199a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
58199e:	75 07                	jne    0x5819a7
5819a0:	8b c3                	mov    %ebx,%eax
5819a2:	e9 84 00 00 00       	jmp    0x581a2b
5819a7:	8b 45 08             	mov    0x8(%ebp),%eax
5819aa:	48                   	dec    %eax
5819ab:	74 0c                	je     0x5819b9
5819ad:	83 e8 1f             	sub    $0x1f,%eax
5819b0:	74 19                	je     0x5819cb
5819b2:	83 e8 20             	sub    $0x20,%eax
5819b5:	74 44                	je     0x5819fb
5819b7:	eb 70                	jmp    0x581a29
5819b9:	8d 75 dc             	lea    -0x24(%ebp),%esi
5819bc:	8d 7b 04             	lea    0x4(%ebx),%edi
5819bf:	b9 09 00 00 00       	mov    $0x9,%ecx
5819c4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5819c6:	83 0b 01             	orl    $0x1,(%ebx)
5819c9:	eb 5e                	jmp    0x581a29
5819cb:	8d 75 dc             	lea    -0x24(%ebp),%esi
5819ce:	8d bb 6a 01 00 00    	lea    0x16a(%ebx),%edi
5819d4:	b9 09 00 00 00       	mov    $0x9,%ecx
5819d9:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5819db:	8b 45 d0             	mov    -0x30(%ebp),%eax
5819de:	89 83 8e 01 00 00    	mov    %eax,0x18e(%ebx)
5819e4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5819e7:	89 83 92 01 00 00    	mov    %eax,0x192(%ebx)
5819ed:	8b 45 d8             	mov    -0x28(%ebp),%eax
5819f0:	89 83 96 01 00 00    	mov    %eax,0x196(%ebx)
5819f6:	83 0b 20             	orl    $0x20,(%ebx)
5819f9:	eb 2e                	jmp    0x581a29
5819fb:	8d 75 dc             	lea    -0x24(%ebp),%esi
5819fe:	8d bb 14 02 00 00    	lea    0x214(%ebx),%edi
581a04:	b9 09 00 00 00       	mov    $0x9,%ecx
581a09:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
581a0b:	8b 45 d0             	mov    -0x30(%ebp),%eax
581a0e:	89 83 38 02 00 00    	mov    %eax,0x238(%ebx)
581a14:	8b 45 d4             	mov    -0x2c(%ebp),%eax
581a17:	89 83 3c 02 00 00    	mov    %eax,0x23c(%ebx)
581a1d:	8b 45 d8             	mov    -0x28(%ebp),%eax
581a20:	89 83 40 02 00 00    	mov    %eax,0x240(%ebx)
581a26:	83 0b 40             	orl    $0x40,(%ebx)
581a29:	8b c3                	mov    %ebx,%eax
581a2b:	5f                   	pop    %edi
581a2c:	5e                   	pop    %esi
581a2d:	5b                   	pop    %ebx
581a2e:	8b e5                	mov    %ebp,%esp
581a30:	5d                   	pop    %ebp
581a31:	c2 04 00             	ret    $0x4
581a34:	55                   	push   %ebp
581a35:	8b ec                	mov    %esp,%ebp
581a37:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
581a3d:	53                   	push   %ebx
581a3e:	56                   	push   %esi
581a3f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
581a42:	8b f2                	mov    %edx,%esi
581a44:	8b d8                	mov    %eax,%ebx
581a46:	8b c6                	mov    %esi,%eax
581a48:	99                   	cltd
581a49:	52                   	push   %edx
581a4a:	50                   	push   %eax
581a4b:	8b 03                	mov    (%ebx),%eax
581a4d:	ff 93 f0 03 00 00    	call   *0x3f0(%ebx)
581a53:	85 c0                	test   %eax,%eax
581a55:	74 07                	je     0x581a5e
581a57:	33 c0                	xor    %eax,%eax
581a59:	e9 dc 00 00 00       	jmp    0x581b3a
581a5e:	8b 03                	mov    (%ebx),%eax
581a60:	50                   	push   %eax
581a61:	8d 45 cc             	lea    -0x34(%ebp),%eax
581a64:	b9 0c 00 00 00       	mov    $0xc,%ecx
581a69:	ba 04 00 00 00       	mov    $0x4,%edx
581a6e:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581a74:	be 0c 00 00 00       	mov    $0xc,%esi
581a79:	8d 5d cc             	lea    -0x34(%ebp),%ebx
581a7c:	8b c3                	mov    %ebx,%eax
581a7e:	e8 31 9d ff ff       	call   0x57b7b4
581a83:	83 c3 04             	add    $0x4,%ebx
581a86:	4e                   	dec    %esi
581a87:	75 f3                	jne    0x581a7c
581a89:	8b 45 cc             	mov    -0x34(%ebp),%eax
581a8c:	e8 33 9c ff ff       	call   0x57b6c4
581a91:	dd 5d 84             	fstpl  -0x7c(%ebp)
581a94:	9b                   	fwait
581a95:	8b 45 d0             	mov    -0x30(%ebp),%eax
581a98:	e8 27 9c ff ff       	call   0x57b6c4
581a9d:	dd 5d 8c             	fstpl  -0x74(%ebp)
581aa0:	9b                   	fwait
581aa1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
581aa4:	e8 1b 9c ff ff       	call   0x57b6c4
581aa9:	dd 5d 94             	fstpl  -0x6c(%ebp)
581aac:	9b                   	fwait
581aad:	8b 45 d8             	mov    -0x28(%ebp),%eax
581ab0:	e8 0f 9c ff ff       	call   0x57b6c4
581ab5:	dd 5d 9c             	fstpl  -0x64(%ebp)
581ab8:	9b                   	fwait
581ab9:	8b 45 dc             	mov    -0x24(%ebp),%eax
581abc:	e8 03 9c ff ff       	call   0x57b6c4
581ac1:	dd 5d a4             	fstpl  -0x5c(%ebp)
581ac4:	9b                   	fwait
581ac5:	8b 45 e0             	mov    -0x20(%ebp),%eax
581ac8:	e8 f7 9b ff ff       	call   0x57b6c4
581acd:	dd 5d ac             	fstpl  -0x54(%ebp)
581ad0:	9b                   	fwait
581ad1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
581ad4:	e8 eb 9b ff ff       	call   0x57b6c4
581ad9:	dd 5d b4             	fstpl  -0x4c(%ebp)
581adc:	9b                   	fwait
581add:	8b 45 e8             	mov    -0x18(%ebp),%eax
581ae0:	e8 df 9b ff ff       	call   0x57b6c4
581ae5:	dd 5d bc             	fstpl  -0x44(%ebp)
581ae8:	9b                   	fwait
581ae9:	8b 45 ec             	mov    -0x14(%ebp),%eax
581aec:	e8 d3 9b ff ff       	call   0x57b6c4
581af1:	dd 5d c4             	fstpl  -0x3c(%ebp)
581af4:	9b                   	fwait
581af5:	8b 45 f0             	mov    -0x10(%ebp),%eax
581af8:	e8 c7 9b ff ff       	call   0x57b6c4
581afd:	dd 9d 6c ff ff ff    	fstpl  -0x94(%ebp)
581b03:	9b                   	fwait
581b04:	8b 45 f4             	mov    -0xc(%ebp),%eax
581b07:	e8 b8 9b ff ff       	call   0x57b6c4
581b0c:	dd 9d 74 ff ff ff    	fstpl  -0x8c(%ebp)
581b12:	9b                   	fwait
581b13:	8b 45 f8             	mov    -0x8(%ebp),%eax
581b16:	e8 a9 9b ff ff       	call   0x57b6c4
581b1b:	dd 9d 7c ff ff ff    	fstpl  -0x84(%ebp)
581b21:	9b                   	fwait
581b22:	8b 45 08             	mov    0x8(%ebp),%eax
581b25:	50                   	push   %eax
581b26:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
581b2c:	8d 55 84             	lea    -0x7c(%ebp),%edx
581b2f:	8b 45 fc             	mov    -0x4(%ebp),%eax
581b32:	e8 19 fe ff ff       	call   0x581950
581b37:	83 c8 ff             	or     $0xffffffff,%eax
581b3a:	5e                   	pop    %esi
581b3b:	5b                   	pop    %ebx
581b3c:	8b e5                	mov    %ebp,%esp
581b3e:	5d                   	pop    %ebp
581b3f:	c2 04 00             	ret    $0x4
581b42:	8b c0                	mov    %eax,%eax
581b44:	55                   	push   %ebp
581b45:	8b ec                	mov    %esp,%ebp
581b47:	53                   	push   %ebx
581b48:	56                   	push   %esi
581b49:	57                   	push   %edi
581b4a:	8b d8                	mov    %eax,%ebx
581b4c:	83 0b 10             	orl    $0x10,(%ebx)
581b4f:	89 53 38             	mov    %edx,0x38(%ebx)
581b52:	89 4b 28             	mov    %ecx,0x28(%ebx)
581b55:	8b 45 08             	mov    0x8(%ebp),%eax
581b58:	89 43 2c             	mov    %eax,0x2c(%ebx)
581b5b:	8b 53 28             	mov    0x28(%ebx),%edx
581b5e:	8b 43 38             	mov    0x38(%ebx),%eax
581b61:	e8 d2 dc ff ff       	call   0x57f838
581b66:	f7 6b 2c             	imull  0x2c(%ebx)
581b69:	8b f0                	mov    %eax,%esi
581b6b:	03 f6                	add    %esi,%esi
581b6d:	8b c6                	mov    %esi,%eax
581b6f:	e8 38 0c e8 ff       	call   0x4027ac
581b74:	8b f8                	mov    %eax,%edi
581b76:	89 bb bc 00 00 00    	mov    %edi,0xbc(%ebx)
581b7c:	8b d6                	mov    %esi,%edx
581b7e:	8b c7                	mov    %edi,%eax
581b80:	e8 4f 63 e8 ff       	call   0x407ed4
581b85:	89 b3 c0 00 00 00    	mov    %esi,0xc0(%ebx)
581b8b:	8d 83 30 01 00 00    	lea    0x130(%ebx),%eax
581b91:	50                   	push   %eax
581b92:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
581b95:	8b 53 28             	mov    0x28(%ebx),%edx
581b98:	8b 43 38             	mov    0x38(%ebx),%eax
581b9b:	e8 90 eb ff ff       	call   0x580730
581ba0:	8b c3                	mov    %ebx,%eax
581ba2:	5f                   	pop    %edi
581ba3:	5e                   	pop    %esi
581ba4:	5b                   	pop    %ebx
581ba5:	5d                   	pop    %ebp
581ba6:	c2 04 00             	ret    $0x4
581ba9:	8d 40 00             	lea    0x0(%eax),%eax
581bac:	53                   	push   %ebx
581bad:	56                   	push   %esi
581bae:	57                   	push   %edi
581baf:	83 c4 e4             	add    $0xffffffe4,%esp
581bb2:	8b f1                	mov    %ecx,%esi
581bb4:	8b fa                	mov    %edx,%edi
581bb6:	8b d8                	mov    %eax,%ebx
581bb8:	8b c7                	mov    %edi,%eax
581bba:	99                   	cltd
581bbb:	52                   	push   %edx
581bbc:	50                   	push   %eax
581bbd:	8b 03                	mov    (%ebx),%eax
581bbf:	ff 93 f0 03 00 00    	call   *0x3f0(%ebx)
581bc5:	85 c0                	test   %eax,%eax
581bc7:	74 07                	je     0x581bd0
581bc9:	33 c0                	xor    %eax,%eax
581bcb:	e9 c9 00 00 00       	jmp    0x581c99
581bd0:	8b 03                	mov    (%ebx),%eax
581bd2:	50                   	push   %eax
581bd3:	8d 44 24 0c          	lea    0xc(%esp),%eax
581bd7:	b9 01 00 00 00       	mov    $0x1,%ecx
581bdc:	ba 14 00 00 00       	mov    $0x14,%edx
581be1:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581be7:	8b 46 2c             	mov    0x2c(%esi),%eax
581bea:	50                   	push   %eax
581beb:	33 d2                	xor    %edx,%edx
581bed:	8a 54 24 0c          	mov    0xc(%esp),%dl
581bf1:	8b 4e 28             	mov    0x28(%esi),%ecx
581bf4:	8b c6                	mov    %esi,%eax
581bf6:	e8 49 ff ff ff       	call   0x581b44
581bfb:	8a 44 24 18          	mov    0x18(%esp),%al
581bff:	3c 01                	cmp    $0x1,%al
581c01:	75 50                	jne    0x581c53
581c03:	8b be c0 00 00 00    	mov    0xc0(%esi),%edi
581c09:	4f                   	dec    %edi
581c0a:	85 ff                	test   %edi,%edi
581c0c:	0f 82 84 00 00 00    	jb     0x581c96
581c12:	47                   	inc    %edi
581c13:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
581c1a:	00
581c1b:	8b 03                	mov    (%ebx),%eax
581c1d:	50                   	push   %eax
581c1e:	8d 44 24 04          	lea    0x4(%esp),%eax
581c22:	b9 01 00 00 00       	mov    $0x1,%ecx
581c27:	ba 01 00 00 00       	mov    $0x1,%edx
581c2c:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581c32:	33 c0                	xor    %eax,%eax
581c34:	8a 04 24             	mov    (%esp),%al
581c37:	e8 48 db ff ff       	call   0x57f784
581c3c:	8b 96 bc 00 00 00    	mov    0xbc(%esi),%edx
581c42:	8b 4c 24 04          	mov    0x4(%esp),%ecx
581c46:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
581c4a:	ff 44 24 04          	incl   0x4(%esp)
581c4e:	4f                   	dec    %edi
581c4f:	75 ca                	jne    0x581c1b
581c51:	eb 43                	jmp    0x581c96
581c53:	3c 02                	cmp    $0x2,%al
581c55:	75 3b                	jne    0x581c92
581c57:	8b 03                	mov    (%ebx),%eax
581c59:	50                   	push   %eax
581c5a:	8b 8e c0 00 00 00    	mov    0xc0(%esi),%ecx
581c60:	d1 f9                	sar    $1,%ecx
581c62:	79 03                	jns    0x581c67
581c64:	83 d1 00             	adc    $0x0,%ecx
581c67:	ba 02 00 00 00       	mov    $0x2,%edx
581c6c:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
581c72:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581c78:	8b 96 c0 00 00 00    	mov    0xc0(%esi),%edx
581c7e:	d1 fa                	sar    $1,%edx
581c80:	79 03                	jns    0x581c85
581c82:	83 d2 00             	adc    $0x0,%edx
581c85:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
581c8b:	e8 e8 ef ff ff       	call   0x580c78
581c90:	eb 04                	jmp    0x581c96
581c92:	33 c0                	xor    %eax,%eax
581c94:	eb 03                	jmp    0x581c99
581c96:	83 c8 ff             	or     $0xffffffff,%eax
581c99:	83 c4 1c             	add    $0x1c,%esp
581c9c:	5f                   	pop    %edi
581c9d:	5e                   	pop    %esi
581c9e:	5b                   	pop    %ebx
581c9f:	c3                   	ret
581ca0:	55                   	push   %ebp
581ca1:	8b ec                	mov    %esp,%ebp
581ca3:	83 c4 e4             	add    $0xffffffe4,%esp
581ca6:	53                   	push   %ebx
581ca7:	56                   	push   %esi
581ca8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
581cab:	8b f2                	mov    %edx,%esi
581cad:	8b d8                	mov    %eax,%ebx
581caf:	8b 03                	mov    (%ebx),%eax
581cb1:	50                   	push   %eax
581cb2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
581cb5:	b9 01 00 00 00       	mov    $0x1,%ecx
581cba:	ba 18 00 00 00       	mov    $0x18,%edx
581cbf:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581cc5:	33 c0                	xor    %eax,%eax
581cc7:	8a 45 e4             	mov    -0x1c(%ebp),%al
581cca:	89 46 28             	mov    %eax,0x28(%esi)
581ccd:	33 c0                	xor    %eax,%eax
581ccf:	8a 45 e5             	mov    -0x1b(%ebp),%al
581cd2:	89 46 2c             	mov    %eax,0x2c(%esi)
581cd5:	8d 45 e8             	lea    -0x18(%ebp),%eax
581cd8:	e8 d7 9a ff ff       	call   0x57b7b4
581cdd:	8d 45 ec             	lea    -0x14(%ebp),%eax
581ce0:	e8 cf 9a ff ff       	call   0x57b7b4
581ce5:	8d 45 f0             	lea    -0x10(%ebp),%eax
581ce8:	e8 c7 9a ff ff       	call   0x57b7b4
581ced:	8d 45 f4             	lea    -0xc(%ebp),%eax
581cf0:	e8 bf 9a ff ff       	call   0x57b7b4
581cf5:	8d 45 f8             	lea    -0x8(%ebp),%eax
581cf8:	e8 b7 9a ff ff       	call   0x57b7b4
581cfd:	8b 45 e8             	mov    -0x18(%ebp),%eax
581d00:	85 c0                	test   %eax,%eax
581d02:	74 10                	je     0x581d14
581d04:	6a 02                	push   $0x2
581d06:	8b 55 fc             	mov    -0x4(%ebp),%edx
581d09:	03 d0                	add    %eax,%edx
581d0b:	8b ce                	mov    %esi,%ecx
581d0d:	8b c3                	mov    %ebx,%eax
581d0f:	e8 a8 fb ff ff       	call   0x5818bc
581d14:	8b 45 ec             	mov    -0x14(%ebp),%eax
581d17:	85 c0                	test   %eax,%eax
581d19:	74 10                	je     0x581d2b
581d1b:	6a 40                	push   $0x40
581d1d:	8b 55 fc             	mov    -0x4(%ebp),%edx
581d20:	03 d0                	add    %eax,%edx
581d22:	8b ce                	mov    %esi,%ecx
581d24:	8b c3                	mov    %ebx,%eax
581d26:	e8 09 fd ff ff       	call   0x581a34
581d2b:	8b 45 f0             	mov    -0x10(%ebp),%eax
581d2e:	85 c0                	test   %eax,%eax
581d30:	74 10                	je     0x581d42
581d32:	6a 04                	push   $0x4
581d34:	8b 55 fc             	mov    -0x4(%ebp),%edx
581d37:	03 d0                	add    %eax,%edx
581d39:	8b ce                	mov    %esi,%ecx
581d3b:	8b c3                	mov    %ebx,%eax
581d3d:	e8 7a fb ff ff       	call   0x5818bc
581d42:	8b 45 f4             	mov    -0xc(%ebp),%eax
581d45:	85 c0                	test   %eax,%eax
581d47:	74 0e                	je     0x581d57
581d49:	8b 55 fc             	mov    -0x4(%ebp),%edx
581d4c:	03 d0                	add    %eax,%edx
581d4e:	8b ce                	mov    %esi,%ecx
581d50:	8b c3                	mov    %ebx,%eax
581d52:	e8 55 fe ff ff       	call   0x581bac
581d57:	8b 45 f8             	mov    -0x8(%ebp),%eax
581d5a:	85 c0                	test   %eax,%eax
581d5c:	74 10                	je     0x581d6e
581d5e:	6a 01                	push   $0x1
581d60:	8b 55 fc             	mov    -0x4(%ebp),%edx
581d63:	03 d0                	add    %eax,%edx
581d65:	8b ce                	mov    %esi,%ecx
581d67:	8b c3                	mov    %ebx,%eax
581d69:	e8 4e fb ff ff       	call   0x5818bc
581d6e:	81 7b 0c 20 62 61 4c 	cmpl   $0x4c616220,0xc(%ebx)
581d75:	75 24                	jne    0x581d9b
581d77:	8b 45 08             	mov    0x8(%ebp),%eax
581d7a:	05 d0 bd cd be       	add    $0xbecdbdd0,%eax
581d7f:	83 e8 03             	sub    $0x3,%eax
581d82:	72 11                	jb     0x581d95
581d84:	2d 41 2b 2f 26       	sub    $0x262f2b41,%eax
581d89:	74 0a                	je     0x581d95
581d8b:	05 44 08 ef f6       	add    $0xf6ef0844,%eax
581d90:	83 e8 03             	sub    $0x3,%eax
581d93:	73 06                	jae    0x581d9b
581d95:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
581d9b:	83 c8 ff             	or     $0xffffffff,%eax
581d9e:	5e                   	pop    %esi
581d9f:	5b                   	pop    %ebx
581da0:	8b e5                	mov    %ebp,%esp