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
581da2:	5d                   	pop    %ebp
581da3:	c2 04 00             	ret    $0x4
581da6:	8b c0                	mov    %eax,%eax
581da8:	55                   	push   %ebp
581da9:	8b ec                	mov    %esp,%ebp
581dab:	83 c4 e4             	add    $0xffffffe4,%esp
581dae:	53                   	push   %ebx
581daf:	56                   	push   %esi
581db0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
581db3:	8b f2                	mov    %edx,%esi
581db5:	8b d8                	mov    %eax,%ebx
581db7:	8b 03                	mov    (%ebx),%eax
581db9:	50                   	push   %eax
581dba:	8d 45 e4             	lea    -0x1c(%ebp),%eax
581dbd:	b9 01 00 00 00       	mov    $0x1,%ecx
581dc2:	ba 18 00 00 00       	mov    $0x18,%edx
581dc7:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581dcd:	33 c0                	xor    %eax,%eax
581dcf:	8a 45 e4             	mov    -0x1c(%ebp),%al
581dd2:	89 46 28             	mov    %eax,0x28(%esi)
581dd5:	33 c0                	xor    %eax,%eax
581dd7:	8a 45 e5             	mov    -0x1b(%ebp),%al
581dda:	89 46 2c             	mov    %eax,0x2c(%esi)
581ddd:	8d 45 e8             	lea    -0x18(%ebp),%eax
581de0:	e8 cf 99 ff ff       	call   0x57b7b4
581de5:	8d 45 ec             	lea    -0x14(%ebp),%eax
581de8:	e8 c7 99 ff ff       	call   0x57b7b4
581ded:	8d 45 f0             	lea    -0x10(%ebp),%eax
581df0:	e8 bf 99 ff ff       	call   0x57b7b4
581df5:	8d 45 f4             	lea    -0xc(%ebp),%eax
581df8:	e8 b7 99 ff ff       	call   0x57b7b4
581dfd:	8d 45 f8             	lea    -0x8(%ebp),%eax
581e00:	e8 af 99 ff ff       	call   0x57b7b4
581e05:	8b 45 e8             	mov    -0x18(%ebp),%eax
581e08:	85 c0                	test   %eax,%eax
581e0a:	74 10                	je     0x581e1c
581e0c:	6a 01                	push   $0x1
581e0e:	8b 55 fc             	mov    -0x4(%ebp),%edx
581e11:	03 d0                	add    %eax,%edx
581e13:	8b ce                	mov    %esi,%ecx
581e15:	8b c3                	mov    %ebx,%eax
581e17:	e8 a0 fa ff ff       	call   0x5818bc
581e1c:	8b 45 ec             	mov    -0x14(%ebp),%eax
581e1f:	85 c0                	test   %eax,%eax
581e21:	74 10                	je     0x581e33
581e23:	6a 20                	push   $0x20
581e25:	8b 55 fc             	mov    -0x4(%ebp),%edx
581e28:	03 d0                	add    %eax,%edx
581e2a:	8b ce                	mov    %esi,%ecx
581e2c:	8b c3                	mov    %ebx,%eax
581e2e:	e8 01 fc ff ff       	call   0x581a34
581e33:	8b 45 f0             	mov    -0x10(%ebp),%eax
581e36:	85 c0                	test   %eax,%eax
581e38:	74 10                	je     0x581e4a
581e3a:	6a 03                	push   $0x3
581e3c:	8b 55 fc             	mov    -0x4(%ebp),%edx
581e3f:	03 d0                	add    %eax,%edx
581e41:	8b ce                	mov    %esi,%ecx
581e43:	8b c3                	mov    %ebx,%eax
581e45:	e8 72 fa ff ff       	call   0x5818bc
581e4a:	8b 45 f4             	mov    -0xc(%ebp),%eax
581e4d:	85 c0                	test   %eax,%eax
581e4f:	74 0e                	je     0x581e5f
581e51:	8b 55 fc             	mov    -0x4(%ebp),%edx
581e54:	03 d0                	add    %eax,%edx
581e56:	8b ce                	mov    %esi,%ecx
581e58:	8b c3                	mov    %ebx,%eax
581e5a:	e8 4d fd ff ff       	call   0x581bac
581e5f:	8b 45 f8             	mov    -0x8(%ebp),%eax
581e62:	85 c0                	test   %eax,%eax
581e64:	74 10                	je     0x581e76
581e66:	6a 02                	push   $0x2
581e68:	8b 55 fc             	mov    -0x4(%ebp),%edx
581e6b:	03 d0                	add    %eax,%edx
581e6d:	8b ce                	mov    %esi,%ecx
581e6f:	8b c3                	mov    %ebx,%eax
581e71:	e8 46 fa ff ff       	call   0x5818bc
581e76:	81 7b 0c 20 62 61 4c 	cmpl   $0x4c616220,0xc(%ebx)
581e7d:	75 24                	jne    0x581ea3
581e7f:	8b 45 08             	mov    0x8(%ebp),%eax
581e82:	05 d0 be cd bd       	add    $0xbdcdbed0,%eax
581e87:	83 e8 03             	sub    $0x3,%eax
581e8a:	72 11                	jb     0x581e9d
581e8c:	2d 41 2c 2f 25       	sub    $0x252f2c41,%eax
581e91:	74 0a                	je     0x581e9d
581e93:	05 44 08 ef f6       	add    $0xf6ef0844,%eax
581e98:	83 e8 03             	sub    $0x3,%eax
581e9b:	73 06                	jae    0x581ea3
581e9d:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
581ea3:	83 c8 ff             	or     $0xffffffff,%eax
581ea6:	5e                   	pop    %esi
581ea7:	5b                   	pop    %ebx
581ea8:	8b e5                	mov    %ebp,%esp
581eaa:	5d                   	pop    %ebp
581eab:	c2 04 00             	ret    $0x4
581eae:	8b c0                	mov    %eax,%eax
581eb0:	53                   	push   %ebx
581eb1:	56                   	push   %esi
581eb2:	57                   	push   %edi
581eb3:	83 c4 f4             	add    $0xfffffff4,%esp
581eb6:	89 14 24             	mov    %edx,(%esp)
581eb9:	8b d8                	mov    %eax,%ebx
581ebb:	8b 14 24             	mov    (%esp),%edx
581ebe:	8b c3                	mov    %ebx,%eax
581ec0:	e8 53 9f ff ff       	call   0x57be18
581ec5:	85 c0                	test   %eax,%eax
581ec7:	7d 07                	jge    0x581ed0
581ec9:	33 c0                	xor    %eax,%eax
581ecb:	e9 ca 00 00 00       	jmp    0x581f9a
581ed0:	83 3b 00             	cmpl   $0x0,(%ebx)
581ed3:	75 11                	jne    0x581ee6
581ed5:	8b 84 83 18 03 00 00 	mov    0x318(%ebx,%eax,4),%eax
581edc:	e8 c7 d6 ff ff       	call   0x57f5a8
581ee1:	e9 b4 00 00 00       	jmp    0x581f9a
581ee6:	8b bc 83 50 02 00 00 	mov    0x250(%ebx,%eax,4),%edi
581eed:	8b c7                	mov    %edi,%eax
581eef:	99                   	cltd
581ef0:	52                   	push   %edx
581ef1:	50                   	push   %eax
581ef2:	8b 03                	mov    (%ebx),%eax
581ef4:	ff 93 f0 03 00 00    	call   *0x3f0(%ebx)
581efa:	85 c0                	test   %eax,%eax
581efc:	74 07                	je     0x581f05
581efe:	33 c0                	xor    %eax,%eax
581f00:	e9 95 00 00 00       	jmp    0x581f9a
581f05:	8b 03                	mov    (%ebx),%eax
581f07:	50                   	push   %eax
581f08:	8d 44 24 08          	lea    0x8(%esp),%eax
581f0c:	b9 01 00 00 00       	mov    $0x1,%ecx
581f11:	ba 08 00 00 00       	mov    $0x8,%edx
581f16:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
581f1c:	8d 44 24 04          	lea    0x4(%esp),%eax
581f20:	e8 8f 98 ff ff       	call   0x57b7b4
581f25:	e8 36 d6 ff ff       	call   0x57f560
581f2a:	8b f0                	mov    %eax,%esi
581f2c:	85 f6                	test   %esi,%esi
581f2e:	75 04                	jne    0x581f34
581f30:	33 c0                	xor    %eax,%eax
581f32:	eb 66                	jmp    0x581f9a
581f34:	8b 44 24 04          	mov    0x4(%esp),%eax
581f38:	2d 20 42 41 6d       	sub    $0x6d414220,%eax
581f3d:	74 2c                	je     0x581f6b
581f3f:	2d 00 ff 00 00       	sub    $0xff00,%eax
581f44:	74 36                	je     0x581f7c
581f46:	2d 11 33 24 00       	sub    $0x243311,%eax
581f4b:	74 05                	je     0x581f52
581f4d:	48                   	dec    %eax
581f4e:	74 10                	je     0x581f60
581f50:	eb 3b                	jmp    0x581f8d
581f52:	8b 0c 24             	mov    (%esp),%ecx
581f55:	8b d6                	mov    %esi,%edx
581f57:	8b c3                	mov    %ebx,%eax
581f59:	e8 fe e8 ff ff       	call   0x58085c
581f5e:	eb 38                	jmp    0x581f98
581f60:	8b d6                	mov    %esi,%edx
581f62:	8b c3                	mov    %ebx,%eax
581f64:	e8 1b ed ff ff       	call   0x580c84
581f69:	eb 2d                	jmp    0x581f98
581f6b:	8b 04 24             	mov    (%esp),%eax
581f6e:	50                   	push   %eax
581f6f:	8b cf                	mov    %edi,%ecx
581f71:	8b d6                	mov    %esi,%edx
581f73:	8b c3                	mov    %ebx,%eax
581f75:	e8 26 fd ff ff       	call   0x581ca0
581f7a:	eb 1c                	jmp    0x581f98
581f7c:	8b 04 24             	mov    (%esp),%eax
581f7f:	50                   	push   %eax
581f80:	8b cf                	mov    %edi,%ecx
581f82:	8b d6                	mov    %esi,%edx
581f84:	8b c3                	mov    %ebx,%eax
581f86:	e8 1d fe ff ff       	call   0x581da8
581f8b:	eb 0b                	jmp    0x581f98
581f8d:	8b c6                	mov    %esi,%eax
581f8f:	e8 28 d3 ff ff       	call   0x57f2bc
581f94:	33 c0                	xor    %eax,%eax